scholarly journals CTJ: Input-Output Based Relation Combinatorial Testing Strategy Using Jaya Algorithm

2020 ◽  
Vol 17 (3(Suppl.)) ◽  
pp. 1002
Author(s):  
Mohammed Issam Younis ◽  
Abdul Rahman A. Alsewari ◽  
Ng Yeong Khang ◽  
Kamal Z. Zamli

Software testing is a vital part of the software development life cycle. In many cases, the system under test has more than one input making the testing efforts for every exhaustive combination impossible (i.e. the time of execution of the test case can be outrageously long). Combinatorial testing offers an alternative to exhaustive testing via considering the interaction of input values for every t-way combination between parameters. Combinatorial testing can be divided into three types which are uniform strength interaction, variable strength interaction and input-output based relation (IOR). IOR combinatorial testing only tests for the important combinations selected by the tester. Most of the researches in combinatorial testing applied the uniform and the variable interaction strength, however, there is still a lack of work addressing IOR. In this paper, a Jaya algorithm is proposed as an optimization algorithm engine to construct a test list based on IOR in the proposed combinatorial test list generator strategy into a tool called CTJ. The result of applying the Jaya algorithm in input-output based combinatorial testing is acceptable since it produces a nearly optimum number of test cases in a satisfactory time range.

2018 ◽  
Vol 7 (3.8) ◽  
pp. 22 ◽  
Author(s):  
Dr V. Chandra Prakash ◽  
Subhash Tatale ◽  
Vrushali Kondhalkar ◽  
Laxmi Bewoor

In software development life cycle, testing plays the significant role to verify requirement specification, analysis, design, coding and to estimate the reliability of software system. A test manager can write a set of test cases manually for the smaller software systems. However, for the extensive software system, normally the size of test suite is large, and the test suite is prone to an error committed like omissions of important test cases, duplication of some test cases and contradicting test cases etc. When test cases are generated automatically by a tool in an intelligent way, test errors can be eliminated. In addition, it is even possible to reduce the size of test suite and thereby to decrease the cost & time of software testing.It is a challenging job to reduce test suite size. When there are interacting inputs of Software under Test (SUT), combinatorial testing is highly essential to ensure higher reliability from 72 % to 91 % or even more than that. A meta-heuristic algorithm like Particle Swarm Optimization (PSO) solves optimization problem of automated combinatorial test case generation. Many authors have contributed in the field of combinatorial test case generation using PSO algorithms.We have reviewed some important research papers on automated test case generation for combinatorial testing using PSO. This paper provides a critical review of use of PSO and its variants for solving the classical optimization problem of automatic test case generation for conducting combinatorial testing.   


Author(s):  
Tianning Zhang ◽  
Xingqi Wang ◽  
Dan Wei ◽  
Jinglong Fang

Test case prioritization is one of the most useful activities in testing. Most existing test case prioritization techniques are based on code coverage, which requires access to source code. However, code-based testing comes late in the software development life cycle, when errors are detected, the cost of testing is very high. Therefore, in this paper, we provide a test case prioritization technique based on Unified Modeling Language (UML) model, built before coding, to detect errors as earlier as possible and reduce the cost of modification. The technique consists of the following main parts: (1) using C&K metrics to estimate the error probability of class; (2) using dependences, obtained from the model slicing, to estimate error severity; (3) generating test case priority from error probability and severity, then prioritizing the test case. With our technique, test engineers need the UML model only and the test cases can be prioritized automatically. To evaluate our technique, we applied our technique to unmanned aerial vehicles (UAV) flight control system and performed test case prioritization. The results show that the error can be detected effectively and stability can be increased significantly as compared to the current code-based techniques.


Author(s):  
Mamdouh Alenezi ◽  
Mohammed Akour ◽  
Hamid Abdul Basit

Ensuring the security of the software has raised concerns from the research community which triggered numerous approaches that tend to eliminate it. The process of ensuring the security of software includes the introduction of processes in the Software Development Life Cycle where one of them is testing after the software is developed. Manually testing software for security is a labor-intensive task. Therefore, it is required to automate the process of testing by generating test cases by automated techniques. In this paper, we review various software security test case generation approaches and techniques. We try to explore and classify the most eminent techniques for test case generation. The techniques are summarized and presented briefly to covers all researches work that has been done in the targeted classification. Moreover, this paper aims to depict the sound of security in the current state of the art of test case generation. The findings are summarized and discussed where the opportunities and challenges are revealed narratively. Although the paper intends to provide a comprehensive view of the research in test case generation, there was a noticeable lack in the test case generation from the security perspectives


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.


Author(s):  
PRATEEVA MAHALI ◽  
ARUP ABHINNA ACHARYA

With the exponential growth in size and complexity of softwares, the testing activity is no more limited to testing phase of SDLC (Software Development Life Cycle). Testing process has been made iterative and incremental in Object Oriented development scenario. This leads to increase in effort and time required for testing as well as explosion in test case. But when it comes to regression testing, it has the additional issue of test case retesting which further increasing the effort and time. So a suitable prioritization technique should be used to address these issues. In this paper we had given a proposal which is based on prioritization of test cases using GA (Genetic Algorithm). This process is found to be very effective during regression testing. In this paper we found an optimized independent path having maximum critical path value, which further leads to prioritization of test cases. The three component of regression testing i.e effort, time, cost will be gradually reduce by using this approach.


Author(s):  
ZIYUAN WANG ◽  
LIN CHEN ◽  
BAOWEN XU ◽  
YAN HUANG

Combinatorial testing has been widely used in practice. People usually assume all test cases in combinatorial test suite will run completely. However, in many scenarios where combinatorial testing is needed, for example the regression testing, the entire combinatorial test suite is not run completely as a result of test resource constraints. To improve the efficiency of testing, combinatorial test case prioritization technique is required. For the scenario of regression testing, this paper proposes a new cost-cognizant combinatorial test case prioritization technique, which takes both combination weights and test costs into account. Here we propose a series of metrics with physical meaning, which assess the combinatorial coverage efficiency of test suite, to guide the prioritization of combinatorial test cases. And two heuristic test case prioritization algorithms, which are based on total and additional techniques respectively, are utilized in our technique. Simulation experimental results illustrate some properties and advantages of proposed technique.


2012 ◽  
Vol 241-244 ◽  
pp. 2696-2700
Author(s):  
Yu Wang ◽  
Hao Wu ◽  
Zhen Yu Sheng

Combinatorial testing has lots of test cases, but software testers hope to get the best test coverage with the smallest test case suite. For the scale of produced test cases is so large that researchers have considered the implementation of the critical test cases. This article researches the classic combinatorial test methods and proposes methods to generate pair-wise testing cases with a priority. Firstly, we design formulas to compute the weights of priorities. Secondly, we adopt a greed algorithm to solve the combinatorial testing problems. Furthermore, we integrate the greed strategy into a genetic algorithm to improve the efficiency. It improves the testing efficiency while securing the detection rate of defects under limited resources.


2018 ◽  
Vol 16 (2) ◽  
pp. 95-105
Author(s):  
Adtha LAWANNA

One problem found within the process of software maintenance is that the size of the selected test cases is large. This causes the ability of the whole process of software-development life cycle to drop. Particularly, it may be time consuming and cause delays, and the cost may be expensive. The selection of test cases for software maintenance depends more on the criticality of fixing bugs than the criticality of avoiding programming errors. Therefore, selection methods are proposed, such as test-all, random, and regression selection. This includes Technique for Test Case Selection (TTCS) and the improvement of Test Case Selection (TCS). These techniques can provide better results, in particular, giving smaller sizes, reduction rates, and % problem-solving than traditional techniques. However, this paper proposes a new model, which is a combination of using the process of determining an appropriate number of selected test cases regarding TTCS, and TCS with testing-based selection, named the Hybridization Technique for Test Case Selection (HTTCS). Obviously, HTTCS can reduce the size of the selected test cases by about 96.86 - 98.83 %, which is better than TTCS and TCS, by about 0.29 - 16.51 %. Additionally, using HTTCS can increase the % problem-solving by up to 99.98 %, is which higher than others about at most 0.66 %.


2014 ◽  
Vol 13 (7) ◽  
pp. 4633-4637
Author(s):  
Gurpreet Kaur ◽  
Mrs. Gaganpreet Kaur

Software testing is very important phase in any development Life Cycle. The test Case generation is critical task in any type of testing. The automation of test case generation is necessary to reduce cost and effort incurred in the testing of large software. Testing of the BPEL processes is new area of research and the automation of the test cases is necessary in order to find bugs in the processes and reduce the cost of the  testing business  processes .This paper focuses on the survey of the testing techniques used to test the BPEL processes.


2018 ◽  
Vol 5 (1) ◽  
pp. 112-118
Author(s):  
Agus Pamuji

Abstrak Uji coba perangkat lunak merupakan aktifitas yang sangat menentukan sebelum diterima oleh pengguna akhir. Pada siklus pengembangan perangkat lunak, aktiftas uji coba menghabiskan 50% biaya, usaha, dan waktu. Hal ini terutama pada teknik pengujian dengan menggunakan metode white-box yang memerlukan waktu yang lama. Dalam penelitian ini, diusulkan sebuah strategi untuk memperbaiki uji coba struktural menggunakan 4 tahap uji coba yaitu uji alur kontrol, uji alur data, uji coba berbasis slice, uji coba mutasi melalui penerapan parameter metrik uji. Adapun metrik uji antara lain perancangan jumlah kasus uji, jumlah kasus uji dieksekusi, jumlah kasus uji lolos, jumlah kasus uji gagal, waktu ekseskusi kasus uji, dan waktu yang digunakan selama proses pengembangan. Metode ini untuk mengurangi rawan kesalahan dan mempercepat proses uji coba. Hasil akhir menunjukan bahwa dengan strategi uji coba yang diterapkan dapat menurunkan tingkat dan rawan jumlah kesalahan walapun pada awalnya mengalami peningkatan pada tahap 1 dan 2. Kata Kunci: uji coba, metrik uji, strategi, struktural, white-box Abstract Software testing is a crucial activity that have the goal to determine before it are accepted by end-users. In the software development life cycle, testing activity has spent about 50% on cost, effort, and the time. This is especially on the testing techniques when the using white-box method that have takes a long time. In this study, a strategy was proposed to improve the structural testing through four phases, i.e, control flow testing, data flow testing, slice based testing, and the mutation through the implementation of testing metrics parameter. The testing metric include designing the number of test case, a number of test cases executed, a number of test cases passed, a number of test cases failed, a test case execution time, and the time spent during the development process. This method are reduced the error prone and to increas during testing process. As a result show that with the experimental strategy was applied could decrease the level and prone to the number of errors even though initially increased on the 1 and 2 phases. Keywords: testing, testing metrics, strategy, structural, white-box


Sign in / Sign up

Export Citation Format

Share Document