1 testing methodology. 2 purpose introducing testing methodology for planning and executing software...

32
1 Testing Testing Methodology Methodology

Upload: hannah-parker

Post on 27-Dec-2015

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

1

Testing Testing MethodologyMethodology

Page 2: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

2

Purpose

Introducing Testing Methodology for planning and executing software tests, the stages and deliverables

within the testing process.

Page 3: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

3

Content

The difference between SW testing and SW debugging.

Subjects to be tests.Tests LevelsTests ClassesTesting life-cycle.Testing and SW development

Page 4: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

4

Testing

•Verify match to system specification.•Usually done by external and neutral entity.•Planed and controlled process.

Debugging

•Verify code section validity.

•Done by the developer.

•A random process

The difference between SW Testing & Debugging

Page 5: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

5

Evolution of Test Objectives

Prevention Control Quality

Detect Find Defects

Demonstration Show it works

Page 6: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

6

Cost Diagram

x

x

Cost

TimeDesign

Integration

Custom

er

x

Page 7: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

7

Test Level

Unit or Debug.Module/Sub-System.Integration.System.Acceptance.

Page 8: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

8

Test Classes

Regression.Side effects.Redundancy.Stress and Load.Recovery.

Page 9: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

9

BLACK BOX

Input Output

Spec

Page 10: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

10

WHITE BOX

IF

DOEND

Page 11: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

11

Testing life-cycle V.S.

Development Life-Cycle

ExecutionExecutionSTRSTR

ExecutionExecutionSTRSTR

STDSTDSTDSTD

TRDTRDTRDTRD

STPSTPSTPSTPTop Level Design

Top Level Design

SW Detail Design

SW Detail Design

Coding and Unit test

Coding and Unit test

Coverage

Tractability

Page 12: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

12

STRSTRSTRSTR

ExecutionExecutionExecutionExecutionSTDSTDSTDSTD

TRDTRDTRDTRD

STP - Software Test Plan. TRD - Test Requirement

Definition. STD - Software Test Description. Tests Execution or Test Cycles. STR - Software Test Report.

Testing Life-Cycle

STPSTPSTPSTP

Page 13: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

13

Software Test Plan

A master plan that details the scope of work, timetable, testing requirements and issues to be test.

Page 14: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

14

Test Requirement Definition

Specify what case should be tested for each defined

topic.

Page 15: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

15

Software Test Description

Specify executable steps and expected results for each test

case.

Page 16: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

16

Software Test Report

Summarize the content of each test cycle, test results and set

conclusions about the tested system quality

Page 17: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

17

Coverage

The linkage between system specifications and testing

specifications

Page 18: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

18

Tractability

The linkage of tested topics between two of the testing

specifications

Page 19: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

19

Requirements Definition

Defining system requirements as perceived by the users.

Based on analysis of current situation, market research, etc.

Product: Software Requirement Specification (SRS).

Page 20: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

20

Unit Testing

Testing of single function/program/screen/feature.

Executed by the programmers.Pre-defined.Results need to be documented.Use of simulators for inputs and

outputs.

Page 21: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

21

Integration Testing

Testing the functioning of a few modules simultaneously.

Coexistence testing.Testing carried out by

programmers or test analysts.Pre-planned testing.Results to be documented.

Page 22: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

22

Software Test Plan

Defines structure for the testing project.

Allows the customer to assess project content.

Explains the testing methodology to be used.

Maps system via hierarchical breakdown.

Describes the resources required for the testing.

Defines schedule .

Page 23: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

23

TRD - Test Requirements Definition

Further break down the system requirements as based on the STP.

Describes what is to be tested for each component and function.

Includes a set of testing requirements in a constant format.

Page 24: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

24

STD - Software Test Description

Describes how to test the system.Operative description of the testing

process

Page 25: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

25

System Testing

Testing the application as a whole as per the testing design (STD & TRD).

Various testing types:-functionality -performance

-stress and load -concurrence

Testing is carried out by test engineers.Testing is comprised of a few cycles.Results are documented.The testing process must be managed.

Page 26: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

26

Acceptance Test (ATP)

Testing carried out by the customer to define if customer’s requirements were met.

Repetition of some of the system tests.Needs to be planned and conducted by

the customer.Many times it is given up or the

responsibility is given to the vendor.

Page 27: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

27

Installation and Conversion

Packaging the software and installing it in the customer’s production environment.

Conversion of old database to new database.

Page 28: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

28

Models of Software Systems Development

Page 29: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

29

V-model

Integration test

Requirements

Top level design

Detail design

Coding

Unit test

System test

ATPInitiation

Page 30: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

30

RAD model

User Requirement

CODE

Acceptance Test

Page 31: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

31

Waterfall model

Each phase of the V-model is completed in each effort before moving onto the next phase.

Page 32: 1 Testing Methodology. 2 Purpose Introducing Testing Methodology for planning and executing software tests, the stages and deliverables within the testing

32

Each phase of the V-model is completed in each effort before moving onto the next phase.

Gradual Development

Spiral model

This model is used when the final product has not been finally designed.