chapter 2: testing in software life cycle mnn1063 system testing and evaluation

15
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Upload: frederica-mcdowell

Post on 18-Jan-2016

223 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Chapter 2:Testing in Software Life CycleMNN1063 System Testing and Evaluation

Page 2: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Software Development Model

0The development process adopted will depend on the project aims and goal

0There are numerous model have been developed to achieve different required objectives

0The life cycle model that is adopted for a project will have a big impact on the testing that is carried out

0Testing are highly related to software development activities

0Testing is organized to fit the development life cycle

Page 3: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Software Development Model

0 In every development life cycle, a part of testing is focused on verification testing and validation testing

0Verification testing is concerned with evaluating a work product, component or system to determine whether it meets the requirement set

0Validation testing is concerned with evaluating a work product, component or system to determine whether it meets the user needs and requirements

Page 4: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Waterfall ModelNeed, wish,

policy, law

User Requirements

Systems Requirements

Global Design

Detail Design

Implementation

Testing

Testing at the End

Page 5: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

V-Model

0Was developed to address some of the problems experienced using the traditional waterfall:0 Defects were being found too late

0The V-model provides guidance that testing needs to begin as early as possible

0Testing – in parallel with development

Page 6: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

V-Model

0Common V-model uses four test levels0 Component testing – search defects & verifies the

functioning of software components (module, programs, objects, classes)

0 Integration testing –tests interface between components, interface with OS, file systems and hardware

0 System testing – concerned with the behavior of the whole system

0 Acceptance testing – validation testing with respect to user needs, requirements, business process

Page 7: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

V-ModelNeed, wish,

policy, law

User Requirements

Systems Requirements

Global Design

Detail Design

Implementation

Component Test Execution

Integration Test Execution

System Test Execution

Acceptance Test Execution

Operational systems

PreparationAcceptance Test

PreparationSystems Test

PreparationIntegration Test

Page 8: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Iterative Life CyclePhase 1

Def

ine

Dev

elop

Bui

ld

Test

Impl

emen

t

Phase 2

Def

ine

Dev

elop

Bui

ld

Test

Impl

emen

t

Phase 3

Def

ine

Dev

elop

Bui

ld

Test

Impl

emen

t

Delivery is divided into increments or builds

Subsequence increments will need testing for new functionality, regression testing of the existing functionality, and integration testing of both new and existing parts

Page 9: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Iterative Life Cycle Example0Rapid Application Development (RAD) – parallel

development

Define Develop Build Test

Define Develop Build Test

Define Develop Build Test

Define Develop Build Test

Function 1

Function 2

Function 3

Function 4

Page 10: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Iterative Life Cycle Example:Agile Development

0Currently one of the most well-known development life-cycle model & human friendly

0Characteristic:0 Promotes the generation of business stories to define

functionality0 Promotes pair programming and shared code ownership0 State component test scripts shall be written before the code

is written0 States that integration and testing of code shall happen

several times0 States that we always implement the simplest solution to meet

today’s problem

Page 11: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Testing within a Life Cycle Model

0Which ever life cycle model is being used, there are several characteristic of good testing:0 Every development activity, there is a corresponding

testing activity0 Each test level has test objectives specific to that level0 The analysis and design of tests for a given test level

should begin during the corresponding development activity

0 Tester should be involved in reviewing documents as soon as drafts are available in the development cycle

Page 12: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Test Levels: Component Testing

0Also known as unit, module and program testing0Searches for defects and verifies the functioning of software0May be done in isolation from the rest of systems0Most often stubs and drivers are used to replace missing

software0May include testing of functionality and specific non-

functionality characteristic0Test cases are derived from work products – software

design, data model0Occurs with access to the code being tested

Page 13: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Test Levels: Component Testing

A

B

A

Stub

Driver

B

Component

Component

Page 14: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Test Levels: Integration Testing

0Test interfaces between components, interaction between different parts of systems

0There are may be more than one level of integration testing

0Greater the scope of integration – the more difficult to isolate failures

0Approaches:0 Big-bang0 Incremental-testing

Page 15: Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation

Test Levels:Systems Testing

0Concerned with the behavior of the whole system/product as defined by the scope of development project or product

0Tests based on risks or requirement specification, business processes, use cases or high level descriptions of systems behavior

0Should investigate both functional and non-functional requirements

0Requires controlled test environment