Reason for Testing System separately( Unit, Integration and System Testing)
Reason for testing parts
separately is that if a test case detects an error in a large program, it will
be extremely difficult to pin point the source of error. It is difficult to
construct test cases so that all the modules will be executed. This may increase the change of module's
error undetected.
What is the need for independent testing/ third party testing ?
- Sometimes error occurs because the programmer did not understand the specification clearly. Testing of a program by its programmer will not detect such errors, but independent testing may succeed in finding them.
- Time concern
- If the customer want the third party testing
- Non-availability of testing resources
- It is not easy for someone to test their own program with proper frame of mind for testing.
What is the Testing Principles?
1.
All the test cases should be traceable to the customer requirements.
2. Testing should be planned long
before testing begins.
3. Testing should begin 'in the
small' and process towards testing 'in the large'
4. To be most effective, testing
should be conducted by an independent third party
What is the life time of a bug?
Once you find the defect, time spent to
fix the defect is called life time of the bug.
Attributes of a Good test:
1. A good test has a high probability
of finding an error
2. A good test is not redundant.
3. A good test should be 'best of
breed'
4. A good test should be neither too
simple nor too complex.
Why Software has bugs?
Due to
1.
Software complexity
2. Programming errors
3. Changing in requirement
4. Poorly documented code
5. Miscommunication between the inter
group
6. Software development tools or OS
may introduce their own bugs.
When to Stop Testing?
We can Stop Testing when
- Full execution of all test cases with internal acceptance and customer acceptance
- When Beta or Alpha Testing period ends
- Bug rate falls below certain level
- Test budget depleted
- Test cases completed with certain % passed
What is Error Seeding?
Once the
software is 100% bug free. Just to check the efficiency of Tester, we have to 'insert certain number of bugs' in project
in various points and give it to tester to test.
Efficient tester will find the 'inserted bugs'.
Error seeding is just to check the efficiency of the tester.
We have to check the efficiency of the tester once the software is 100%
bug free.
Comments
Post a Comment