Study of Different Software Testing Techniques |
Software testingis as old as the hills in the history of digital computers. The testing ofsoftware is an important means of assessing the software to determine itsquality. Since testing typically consumes 40~50% of development efforts, andconsumes more effort for systems that require higher levels of reliability, itis a significant part of the software engineering. With the development ofFourth generation languages (4GL), which speeds up the implementation process,the proportion of time devoted to testing increased. As the amount ofmaintenance and upgrade of existing systems grow, significant amount of testingwill also be needed to verify systems after changes are made . Despiteadvances in formal methods and verification techniques, a system still needs tobe tested before it is used. Testing remains the truly effective means toassure the quality of a software system of non-trivial complexity , as wellas one of the most intricate and least understood areas in software engineering. Testing, an important research area within computer science is likely tobecome even more important in the future. Thisretrospective on a fifty-year of software testing technique research examinesthe maturation of the software testing technique research by tracing the majorresearch results that have contributed to the growth of this area. It alsoassesses the change of research paradigms over time by tracing the types ofresearch questions and strategies used at various stages. We employ the technologymaturation model given by Redwine and Riddle  as the framework of ourstudies of how the techniques of software testing first get the ideaformulated, preliminarily used, developed, and then extended into a broadersolution. Shaw gives a very good framework of software engineering researchparadigms in , which classifies the research settings, research approaches,methods, and research validations that have been done by software researchers.Shaw’s model is used to evaluate the research strategies for testing techniquesused in our paper.