Intro

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Introduction to software testing

The development of software systems involves a series of production activities


where opportunities for injection of human faults are enormous, Errors may
begin to occur at any stage of the development process . normally , faults can
be handled by the testing process , but firstly we need to know what is
testing , in 1979 Glenford J.Myers has defined the testing process as follows : "
Software Testing is the process of executing a program or system with the
intent of finding errors" , even working with this intent software product still
has some faults or bugs, no matter how accomplished by today’s testing
technologies, Some bugs are detected and removed at the time of coding.
Others are found and fixed during formal testing as software modules are
integrated into a system. however, all software manufacturers know that bugs
remain in the software and that some of them have to be fixed later (Beizer
1990). eventually, testing is a necessary requirement for the successful
implementation of a software product.
Even with the latest testing technologies, it is often considered as being
difficult, time consuming, and insufficient. It is reported that bugs in the final
products cost the United States economy $59.5 billion per year (Tassey 2002).
Currently, total sales of software products have reached $180 billion a year in
the United States. Due to the bug-bearing features, catastrophes caused by
software products have happened from time to time.
In April 1999, a software defect caused the failure of the Cape Canaveral
launch of a $1.2 billion military satellite.
This has perhaps been the most expensive software failure in the history of the
software industry. and later triggered a complete military and industry review
of the U.S. space launch programs, including software integration and testing
processes, etc….
Testing consumes for 25% to 50% of the total budget in many software
development projects. a test team is needed to perform the process which is
usually consists of engineers that act as manual testers, tool users, and tool
developers. Both the budget and the personnel are important because a product
under development should be tested as systematically as possible.
Today , there are many testing tools on the market . However, they are
considered to be quite primitive with regard to the quality required (Tassey
2002). engineers can test software with some degrees of automation so that the
test engineers can save more time for solving problems in high-risk areas,
With the automated software testing tool , testers do not need to write test
script by hand or by recording test scenarios. The software testing process will
work with the least amount of human effort. These tools are designed to be
reusable and meet the testing needs of most software products.
For example, in the testing of some commercial software product in IBM
(Tian et al., 1995; Tian, 1998), an internal test automation tool called T3 was
used to generate workload, monitor the execution, and record various execution
details for a subset of test scenario classes listed below .
The specific measurement data that need to be collected are dictated by the
specific analyses to be performed.

Source Instrumented Trace files


program
Instrumen Compile Generate
program
tation and run reports

reports

but their automation is limited to that simple recording test script by mouse
clicks . Test engineers expect more powerful and flexible tools or even to be
fully automated with more automatic features to catch up with the rapid
evolution of the software technology.

You might also like