The document discusses common software problems, objectives of testing, and different levels of testing. The most common software problems include incorrect calculations, data issues, and incorrect processing. Objectives of testing are to find errors, ensure requirements are met, and check the software is fit for purpose. There are different levels of testing including unit testing of individual functions, integration testing of modules, system testing of the full system, and acceptance testing. White box and black box testing approaches are also described.
2. Most Common Software problems
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
3. Objectives of testing
Executing a program with the intent of finding
an error.
To check if the system meets the requirements
and be executed successfully in the Intended
environment.
To check if the system is Fit for purpose.
To check if the system does what it is expected
to do.
4. Objectives of testing
A good test case is one that has a probability
of finding an as yet undiscovered error.
A successful test is one that uncovers a yet
undiscovered error.
A good test is not redundant.
A good test should be best of breed.
A good test should neither be too simple nor
too complex.
5. Objective of a Software Tester
Find bugs as early as possible and make sure they get
fixed.
To understand the application well.
Study the functionality in detail to find where the
bugs are likely to occur.
Study the code to ensure that each and every line of
code is tested.
Create test cases in such a way that testing is done to
uncover the hidden bugs and also ensure that the
software is usable and reliable
7. Unit testing
The most micro scale of testing.
Tests done on particular functions or code
modules.
Requires knowledge of the internal program
design and code.
Done by Programmers (not by testers).
8. Black box testing
No knowledge of internal design or code
required.
Tests are based on requirements and
functionality
White box testing
Knowledge of the internal program design
and code required.
Tests are based on coverage of code
statements,branches,paths,conditions.
9. Black Box - testing technique
Incorrect or missing functions
Interface errors
Errors in data structures or external database
access
Performance errors
Initialization and termination errors
10. Black box / Functional testing
Based on requirements and functionality
Not based on any knowledge of internal
design or code
Covers all combined parts of a system
Tests are data driven
11. White box testing / Structural testing
Based on knowledge of internal logic of an
application's code
Based on coverage of code statements,
branches, paths, conditions
Tests are logic driven
12. Functional testing
Black box type testing geared to functional
requirements of an application.
Done by testers.
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.
13. 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.
14. Top-down testing form the top of the
module hierarchy and work down to the bottom.
Modules are added in descending hierarchical
order.
Bottom-up testing from the bottom of the
hierarchy and works up to the top. Modules are
added in ascending hierarchical order.