Use cases are believed to be a good basis for system testing. Yet, to automate the test generation process, there is a large gap to bridge between high-level use cases and concrete test cases. We propose a new approach for automating the generation of system test scenarios in the context of object-oriented embedded software, taking into account traceability problems between highlevel views and concrete test case execution. Starting from a formalization of the requirements based on use cases extended with contracts, we automatically build a transition system from which we synthesize test cases. Our objective is to cover the system in terms of statement coverage with those generated tests: An empirical evaluation of our approach is given based on this objective and several case studies. We briefly discuss the experimental deployment of our approach in the field at Thalè s Airborne Systems.
Applying Model-Driven Engineering (MDE) leads to the creation of a large number of metamodels, since MDE recommends an intensive use of models defined by metamodels. Metamodels with similar objectives are then inescapably created. A recurrent issue is thus to turn compatible models conforming to similar metamodels, for example to use them in the same tool. The issue is classically solved developing ad hoc model transformations. In this paper, we propose an approach that automatically detects mappings between two metamodels and uses them to generate an alignment between those metamodels. This alignment needs to be manually checked and can then be used to generate a model transformation. Our approach is built on the Similarity Flooding algorithm used in the fields of schema matching and ontology alignment. Experimental results comparing the effectiveness of the application of various implementations of this approach on real-world metamodels are given.
Abstract. Functional requirements are often written using use cases formatted by textual templates. This textual approach has the advantage to be easy to adopt, but the requirements can then hardly be processed for further purposes like test generation. In this paper, we propose to generate automatically through a model transformation an activity diagram modeling the use case scenario. Such an activity diagram allows us to guess in a glimpse the global behavior of a use case, and can easily be processed. The transformation is defined using the QVT-Relational language, and is illustrated on a case study using a supporting tool.
Product line processes still lack support for testing end-product functions by taking advantage of the specific features of a product line (commonality and variabilities). Indeed, classical testing approaches cannot be directly applied on each product since, due to the potentially huge number of products, the testing task would be far too long and expensive. There is thus a need for testing methods, adapted to the product line context, that allow reducing the testing cost. The approach we present is based on the automation of the generation of application system tests, for any chosen product, from the system requirements of a product line. These PL requirements are modeled using enhanced UML use cases which are the basis for the test generation. Product-specific test objectives, test scenarios, and test cases are successively tional variation points at requirement level to automatically generate the behaviors specific to any chosen product. With such a strategy, the designer may apply any method to produce the domain models of the product line and then instantiate a given product: the test cases check that the expected functionalities have been correctly implemented. The approach is adaptive and provides automated test generation for a new product as well as guided test generation support to validate the evolution of a given product.features. We here focus on system and functional testing. One of the specific issues related to PL testing concerns the way a testing technique deals with the creation of new dom used for driving the functional testing task. However, the end product is expected to assets to obtain a product, and system testing ensures that the end product has the required requirements is known as crucial task for the elaborated design, product requirements are sel-ods being one among them [2,14,19,20,22,23,26]. While the elicitation of product line products and the evolution of existing products. In this chapter, we present the automation as a relevant way for dealing with these issues.Testing a PL is all the more tedious since the common and the shared variant requirements have to be tested for each instantiated product. Indeed, the same piece of functional test code, derived from a requirement, cannot be reused exactly: for instance, in an objectoriented product line, the objects addressed to realize a given functionality may be different from one product to another, due to the crossing of different variation points. For example, the initialization sequence leading to the testing of a particular point may be totally specific test cases may have to be written for each specific product. As a result, manually writing the tests cases for all the products is not conceivable, since it is far too expensive. Automating the test generation appears as a possible way to deal with these cost and timeto-market issues.Many approaches already exist to automatically generate tests from the requirements of variability expressed in product line requirements. To benefit from the product line appautomatically the test ...
Softwares are designed to be used a significant amount of time, therefore maintenance represents an important part of their life cycle. It has been estimated that a lot of the time allocated to software maintenance is spent on the program comprehension. Many approaches using the program structure or external documentation have been created to ease the program comprehension. However, another important source of information is still not widely used for this purpose: the identifiers. In this article, we propose an approach, based on Natural Language Processing techniques, that automatically extracts and organizes concepts from software identifiers in a WordNet-like structure: lexical views. Those lexical views give useful insight on an overall software architecture and can be used to improve results of many software engineering tasks. The proposal is validated on a corpus of 24 open source softwares.
Design patterns and architecture patterns have been considerably promoted by software engineering. The software oriented tools and methods have been adapted for Systems Engineering, conforming to the model driven engineering paradigm proposed by the Object Management Group. However, designers of complex socio-technical systems have specific concerns, which differ from those of software designers. We propose a method of pattern implementation for Systems Engineering, based on a functional approach and relying on formal conceptual foundations in the form of a meta-model, which can be used for the management, application, and cataloguing of patterns specific to the field of Systems Engineering. A pattern instance in the field of control systems is proposed as an example application.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.