Software Testing-Testing Process
1.The Application we are testing is called as Application Under Testing.
2.The Application is divided into 2 parts:-
3.The Structural part is tested by Developer.
4.The Structural part is called as Invisible.
5.The Functional part is tested by Test Engineer.
6.The Functional part is called as Visible.
Fundamental Test Process in Software Testing
The fundamental test process in Software Testing comprises planning, specification, execution, recording and checking for completion.
You will find organizations that have slightly different names for each stage of the process and you may find some processes that have just few
stages for example. However, you will find that all good test processes adhere to this fundamental structure.
- Test specification in Software Testing (sometimes referred to as test design) involves designing test conditions and test cases using recognized test techniques
identified at the planning stage.
Here it is usual to produce a
separate document or documents that fully describe the tests that
you will carry out. It is important to determine the expected results
prior to test execution.
- Test execution involves actually running
the specified test on a computer system either manually or by using
an automated test tool
- Test recording involves keeping good records of the test activities
that you have carried out. Versions of the software you have tested
and the test specifications are software you have tested and the
test specifications are recorded along with the actual outcomes
of each test
Checking for test completion involves looking at the previously
specified test completion criteria to see if they have been met.
If not, some test may need to be re-run and in some instances it
may be appropriate to design some new test cases to meet a particular
- Successful tests detect faults
As the objective of a test should be to detect faults, a successful test is one that does detect a fault.
This is counter-intuitive, because faults delay progress; a successful test is one that may cause delay.
The successful test reveals a fault which, if found later, may be many more times costly to correct so in the long run,
is a good thing
- Meaning of completion or exit criteria in Software Testing
Completion or exit criteria are used to determine when testing (at any stage) is complete.
These criteria may be defined in terms of cost, time, faults found or coverage criteria.
- Coverage criteria in Software Testing
Coverage criteria are defined in terms of items that are exercised by test suites, such as branches,user requirements, most frequently used transactions etc
Testing and Expected Results in Software Testing
The specification of expected results in advance of test execution is perhaps one of the most fundamental principles of
testing computer software. If this step is omitted then human subconscious desire for tests to pass will be
overwhelming and tester may perhaps interpret a plausible, yet erroneous result, as correct outcome.
- As you will see when designing test using black box and white box techniques in Software Testing there is ample room within the
test specification in Software Testing to write down you expected results and therefore no real excuse for not doing it.
If you are unable to determine expected results for a particular test that you had in mind then it its not a good test as you will not be able to
(a) determine whether it has passed or not and
(b) you will never be able to repeat it.
- Even with a quick and dirty ad-hoc test it is advisable to write down beforehand what you expect to happen.
This may all sound pretty obvious but many test efforts have floundered by ignoring this basic principle.
- " The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is
that when a thing that cannot possibly go wrong does go wrong it usually turns out to be impossible to get at or repair."
- Here is a small Power point presentation of Software Testing.