scholarly journals Hybrid swarm and GA based approach for software test case selection

Author(s):  
Palak Palak ◽  
Preeti Gulia

<span>Being a crucial step and deciding factor for software reliability, software testing has evolved a long way and always attracted researchers due to various inherent challenges. The quality of a software application depends on the effectiveness of the testing carried out during development and maintenance phase. Testing is a crucial but time consuming activity that influences the overall cost of software development. Thus a minimal but efficient test suite selection is the need of the hour. This paper presents a hybrid technique based on swarm based search technique and GA (Genetic Algorithm) for selection of promising test cases to reduce the overall development cost and time of the application. We took component based software into consideration as they offer some inherent advantages over traditional software development paradigms.</span>

Author(s):  
Kamalendu Pal

Agile methodologies have become the preferred choice for modern software development. These methods focus on iterative and incremental development, where both requirements and solutions develop through collaboration among cross-functional software development teams. The success of a software system is based on the quality result of each stage of development with proper test practice. A software test ontology should represent the required software test knowledge in the context of the software tester. Reusing test cases is an effective way to improve the testing of software. The workload of a software tester for test-case generation can be improved, previous software testing experience can be shared, and test efficiency can be increased by automating software testing. In this chapter, the authors introduce a software testing framework (STF) that uses rule-based reasoning (RBR), case-based reasoning (CBR), and ontology-based semantic similarity assessment to retrieve the test cases from the case library. Finally, experimental results are used to illustrate some of the features of the framework.


2022 ◽  
pp. 1090-1108
Author(s):  
Kamalendu Pal

Agile methodologies have become the preferred choice for modern software development. These methods focus on iterative and incremental development, where both requirements and solutions develop through collaboration among cross-functional software development teams. The success of a software system is based on the quality result of each stage of development with proper test practice. A software test ontology should represent the required software test knowledge in the context of the software tester. Reusing test cases is an effective way to improve the testing of software. The workload of a software tester for test-case generation can be improved, previous software testing experience can be shared, and test efficiency can be increased by automating software testing. In this chapter, the authors introduce a software testing framework (STF) that uses rule-based reasoning (RBR), case-based reasoning (CBR), and ontology-based semantic similarity assessment to retrieve the test cases from the case library. Finally, experimental results are used to illustrate some of the features of the framework.


2021 ◽  
Vol 12 (1) ◽  
pp. 111-130
Author(s):  
Ankita Bansal ◽  
Abha Jain ◽  
Abhijeet Anand ◽  
Swatantra Annk

Huge and reputed software industries are expected to deliver quality products. However, industry suffers from a loss of approximately $500 billion due to shoddy software quality. The quality of the product in terms of its accuracy, efficiency, and reliability can be revamped through testing by focusing attention on testing the product through effective test case generation and prioritization. The authors have proposed a test-case generation technique based on iterative listener genetic algorithm that generates test cases automatically. The proposed technique uses its adaptive nature and solves the issues like redundant test cases, inefficient test coverage percentage, high execution time, and increased computation complexity by maintaining the diversity of the population which will decrease the redundancy in test cases. The performance of the technique is compared with four existing test-case generation algorithms in terms of computational complexity, execution time, coverage, and it is observed that the proposed technique outperformed.


Author(s):  
S. OHARA ◽  
F. TSUNODA ◽  
H. MAEZAWA ◽  
A. K. ONOMA ◽  
M. HUI ◽  
...  

To assure the quality of software by running test cases and evaluating the results is one of the difficult parts of the entire software development project. The difficulty usually comes from the lack of appropriate supporting tools and the complexity of the software. In the past ad hoc supporting tools were made for each project and test results were usually not used across projects. This conventional way of test and evaluation (T&E) is time consuming, and the most important decision "When is this software ready to ship?" is left to the engineers depending on their experiences. Our objective is to build a knowledge-based T&E environment such that tests cases, test results, object snapshots and other information are accumulated in a database. These longitudinal data can be automatically tracked and analyzed to provide decision support information. As a result, test results can be reviewed repeatedly and software quality can be assured by analyzing these data from various perspectives.


Author(s):  
RUCHIKA MALHOTRA ◽  
ABHISHEK BHARADWAJ

Software is built by human so it cannot be perfect. So in order to make sure that developed software does not do any unintended thing we have to test every software before launching it in the operational world. Software testing is the major part of software development lifecycle. Testing involves identifying the test cases which can find the errors in the program. Exhaustive testing is not a good idea to follow. It is very difficult and time consuming to perform. In this paper a technique has been proposed to do prioritize test cases according to their capability of finding errors. One which is more likely to find the errors has been assigned a higher priority and the one which is less likely to find the errors in the program has been assigned low priority. It is recommended to execute the test cases according their priority to find the errors.


Project is a collection of similar activities that are going to be executed in certain order. Among the phases of project management testing show business crucial role. The intension of testing is not to prove the correctness; it is the process of verifying and validation. Software Testing is the most challenging job among all the peers of the industry. Exhaustive software Testing is never possible only Optimized software testing is possible. Hence Software Testing can be viewed as optimization problem as it fall under NP complete. Because of the extensive number of experiments that are required to perform adequate testing of the ideal programming application; the different strategies to decrease the test suite is required. One of the normal contemplated strategies is evacuating the repetitive experiments; the reason is insignificant number of experiments and greatest number of mistakes seclusion or revealing. In this exploration work consider is directed to address the usage and viability of G-hereditary calculation so as to decrease the quantity of experiments that don't included unmistakable incentive in the mean of test inclusion or where the experiments can't separate blunders. Hereditary calculation is used in this work to help in limiting the experiments or streamlining the experiments, where the hereditary calculation creates the primer populace arbitrarily, computes the wellness esteem utilizing inclusion measurements, and after that particular the posterity in back to back ages utilizing hereditary tasks choice, traverse and transformation. The hereditary displaying activities are explicit and dependent on the task may fluctuate to ordinary Genetic calculation. This procedure of age is rehashed until there is no adjustment in the wellness esteems for two successive ages, when there is no adjustment in the information age for two emphases so union accomplished or a minimized test case is achieved. The results of study demonstrate that, genetic algorithms can significantly reduce the size of the test cases


2021 ◽  
Vol 11 (24) ◽  
pp. 12121
Author(s):  
Shweta Singhal ◽  
Nishtha Jatana ◽  
Bharti Suri ◽  
Sanjay Misra ◽  
Luis Fernandez-Sanz

Software testing is undertaken to ensure that the software meets the expected requirements. The intention is to find bugs, errors, or defects in the developed software so that they can be fixed before deployment. Testing of the software is needed even after it is deployed. Regression testing is an inevitable part of software development, and must be accomplished in the maintenance phase of software development to ensure software reliability. The existing literature presents a large amount of relevant knowledge about the types of techniques and approaches used in regression test case selection and prioritization (TCS&P), comparisons of techniques used in TCS&P, and the data used. Numerous secondary studies (surveys or reviews) have been conducted in the area of TCS&P. This study aimed to provide a comprehensive examination of the analysis of the enhancements in TCS&P using a thorough systematic literature review (SLR) of the existing secondary studies. This SLR provides: (1) a collection of all the valuable secondary studies (and their qualitative analysis); (2) a thorough analysis of the publications and the trends of the secondary studies; (3) a classification of the various approaches used in the secondary studies; (4) insight into the specializations and range of years covered in the secondary texts; (5) a comprehensive list of statistical tests and tools used in the area; (6) insight into the quality of the secondary studies based on the seven selected Research Paper Quality parameters; (7) the common problems and challenges encountered by researchers; (8) common gaps and limitations of the studies; and (9) the probable prospects for research in the field of TCS&P.


Author(s):  
G. Geetha Priya ◽  
B. Narendra Kumar Rao

GUI testing is a process of testing a software application or functionality of GUI. It is defined as an interface between user and software which provides an easy way to interact with the system. GUI plays an important role in software engineering. GUI-based application requires that a test case consists of sequences of user actions/events to be executed. Selenium is an open-source tool for testing GUI Application by executing test cases whether the GUI Application is working properly or not. In this, we present test script repair technique to repair test cases. Test script repair technique uses reverse engineering process for creating the test script. Test script repair consists of three stages; they are Ripping, Mapping and Repairing. In ripping stage, there are two relationships for representing event interaction of GUI Application. During ripping we know the location of each widget. In mapping stage,original GUI events are mapped to an event-flow graph (EFG). In repairing stage, Event flow graph uses repairing transformations and human input to modified script to repair the test cases, and synthesizes a new “repaired” test script. During this process, test script repair uses GUI objects for yielding a final test script that can be executed using selenium tool to validate the GUI Application. An experiment using selenium tool to test, test cases suggests that it is effective in that unusable test scripts are repaired. Annotations significantly reduced the human cost to repair test cases.


Author(s):  
Gayatri Nayak ◽  
Mitrabinda Ray

Test case prioritization is a technical method to reorder the execution of test cases to reduce regression testing costs. This paper has examined various existing techniques that are widely used and suggests improving test case prioritization process after finding many research gaps. These research gaps are collected after doing a thorough study on 206 papers after surfing 310 papers on test case generation and prioritization techniques. These papers are collected from different electronic databases such as IEEE Explore, Science Direct, ACM Library, Springer, Wiley, and Elsevier. The authors have targeted to make a statistical record to show research contribution on test case prioritization at three levels of software development life cycle. This survey shows that 20.87% of papers are contributing for TCP at the requirement phase, 38.83% of papers are contributing for TCP at the design phase, 40.29% of papers are contributing to TCP at the coding phase. The inference of this study cites many future recommendations for the current researchers in the conclusion section.


2020 ◽  
Vol 31 (2) ◽  
pp. 42-63
Author(s):  
Mark L. Gillenson ◽  
Thomas F. Stafford ◽  
Xihui “Paul” Zhang ◽  
Yao Shi

In this article, we demonstrate a novel use of case research to generate an empirical function through qualitative generalization. This innovative technique applies interpretive case analysis to the problem of defining and generalizing an empirical cost function for test cases through qualitative interaction with an industry cohort of subject matter experts involved in software testing at leading technology companies. While the technique is fully generalizable, this article demonstrates this technique with an example taken from the important field of software testing. The huge amount of software development conducted in today's world makes taking its cost into account imperative. While software testing is a critical aspect of the software development process, little attention has been paid to the cost of testing code, and specifically to the cost of test cases, in comparison to the cost of developing code. Our research fills the gap by providing a function for estimating the cost of test cases.


Sign in / Sign up

Export Citation Format

Share Document