Wednesday, April 22, 2009

Software Testing

Welcome

 To The World of Software Testing

 What Is Software Testing

The British Standards Institution, in their standard BS7925-1, define testing as "the process of exercising software to verify that it satisfies specified requirements and to detect faults; the measurement of software quality. Where the actual behavior of the system is different from the expected behavior, a failure is considered to have occurred.

A failure is the result of a fault. A fault is an error in the programming or specification that may or may not result in a failure. A failure is the manifestation of fault.

The principal aim of testing is to detect faults so that they can be removed before the product is made available to customers. Faults in software are made for a variety of reasons, from misinterpreting the requirements through to simple typing mistakes. It is the role of software testing and quality assurance, to reduce those faults by identifying the failures.

 

Testing is a process of executing a program and comparing the results to an agreed upon standard called requirements. If the results match the requirements, then the software has passed testing.

There are several methods of testing. There is exploratory testing, scripted, ad-hoc, regression and many more variations.

Testing involves operation of a system or application under controlled conditions and evaluating the results

Testing is a process for trying out a piece of software with data in valid or invalid condition in a controlled manner.

Focus on trying to find bugs

The goal of software testing should always be to find as many faults as possible(and find them early). If you set out with the goal of testing your software works, then you will prove it works, you will not prove that it doesn't break.

For example, if you try to show it works, then you'll use a valid postcode to ensure it returns a valid response

IEEE Standard Definitions of Software Testing

IEEE Standard 610 (1990): A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.

IEEE Std 829-1983: Documentation specifying inputs, predicted results, and a set of execution conditions for a test item.

 

Purpose of testing

The testing activity in an information system development can be defined as follows

Testing is a process of planning, preparing, executing and analyzing, aimed at establishing the characteristics of an information system, and demonstrating the difference between the actual status and the required status.

Test planning and preparation activities emphasize the fact that testing should not be regarded as a process that can be started when the object to be tested is delivered. A test process requires accurate planning and preparation phases before any measurement actions can be implemented

Testing reduces the level of uncertainty about the quality of a system. The level of testing effort depends on the risks involved in bringing this system in to operation, and on the decision of how much time and money is to be spent on reducing the level of uncertainty

No comments:

Post a Comment