Generating Test Cases by an Innovative Way

2012 ◽  
Vol 433-440 ◽  
pp. 5841-5847
Author(s):  
Shu Mei Zhao ◽  
Chun Feng Lv

Generate sufficient test cases is difficult and expensive, especially for testing software systems whose input is structurally complex. This paper proposes a new approach to generating a large number of test data from a few seed test cases, called data mutation. In the new approach, mutation operators transform the input data rather than the program under test or the specification of the software. It is not a test adequacy measurement. Instead, it generates test cases. The paper also reports a case study with the method on testing a modeling tool and illustrates the applicability of the proposed method. Experimental results validate the effectiveness of the method.

Author(s):  
Johnny Maikeo Ferreira ◽  
Silvia Regina Vergilio ◽  
Marcos Quinaia

The Feature Model (FM) is a fundamental artifact of the Software Product Line (SPL) engineering, used to represent commonalities and variabilities, and also to derive products for testing. However, the test of all features combinations (products) is not always possible in practice. Due to the growing complexity of the applications, only a subset of products is usually selected. The selection is generally based on combinatorial testing, to test features interactions. This kind of selection does not consider different classes of faults that can be present in the FM. The application of a fault-based approach, such as mutation-based testing, can increase the probability of finding faults and the confidence that the SPL products match the requirements. Considering that, this paper introduces a mutation approach to select products for the feature testing of SPLs. The approach can be used similarly to a test criterion in the generation and assessment of test cases. It includes (i) a set of mutation operators, introduced to describe typical faults associated to the feature management and to the FM; and (ii) a testing process to apply the operators. Experimental results show the applicability of the approach. The selected test case sets are capable to reveal other kind of faults, not revealed in the pairwise testing.


Author(s):  
Shadi Banitaan ◽  
Kendall E. Nygard ◽  
Kenneth Magel

Object-oriented software systems contain large number of modules which make unit testing, integration testing, and system testing very difficult and challenging. While the aim of unit testing is to show that individual modules are working properly and the aim of the system testing is to determine whether the whole system meets its specifications, the aim of integration testing is to uncover errors in the interactions between system modules. However, it is generally impossible to test all connections between modules because of time and budget constraints. Thus, it is important to focus the testing on the connections presumed to be more error-prone. The goal of this work is to guide software testers where in a software system to focus when performing integration testing to save time and resources. This paper proposes a new approach to predict and rank error-prone connections. We use method level metrics that capture both dependencies and internal complexity of methods. We performed experiments on several Java applications and used error seeding techniques for evaluation. The experimental results showed that our approach is effective for selecting the test focus in integration testing.


Author(s):  
Machani SivaPrasad

Software systems is evolve continuously during development and maintenance. After software is modified regression testing is applied to software to ensure that It behaves intended and modifications not negatively impacts its original functionality .It is time consuming to rerun test suite T of program Pi on modified program Pi+1.So there are many regression testing techniques are there for doing regression testing. These are based on coverage data. So computing coverage data for Pi+1 without rerunning all test cases is the problem for doing regression testing of program Pi+1.This paper proposed a new approach that computes coverage data with selecting test cases T’ for the subsequent versions of the software .By computing coverage data for subsequent version of software on without rerunning entire test suit T we can improve overall time taken to retest the evolving software using Regression testing. This paper focus on improving the performance of regression testing for software evolve continuously during maintenance, by implementing a new approach for regression testing by computing coverage data for evolving software using dataflow analysis and execution tracing .


Author(s):  
D. Jeya Mala ◽  
R. Iswarya

In real time software systems, testing plays a crucial role as any of the critical components in these systems are left undetected, then inadvertent effects will happen which will lead to erroneous operations, system failure, high cost and resource wastage etc. To address this most important and the emergent problem, this research work proposes an effective method by means of multi-agents based approach to identify such critical components and execute test cases along the critical test paths which will aid in effectively covering them during testing. Finally, this paper also compared the performance with existing approaches in terms of time taken for the search process and the component coverage based test adequacy criterion to ensure quality of the software.


Author(s):  
HOSSAIN SHAHRIAR ◽  
MOHAMMAD ZULKERNINE

Over the last few years, numerous vulnerabilities have been reported in software, and successful exploitations of these vulnerabilities have resulted in severe consequences such as denial of services and application state corruptions. Researches have shown that effective quality assurance methods can prevent such consequences when applied during software (or applications) development processes. Software security testing is a popular assurance method in this direction. However, effective testing involves obtaining an effective test suite (or collection of test cases) that can reveal specific faults. Over the last few years, different testing approaches have been applied for revealing vulnerabilities in software. However, only few works have assessed the effectiveness of test suites for revealing vulnerabilities. We believe that bringing the idea of mutation-based assessment of test adequacy for vulnerabilities can help in detecting and removing vulnerabilities proactively. In this work, we apply mutation-based adequate testing for one of the worst vulnerabilities namely buffer overflow (BOF). We propose 16 mutation operators to force the generation of adequate test suites for BOF vulnerabilities. A prototype tool is developed to automatically generate mutants and perform mutation analysis with input test cases. The effectiveness of the operators is evaluated by using several benchmark programs having BOF vulnerabilities, and the results indicate that the proposed operators are effective for testing BOF vulnerabilities. Moreover, we present an analysis to find selective mutation operators for reducing the cost of mutation-based testing of BOF vulnerabilities.


Author(s):  
D. Jeya Mala ◽  
R. Iswarya

In real time software systems, testing plays a crucial role as any of the critical components in these systems are left undetected, then inadvertent effects will happen which will lead to erroneous operations, system failure, high cost and resource wastage etc. To address this most important and the emergent problem, this research work proposes an effective method by means of multi-agents based approach to identify such critical components and execute test cases along the critical test paths which will aid in effectively covering them during testing. Finally, this paper also compared the performance with existing approaches in terms of time taken for the search process and the component coverage based test adequacy criterion to ensure quality of the software.


2020 ◽  
Author(s):  
Cléber G Corrêa ◽  
Márcio E Delamaro ◽  
Marcos L Chaim ◽  
Fátima L S Nunes

Abstract As software systems have increased in complexity, manual testing has become harder or even infeasible. In addition, each test phase and application domain may have its idiosyncrasies in relation to testing automation. Techniques and tools to automate test oracles in domains such as graphical user interfaces are available; nevertheless, they are scarce in the virtual reality (VR) realm. We present an approach to automate software testing in VR-based systems with haptic interfaces—interfaces that allow bidirectional communication during human–computer interaction, capturing movements and providing touch feedback. It deals with the complexity and characteristics of haptic interfaces to apply the record and playback technique. Our approach also provides inference rules to identify possible faulty modules of the system under testing. A case study was performed with three systems: a system with primitive virtual objects, a dental anesthesia simulator and a game. Faulty versions of the systems were created by seeding faults manually and by using mutation operators. The results showed that 100% of the manually seeded faults and 93% of mutants were detected. Moreover, the inference rules helped identify the faulty modules of the systems, suggesting that the approach improves the test activity in VR-based systems with haptic interfaces.


Author(s):  
Seryozha Asryan

In this paper, we present a method for grammar-based fuzzing, which improves its penetration power. It is based on input data generation using a fuzzer feedback. Several other methods are prone to create an initial set of acceptable test cases before the actual fuzzing process, and hence are unable to use the runtime information to increase the generated input’s quality. The proposed method uses the coverage information gathered for each input sample and guides grammar-based input generation. This method uses more than 120 BNF (Backus-Naur Form) grammar rules described in ANTLR (Another Tool for Language Recognition) platform. Experimental results show that our method - feedback driven random test generation, has higher code coverage capabilities compared with the existing methods.


Author(s):  
YING JIANG ◽  
SHAN-SHAN HOU ◽  
JIN-HUI SHAN ◽  
LU ZHANG ◽  
BING XIE

Component Based Software Development (CBSD) is gaining popularity in recent years. In this way of software development, software components, which are typically black-box components, are intensively reused to construct new systems. To ensure the quality of software systems composed of black-box components, a primary concern is how to ensure the quality of black-box components. Thus, adequate testing of those black-box components that will be reused is a necessary step in CBSD. However, due to the unavailability of the source code of black-box components, ensuring test adequacy becomes one of the hardest issues for testing black-box components. To tackle this problem, it is a natural idea to apply mutation testing, which is a fault-based testing method used for measuring test adequacy, for component contracts, whose aim is to improve the testability of the component. Though powerful, mutation testing is usually very computation-expensive, as many mutants need to be produced and executed in mutation testing. In this paper, we propose a contract-based mutation technique for testing black-box components. Based on the discordance between contracts and specification, our approach employs a set of high level contract mutation operators. The experimental results show that these operators can greatly reduce the number of mutants compared with traditional mutation operators. At the same time, the contract-based mutation using our contract mutation operators can provide almost the same ability as that of using traditional mutation operators. Therefore, our approach can produce effective test suites to reduce the cost of testing black-box components.


Exhaustive testing is impossible for all sorts of software systems, owing to the cost and time consumption. Combinatorial testing is the solution to this issue and aims at picking the necessary set of parameters which can ensure high degree of interaction between the parameters. This paper presents a new approach for generating unique test cases by exploiting Genetic and Particle Swarm Optimization (GAPSO) algorithm for achieving pairwise testing. The generated test cases are refined, so as to arrive at the optimal test set. The outcome of the proposed algorithm is the minimal count of high quality test cases.


Sign in / Sign up

Export Citation Format

Share Document