18 research outputs found

    Erkennung von semantisch zusammenhÀngenden Quelltextabschnitten anhand von Komponententests

    Get PDF
    Die RĂŒckverfolgbarkeit von Quelltext zu Anforderungen ist ein wichtiger werdendes Problem. Eine Garantie der Implementierung aller Anforderungen kann zur Steigerung von SoftwarequalitĂ€t fĂŒhren. FĂŒr das Erstellen der RĂŒckverfolgbarkeitsinformationen ist ein VerstĂ€ndnis des Quelltextes nötig. In dieser Arbeit wurden anhand von Komponententests semantisch zusammenhĂ€ngende Methoden erkannt. Semantisch zusammenhĂ€ngende Methoden erfĂŒlen eine FunktionalitĂ€t miteinander und verbessern das VerstĂ€ndnis von Quelltext. FĂŒr die Erkennung wurde ein heuristisches Verfahren entwickelt, welches aus mehreren Teilverfahren besteht, die sowohl auf den textuellen als auch den strukturellen Bestandteilen des Komponententest- und Quelltextes arbeiten. FĂŒr die Teilverfahren wurde eine Zerteilung und Transformation von Quelltext entwickelt. Es wurden verschiedene TextĂ€hnlichkeitsalgorithmen mit einem maschinellen Lernverfahren (fastTex) verglichen. Zur Bewertung wurden drei Softwareprojekte verwendet, mit einer höchsten PrĂ€zision von 74 %, bei einer Ausbeute von 19%. Mit einer anderen Parameterkonfiguration wurde ein F1-Wert von 46 % erreicht

    Visualization of test-to-code relations to detect problems of unit tests

    Get PDF
    Visualization of test information can be a means of providing an understanding of test-code relations which, in turn, is essential for other activities in SDLC such as: maintenance, software evolution, refactoring, etc. To our best knowledge, less research have specifically addressed the visualization of test-code relation and its importance in many tasks during software development. This paper is a modest contribution to draw attention to visualization of test-code relations and in particular visualizing of test-to-code traceability links. From the outcome of our investigation it has been demonstrated that visualizing of test-related metrics has been received rather interest of researchers; while in turn, little attention has been paid to visualizing of test to code traceability links. However, several practical questions emerged which can be investigated as the next step of our research , thus further research of visualization of test-to-code traceability links area is highly needed to address these questions

    Considering Polymorphism in Change-Based Test Suite Reduction

    Full text link
    With the increasing popularity of continuous integration, algorithms for selecting the minimal test-suite to cover a given set of changes are in order. This paper reports on how polymorphism can handle false negatives in a previous algorithm which uses method-level changes in the base-code to deduce which tests need to be rerun. We compare the approach with and without polymorphism on two distinct cases ---PMD and CruiseControl--- and discovered an interesting trade-off: incorporating polymorphism results in more relevant tests to be included in the test suite (hence improves accuracy), however comes at the cost of a larger test suite (hence increases the time to run the minimal test-suite).Comment: The final publication is available at link.springer.co

    Understanding Class-level Testability Through Dynamic Analysis

    Get PDF
    It is generally acknowledged that software testing is both challenging and time-consuming. Understanding the factors that may positively or negatively affect testing effort will point to possibilities for reducing this effort. Consequently there is a significant body of research that has investigated relationships between static code properties and testability. The work reported in this paper complements this body of research by providing an empirical evaluation of the degree of association between runtime properties and class-level testability in object-oriented (OO) systems. The motivation for the use of dynamic code properties comes from the success of such metrics in providing a more complete insight into the multiple dimensions of software quality. In particular, we investigate the potential relationships between the runtime characteristics of production code, represented by Dynamic Coupling and Key Classes, and internal class-level testability. Testability of a class is consider ed here at the level of unit tests and two different measures are used to characterise those unit tests. The selected measures relate to test scope and structure: one is intended to measure the unit test size, represented by test lines of code, and the other is designed to reflect the intended design, represented by the number of test cases. In this research we found that Dynamic Coupling and Key Classes have significant correlations with class-level testability measures. We therefore suggest that these properties could be used as indicators of class-level testability. These results enhance our current knowledge and should help researchers in the area to build on previous results regarding factors believed to be related to testability and testing. Our results should also benefit practitioners in future class testability planning and maintenance activities

    TestNMT: Function-to-test neural machine translation

    Get PDF
    Test generation can have a large impact on the software engineering process by decreasing the amount of time and effort required to maintain a high level of test coverage. This increases the quality of the resultant software while decreasing the associated effort. In this paper, we present TestNMT, an experimental approach to test generation using neural machine translation. TestNMT aims to learn to translate from functions to tests, allowing a developer to generate an approximate test for a given function, which can then be adapted to produce the final desired test. We also present a preliminary quantitative and qualitative evaluation of TestNMT in both cross-project and within-project scenarios. This evaluation shows that TestNMT is potentially useful in the within-project scenario, where it achieves a maximum BLEU score of 21.2, a maximum ROUGE-L score of 38.67, and is shown to be capable of generating approximate tests that are easy to adapt to working tests

    Analysis of static and dynamic test-to-code traceability information

    Get PDF
    Unit test development has some widely accepted guidelines. Two of them concern the test and code relationship, namely isolation (unit tests should examine only a single unit) and separation (they should be placed next to this unit). These guidelines are not always kept by the developers. They can however be checked by investigating the relationship between tests and the source code, which is described by test-to-code traceability links. Still, these links perhaps cannot be inferred unambiguously from the test and production code. We developed a method that is based on the computation of traceability links for different aspects and report Structural Unit Test Smells where the traceability links for the different aspects do not match. The two aspects are the static structure of the code that reflects the intentions of the developers and testers and the dynamic coverage which reveals the actual behavior of the code during test execution. In this study, we investigated this method on real programs. We manually checked the reported Structural Unit Test Smells to find out whether they are real violations of the unit testing rules. Furthermore, the smells were analyzed to determine their root causes and possible ways of correction
    corecore