9 research outputs found

    Test Case Prioritization Using Swarm Intelligence Algorithm to Improve Fault Detection and Time for Web Application

    Get PDF
    Prioritizing test cases based on several parameters where important ones are executed first is known as test case prioritization (TCP). Code coverage, functionality, and features are all possible factors of TCP for detecting bugs in software as early as possible. This research was carried out to test and compare the effectiveness Swarm Intelligence algorithms, where Artificial Bee Colony (ABC) and Ant Colony Optimization (ACO) algorithms were implemented to find the fault detected and execution time as these are the curial aspects in software testing to ensure good quality products are produced within the timeline. As web applications are commonly used by a board population, this research was carried out on an Online Shopping application represented as Case Study One and Education Administrative application known as Case Study Two. In recent years, TCP has been implemented widely, but none has implemented on web application which was conducted to fill the gaps and produce a new contribution in this area. The outcome was compared using Average Percentage Fault Detected (APFD) and execution time. For Case Study One, the APFD value was 0.80 and 0.71 while the execution time was 8.64 seconds and 0.69 seconds respectively for ABC and ACO. For Case Study Two, the APFD values were 0.81 and 0.64 while the execution time was 8.83 seconds and 1.22 seconds for ABC and ACO. It was seen that both algorithms performed well in their respective ways. ABC had shown to give a higher value for APFD while ACO had converged faster for execution time

    Comparative Analysis for Test Case Prioritization Using Particle Swarm Optimization and Firefly Algorithm

    Get PDF
    Software testing is the most importance phases for software development life cycle. However, it is always time consuming and costly. In order to solve this problem, regression testing is required to be conducted since it can verify the software modifications with zero effect to the software actual features. TCP is one type of the regression testing techniques. It can reduce the cost and time taken. In the area of TCP, there are several algorithms and the most powerful algorithms is the nature inspired algorithms. This study will focus on the comparison analysis of prioritization of test case by using PSO and FA. In order to choose an algorithm with better performance between PSO and FA, they are turned into the form of Python code. Then, PSO and FA are implemented into Case Study A and Case Study B. Their result will be compared and analysis based on the execution time, Big-O, and APFD. The comparison showed that FA is outperform than PSO since FA has the least execution time (0.001 second), less complexity (O(N)) than PSO (O(N3)), and same APFD values (0.520 and 0.600). Thus, FA has better prioritization performance compared to PSO

    SOFTWARE UNDER TEST DALAM PENELITIAN SOFTWARE TESTING: SEBUAH REVIEW

    Get PDF
    Software under Test (SUT) is an essential aspect of software testing research activities. Preparation of the SUT is not simple. It requires accuracy, completeness and will affect the quality of the research conducted. Currently, there are several ways to utilize an SUT in software testing research: building an own SUT, utilization of open source to build an SUT, and SUT from the repository utilization. This article discusses the results of SUT identification in many software testing studies. The research is conducted in a systematic literature review (SLR) using the Kitchenham protocol. The review process is carried out on 86 articles published in 2017-2020. The article was selected after two selection stages: the Inclusion and Exclusion Criteria and the quality assessment. The study results show that the trend of using open source is very dominant. Some researchers use open source as the basis for developing SUT, while others use SUT from a repository that provides ready-to-use SUT. In this context, utilization of the SUT from the software infrastructure repository (SIR) and Defect4J are the most significant choice of researchers

    The effectiveness of different test case prioritization techniques in continuous integration

    Get PDF
    Abstract. Regression testing is often performed in software development to increase the quality of the software. Especially continuous integration (CI) environments face challenges related to the efficiency of the regression testing feedback loop. It is important to get feedback about the changes made as soon as possible so that work can be started on fixing the potential issues caused by the changes. Regression testing is optimized by prioritizing test cases into an order that increases the early fault detection rate. However, different test case prioritization (TCP) approaches and techniques set different requirements, such as access to source code, for the environment. As the CI environments set high time and resource constraints for the TCP, not all techniques are applicable and some care should be put into selecting a suitable TCP technique. This thesis consists of a literature review that aims to consider CI environments’s special requirements, map out the most common TCP techniques as well as evaluate their applicability to these CI environments. Based on the benefits and drawbacks noted for the approaches, it seems likely that history-based TCP approaches could be the best fit for these resource intensive CI environments.TiivistelmĂ€. Regressiotestausta kĂ€ytetÀÀn ohjelmistokehityksessĂ€ ohjelmiston laadun parantamiseen. Regressiotestauksen palautesilmukan (engl. feedback loop) tehokkuus tuottaa haasteita varsinkin jatkuvan integraation kehitysympĂ€ristöissĂ€. On tĂ€rkeÀÀ, ettĂ€ kehittĂ€jĂ€t saavat palautetta tekemiensĂ€ muutosten mahdollisista epĂ€toivotuista vaikutuksista, jotta tarvittavat korjaustyöt voidaan aloittaa mahdollisimman pikaisesti. Regressiotestausta voidaan optimoida laittamalla testitapaukset sellaiseen tĂ€rkeysjĂ€rjestykseen, joka kasvattaa aikaista virheiden havaitsemistahtia (engl. early fault detection rate). Eri priorisointitekniikat asettavat kuitenkin erilaisia vaatimuksia suoritusympĂ€ristölle. Esimerkiksi jotkin tekniikat tarvitsevat nĂ€kyvyyden lĂ€hdekoodiin. Testitapausten priorisointitekniikan valinta kannattaa tehdĂ€ huolella jatkuvan integraation kehitysympĂ€ristöissĂ€, sillĂ€ kyseisillĂ€ ympĂ€ristöillĂ€ on korkeita aika- ja resurssienkĂ€yttövaatimuksia. TĂ€mĂ€ tutkielma koostuu kirjallisuuskatsauksesta, jonka tarkoituksena on tarkastella jatkuvan integraation kehitysympĂ€ristöjen erikoisvaatimuksia, kartoittaa yleisimmĂ€t testitapausten priorisointitekniikat sekĂ€ arvioida nĂ€iden tekniikoiden soveltuvuutta jatkuvan integraation kehitysympĂ€ristöihin. Tunnistettujen testitapausten priorisoinnin lĂ€hestymistapojen etujen ja haittojen perusteella vaikuttaisi todennĂ€köiseltĂ€, ettĂ€ historiapohjaiset lĂ€hestymistavat voisivat soveltua parhaiten jatkuvan integraation resurssi-intensiivisiin kehitysympĂ€ristöihin

    A review paper: optimal test cases for regression testing using artificial intelligent techniques

    Get PDF
    The goal of the testing process is to find errors and defects in the software being developed so that they can be fixed and corrected before they are delivered to the customer. Regression testing is an essential quality testing technique during the maintenance phase of the program as it is performed to ensure the integrity of the program after modifications have been made. With the development of the software, the test suite becomes too large to be fully implemented within the given test cost in terms of budget and time. Therefore, the cost of regression testing using different techniques should be reduced, here we dealt many methods such as retest all technique, regression test selection technique (RTS) and test case prioritization technique (TCP). The efficiency of these techniques is evaluated through the use of many metrics such as average percentage of fault detected (APFD), average percentage block coverage (APBC) and average percentage decision coverage (APDC). In this paper we dealt with these different techniques used in test case selection and test case prioritization and the metrics used to evaluate their efficiency by using different techniques of artificial intelligent and describe the best of all

    Weighted string distance approach based on modified clustering technique for optimizing test case prioritization

    Get PDF
    Numerous test case prioritization (TCP) approaches have been introduced to enhance the test viability in software testing activity with the goal to maximize early average percentage fault detection (APFD). String based approach had shown that applying a single string distance-based metric to differentiate the test cases can improve the APFD and coverage rate (CR) results. However, to precisely differentiate the test cases in regression testing, the string approach still requires an enhancement as it lacks priority criteria. Therefore, a study on how to effectively cluster and prioritize test cases through string-based approach is conducted. To counter the string distances problem, weighted string distances is introduced. A further enhancement was made by tuning the weighted string metric with K-Means clustering and prioritization using Firefly Algorithm (FA) technique for the TCP approach to become more flexible in manipulating available information. Then, the combination of the weighted string distances along with clustering and prioritization is executed under the designed process for a new weighted string distances-based approach for complete evaluation. The experimental results show that all the weighted string distances obtained better results compared to its single string metric with average APFD values 95.73% and CR values 61.80% in cstcas Siemen dataset. As for the proposed weighted string distances approach with clustering techniques for regression testing, the combination obtained better results and flexibility than the conventional string approach. In addition, the proposed approach also passed statistical assessment by obtaining p-value higher than 0.05 in Shapiro-Wilk’s normality test and p-value lower than 0.05 in Tukey Kramer Post Hoc tests. In conclusion, the proposed weighted string distances approach improves the overall score of APFD and CE and provides flexibility in the TCP approach for regression testing environment

    Regression testing framework for test cases generation and prioritization

    Get PDF
    A regression test is a significant part of software testing. It is used to find the maximum number of faults in software applications. Test Case Prioritization (TCP) is an approach to prioritize and schedule test cases. It is used to detect faults in the earlier stage of testing environment. Code coverage is one of the features of a Regression Test (RT) that detects more number of faults from a software application. However, code coverage and fault detection are reducing the performance of existing test case prioritization by consuming a lot of time for scanning an entire code. The process of generating test cases plays an important role in the prioritization of test cases. The existing automated generation and prioritization techniques produces insufficient test cases that cause less fault detection rate or consumes more computation time to detect more faults. Unified Modelling Language (UML) based test case generation techniques can extract test cases from UML diagrams by covering maximum part of a module of an application. Therefore, a UML based test case generation can support a test case prioritization technique to find a greater number of faults with shorter execution time. A multi-objective optimization technique able to handle multiple objectives that supports RT to generate more number of test cases as well as increase fault detection rate and produce a better result. The aim of this research is to develop a framework to detect maximum number of faults with less execution time for improving the RT. The performance of the RT can be improved by an efficient test case generation and prioritization method based on a multi-objective optimization technique by handling both test cases and rate of fault detection. This framework consists of two important models: Test Case Generation (TCG) and TCP. The TCG model requires an UML use case diagram to extract test cases. A meta heuristic approach is employed that uses tokens for generating test cases. And, TCP receives the extracted test cases with faults as input to produce the prioritized set of test cases. The proposed research has modified the existing Hill Climbing based TCP by altering its test case swapping feature and detect faults in a reasonable execution time. The proposed framework intends to improve the performance of regression testing by generating and prioritizing test cases in order to find a greater number of faults in an application. Two case studies are conducted in the research in order to gather Test Case (TC) and faults for multiple modules. The proposed framework yielded a 92.2% of Average Percentage Fault Detection with less amount of testing time comparing to the other artificial intelligence-based TCP. The findings were proved that the proposed framework produced a sufficient amount of TC and found the maximum number of faults in less amount of time

    Test case prioritization using firefly algorithm for software testing

    No full text
    Software testing is a vital and complex part of the software development life cycle. Optimization of software testing is still a major challenge, as prioritization of test cases remains unsatisfactory in terms of Average Percentage of Faults Detected (APFD) and time execution performance. This is attributed to a large search space to find an optimal ordering of test cases. In this paper, we have proposed an approach to prioritize test cases optimally using Firefly Algorithm. To optimize the ordering of test cases, we applied Firefly Algorithm with fitness function defined using a similarity distance model. Experiments were carried on three benchmark programs with test suites extracted from Software-artifact Infrastructure Repository (SIR). Our Test Case Prioritization (TCP) technique using Firefly Algorithm with similarity distance model demonstrated better if not equal in terms of APFD and time execution performance compared to existing works. Overall APFD results indicate that Firefly Algorithm is a promising competitor in TCP applications

    Test Case Prioritization Using Firefly Algorithm for Software Testing

    No full text
    corecore