scholarly journals An Enhanced Multiview Test Case Generation Technique for Object-oriented Software using Class and Activity Diagrams

Software testing is one of the vital steps in software development life cycle. Test case generation is the first process in software testing which takes a lot of time, cost and effort to build an effective product from the start. Automatic test case generation is the best way to address this issue and model-based test case generation approach would be suitable for this automation process. One way to generate test cases automatically is by generating test cases from Unified Modeling Language (UML) models. The challenge with the existing test case generation techniques using UML models is that they provide a single view, meaning that the techniques capture a single aspect of the system, such as structural or behavioral but not both. In this paper, we have successfully developed a technique that automatically generates test cases which capture both structural and behavioral views of the system. These test cases can help to discover software faults early in the software development cycle. Finally, we conducted an experiment by comparing our technique with a manual process. The results show that the proposed technique can produce same test cases as manually writing test cases of the same system model but this technique saves a lot of time, effort and cost as well.

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.


2020 ◽  
Vol 30 (1) ◽  
pp. 59-72
Author(s):  
P Lakshminarayana ◽  
T V SureshKumar

AbstractSoftware testing is a very important technique to design the faultless software and takes approximately 60% of resources for the software development. It is the process of executing a program or application to detect the software bugs. In software development life cycle, the testing phase takes around 60% of cost and time. Test case generation is a method to identify the test data and satisfy the software testing criteria. Test case generation is a vital concept used in software testing, that can be derived from the user requirements specification. An automatic test case technique determines automatically where the test cases or test data generates utilizing search based optimization method. In this paper, Cuckoo Search and Bee Colony Algorithm (CSBCA) method is used for optimization of test cases and generation of path convergence within minimal execution time. The performance of the proposed CSBCA was compared with the performance of existing methods such as Particle Swarm Optimization (PSO), Cuckoo Search (CS), Bee Colony Algorithm (BCA), and Firefly Algorithm (FA).


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.


Mathematics ◽  
2021 ◽  
Vol 9 (15) ◽  
pp. 1779
Author(s):  
Wanida Khamprapai ◽  
Cheng-Fa Tsai ◽  
Paohsi Wang ◽  
Chi-En Tsai

Test case generation is an important process in software testing. However, manual generation of test cases is a time-consuming process. Automation can considerably reduce the time required to create adequate test cases for software testing. Genetic algorithms (GAs) are considered to be effective in this regard. The multiple-searching genetic algorithm (MSGA) uses a modified version of the GA to solve the multicast routing problem in network systems. MSGA can be improved to make it suitable for generating test cases. In this paper, a new algorithm called the enhanced multiple-searching genetic algorithm (EMSGA), which involves a few additional processes for selecting the best chromosomes in the GA process, is proposed. The performance of EMSGA was evaluated through comparison with seven different search-based techniques, including random search. All algorithms were implemented in EvoSuite, which is a tool for automatic generation of test cases. The experimental results showed that EMSGA increased the efficiency of testing when compared with conventional algorithms and could detect more faults. Because of its superior performance compared with that of existing algorithms, EMSGA can enable seamless automation of software testing, thereby facilitating the development of different software packages.


2014 ◽  
Vol 568-570 ◽  
pp. 1488-1496
Author(s):  
Ming Gang Xu ◽  
Yong Min Mu ◽  
Zhi Hua Zhang ◽  
Ang Liu

Automatic test case generation has been a hotspot and a difficult problem in the software testing, Accurately and efficiently generate test cases can improve the efficiency of software testing. Java programs have many characteristics such as encapsulation, inheritance, polymorphism and so on, it is convenient for software design and development, but to bring automated testing some difficulties. This article on the Java program of automatic test case generation method is studied and presents a framework for automatic generation of test cases. With this framework, test case suite will be generated quickly and accurately. Experimental results show that automatic Java test case generation framework can quickly and accurately generate test cases , reduce labor costs and improve efficiency.


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.


The quality of the software is a very important aspect in the development of software application. In order to make sure there is the software of good quality, testing is a critical activity of software development. Thus, software testing is the activity which focuses on the computation of an attribute or the ability of either a system or program that decides if user requirements are met. There is a proper strategy for the design of software for which testing has to be adopted. The techniques of test case selection attempt at reduction of the test cases that need to be executed at the same time satisfying the needs of testing that has been denoted by the test criteria. In the time of software testing, and the resource will be the primary constraints at the time of testing since this has been a highly neglected phase in the Software Development Life Cycle (SDLC). The optimizing of a test suite is very critical for the reduction of the testing phase and also the selection of the test cases that eliminate unwanted or redundant data. All work in literature will make use of techniques of single objective optimization that does not have to be efficient as the code coverage will play an important role at the time of selection of test case. As the test case choice is Non-Deterministic, the work also proposes a novel and multi-objective algorithm like the Non-Dominated Sorting Genetic Algorithm II (NSGA II) and the Stochastic Diffusion Search (SDS) algorithm that makes use of the cost of execution and code coverage as its objective function. The results prove a faster level of convergence of the algorithm with better coverage of code in comparison to the NSGA II.


2020 ◽  
Vol 9 (1) ◽  
pp. 1266-1278

Software testing is an inevitable phase in the Software Development Life Cycle (SDLC). It plays a vital role in ensuring the quality of the product. Testing can be performed on requirement, design and code. Traditional test case generation approaches majorly focuses on designing and implementation models, as a huge percentage of errors in the software are caused due to the lack of understanding in the early phases. So, it’s advisory to follow testing in the initial phase in SDLC as most of the errors/faults can be eliminated and can be prevented without disseminating to the next phase. So, testing must not be secluded to a single phase alone in SDLC. In software testing, test case generation is the fundamental and challenging part. The major purpose to design test case is to create set of tests that are valuable in validation. Due to the increase in software size, it’s not quite advisable to have the choice as manual testing to test the code as its error prone, complex and time consuming. Automation of testing would help the tester to test effectively and timely. Applications of new techniques improve the test process and cut down the tester’s effort. The proposed work presents a sandwich of black box and white box testing. Design-based testing, a black box approach is implemented, that aids in fixing the errors at initial phase. Unified Modeling Language (UML) Use case diagram, Activity diagram and Sequence Diagram are considered for designing. The code-based generation of test cases, is a white box testing approach, test coverage criteria Modified Condition/Decision Condition (MC/DC) has been used to ensure the maximum coverage of the code during testing phase for generating the test cases. The objective of this paper is to automate the generation of minimal number of test cases required to test a system with maximum coverage by removing the redundant test cases using MC/DC criterion. This present an idea to the beginners of the testing about minimal test cases they necessitate for testing their system.


2020 ◽  
Vol 17 (11) ◽  
pp. 5198-5204
Author(s):  
Seema Rani ◽  
Amandeep Kaur

Automation in software testing is significantly growing in recent situation. Most part of the system is automated with help of the software. Today every modern software developers are trying to automate the software development process as much as possible. Therefore to develop any software more skills and expertise are needed. For the software development process, testing of software is the exceedingly significant and considerable phase. Automatic test data generation had an essential function in specific area regarding software testing. Test case creation is technique of gathering the data which completes the testing standards, all criteria’s and conditions. During testing process, the software goes through frequent modifications. As a result, due to all of these modifications and repetitive retesting the cost of testing process increases. This is called regression testing. Regression testing requires more expertise, more effort, more time and more cost. Here to reduce the time and expenditure, many type of techniques are proposed. The changes in one test case will affect all the others test cases. To triumph over this problem, when the changes occurred in the software every the test case have to be retested repeatedly. And this problem leads to make the testing process time consuming with unnecessary increased cost. Here In this research paper, the work’s focal point on automatic test cases generation and prioritization with improved evolutionary genetic algorithm.


2014 ◽  
Vol 13 (7) ◽  
pp. 4671-4674 ◽  
Author(s):  
Gurpreet Singh ◽  
Rasbir Singh

Software Testing plays an important role in Software development because it can minimize the development cost. UML is widely used in the software development, there consists of the designing and coding of the software. Designing phase is done with the help of the UML models, which consists of the sequence diagrams, activity diagrams, use case diagrams, state chart diagrams etc. After designing of the system, the next task is coding. Since the software development is time and human resource consuming, the reduction of consumption is done with the help of the code generation automatically. This work mainly focus on the UML sequence diagram and state chart diagram as the model. We Propose a Technique for Test Case Generation using UML Models. UML models give a lot of  information that should not be ignored in testing. An innovative approach of generating test cases from the combination of UML design diagrams has been discussed in this paper. Present work used an approach where sequence diagram and state chart diagram has been used to generate test cases. The test cases thus generated are suitable for dynamic testing of system.


Sign in / Sign up

Export Citation Format

Share Document