Академический Документы
Профессиональный Документы
Культура Документы
Mohammed A. Ramadan
Agenda
Testing -What Is it ?
Testing lifecycle.
Types of Testing
Test Strategy
Orthogonal Arrays Testing Strategy
(OATS)
Software Testing
22-Apr-12
22-Apr-12
Objectives of Testing
What are we looking for? Errors, faults, failures and incidents. Defect, Problem,
22-Apr-12
Non-Functional
22-Apr-12
Source of Defects
10% 7%
Code
Other
Requirements Design
27%
56%
22-Apr-12
Cost of Repair
Coding Testing Maintenance
Defects removed
Repair Cost 1
Repair Cost 4
Repair Cost 10
PROJECT PHASES
Software Testing
22-Apr-12
Testing lifecycle
Development Lifecycle
Project Planning Requirements Capture Analysis & Design Implementation
Build 1
Build 2
Test Lifecycle
Plan Test
Design Test
22-Apr-12
Analysis
Test planning & Scenario Design
New Version
Software Testing
22-Apr-12
Acceptance Testing
System Testing
Write tests
Run
Integration Testing Unit Testing
tests
Code
Verification
All QC activities through out the life cycle that ensure that interim deliverables meet their input specification.
10
Software Testing
Validation
The test phase of the life cycle which ensures that the end product meets the users needs.
22-Apr-12
Types of Testing
Software
Software
11
Software Testing
22-Apr-12
Types of Testing
Black Box
Dynamic Static Dynamic
White Box
Static Review & Analysis Peer Review Formal Review
Specifications
Line Coverage
Boundary Conditions Invalid Data State Transitions Branch Coverage Condition Coverage
Regression
12
Software Testing
Behavioral Testing
Testing a running program without any
13
Software Testing
22-Apr-12
Software
(1)Formal Reviews
Divide the code into data and its states Track a piece of data completely through the software
Data flow
Code coverage
14
Software Testing
22-Apr-12
conditions Stress Testing the performance and accuracy of system under resource crunch or any other kind of stress Volume Testing the accuracy of system when system has a high volume of data
15
Software Testing
22-Apr-12
apprehension Ad-Hoc Testing Randomly testing the system for errors with no background on the system
16
Software Testing
22-Apr-12
A Test Plan
The game plan to implement what is to be tested, when, how, how long and till what happens?
Effort Estimation
Test Strategy helps the overall test effort estimation
17
Software Testing
22-Apr-12
What to Consider?
Product Requirements Nature of product Product Lifecycle Milestones Repeatability considerations Environment
Feedback
Cost
18
Software Testing
22-Apr-12
Optimal Testing
Number of Missed Bugs
Cost of Testing
Amount of Testing
19
Software Testing
22-Apr-12
20
Software Testing
22-Apr-12
wise interactions by deriving suitable small set of test cases from a large number of scenarios.
can be used to reduce the number of test combinations
factors that are combined pair-wise rather than representing all combinations of factors and levels.
21
Software Testing
22-Apr-12
Overview
Orthogonal arrays are two dimensional arrays of
numbers by choosing any two columns in the array you receive an even distribution of all the pair-wise combinations of values in the array.
22
Software Testing
22-Apr-12
Overview
An L9 (34) orthogonal array with 9 runs, 4 factors, 3 levels, and strength of 2.
An L9 (34 ) orthogonal array with 9 runs, 4 factors, 3 levels, and strength of 2.
Runs: the number of rows in the array. This directly translates to the number of test cases that will be generated by the OATS technique. Factors: the number of columns in an array. This directly translates to the maximum number of variables that can be handled by this array. Levels: the maximum number of values that can be taken on by any single factor. An orthogonal array will contain values from 0 to Levels-1.
Strength: the number of columns it takes to see each of the Levelstrengh possibilities equally often.
Orthogonal arrays are most often named following the pattern L runs (LevelsFactors ).
23 22-Apr-12
Software Testing
1, 2, and 3.
Testing all combinations of the three parameters would
24
Software Testing
22-Apr-12
A=1, B=1, C=1, A=1, B=1, C=2, and A=1, B=1, C=3.
Not necessary to run all 27 scenarios, 9 test cases is
suffice.
The 9 scenarios outlined in Table 1 (on the next screen)
25
Software Testing
22-Apr-12
All possible pair-wise combinations between parameters A and B, B and C, and C and A .
26
Software Testing
22-Apr-12
Example 2
Orthogonal Array has 3 columns, representing 3 variables. Utilize a three level-alphabet Red, Green, and Blue. Next, organize combinations into a table (next slide).
27
Software Testing
22-Apr-12
Example 2 (contd)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 All Combinations for Three Variables of Three Levels Each A B Red Red Red Red Red Red Red Green Red Green Red Green Red Blue Red Blue Red Blue Blue Red Blue Red Blue Red Blue Green Blue Green Blue Green Blue Blue Blue Blue Blue Blue Green Red Green Red Green Red Green Green Green Green Green Green Green Blue Green Blue Green Blue C Red Green Blue Red Green Blue Red Green Blue Red Green Blue Red Green Blue Red Green Blue Red Green Blue Red Green Blue Red Green Blue
28
Software Testing
22-Apr-12
Example 2 (contd)
For each pair of columns, AB, AC, and BC, each pair of colors
to once.
All-Pairs Array, Three Variables of Three Levels Each
A 2 4 9 12 14 16 19 24 26 Red Red Red Blue Blue Blue Green Green Green B Red Green Blue Red Green Blue Red Green Blue C Green Red Blue Blue Green Red Red Blue Green
29
Software Testing
22-Apr-12
Advantages of OATS
Utilizes variable pair combination Provides uniformly distributed coverage Useful for integration testing of software components Useful for testing configurable options on an application web page allowing font style background color page layout selections
30
Software Testing
22-Apr-12
Advantages of OATS
Conventional Test Cases: Variables:3 Orthogonal Test Cases Variables:3 Input: 4 Possible cases: 9 Variables: 3
Input: 4 Possible cases: 81=34 Variables: 3 Input: 5 Possible Cases: 243 = 35 Variables: 5 Input: 5 Possible Cases: 3125 = 55
31
Software Testing
22-Apr-12
Disadvantages of OATS
Can only be applied at the initial stage of the product/process
design system.
There are some situations whereby OA techniques are not
applicable, such as a processes involving influencing factors that vary in time and cannot be quantified exactly.
Can be overwhelming to use the first time; improves with use
on each project.
Arrays can be difficult to construct.
32
Software Testing
22-Apr-12
Questions
33
Software Testing
22-Apr-12
Thank You
34
Software Testing
22-Apr-12