You are on page 1of 2

Software testing process

Software testing is the process used to help identify the correctness, completeness, security and quality
of developed computer software. With that in mind, testing can never completely establish the
correctness of arbitrary computer software. In computability theory, a field of computer science and
neat mathematical proof concludes that it is impossible to solve the halting problem, the question of
whether an arbitrary computer program will enter an infinite loop, or halt and produce output. In
other words, testing is nothing but criticism or comparison that is comparing the actual value with
expected one.

Davis [1995] suggests a set of testing principles as given below:

1. All tests should be traceable to the customer requirements.From the customer’s point of view, when the
program fails to meet requirements, it is considered to be a severe defect. Tests are to be designed to
detect such defects.

2. Tests should be planned long before testing begins.It is commonly misunderstood that testing begins
only after coding is complete. Testing is to be carried out all throughout the software development life
cycle. Test planning can begin as soon as the requirements model is complete.

3. The Pareto principle applies to software testing.The Pareto principle implies that 80% of all errors
uncovered during testing will likely be traceable to 20% of all program modules. Hence theidea is that
those 20% suspect modules are to be isolated and thoroughly tested.

4. Testing should begin “in the small” and progress towards testing “in the large”.Testing activity
normally begins with the testing of individual program modules and then progresses towards
integrated clusters (group) of modules, and ultimately the entire system.

5. Exhaustive testing is not possible.It is highly impossible to test all possible paths in a program
because even for a moderately sized program, the number of path permutations isexceptionally large.
However in practice, it is possible to adequately coverprogram logic.

6. To be most effective, testing should be conducted by an independent third party.By “most effective”,
we mean testing that has the highest probability of finding errors. In general, the software engineer
who created the system is not the best person to conduct all tests for the software and hence an
independent third party is the obvious choice.

You might also like