Professional Documents
Culture Documents
Testing is the process of operating a system under specified input conditions and observing, recording
and comparing the results with what is expected
Limitations: Testing cannot determine whether software meets users needs, only whether it conforms to
the requirements. Testing finds faults it doesn't correct faults
Validation
Validation is the process of evaluating a system or component during or at the end of the development
process to determine whether it satisfies specified requirements.
Testing phases
The various testing phases are as follows
Unit testing
Integration testing
System testing
Acceptance testing
Unit Testing
Unit testing is a process of testing the individual units of a program. A unit is typically a function, a small
collection of functions, a function library, or a class. The main characteristic that distinguishes a unit
(besides the fact that it is usually implemented by a single person) is that it is small enough to test
thoroughly (often exhaustively
Integration Testing
Integration testing exercises several units that have been combined to form a module, subsystem, or
system. Integration testing focuses on the interfaces between units, to make sure the units work
together. The nature of this phase is certainly 'white box', as we must have a certain knowledge of the
units to recognize if we have been successful in fusing them together in the module.
System Testing
System testing is nothing but a process of testing the system under system level requirements.
Acceptance Testing
An acceptance test is an exercise of a completed system by a group of end users to determine whether
the system is ready for deployment. Here the system will receive more realistic testing that in the system
test phase, as the users have a better idea how the system will be used than the system testers.
Load Testing
Load is the amount of work assigned to or to be done by a person or a system. Given this definition, load
testing measures the amount of work a computer system can do.
Functional Testing
It's a testing technique where in the test case selection is based on the on the analysis of the
specification of the component without reference to its internal works.
Regression Testing
Regression testing is nothing but re-executing all test cases over again after any software change.
Stress Testing
Stress testing is a event which determines if the system will break down or otherwise malfunction when it
is being overloaded. The failure may come during a high volume scenario or due to high stress condition.
Structural Testing
Structural testing is a testing technique where in the test case selection is based on the analysis of the
internal structure of the component under test.
Test Automation
Test automation is nothing but a process of automating your testing process. Automation of testing
process is possible by using automated testing tools.
TestManagement tools
Test management involves four main types of activities: test planning, test development, test execution
and error tracking. Test management tools give you a systematic control over the testing process by
addressing all these activities
Code Coverage Analysis
Code coverage analysis is the process of:
Finding areas of a program not exercised by a set of test cases, Creating additional test cases to
increase coverage, and Determining a quantitative measure of code coverage, which is an indirect
measure of quality.