24 research outputs found

    Test Case Optimization and Redundancy Reduction Using GA and Neural Networks

    Get PDF
    More than 50% of software development effort is spent in testing phase in a typical software development project. Test case design as well as execution consume a lot of time. Hence, automated generation of test cases is highly required. Here a novel testing methodology is being presented to test object-oriented software based on UML state chart diagrams. In this approach, function minimization technique is being applied and generate test cases automatically from UML state chart diagrams. Software testing forms an integral part of the software development life cycle. Since the objective of testing is to ensure the conformity of an application to its specification, a test “oracle” is needed to determine whether a given test case exposes a fault or not. An automated oracle to support the activities of human testers can reduce the actual cost of the testing process and the related maintenance costs. In this paper, a new concept is being presented using an UML state chart diagram and tables for the test case generation, artificial neural network as an optimization tool for reducing the redundancy in the test case generated using the genetic algorithm. A neural network is trained by the back-propagation algorithm on a set of test cases applied to the original version of the system

    Model Prediksi Berbasis Neural Network Untuk Pengujian Perangkat Lunak Metode Black-box

    Full text link
    Dalam Penelitian ini, pendekatan yang digunakan algoritma neural network untuk memprediksi akurasi pengujian perangkat lunak metode black-box. pengujian perangkat lunak metode black-box merupakan pendekatan pengujian dimana datates berasal dari persyaratan fungsional yang ditentukan tanpa memperhatikan struktur program akhir, dan teknik yang digunakan yaitu equivalence partitioning. Teknik dari penelitian ini, sistem informasi akademik menjadi test case, test case ini kemudian dilakukan pengujian black-box, dari pengujian black-box didapat dataset, kemudian dataset ini dilakukan pengukuran tingkat akurasi dalam hal memprediksi output realitas dan output prediction, selanjutnya tahapan terkahir dilakukan perhitungan error, RMSE dari output realitas dan output prediction. Hasil dari penelitian ini didapat model tingkat akurasi prediksi, yaitu: 85%(4 hidden layer, epoch=900, learning rate=0,1) , 99%(4 hidden layer, epoch=1000, learning rate=0,1), dan 80%(5 hidden layer, epoch=1000, learning rate=0,1), dan model desain training neural network yang paling akurat adalah dengan 4 hidden layer, epoch=1000, learning rate=0,1 dengan tingkat akurasi 99%

    Building test oracles by clustering failures

    Get PDF
    In recent years, software testing research has produced notable advances in the area of automated test data generation, but the corresponding oracle problem (a mechanism for determine the (in)correctness of an executed test case) is still a major problem. In this paper, we present a preliminary study which investigates the application of anomaly detection techniques (based on clustering) to automatically build an oracle using a system’s input/output pairs, based on the hypothesis that failures will tend to group into small clusters. The fault detection capability of the approach is evaluated on two systems and the findings reveal that failing outputs do indeed tend to congregate in small clusters, suggesting that the approach is feasible and has the potential to reduce by an order of magnitude the numbers of outputs that would need to be manually examined following a test run

    An Agent-based Architecture for AI-Enhanced Automated Testing for XR Systems, a Short Paper

    Get PDF
    This short paper presents an architectural overview of an agent-based framework called iv4XR for automated testing that is currently under development by an H2020 project with the same name. The framework's intended main use case of is testing the family of Extended Reality (XR) based systems (e.g. 3D games, VR sytems, AR systems), though the approach can indeed be adapted to target other types of interactive systems. The framework is unique in that it is an agent-based system. Agents are inherently reactive, and therefore are arguably a natural match to deal with interactive systems. Moreover, it is also a natural vessel for mounting and combining different AI capabilities, e.g. reasoning, navigation, and learning

    Piping classification to metamorphic testing: an empirical study towards better effectiveness for the identification of failures in mesh simplification programs

    Get PDF
    Mesh simplification is a mainstream technique to render graphics responsively in modern graphical software. However, the graphical nature of the output poses a test oracle problem in testing. Previous work uses pattern classification to identify failures. Although such an approach may be promising, it may conservatively mark the test result of a failure-causing test case as passed. This paper proposes a methodology that pipes the test cases marked as passed by the pattern classification component to a metamorphic testing component to look for missed failures. The empirical study uses three simple and general metamorphic relations as subjects, and the experimental results show a 10 percent improvement of effectiveness in the identification of failures. © 2007 IEEE.Link_to_subscribed_fulltextThis research is supported in part by a grant of the Research Grants Council of Hong Kong (project no. 714504), a grant of City University of Hong Kong (project no. 200079), and a grant of The University of Hong Kong

    An empirical comparison between direct and indirect test result checking approaches

    Get PDF
    The SOQUA 2006 Workshop was held in conjunction with the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering (SIGSOFT 2006/FSE-14) ACM Press, New York, NY.An oracle on software testing is a mechanism for checking whether the system under test has behaved correctly for any executions. In some situations, oracles are unavailable or too expensive to apply. This is known as the oracle problem. It is crucial to develop techniques to address it, and metamorphic testing (MT) was one of such proposals. This paper conducts a controlled experiment to investigate the cost effectiveness of using MT by 38 testers on three open-source programs. The fault detection capability and time cost of MT are compared with the popular assertion checking method. Our results show that MT is cost-efficient and has potentials for detecting more faults than the assertion checking method. Copyright 2006 ACM.preprintThis research is supported in part by a grant of the Research Grants Council of Hong Kong (project no. HKU 7145/04E), a grant of City University of Hong Kong and a grant of The University of Hong Kong

    MODEL PREDIKSI BERBASIS NEURAL NETWORK UNTUK PENGUJIAN PERANGKAT LUNAK METODE BLACK-BOX

    Get PDF
    Dalam Penelitian ini, pendekatan yang digunakan algoritma neural network untuk memprediksi akurasi pengujian perangkat lunak metode black-box. pengujian perangkat lunak metode black-box merupakan pendekatan pengujian dimana datates berasal dari persyaratan fungsional yang ditentukan tanpa memperhatikan struktur program akhir, dan teknik yang digunakan yaitu equivalence partitioning. Teknik dari penelitian ini, sistem informasi akademik menjadi test case, test case ini kemudian dilakukan pengujian black-box, dari pengujian black-box didapat dataset, kemudian dataset ini dilakukan pengukuran tingkat akurasi dalam hal memprediksi output realitas dan output prediction, selanjutnya tahapan terkahir dilakukan perhitungan error, RMSE dari output realitas dan output prediction. Hasil dari penelitian ini didapat model tingkat akurasi prediksi, yaitu: 85%(4 hidden layer, epoch=900, learning rate=0,1) , 99%(4 hidden layer, epoch=1000, learning rate=0,1), dan 80%(5 hidden layer, epoch=1000, learning rate=0,1), dan model desain training neural network yang paling akurat adalah dengan 4 hidden layer, epoch=1000, learning rate=0,1 dengan tingkat akurasi 99%

    Using Machine Learning to Generate Test Oracles: A Systematic Literature Review

    Get PDF
    Machine learning may enable the automated generation of test oracles. We have characterized emerging research in this area through a systematic literature review examining oracle types, researcher goals, the ML techniques applied, how the generation process was assessed, and the open research challenges in this emerging field.Based on a sample of 22 relevant studies, we observed that ML algorithms generated test verdict, metamorphic relation, and - most commonly - expected output oracles. Almost all studies employ a supervised or semi-supervised approach, trained on labeled system executions or code metadata - including neural networks, support vector machines, adaptive boosting, and decision trees. Oracles are evaluated using the mutation score, correct classifications, accuracy, and ROC. Work-to-date show great promise, but there are significant open challenges regarding the requirements imposed on training data, the complexity of modeled functions, the ML algorithms employed - and how they are applied - the benchmarks used by researchers, and replicability of the studies. We hope that our findings will serve as a roadmap and inspiration for researchers in this field

    Using Machine Learning to Generate Test Oracles: A Systematic Literature Review

    Get PDF
    Machine learning may enable the automated generation of test oracles. We have characterized emerging research in this area through a systematic literature review examining oracle types, researcher goals, the ML techniques applied, how the generation process was assessed, and the open research challenges in this emerging field. Based on a sample of 22 relevant studies, we observed that ML algorithms generated test verdict, metamorphic relation, and - most commonly - expected output oracles. Almost all studies employ a supervised or semi-supervised approach, trained on labeled system executions or code metadata - including neural networks, support vector machines, adaptive boosting, and decision trees. Oracles are evaluated using the mutation score, correct classifications, accuracy, and ROC. Work-to-date show great promise, but there are significant open challenges regarding the requirements imposed on training data, the complexity of modeled functions, the ML algorithms employed - and how they are applied - the benchmarks used by researchers, and replicability of the studies. We hope that our findings will serve as a roadmap and inspiration for researchers in this field.Comment: Pre-print. Article accepted to 1st International Workshop on Test Oracles at ESEC/FSE 202

    Learning to Encode and Classify Test Executions

    Full text link
    The challenge of automatically determining the correctness of test executions is referred to as the test oracle problem and is one of the key remaining issues for automated testing. The goal in this paper is to solve the test oracle problem in a way that is general, scalable and accurate. To achieve this, we use supervised learning over test execution traces. We label a small fraction of the execution traces with their verdict of pass or fail. We use the labelled traces to train a neural network (NN) model to learn to distinguish runtime patterns for passing versus failing executions for a given program. Our approach for building this NN model involves the following steps, 1. Instrument the program to record execution traces as sequences of method invocations and global state, 2. Label a small fraction of the execution traces with their verdicts, 3. Designing a NN component that embeds information in execution traces to fixed length vectors, 4. Design a NN model that uses the trace information for classification, 5. Evaluate the inferred classification model on unseen execution traces from the program. We evaluate our approach using case studies from different application domains: 1. Module from Ethereum Blockchain, 2. Module from PyTorch deep learning framework, 3. Microsoft SEAL encryption library components, 4. Sed stream editor, 5. Value pointer library and 6. Nine network protocols from Linux packet identifier, L7-Filter. We found the classification models for all subject programs resulted in high precision, recall and specificity, over 95%, while only training with an average 9% of the total traces. Our experiments show that the proposed neural network model is highly effective as a test oracle and is able to learn runtime patterns to distinguish passing and failing test executions for systems and tests from different application domains
    corecore