TESTING ASPECT-ORIENTED PROGRAMS WITH UML DESIGN MODELS

Author(s):  
DIANXIANG XU ◽  
WEIFENG XU ◽  
W. ERIC WONG

The new constructs in aspect-oriented programming bring new types of programming faults with respect to crosscutting concerns, such as incorrect pointcuts and advice. This paper presents a UML-based approach to testing whether or not an aspect-oriented program conforms to its expected crosscutting behavior. We explore aspect-oriented UML design models to derive tests for exercising interactions between aspects and classes. Each aspect-oriented model consists of class diagrams, aspect diagrams, and sequence diagrams. For a method under test, we weave the sequence diagrams of the advice on the method into the method's sequence diagram. Based on the woven sequence diagram and class/aspect diagrams, we then generate an AOF (Aspect-Object Flow) tree by applying coverage criteria such as condition coverage, polymorphic coverage, and loop coverage to woven sequence diagrams. In the AOF tree, each path from the root to a leaf is an abstract message sequence, indicating a template of test cases. A concrete test case is obtained by creating objects that satisfy the collective constraints in the template. Our empirical study shows that the model-based testing approach is capable of revealing several types of aspect-specific faults, including incorrect advice type, incorrect (weaker or stronger) pointcut strengths, and incorrect aspect precedence.

2014 ◽  
Vol 13 (7) ◽  
pp. 4671-4674 ◽  
Author(s):  
Gurpreet Singh ◽  
Rasbir Singh

Software Testing plays an important role in Software development because it can minimize the development cost. UML is widely used in the software development, there consists of the designing and coding of the software. Designing phase is done with the help of the UML models, which consists of the sequence diagrams, activity diagrams, use case diagrams, state chart diagrams etc. After designing of the system, the next task is coding. Since the software development is time and human resource consuming, the reduction of consumption is done with the help of the code generation automatically. This work mainly focus on the UML sequence diagram and state chart diagram as the model. We Propose a Technique for Test Case Generation using UML Models. UML models give a lot of  information that should not be ignored in testing. An innovative approach of generating test cases from the combination of UML design diagrams has been discussed in this paper. Present work used an approach where sequence diagram and state chart diagram has been used to generate test cases. The test cases thus generated are suitable for dynamic testing of system.


2021 ◽  
Author(s):  
Moez Krichen ◽  
Seifeddine Mechti

<div>We propose a new model-based testing approach which takes as input a set of requirements described in Arabic Controlled Natural Language (CNL) which is a subset of the Arabic language generated by a specific grammar. The semantics of the considered requirements is defined using the Case Grammar Theory (CTG). The requirements are translated into Transition Relations which serve as an input for test cases generation tools.</div>


2021 ◽  
Author(s):  
Moez Krichen ◽  
Seifeddine Mechti

<div>We propose a new model-based testing approach which takes as input a set of requirements described in Arabic Controlled Natural Language (CNL) which is a subset of the Arabic language generated by a specific grammar. The semantics of the considered requirements is defined using the Case Grammar Theory (CTG). The requirements are translated into Transition Relations which serve as an input for test cases generation tools.</div>


2018 ◽  
Vol 2018 ◽  
pp. 1-14
Author(s):  
Paulo Diego Barbosa da Silva ◽  
Ana Maria Ambrosio ◽  
Emilia Villani

Operational simulators have a fundamental role in space programs. During a satellite operation, these simulators are essential for validating critical manoeuvres, testing new on-board software versions, and supporting the diagnosis of anomalies. With the purpose of reusing the operational simulators, the Brazilian National Institute for Space Research has proposed a new standard for the specification of the components that must be integrated in their in-house developed simulators. The new standard describes the behaviour of satellite subsystems using cause-effect tables that relate telecommands, electrical switches, equipment working states, energy consumption, telemetries, and operating modes of the subsystem. Using this new standard as input, this work proposes an approach that merges model-based testing and model checking to verify the correct implementation of new components in the satellite simulator. The verification approach consists of extracting state machines from the cause-effect tables and used it to automatically derive a test case suite. In order to validate the proposal, we applied it to three different satellite subsystems and assessed the results obtained from the test campaigns. In all the three cases, the proposed approach identified errors in the simulator components that were not initially detected by the traditional testing approach used at the Brazilian National Institute for Space Research.


2015 ◽  
Vol 22 (2) ◽  
pp. 316
Author(s):  
Maximiliano Cristiá ◽  
Joaquín Cuenca ◽  
Claudia Frydman

Model-based testing (MBT) studies how test cases are generated from a model of the system under test (SUT). Many MBT methods rely on building an automaton from the model and then they generate test cases by covering the automaton with different path coverage criteria. However, if a model of the SUT is a logical formula over some complex mathematical theories (such as set theory) it may be more natural or intuitive to apply coverage criteria directly over the formula. On the other hand, domain partition, i.e. the partition of the input domain of model operations, is one of the main techniques in MBT. Partitioning is conducted by applying different rules or heuristics. Engineers may find it difficult to decide what, where and how these rules should be applied. In this paper we propose a set of coverage criteria based on domain partition for set-based specifications. We call them testing strategies. Testing strategies play a similar role to path- or data-based coverage criteria in structural testing. Furthermore, we show a partial order of testing strategies as is done in structural testing. We also describe an implementation of testing strategies for the Test Template Framework, which is a MBT method for the Z notation; and a scripting language that allows users to implement testing strategies.


Software testing play crucial role in the software development as it consumes lot of time and resources. However testing process needs to be more efficiently done because overall software quality relies upon good testing approach. The present research focus on generation of test cases from UML diagrams. The combination graph is made by using activity and sequence diagrams. These diagrams proves to be more efficient as activity diagram gives the dynamic behavior of the model and sequence diagram is used to understand detailed functionality of the system. In this paper, a combined approach using Breadth first and depth first search is proposed which will generate expected test cases. The comparative study is done for test case generation using BFS and DFS algorithm and the result proves that the DFS traversal algorithm provides more accurate result for path coverage.


Author(s):  
ZHONGSHENG QIAN

The specification-based testing can be employed to evaluate software functionalities without knowing program code. Decisions are the primary form of the pre- and post-conditions in formal specifications. This work expatiates on logic coverage criteria for specification-based testing at great length. It proposes and then expounds mask logic coverage criteria to solve the problems which existing determinant logic coverage criteria cannot solve. A feasible test case generation algorithm based on mask logic coverage criteria is developed. The test cases satisfying mask logic coverage criteria can detect those errors caused by the mask property of conditions. An experiment is conducted to compare MC/DC, RC/DC and two mask logic coverage criteria (RMCC and GMCC) on their test effectiveness and fault detection ability. It also elaborates on the constraint among conditions, how to decompose and compose a complicated decision, and the relationship among decisions. All these can respectively clarify the coupling problem among conditions, the multiple occurrences of a condition in a decision, and the location of a decision in a specification or program. Additionally, coverage criteria including full true decision coverage, full false decision coverage, all sub-decisions coverage, unique condition true coverage and unique condition false coverage are proposed. The test sets satisfying these criteria can detect respectively different types of errors. Finally, the hierarchical subsumption relation is established among these presented coverage criteria and some existing ones, and various applicable scenarios for different coverage criteria are suggested.


2020 ◽  
Vol 9 (1) ◽  
pp. 1266-1278

Software testing is an inevitable phase in the Software Development Life Cycle (SDLC). It plays a vital role in ensuring the quality of the product. Testing can be performed on requirement, design and code. Traditional test case generation approaches majorly focuses on designing and implementation models, as a huge percentage of errors in the software are caused due to the lack of understanding in the early phases. So, it’s advisory to follow testing in the initial phase in SDLC as most of the errors/faults can be eliminated and can be prevented without disseminating to the next phase. So, testing must not be secluded to a single phase alone in SDLC. In software testing, test case generation is the fundamental and challenging part. The major purpose to design test case is to create set of tests that are valuable in validation. Due to the increase in software size, it’s not quite advisable to have the choice as manual testing to test the code as its error prone, complex and time consuming. Automation of testing would help the tester to test effectively and timely. Applications of new techniques improve the test process and cut down the tester’s effort. The proposed work presents a sandwich of black box and white box testing. Design-based testing, a black box approach is implemented, that aids in fixing the errors at initial phase. Unified Modeling Language (UML) Use case diagram, Activity diagram and Sequence Diagram are considered for designing. The code-based generation of test cases, is a white box testing approach, test coverage criteria Modified Condition/Decision Condition (MC/DC) has been used to ensure the maximum coverage of the code during testing phase for generating the test cases. The objective of this paper is to automate the generation of minimal number of test cases required to test a system with maximum coverage by removing the redundant test cases using MC/DC criterion. This present an idea to the beginners of the testing about minimal test cases they necessitate for testing their system.


Sign in / Sign up

Export Citation Format

Share Document