• No results found

SOME IMPORTANT TESTING HINTS

In document Testing+Tools+Material (Page 129-132)

White Box Testing:

SOME IMPORTANT TESTING HINTS

Testing is the phase where the errors remaining from all the previous phases (i.e. SDLC) must be detected. Hence testing performs a very critical role for quality assurance and for ensuring the reliability of software.

Success of testing in revealing errors depends critically on test cases. What is the Difference between Error, Fault Failure and Bug ?

Error: It refers to the discrepancy between computed or measured value and theoretically correct value. i.e. Difference between actual output and correct output of the software.

Fault: Fault is the basic reason for software malfunction. i.e. Fault is a condition that causes a system to fail in performing its required function.

Failure: Is the inability of the system or component to perform a required function according to its specifications. A Software failure occurs if the behavior of the software is different from the specified behavior.

Bug: Non Functionality to a functionality

Presence of an error implies that a failure must have occurred, and the observance of a failure implies that a fault must be present in the system.

During the testing process only failures are observed by which presence of fault is deduced. The actual faults are identified by separate activities commonly referred to us 'debugging'.

In other words, for identifying faults after testing has revealed the presence of faults the expensive task of debugging has to be performed. This is the reason 'why testing is expensive.'

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.

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 some one 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. DEFECT CLASSIFICATION

As per ANSI/IEEE standard 729 the following are the five level of defect classification are 1. Critical: The defect results in the failure of the complete software system, of a subsystem, or of a software unit (program or module) with the system.

2. Major: The defect results in the failure of the complete software system of a subsystem, or of a software unit (program or module) within the system. There is no way to make the failed components, however, there are acceptable processing alternatives which will yield the desired result.

3. Average: The defect does not result in a failure, but causes the system to produce incorrect, incomplete, or inconsistent results, or the defect impairs the systems usability. 4. Minor: The defect does not cause failure, does not impair usability, and the desired processing results are easily obtained by working around the defect.

5. Cosmetic: The defect is the result of non-conformance to a standard, is related to the aesthetics of the system, or is a request for an enhancement. Defects at this level may be deferred or even ignored.

In addition to the defect severity level defined above, defect priority level can be used with severity categories to determine the immediacy of repair. A five repair priority scale has also be used in common testing practice.

The levels are:

Resolve Immediately: Further development and /or testing cannot occur until the defect has been repaired. The system cannot be used until the repair has been effected

Give High Attention: The defect must be resolved as soon as possible because it is impairing development / and or testing activities. System use will be severely affected until the defect is fixed.

Normal Queue: The defect should be resolved in the normal course of development activities. It can wait unit a new build or version is created.

Low Priority: The defect is an irritant that should be repaired but which can be repaired after more serious defect have been fixed

Total effort spent in testing Cost of a defect == ---

Tot. no. of defect.

No. of Test cases Testing efficiency == --- No. of defects.

Defect Closure rate == how much time takes to close the defect No. of defect

Defect Density == --- KLOC/FP KLOC- Kilo Lines Of Code

FP - Functional Point analysis.

Software Testing Related Web Sites: www.softwareqatest.com www.rstcorp.com www.mmsindia.com www.facilita.co.uk www.autotestco.com www.kaner.com www.badsoftware.com www.model-based-testing.com www.soft.com www.jrothman.com www.webservepro.com www.testworks.com www.ftech.com www.geocities.com www.aptest.com www.testing.com www.stqemagazine.com www.sqe.com www.io.com www.testingstuff.com www.stickyminds.com

In document Testing+Tools+Material (Page 129-132)