Research and Development on Software Testing Techniques and Tools

Research and Development on Software Testing Techniques and Tools

Tamilarasi T (VIT University, India) and M. Prasanna (VIT University, India)
DOI: 10.4018/978-1-5225-7598-6.ch109

Abstract

Software testing is the pre-eminent part of the software development life cycle process. It is the process of evaluating system or its components with the specified requirements or not. It is important process by means of accessing the quality of software, reusability, and traceability of the requirements specified. There are many number of testing techniques and tools available for this task. Software testing is an essential part of research and lot of development has been made in this field. In this chapter, testing techniques and tools including test design tools, load, and performance testing tools, test management tools, test implementation tools, test evaluation tools, static analysis tools, basic path testing, loop testing, control structure testing, code-based techniques, path testing, data flow testing, syntax testing has been described. Some distinctive latest research and development in testing strategy have been summarized.
Chapter Preview
Top

Software Testing Techniques

Testing Outlook

Testing outlook has an impact on the software testing process. Consider the following definition:

Testing is the process to prove that the software works correctly.

This definition sounds good, but the person who developed the software will only try to show that the software works correctly. This is the typical psychology of testing. The software will work correctly for the inputs that are given by that person which will obtain correct results. If some other input was given, the software will obtain wrong results which is not acceptable in a commercial environment.

Now consider this definition:

Testing is a process to prove that the software does not work.

If the aim of the test engineer is to prove that the software does not work, then the process can be considered as good. If the software performs well, then you can say that the software is very reliable. If the software works efficiently, after some days of testing, it does not mean that the software has no bugs at all.

So the definition would be:

Testing is the process to detect the defects and minimize the risk associated with the residual defects.

Verification and Validation

While going for testing, the two terms verification and validation have to be differentiated. Barry Boehm defines these terms as follows:

  • Verification: “Are we Building the product right?”

  • Validation: “Are we building the right product?”

Verification is done by the development team to ensure that the software is as per the specifications in the SRS document. It is to check whether the software conforms to specifications. Validation is to check whether the software meets the customer expectations. It is carried out with the involvement of the client.

Complete Chapter List

Search this Book:
Reset