2 testing throughout software lifecycle
TRANSCRIPT
Testing ththe development life cycles
Testing Throughout Software LifecyclePrepared by:Asmaa Matar.
Testing throughout Software LifecycleTesting in Software DevelopmentTesting and DevelopmentThe Waterfall ModelThe V-ModelThe W-ModelThe V&V in the W-ModelTest LevelsTest Types
Testing in Software developmentDuring DevelopmentRigorous testing of systems and documentation can help to increase quality and reduce risk.
Risk can be reduced if defects are found and corrected before system is released.
Testing in Development LifecycleDuring System OperationTesting is necessary during system operation to detect new defects.In GeneralTesting may also be required to meet legal requirements and industry-specific standards.Testing is mandated by all quality standards (ISO 9000) and SW Development standards (CMMI).
Testing Throughout Software LifecycleTesting in Software DevelopmentTesting and Development
Testing and DevelopmentTesting is not isolated , test activities are related to software development activities.
Software development life cycle models describe:Phases of software development life cycle.The order in which those phases are executed.
Different lifecycle models need different approaches of testing.
Testing Throughout Software LifecycleTesting in Software DevelopmentTesting and DevelopmentThe Waterfall Model
The Waterfall ModelThe waterfall model is the classic and most common software development life cycle model.
Each phase must be completed in its entirety before the next phase can begin.
One of the inherent dangers of the waterfall model is that it clearly shows that testing only happens after coding is completed.
The Waterfall ModelRequirementsAnalysisDesignCodeTest
Testing Throughout Software LifecycleTesting in Software DevelopmentTesting and DevelopmentThe Waterfall ModelThe V-Model
The V-Model
RequirementsAnalysisDesignCodeComponent testIntegration testSystem testAcceptance test
The V-ModelRequirementsspecificationSystem specificationSystem DesignCodeComponent testIntegration testSystem testAcceptance testUnit DesignTest StrategyPlanning and Risk AnalysisTest Analysis and DesignTest ImplementationUnit TestingAcceptance TCSystem TCIntegration TCComponent TC
The V-ModelThe V-Model includes four testing levels corresponding to the four development levels.Development work products (Ucs,SRS,SDD,etc) are the basis for testingTest preparation is not on the critical path of the project.V-Model is a waterfall model. However, organizations adapt it to iterative and agile testing.
Testing Throughout Software LifecycleTesting in Software DevelopmentTesting and DevelopmentThe Waterfall ModelThe V-ModelThe W-Model
The W-ModelThe W-Model is a variant of the v-model that focuses on early testing (Verification and validation
The W-ModelRequirementsspecificationSystem specificationSystem DesignCodeComponent testIntegration testSystem testAcceptance testUnit DesignReviewUnit TestingReviewReviewReviewReviewDefects
Testing Throughout Software LifecycleTesting in Software DevelopmentTesting and DevelopmentThe Waterfall ModelThe V-ModelThe W-ModelThe (V & V) in the W-Model.
The V&V in the W-ModelVerificationAre we building the system right?The process of evaluating a system or componentValidationAre we building the right system ?Determination of the correctness of the products of software development with respect to the user needs and requirementsEarly TestingDiscovering defects in system specification and design.Early testing improves system analysis and design and defects found there is much more cheaper and easier to fix.
Testing Throughout Software LifecycleTesting in Software DevelopmentTesting and DevelopmentThe Waterfall ModelThe V-ModelThe W-ModelThe (V & V) in the W-Model.Test Levels
Test LevelsComponent TestIntegration testSystem testAcceptanceTest
Test LevelsComponent TestingTesting of individual items (e.g. modules, programs, objects, classes, etc.)Searches for defects in, and verifies the functioning of software that are separately testable.usually as part of the coding phase, in isolation from other development items and the system as a whole.
Test LevelsIntegration testingTesting the interfaces between major and minor items within an application which must interact with each other. May include non-functional elements (Performance).Focuses on the integration itself not the functionality.Integration levelsComponent integrationSystem integration
Test LevelsIntegration TestingIntegration testing follows the following approachesSystem Architecture (such as top-down and bottom-up).Functional tasks, transaction processing sequences, In order to reduce the risk of late defect discovery, integration should normally be incremental rather than big bang.
Test LevelsSystem testingAll types of testing to be carried out once a whole system has finished development and can be tested as a complete entity. Carried by independent test team.
Test LevelsAcceptance TestingAll types of testing to be carried out to ensure a development is ready to be deployed into the business, operational or production environment.Types of acceptance testingUser acceptance testing (UAT). (fitness for use)Operational (acceptance) testing. (Backup/Restore)Contract & regulation acceptance testing. (Deal, Legal)Alpha and beta (or field) testing.
Testing Throughout Software LifecycleTesting in Software DevelopmentTesting and DevelopmentThe Waterfall ModelThe V-ModelThe W-ModelThe (V & V) in the W-Model.Test LevelsTest Types
Test Types