2 testing throughout software lifecycle

28
Testing Throughout Software Lifecycle Prepared by: Asmaa Matar.

Upload: asmaa-matar

Post on 17-Jan-2017

360 views

Category:

Software


0 download

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