Software Testing - Lect 4
Software Testing - Lect 4
Software Testing - Lect 4
• Incorrect calculation
• Incorrect data edits & ineffective data edits
• Incorrect matching and merging of data
• Data searches that yields incorrect results
• Incorrect processing of data relationship
• Incorrect coding / implementation of
business rules
• Inadequate software performance
Most Common Software problems
Software
Development Action Do
Process Cycle
Check
1 2 3 4
PLAN (P): Device a plan. DO (D): Execute the CHECK (C): Check the ACTION (A): Take the
Define your objective and plan. Create the results. Check to necessary and appropriate
determine the strategy conditions and perform determine whether work action if checkup reveals
and supporting the necessary training to is progressing according to that the work is not being
methods required to execute the plan. the plan and whether the performed according to
achieve that objective. results are obtained. plan or not as anticipated.
QA improves the
process that is QC improves the
applied to multiple development of a
products that will specific product or
ever be produced service.
Responsibilities by a process.
of QA and QC QA personnel
should not perform QC personnel may
quality control perform quality
unless doing it to assurance tasks if
validate quality and when required.
control is working.
• SOFTWARE TESTING LIFECYCLE - PHASES
• Requirements study
• Test Execution
• Test Closure
Understanding of the
requirements is very essential
for testing the product.
Analysis & Planning
• Code Review
• Test execution and
evaluation
Test Execution
• Performance and simulation
Test Closure
Unit testing
Integration testing
System testing
Acceptance testing
Unit testing
Tools •Debug
•Re-structure
•Code Analyzers
•Path/statement coverage tools
Education •Testing Methodology
•Effective use of tools
• Incremental integration testing
• ‘Parts’ can be
• code modules
• individual
applications
• client/server
applications on a
network.
Types of Integration Testing
• Bottom Up Integration
testing
Integration testing
Methods •Problem
/ Configuration
Management
Acceptance Testing
Who Users / End Users
Errors in data
Incorrect or structures or
Interface errors
missing functions external database
access
System testing
• Black box type testing that is based on overall
requirements specifications; covering all
combined parts of the system.
End-to-end testing
• Similar to system testing; involves testing of a
complete application environment in a situation
that mimics real-world use.
Sanity testing Regression testing
Initial effort to determine if a new Re-testing after fixes or modifications
software version is performing well of the software or its environment.
enough to accept it for a major
testing effort.
Acceptance testing Load testing
Final testing based on Testing an application under heavy
specifications of the end-user loads.
or customer e.g. Testing of a web site under a range
of loads to determine, when the system
response time degraded or fails.
Performance testing
Stress Testing
Testing under unusually heavy loads, Testing how well an
heavy repetition of certain actions or application complies to
inputs, input of large numerical values, performance requirements.
large complex queries to a database etc.
Term often used interchangeably with
‘load’ and ‘performance’ testing.
Install/uninstall testing Recovery testing Compatibility testing
Testing of full,partial or upgrade Testing how well a system Testing how well software
install/uninstall process. recovers from crashes, HW performs in a particular
failures or other problems. HW/SW/OS/NW environment.
Exploratory testing / ad-hoc
testing
• Informal SW test that is not
based on formal test plans or
test cases; testers will be
learning the SW in totality
as they test it.
Comparison testing
• Comparing SW strengths
and weakness to competing
products.
• Alpha testing
• Testing done when development is nearing
• completion; minor design changes may still be made as
a result of such testing.
•
• Beta-testing
• Testing when development and testing are essentially
completed and final bugs and problems need to be
found before release.
Mutation testing