Testing Process
Testing Process
Testing Process
Test Process. 1
What is Verification & Validation?
Test Process. 2
Verification Strategies
1. Requirements Review.
2. Design Review.
3. Code Walkthrough.
4. Code Inspections.
Test Process. 3
Validation Strategies
1. Unit Testing.
2. Integration Testing.
3. System Testing.
4. Performance Testing.
5. Alpha Testing.
6. User Acceptance Testing (UAT).
7. Installation Testing.
8. Beta Testing.
Test Process. 4
Verification Strategies…in detail
Test Process. 5
Validation Strategies…in detail
Test Process. 6
Validation Strategies…in detail
Test Process. 7
Establishing a Software Testing Methodology.
Test Process. 8
Type of Development Project
Type Characteristics Test Tactic
Traditional •Uses a system development •Test at end of each
System methodology. task/step/phase.
Development •User knows requirements. •Verify that specs match
•Development determines structure. need.
•Test function and structure.
Requirements Phase
• Determine the test strategy.
• Determine adequacy of requirements.
• Generate functional test conditions.
Design Phase
• Determine consistency of design with requirements.
• Determine adequacy of design.
• Generate structural and functional test conditions.
Test Process. 10
When Testing should occur..?
Test Phase
• Determine adequacy of the test plan.
• Test application system.
Installation Phase
• Place tested system into production.
Maintenance Phase
• Modify and retest.
Test Process. 11
Types of Testing.
Test Process. 12
Structural Testing.
Test Process. 13
Structural Testing.
Test Process. 14
Functional Testing.
Test Process. 15
Functional Testing.
Parallel Old systems and new system are Old and new system
run and the results compared to can reconcile.
detect unplanned differences.
Test Process. 16
Test Phases.
Requirements Design
Review Review
Code Code
Inspection Walkthrough
Unit Integration
Testing Testing
Performance System
Testing Testing
Beta Installation
Testing Testing
Test Process. 17
Test Phases and Definitions
1. Requirements Review.
2. Design Review.
3. Code Review.
Test Process. 18
Test Phases and Definitions
Unit Testing
Goal of Unit testing is to uncover defects using formal techniques
like Boundary Value Analysis (BVA), Equivalence Partitioning,
and Error Guessing. Defects and deviations in Date formats,
Special requirements in input conditions (for example Text box
where only numeric or alphabets should be entered), selection
based on Combo Box’s, List Box’s, Option buttons, Check
Box’s would be identified during the Unit Testing phase.
Integration Testing
Integration testing is a systematic technique for constructing the
program structure while at the same time conducting tests to
uncover errors associated with interfacing. The objective is to
take unit tested components and build a program structure
that has been dictated by design.
Usually, the following methods of Integration testing are followed:
1. Top-down Integration approach.
2. Bottom-up Integration approach.
Test Process. 19
Test Phases and Definitions
Top-down Integration
Top-down integration testing is an incremental approach to
construction of program structure. Modules are integrated by
moving downward through the control hierarchy, beginning
with the main control module. Modules subordinate to the
main control module are incorporated into the structure in
either a depth-first or breadth-first manner.
The Integration process is performed in a series of five steps:
1. The main control module is used as a test driver and stubs are
substituted for all components directly subordinate to the main
control module.
2. Depending on the integration approach selected subordinate
stubs are replaced one at a time with actual components.
3. Tests are conducted as each component is integrated.
4. On completion of each set of tests, another stub is replaced
with the real component.
5. Regression testing may be conducted to ensure that new
errors have not been introduced.
Test Process. 20
Test Phases and Definitions
Bottom-up Integration
Button-up integration testing begins construction and testing with
atomic modules (i.e. components at the lowest levels in the
program structure). Because components are integrated from
the button up, processing required for components
subordinate to a given level is always available and the need
for stubs is eliminated.
A Bottom-up integration strategy may be implemented with the
following steps:
1. Low level components are combined into clusters that perform
a specific software sub function.
2. A driver is written to coordinate test case input and output.
3. The cluster is tested.
4. Drivers are removed and clusters are combined moving
upward in the program structure.
Test Process. 21
Test Phases and Definitions
System Testing
System testing is a series of different tests whose primary
purpose is to fully exercise the computer based system.
Although each test has a different purpose, all work to verify
that system elements have been properly integrated and
perform allocated functions.
The following tests can be categorized under System testing:
1. Recovery Testing.
2. Security Testing.
3. Stress Testing.
4. Performance Testing.
Recovery Testing
Recovery testing is a system test that focuses the software to fall
in a variety of ways and verifies that recovery is properly
performed. If recovery is automatic, reinitialization,
checkpointing mechanisms, data recovery and restart are
evaluated for correctness. If recovery requires human
intervention, the mean-time-to-repair (MTTR) is evaluated to
determine whether it is within acceptable limits.
Test Process. 22
Test Phases and Definitions
Security Testing
Security testing attempts to verify that protection mechanisms
built into a system will, in fact, protect it from improper
penetration. During Security testing, password cracking,
unauthorized entry into the software, network security are all
taken into consideration.
Stress Testing
Stress testing executes a system in a manner that demands
resources in abnormal quantity, frequency, or volume. The
following types of tests may be conducted during stress
testing:
1. Special tests may be designed that generate ten interrupts per
second, when one or two is the average rate.
2. Input data rates may be increases by an order of magnitude to
determine how input functions will respond.
3. Test Cases that require maximum memory or other resources.
4. Test Cases that may cause excessive hunting for disk-resident
data.
5. Test Cases that my cause thrashing in a virtual operating
Test Process. 23
system.
Test Phases and Definitions
Performance Testing
Performance tests are coupled with stress testing and usually
require both hardware and software instrumentation.
Regression Testing
Regression testing is the re-execution of some subset of tests that
have already been conducted to ensure that changes have not
propagated unintended side affects.
Regression may be conducted manually, by re-executing a subset
of al test cases or using automated capture/playback tools.
The Regression test suit contains three different classes of test
cases:
• A representative sample of tests that will exercise all software
functions.
• Additional tests that focus on software functions that are likely
to be affected by the change.
• Tests that focus on the software components that have been
changed.
Test Process. 24
Test Phases and Definitions
Alpha Testing
The Alpha testing is conducted at the developer sites and in a
controlled environment by the end-user of the software.
Beta Testing
The Beta testing is conducted at one or more customer sites by
the end-user of the software. The beta test is a live application
of the software in an environment that cannot be controlled by
the developer.
Test Process. 25
Metrics.
Metrics are the most important responsibility of the Test Team.
Metrics allow for deeper understanding of the performance of
the application and its behavior. The fine tuning of the
application can be enhanced only with metrics. In a typical QA
process, there are many metrics which provide information.
The following can be regarded as the fundamental metric:
Test Process. 26
Metrics.
Functional or Test Coverage Metric. It can be used to measure
test coverage prior to software delivery. It provides a measure
of the percentage of the software tested at any point during
testing.
It is calculated as follows:
Function Test Coverage = FE/FT
Where,
FE is the number of test requirements that are covered by test
cases that were executed against the software
FT is the total number of test requirements
Test Process. 28
Metrics.
Reliability Metrics
Reliability is calculated as follows:
Reliability = 1 - Number of errors (actual or predicted)/Total
number of lines of executable code
This reliability value is calculated for the number of errors during a
specified time interval.
Three other metrics can be calculated during extended testing or
after the system is in production. They are:
Test Design
Test Analysis
Test Execution
Test Process. 31
Test Analysis
Analysis is the key factor which drives in any planning. During the
analysis, the analyst understands the following:
Test Process. 32
Test Analysis
During Test Analysis the required documents will be carefully studied by
the Test Personnel, and the final Analysis Report is documented.
Test Process. 33
Test Design
The right wing of the butterfly represents the act of designing and
implementing the test cases needed to verify the design artifact as
replicated in the implementation. Like test analysis, it is a relatively
large piece of work. Unlike test analysis, however, the focus of test
design is not to assimilate information created by others, but rather
to implement procedures, techniques, and data sets that achieve the
test’s objective(s).
The outputs of the test analysis phase are the foundation for test
design. Each requirement or design construct has had at least one
technique (a measurement, demonstration, or analysis) identified
during test analysis that will validate or verify that requirement. The
tester must now implement the intended technique.
Software test design, as a discipline, is an exercise in the prevention,
detection, and elimination of bugs in software. Preventing bugs is
the primary goal of software testing. Diligent and competent test
design prevents bugs from ever reaching the implementation stage.
Test design, with its attendant test analysis foundation, is therefore
the premiere weapon in the arsenal of developers and testers for
limiting the cost associated with finding and fixing bugs.
Test Process. 34
Test Design
During Test Design, basing on the Analysis Report the test personnel
would develop the following:
Test Plan.
Test Approach.
Test Case documents.
Performance Test Parameters.
Performance Test Plan.
Test Process. 35
Test Execution
Any test case should adhere to the following principals:
Test Process. 36
Test Execution
During the Test Execution phase, keeping the Project and the Test
schedule, the test cases designed would be executed. The following
documents will be handled during the test execution phase:
Test Process. 37
Defect Tracking Process.
The Tester/Developer finds
the Bug.
Test Process. 38
Deliverables.
The Deliverables from the Test team would include the following:
Test Plan.
Defect Reports.
Metric Reports.
Test Process. 39
Testing Means…
• We Evaluate the Product
• We Ensure for Quality
• We Certify, that it is “BUG FREE”
Product.
Test Process. 40
Kick Off Meet
Process Flow… (DT, PT, CM, IT, Compliance)
Testing in progress
Shipment or Signoff
Test Process. 41
Post Shipment Review Meeting
Testing Starts with…
• Preparation Test Strategy
• Arriving at a Test Plan
• Knowledge Transfer (KT) from Functional
Experts
• Preparing the Test Cases
• Setting up the Test Environment
– URL/ Login Id’s/ Defect Management Tool
Test Process. 42
What does a Test Plan
contain?
• Target Audience
• Objective of the document
• References
• Scope of Testing – No of Pass
• Deliverables
• Exit Criteria/Sign-off
• Resources/Roles and responsibilities
• Defect Reporting
• Testing Schedule
Test Process. 43
Writing of Test Cases
BR – Business Requirements
Test Condition
Test Cases
1 1 Enter an System
Invalid ID should not
or Password accept
invalid ID &
Password
Test Process. 45
To Accept Testing of
project…
• Sufficient Time & Resources should be provided
for testing, as stated in the Test Plan
• Test Plan Approved by the PM
• Unit Test Cases from the DT
• Free Flow test ensured from DT
• Proper Environment Setup & Support
• Code Transfer through CM
• Handoff from DT
Test Process. 46
What do we achieve by
Following Process?
• Will be able to deliver a “Quality”
Product , on “Time”
• Will be helpful at time of Audits
Test Process. 47