Chapter 11 Testing Management
Chapter 11 Testing Management
[email protected]
Contents
Testing Management
Test metrics
Static Dynamic
11.1 Test Metrics
• Organization metrics
– Useful in overall project planning and
management
– Shows the quality trend across the
organization
– Allow senior management to monitor the
overall strength of the organization and points
to areas of weakness
11.1 Test Metrics
• Example
– The average defect density across all
software projects in a company is 1.73
defects per KLOC. Senior management has
found that for the next generation of software
products, which they plan to bid, they need to
show that product density can be reduced to
0.1 defects per KLOC. The management thus
sets a new goal.
11.1 Test Metrics
• Project metrics
– Useful in the monitoring and control of a
specific project.
– The ratio of actual-to-planned system test
effort is one project metric.
– The ratio of the number of successful tests to
the total number of tests in the system test
phase is another project metric.
11.1 Test Metrics
• Process metrics
– Every project uses some test process.
– The goal of a process metric is to assess the
goodness of the process.
11.1 Test Metrics
• Example
– In one software development project it was
found that 15% of the total defects were
reported by customers, 55% of the defects
prior to shipping were found during system
test, 22% during integration test, and the
remaining during unit test.
– What does it indicate?
11.1 Test Metrics
• Testability
– It is the “degree to which a system or
component facilitates the establishment of
test criteria and the performance of tests to
determine whether those criteria have been
met”. (According to IEEE)
– High testability is a desirable goal.
– Testability in software focuses on the
verification of design and implementation.
11.1 Test Metrics
• Example
– Consider an application E required to control
the operation of an elevator. E allow a tester
to experiment with various scheduling
algorithms.
– What should we do?( Pay attention to the
testability)
11.2 Defect Management
• Defect management
– It is a subprocess of the development
process.
– It entails the following
• Defect prevention
• Defect discovery
• Defect recording and reporting
• Defect classification
• Defect resolution
• Defect prediction
11.2 Defect Management
• Status associated with a defect
– New: When a bug is found/revealed for the first time,
the software tester communicates it to his/her team
leader in order to confirm if that is a valid bug. After
getting confirmation from the test lead the software
tester logs the bug and the status of “New” is
assigned to the bug.
– Assigned: after the bug is reported as “New” it
comes to the development team. The development
team verifies if the bug is valid. If the bug is valid,
development leader assigns it to a developer to fix it
and a status of “assigned” is assigned to it.
– Open: Once the developer starts working on the bug,
he/she changes the status of the bug to “Open” to
indicate that he/she is working on it to find a solution.
11.2 Defect Management
• Description
– Type a brief description of the problem
• Repro Steps:
– Type all the steps to get to the problem, all
steps must be cleared
For example:
1.- Login to FIDO
2.- Click on Add Invoice
3.- Type !@#$%% in Project field
4.- Click on Save
11.2 Defect Management
• Actual Results
– Type the actual results of the action
For example: The following error message is displayed.
– Comments:
Type any comments or notify to the developers of any
screenshots
(attachments)
For Example: This defect is reproducible in Project field. (see
attached file)
• Expected Results
Type the expected results of the action.
For Example: Data should be saved successfully.
11.2 Defect Management
• Test Environment
– Include details of the test environment
For Example:
Microsoft Windows 2003 Standard
Office 2003
• The following slide shows an example of a
complete “Defect Report”
11.2 Defect Management
Defect Report Example
11.2 Defect Management
• Test planning
• Test design
• Test development
• Test execution
• Test evaluation
11.3 Software Testing Life Cycle
• Test Planning
– It is the process of defining a testing
project such that it can be properly
measured and controlled.
– It includes test plan, test strategy, test
requirements and testing resources.
11.3 Software Testing Life Cycle
Parts of Test Planning
Preparing
A Test
Start
Comm’n
Mgmt
Plan Scope
Mgmt
Here
Deciding
Risk
Test
Mgmt
Strategy
Test
Planning
Setting
Test Script
Entry / Exit
And
Criteria
Scheduling
Identifying Identifying
Test Skill sets /
Deliverables Identifying Trng
Env needs
11.3 Software Testing Life Cycle
• Test design
–It is the process of defining test
procedures and test cases that
verify that the test requirements
are met.
–Specify the test procedures and
test cases that are easy to
implement, easy to maintain and
effectively verify the test
requirements.
11.3 Software Testing Life Cycle
• Test development
– It is the process of creating test
procedures and test cases that verify
the test requirements
– Automated testing using tools
– Manual testing
11.3 Software Testing Life Cycle
• Test execution
– It is the process of running a set of test
procedures against target software build of the
application under test and logging the results.
• Test evaluation
– It is the process of reviewing the results of a
test to determine if the test criteria are being
met.
11.4 Basic Knowledge about Software
Testing Automation
• Automated testing
– Machine replacement of human
• Frequent testing
• Execute testing use same script
– More testing
• reduce the work of repetition and boredom
11.4 Basic Knowledge about Software
Testing Automation
Repeatability and The tests can be exactly reproduced It’s difficult to reproduce the exact
consistency and repeated. circumstances of a failure.
Maximizing Machine Tests can be run out of hours at no It is expensive to employ a team of
Resources additional cost. testers out of hours.
Automatically recorded
Results Recording Only record failures.
for all outcomes.
Test scripts
262 117 55%
development
600
3.Automated
2.Test tool
process
acquisition
introduction
1.Decision
4.Planning,
to
design,
automate
development
6.Review
and 5.Execution
assessment
11.4 Basic Knowledge about Software
Testing Automation
• Process Of
Test Tools
Import
Test Plan
AUT Summarize
11.4 Basic Knowledge about Software
Testing Automation
• Misconceptions
– Our project schedules are too tight. Let's
use automated testing.
– Automation will eliminate the need for all
manual testing.
– We do not need any training.
11.5 Automated Testing Tools
Order number Tool type Description
according to requirement/design/object
1 Test Data generator
model create testing process
Code (test)
2 coverage analyzer White-box testing
code management
Order
Tool type Description
number
GUI test tool Recode the dialog between user & interactive
8
(record/replay) system
load/performance/
9 Used in load/performance/stress testing
stress test tools