Analysis of VDM++ in Regression Test Suite

Analysis of VDM++ in Regression Test Suite

Zahid Hussain Qaisar (King Faisal University, Saudi Arabia) and Farooq Ahmad (COMSATS Institute of Information Technology – Lahore, Pakistan)
DOI: 10.4018/978-1-4666-8505-5.ch019
OnDemand PDF Download:
No Current Special Offers


Regression testing is important activity during the maintenance phase. An important work during maintenance of the software is to find impact of change. One of the essential attributes of Software is change i.e. quality software is more vulnerable to change and provide facilitation and ease for developer to do required changes. Modification plays vital role in the software development so it is highly important to find the impact of that modification or to identify the change in the software. In software testing that issue gets more attention because after change we have to identify impact of change and have to keenly observe what has happened or what will happen after that particular change that we have made or going to make in software. After change software testing team has to modify its testing strategy and have to come across with new test cases to efficiently perform the testing activity during the software development Regression testing is performed when the software is already tested and now some change is made to it. Important thing is to adjust those tests which were generated in the previous testing processes of the software. This study will present an approach by analyzing VDM (Vienna Development Methods) to find impact of change which will describe that how we can find the change and can analyze the change in the software i.e. impact of change that has been made in software. This approach will fulfill the purpose of classifying the test cases from original test suite into three classes obsolete, re-testable, and reusable test cases. This technique will not only classify the original test cases but will also generate new test cases required for the purpose of regression testing.
Chapter Preview

We have divided our literature review chapter in two different sections. First section describes about different techniques about the formal specification based testing and the second section is about formal specification based regression testing. From first section we will select an approach for getting test cases for our baseline version and from second section we will find technique for regression testing and will compare how our technique is different from them. As there is no technique for regression testing of VDM-SL so we have done literature review of formal specification based testing (Section 1) and formal specification based regression testing (Section 2). Regression testing will be based on the testing of formal specification. We will evaluate these techniques mentioned below and will propose our technique for the regression testing.

There are two basic strategies for regression testing; retest all and selective regression testing (selecting tests from previous test history) when we apply retest all strategy, as by its name it is clear that from baseline version all the test cases should be selected for the delta version i.e. all the tests generated in the testing process for the baseline version should be executed for the delta version. It will be very time consuming (Amayreh and zin, 1999).Most of the time it can be a wasteful activity, since there may be many tests which are not required to be executed. The better option is the selective regression testing approach where we select the test cases corresponding to the modified pars of the system.

Many regression testing approaches have been proposed. In these techniques some are regression test reduction techniques. Analysis of change is very important in regression testing for selecting regression test suite as well as it is important topic in software change management. Testing software after maintenance is called regression testing. A lot of techniques are developed for this purpose including model based, component based, and code based etc (most of the techniques are code based).

Formal specification based development is increasing now a days as more critical systems are formally specified before their development. So, formal specification based testing is very important to test formally specified software and systems. Despite these techniques, some techniques are classified as formal specification based since the regression testing is performed using formal specifications. Software testing is used to validate the system functionality according to the specification. Formal specification is used to formalize the system. Formal specification overcomes the weakness of the traditional software testing but its testing is important as formal proofs are not sufficient so, we require formal specification based testing to test the formal specification. The increasing use of formal methods in software industry has increased the importance of formal specification based testing techniques. Though formal methods are increasingly used in the software industry but still there is very less work done as for as the formal specification based regression testing is concerned (korel et al., 2007).

In the following section we will discuss different techniques for the formal specification based testing as it will be useful for us in our technique for test cases generation for the baseline specification.

Complete Chapter List

Search this Book: