2. INTRODUCTION
Testing refers to a defect detection mechanism and its purpose is to
find errors.
It is a process of executing a program with intent of finding an error.
3. VERIFICATION
Verification is a process of determining whether or not the product of a
given phase of software development fulfil the requirements
established during the previous data.
It means software product should meet user expectations, checking
that users expectations are satisfied.
We can do this with the help of Functional testing, Integration and
interface testing, System testing, Acceptance criteria, Regression
testing.
4. VALIDATION
Validation is a process of evaluating a system or component during or
at the end of development process to determine whether it satisfies the
specified requirements.
It ensures whether the software product is behaving according to its
specification.
We can do this with the help of Technical reviews and inspections, Root
cause analysis, Metric definition, Certification demonstrations.
5. TESTING TECHNIQUES
Testing is the process of execution of a program with the intent of
finding errors.
There are two types of testing techniques:
1. White box testing (Structural testing)
2. Black box testing (Functional testing)
6. WHITE BOX TESTING
Testing based on the internal specification with knowledge of how
system is constructed.
In this testing approach, we have to analyse the code and use the
knowledge about the program structure to derive test data.
White box techniques are given below:
1. Basic path testing (Flow graph notation, Cyclomatic complexity, Graph
metrics)
2. Control structure testing (Loop testing)
7. BLACK BOX TESTING
Testing based on the external specification without the knowledge of
how system is constructed.
In this approach, testers need not to have explicit knowledge of internal
workings of the item being tested.
Black box techniques are given below:
1. Equivalence partition
2. Boundary value analysis
3. Robustness testing
8. LEVEL OF TESTING
A software product goes through three levels of testing:
1. Unit testing
2. Integration testing
3. System testing
9. UNIT TESTING
Unit testing is the process of taking a module (the smallest unit of
software design) and running it in isolation from the rest of the
software product by using prepared test cases and comparing the
actual results with the results predicted by the specification and design
of the module.
It is white box oriented.
10. INTEGRATION TESTING
Integration testing is used to test the integration and consistency of an
integrated subsystem.
It is applied incremently as modules are assembled into larger
subsystems.
It is done using a combination of both black box and white box testing
techniques.
11. SYSTEM TESTING
System testing focuses on complete integrated system to evaluate
compliance with specified requirements.
It is basically used for performance, stress and security testing.
It includes techniques like Acceptance testing, Alpha and Beta testing,
Performance testing, Regression testing
12. ACCEPTANCE TESTING
Acceptance testing is performed before to handover the system to the
customer.
The customer may write the test criteria and request to the developer
to execute them or the developer can write the criteria and take the
customer’s approval.
Acceptance testing focuses on complete integrated system to evaluate
fitness of use.
13. ALPHA AND BETA TESTING
Alpha testing is done at developer’s site by customer.
In alpha testing, developers are present and environment is controlled.
Beta testing is done at one or more customer’s site by end
users/customers.
In beta testing, we face live situation and here developer my or may not
be present.
Beta testing usually comes in picture when the number of users are
millions.
14. PERFORMANCE TESTING
Performance testing is concerned with assessing the time and memory
aspects of the system
It may be concerned with checking that the operation completes within
the fixed deadline and only a fixed size of memory is allocated
15. REGRESSION TESTING
Regression testing is applied after changes have been made to the
system
The operation of the new version is compared with the previous version
to see, if there are any unexpected results