An optimized test case generation technique for enhancing state-sensitivity partitioning

Software testing is a vital phase in software development life cycle (SDLC) and its principal element is test case. Test case generation remains the most dominant the research area in software testing. One of the techniques that were proposed for generating test cases is State Sensitivity Partiti...

Full description

Saved in:
Bibliographic Details
Main Author: Sultan, Ammar Mohammed Dawood
Format: Thesis
Language:English
Published: 2017
Subjects:
Online Access:http://psasir.upm.edu.my/id/eprint/68748/1/FSKTM%202018%209%20IR.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Software testing is a vital phase in software development life cycle (SDLC) and its principal element is test case. Test case generation remains the most dominant the research area in software testing. One of the techniques that were proposed for generating test cases is State Sensitivity Partitioning (SSP). It aims to avoid the exhaustive testing of module’s entire states. It partitions the entire data states based on their sensitivities towards events, conditions and actions. The test data for SSP is in the form of event sequences. As there is no limit on the number of events that any sequence can hold, lengthy test cases might be generated. Besides, no constrains were applied in order to avoid retesting a component that was already tested. Subsequently, a state explosion might be encountered. The aim of this study was to address the problem of redundant states encountered within SSP test cases. An optimization technique was proposed, enSSP, featuring the generation of optimized test cases. The scope of this work is testing a module with memory where each module may consist of several programs. The essence of enSSP is to combine the features of Genetic Algorithm (GA) with a suite reduction technique to achieve optimization. GA removes redundant states from test cases while the reduction technique removes redundant sequences from the suite. Afterwards, a prioritization algorithm used for sorting the test cases so the first test case detects the highest number of mutants followed by the cases that kill its live mutants. Experiments were conducted using mutation analysis to compare the fault detection capabilities of enSSP and SSP. The main interest of the experiment is to demonstrate the capability of enSSP. With respect to both quality attributes, the effectiveness and the efficiency, the results indicate that enSSP is more effective and efficient than SSP.