5,392 research outputs found

    Test case generation using UML behavioral & structural models

    Get PDF
    Quality software can be developed when it is properly tested. Due to increase in the size and complexity of object-oriented software, manual testing has become time, resource and cost consuming. Properly designed test cases discover more errors and bugs present in the software. The test cases can be generated much early in the software development process, during the design phase. The unified modeling language (UML) is the most widely used language to describe the analysis and designs of object-oriented software. Test cases can be derived from UML models more efficiently. In our work, we propose a novel approach for automatic test case generation from the combination of UML class and activity diagrams. In our approach, we first draw the UML class and activity diagrams using IBM Rational Software Architect (RSA). Then, export the XML metadata interchange (XMI) from IBM Rational Software Architect (RSA). The XMI file is processed to extract variables from the class and predicates from activity diagram using Java code. The predicates are then used to generate the test cases. We have not used any intermediate form which makes the automation difficult. Our approach achieves 100% branch coverage and suitable for mutation testing and unit testing. In our next work, we focus on UML composite structure diagram to generate test scenarios for integration testing. In our approach, we first draw the UML composite structure diagram using IBM Rational Software Architect (RSA). Then, export the XML metadata interchange (XMI) representation of composite structure diagram from IBM Rational Software Architect. Then, we parse the XMI code and generate the Component Structure Graph (CSG) automatically. Subsequently, we propose two algorithms to generate test scenarios for Top-Down and Bottom-Up integration approach. The generated test scenarios are sufficient enough to find the component in which probability of bug presence is maximum

    A subset of precise UML for Model-based Testing

    Get PDF
    This paper presents an original model-based testing approach that takes a UML behavioural view of the system under test and automatically generates test cases and executable test scripts according to model coverage criteria. This approach is embedded in the LEIRIOS Test Designer tool and is currently deployed in domains such as Enterprise IT and electronic transaction applications. This model-based testing approach makes it possible to automatically produce the traceability matrix from requirements to test cases as part of the test generation process. This paper defines the subset of UML used for model-based testing and illustrates it using a small example

    Automated Functional Testing based on the Navigation of Web Applications

    Full text link
    Web applications are becoming more and more complex. Testing such applications is an intricate hard and time-consuming activity. Therefore, testing is often poorly performed or skipped by practitioners. Test automation can help to avoid this situation. Hence, this paper presents a novel approach to perform automated software testing for web applications based on its navigation. On the one hand, web navigation is the process of traversing a web application using a browser. On the other hand, functional requirements are actions that an application must do. Therefore, the evaluation of the correct navigation of web applications results in the assessment of the specified functional requirements. The proposed method to perform the automation is done in four levels: test case generation, test data derivation, test case execution, and test case reporting. This method is driven by three kinds of inputs: i) UML models; ii) Selenium scripts; iii) XML files. We have implemented our approach in an open-source testing framework named Automatic Testing Platform. The validation of this work has been carried out by means of a case study, in which the target is a real invoice management system developed using a model-driven approach.Comment: In Proceedings WWV 2011, arXiv:1108.208

    Modeling functional requirements using tacit knowledge: a design science research methodology informed approach

    Get PDF
    The research in this paper adds to the discussion linked to the challenge of capturing and modeling tacit knowledge throughout software development projects. The issue emerged when modeling functional requirements during a project for a client. However, using the design science research methodology at a particular point in the project helped to create an artifact, a functional requirements modeling technique, that resolved the issue with tacit knowledge. Accordingly, this paper includes research based upon the stages of the design science research methodology to design and test the artifact in an observable situation, empirically grounding the research undertaken. An integral component of the design science research methodology, the knowledge base, assimilated structuration and semiotic theories so that other researchers can test the validity of the artifact created. First, structuration theory helped to identify how tacit knowledge is communicated and can be understood when modeling functional requirements for new software. Second, structuration theory prescribed the application of semiotics which facilitated the development of the artifact. Additionally, following the stages of the design science research methodology and associated tasks allows the research to be reproduced in other software development contexts. As a positive outcome, using the functional requirements modeling technique created, specifically for obtaining tacit knowledge on the software development project, indicates that using such knowledge increases the likelihood of deploying software successfully

    An Exploratory Study of Forces and Frictions affecting Large-Scale Model-Driven Development

    Full text link
    In this paper, we investigate model-driven engineering, reporting on an exploratory case-study conducted at a large automotive company. The study consisted of interviews with 20 engineers and managers working in different roles. We found that, in the context of a large organization, contextual forces dominate the cognitive issues of using model-driven technology. The four forces we identified that are likely independent of the particular abstractions chosen as the basis of software development are the need for diffing in software product lines, the needs for problem-specific languages and types, the need for live modeling in exploratory activities, and the need for point-to-point traceability between artifacts. We also identified triggers of accidental complexity, which we refer to as points of friction introduced by languages and tools. Examples of the friction points identified are insufficient support for model diffing, point-to-point traceability, and model changes at runtime.Comment: To appear in proceedings of MODELS 2012, LNCS Springe

    Implementation of XpertMalTyph: An Expert System for Medical Diagnosis of the Complications of Malaria and Typhoid

    Get PDF
    The dearth of medical experts in the developing world has subjected a large percentage of its populace to preventable ailments and deaths. Also, because of the predominant rural communities, the few medical experts that are available always opt for practice in the few urban cities. This consequently puts the rural communities at a disadvantage with respect to access to quality health care services. In this work, we designed and implemented XpertMalTyph; a novel medical diagnostic expert system for the various kinds of malaria and typhoid complications. A medical diagnostic expert system uses computer(s) to simulate medical doctor skills in diagnosis of ailments and prescription of treatments, hence can be used to provide the same service in the absence of the experts. XpertMalTyph is based on JESS (Java Expert System Shell) programming because of its robust inference engine and rules for implementing expert system

    Selection of UML Models for Test Case Generation: A Discussion on Techniques to Generate Test Cases

    Get PDF
    Software development life cycle (SDLC) depicts the distinct phases a software needs to go through, starting off with the requirement engineering phase through the testing phase. Requirement engineering and testing hold a very important place in the development of the software. Testing plays such a crucial part in SDLC that more than development some projects spend more time on testing. This helps in finding bugs and ensure that a quality product is shipped. Test case generation is the toughest step in the testing process. It involves a lot of effort to find errors in the code. To eliminate the tedious process of finding errors in the code and improve the efficiency of the software, an innovative approach called Model-Based Testing (MBT) has been evolved. In the MBT approach, testing begins at the design phase and is thus helpful in identifying the faults early. Unified Modeling Language (UML) has been used to generate test cases using MBT. There has been a lot of research and proposals made for MBT using different UML diagrams. But the problem with these approaches is that a single UML diagram like activity diagram or sequence diagram is not enough to generate test cases in all the scenarios. There might be situation where multiple models might be used to generate test case. This paper discusses about different existing MBT methodologies used for testing and discusses the guidelines for choosing an efficient UML diagram to generate test cases. It also discusses about the way of improving the models by using multiple UML models or by extending the models. Keywords: Software testing, Model-Based Testing (MBT), Unified Modeling Language (UML)

    A test case generation framework based on UML statechart diagram

    Get PDF
    Early software fault detection offers more flexibility to correct errors in the early development stages. Unfortunately, existing studies in this domain are not sufficiently comprehensive in describing the major processes of the automated test case generation. Furthermore, the algorithms used for test case generation are not provided or well described. Current studies also hardly address loops and parallel paths issues, and achieved low coverage criteria. Therefore, this study proposes a test case generation framework that generates minimized and prioritized test cases from UML statechart diagram with higher coverage criteria. This study, conducted a review of the previous research to identify the issues and gaps related to test case generation, model-based testing, and coverage criteria. The proposed framework was designed from the gathered information based on the reviews and consists of eight components that represent a comprehensive test case generation processes. They are relation table, relation graph, consistency checking, test path minimization, test path prioritization, path pruning, test path generation, and test case generation. In addition, a prototype to implement the framework was developed. The evaluation of the framework was conducted in three phases: prototyping, comparison with previous studies, and expert review. The results reveal that the most suitable coverage criteria for UML statechart diagram are all-states coverage, all-transitions coverage, alltransition-pairs coverage, and all-loop-free-paths coverage. Furthermore, this study achieves higher coverage criteria in all coverage criteria, except for all-state coverage, when compared with the previous studies. The results of the experts’ review show that the framework is practical, easy to implement due to it is suitability to generate the test cases. The proposed algorithms provide correct results, and the prototype is able to generate test case effectively. Generally, the proposed system is well accepted by experts owing to its usefulness, usability, and accuracy. This study contributes to both theory and practice by providing an early alternative test case generation framework that achieves high coverage and can effectively generate test cases from UML statechart diagrams. This research adds new knowledge to the software testing field, especially for testing processes in the model-based techniques, testing activity, and testing tool support
    corecore