원문정보
초록
영어
Software testing can be stated as the process of validating and verifying that a computer program, application and product [1]. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Software testing, depending on the testing method employed, can be implemented at any time in the development process. Traditionally most of the test effort occurs after the requirements have been defined and the coding process has been completed. Testing can never completely identify all the defects within software. A primary purpose of testing is to detect software failures so that defects may be discovered and corrected. Testing cannot establish that a product functions properly under all conditions but can only establish that it does not function properly under specific conditions. There are many approaches to software testing. Reviews, walkthroughs, or inspections are referred to as static testing, whereas actually executing programmed code with a given set of test cases is referred to as dynamic testing. Regression testing is an important but expensive software maintenance activity performed with the aim of providing confidence in modified software. Regression test selection techniques reduce the cost of regression testing by selecting test cases for a modified program from a previously existing test suite. Regression testing is done every time when a program is modified to ensure that the modifications do not introduce new bugs into previously validated code. Regressions Testing can be done by collectively perform Regression Test Selection, Test Minimization and Test Case Priotrization Technique. An important research problem, in this context, is the selection of a relevant subset of test cases from the initial test suite. Regression test selection (RTS) techniques minimize both the regression testing time and effort. Regression test selection (RTS) techniques select a subset of valid test cases from an initial test suite (T) to test that the affected but unmodified parts of a program continue to work correctly. Use of an effective regression test selection technique can help to reduce the testing costs in environments in which a program undergoes frequent modifications. D is a new programming language. This is an object-oriented, imperative, multi-paradigm system programming language. Regression testing on D programming language still untouched by researchers. Our research attempts to bridge this gap by introducing a techniques to revalidate D programs. A framework is proposed which automates both the regression test selection and regression testing processes for D programming language. As part of this approach, special consideration is given to the analysis of the source code of D language. In our approach system dependence graph representation will be used for regression test selection for analyzing and comparing the code changes of original and modified program. First we construct a system dependence graph of the original program from the source code. When some modification is executed in a program, the constructed graph is updated to reflect the changes. Our approach in addition to capturing control and data dependencies represents the dependencies arising from object-relations. The test cases that exercise the affected model elements in the program model are selected for regression testing. Empirical studies carried out by us show that our technique selects on an average of 26.36. % more fault-revealing test cases compared to a UML based technique while incurring about 37.34% increase in regression test suite size.
목차
1. Introduction
2. Basic Concepts
2.1 D Language
2.2. Software Testing
2.3 Regression Testing
2.4 Program Models
2.5. Effectiveness of a Regression Test Suite
2.6 Program Slicing
2.7 Naslavsky’s UML-Based RTS Technique
2.8 Types of Program Changes
3. P-ReTEST: PROPOSED APPROACH
3.1. Determination of Regression Test Cases
4. Experimental Studies
4.1 P-ReTEST
4.2 Open source software packages used
4.3 Experiments
4.4. An Evaluation of the Effectiveness of P-ReTEST
4.5 Result
4.6 Analysis
5. Conclusion
References