Testing Methodology 1 Purpose Introducing Testing Methodology for

  • Slides: 32
Download presentation
Testing Methodology 1

Testing Methodology 1

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

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

Content z. The difference between SW testing and SW debugging. z. Subjects to be

Content z. The difference between SW testing and SW debugging. z. Subjects to be tests. z. Tests Levels z. Tests Classes z. Testing life-cycle. z. Testing and SW development 3

The difference between SW Testing & Debugging Testing Debugging • Verify match to system

The difference between SW Testing & Debugging Testing Debugging • Verify match to system • Verify code section validity. specification. • Usually done by external and • Done by the developer. neutral entity. • Planed and controlled process. • A random process 4

Evolution of Test Objectives Prevention Control Quality Detect Find Defects Demonstration Show it works

Evolution of Test Objectives Prevention Control Quality Detect Find Defects Demonstration Show it works 5

Cost Diagram Cost x x 6 Design Integration Customer Time x

Cost Diagram Cost x x 6 Design Integration Customer Time x

Test Level z. Unit or Debug. z. Module/Sub-System. z. Integration. z. System. z. Acceptance.

Test Level z. Unit or Debug. z. Module/Sub-System. z. Integration. z. System. z. Acceptance. 7

Test Classes z. Regression. z. Side effects. z. Redundancy. z. Stress and Load. z.

Test Classes z. Regression. z. Side effects. z. Redundancy. z. Stress and Load. z. Recovery. 8

BLACK BOX Input Output Spec 9

BLACK BOX Input Output Spec 9

WHITE BOX IF END DO 10

WHITE BOX IF END DO 10

Testing life-cycle V. S. Development Life-Cycle Coverage Top Level Design STP SW Detail Design

Testing life-cycle V. S. Development Life-Cycle Coverage Top Level Design STP SW Detail Design TRD Coding and Unit test STD Execution STR Tractability 11

Testing Life-Cycle STP TRD STD Execution n n STP - Software Test Plan. TRD

Testing Life-Cycle STP TRD STD Execution n n STP - Software Test Plan. TRD - Test Requirement Definition. STD - Software Test Description. Tests Execution or Test Cycles. STR - Software Test Report. STR 12

Software Test Plan A master plan that details the scope of work, timetable, testing

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

Test Requirement Definition Specify what case should be tested for each defined topic. 14

Test Requirement Definition Specify what case should be tested for each defined topic. 14

Software Test Description Specify executable steps and expected results for each test case. 15

Software Test Description Specify executable steps and expected results for each test case. 15

Software Test Report Summarize the content of each test cycle, test results and set

Software Test Report Summarize the content of each test cycle, test results and set conclusions about the tested system quality 16

Coverage The linkage between system specifications and testing specifications 17

Coverage The linkage between system specifications and testing specifications 17

Tractability The linkage of tested topics between two of the testing specifications 18

Tractability The linkage of tested topics between two of the testing specifications 18

Requirements Definition z. Defining system requirements as perceived by the users. z. Based on

Requirements Definition z. Defining system requirements as perceived by the users. z. Based on analysis of current situation, market research, etc. z. Product: Software Requirement Specification (SRS). 19

Unit Testing z. Testing of single function/program/screen/feature. z. Executed by the programmers. z. Pre-defined.

Unit Testing z. Testing of single function/program/screen/feature. z. Executed by the programmers. z. Pre-defined. z. Results need to be documented. z. Use of simulators for inputs and outputs. 20

Integration Testing z. Testing the functioning of a few modules simultaneously. z. Coexistence testing.

Integration Testing z. Testing the functioning of a few modules simultaneously. z. Coexistence testing. z. Testing carried out by programmers or test analysts. z. Pre-planned testing. z. Results to be documented. 21

Software Test Plan z. Defines structure for the testing project. z. Allows the customer

Software Test Plan z. Defines structure for the testing project. z. Allows the customer to assess project content. z. Explains the testing methodology to be used. z. Maps system via hierarchical breakdown. z. Describes the resources required for the testing. z. Defines schedule. 22

TRD - Test Requirements Definition z. Further break down the system requirements as based

TRD - Test Requirements Definition z. Further break down the system requirements as based on the STP. z. Describes what is to be tested for each component and function. z. Includes a set of testing requirements in a constant format. 23

STD - Software Test Description z. Describes how to test the system. z. Operative

STD - Software Test Description z. Describes how to test the system. z. Operative description of the testing process 24

System Testing z. Testing the application as a whole as per the testing design

System Testing z. Testing the application as a whole as per the testing design (STD & TRD). z. Various testing types: -functionality -stress and load -performance -concurrence z. Testing is carried out by test engineers. z. Testing is comprised of a few cycles. z. Results are documented. z. The testing process must be managed. 25

Acceptance Test (ATP( z. Testing carried out by the customer to define if customer’s

Acceptance Test (ATP( z. Testing carried out by the customer to define if customer’s requirements were met. z. Repetition of some of the system tests. z. Needs to be planned and conducted by the customer. z. Many times it is given up or the responsibility is given to the vendor. 26

Installation and Conversion z. Packaging the software and installing it in the customer’s production

Installation and Conversion z. Packaging the software and installing it in the customer’s production environment. z. Conversion of old database to new database. 27

Models of Software Systems Development 28

Models of Software Systems Development 28

V-model Initiation ATP Requirements System test Top level design Integration test Unit test Detail

V-model Initiation ATP Requirements System test Top level design Integration test Unit test Detail design Coding 29

RAD model User Requirement CODE Acceptance Test 30

RAD model User Requirement CODE Acceptance Test 30

Waterfall model z. Each phase of the V-model is completed in each effort before

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

Spiral model z. This model is used when the final product has not been

Spiral model z. This model is used when the final product has not been finally designed. Gradual Development z. Each phase of the V-model is completed in each effort before moving onto the next phase. 32