Engineering Model-Based Software Testing of WIMP Interactive Applications

2021 ◽  
Vol 5 (EICS) ◽  
pp. 1-30
Author(s):  
Alexandre Canny ◽  
Célia Martinie ◽  
David Navarre ◽  
Philippe Palanque ◽  
Eric Barboni ◽  
...  

The goal of software testing is to detect defects with the objective of removing them at a later stage in the development process. Interactive software development follows the User Centered Design approach that promotes continuous involvement of users both at design and evaluation phases. This process is meant to produce usable interactive software by gathering functional and non-functional requirements related to both user needs and context of use. However, taking into account these potentially very-complex-to-implement requirements increases the complexity of the software that is likely, without appropriate methods and tools, to encompass a large number of defects. One of the limitations of UCD approaches is that it provides no guidance on the engineering of the interactive application, which thus usually embeds numerous defects resulting in failures at the origin of user frustrations and performance drops. Even though a classification of interactive application defects has been proposed, interactive application testers remain only superficially supported in detecting them. This paper defines a model-based approach to engineer the testing activity for interactive applications. It proposes a process that bridges the gap between UCD artefacts and interactive software implementation by the production of a dedicated formal model exploited for testing purposes only. The application of the process is demonstrated on an interactive cockpit WIMP application. Finally, threats to validity (capability of the approach to detect defects and to ensure an acceptable coverage testing of the interactive application) are addressed by a longitudinal study on 61 variants of a simple application developed by 61 different developers. ?

Author(s):  
Davis Navarre ◽  
Philippe Palanque ◽  
Sven Coppers ◽  
Kris Luyten ◽  
Davy Vanacken

Abstract Feedback and feedforward are two fundamental mechanisms that support users’ activities while interacting with computing devices. While feedback can be easily solved by providing information to the users following the triggering of an action, feedforward is much more complex as it must provide information before an action is performed. For interactive applications where making a mistake has more impact than just reduced user comfort, correct feedforward is an essential step toward correctly informed, and thus safe, usage. Our approach, Fortunettes, is a generic mechanism providing a systematic way of designing feedforward addressing both action and presentation problems. Including a feedforward mechanism significantly increases the complexity of the interactive application hardening developers’ tasks to detect and correct defects. We build upon an existing formal notation based on Petri Nets for describing the behavior of interactive applications and present an approach that allows for adding correct and consistent feedforward.


2016 ◽  
Author(s):  
Victor V. Ribeiro ◽  
Guilherme H. Travassos

Software testing aims to reveal failures due to the lack of conformity (defects) among functional and non-functional requirements and the implemented system. Thus, defects can be identified and fixed, improving software quality. However, despite several works emphasizing the importance of non-functional requirements (NFRs), there is an insufficient amount of software testing approaches dealing with them. The lack of NFR evaluation may be the cause of low-quality software that does not meet users need, influencing software project success. Goal: To organize a body of knowledge regarding NFRs and software testing approaches available in the technical literature and reveal the gaps between testable NFRs and software testing approaches. Method: To perform structured literature reviews to identify NFRs and software testing approaches dealing with testable NFRs. To combine both results, reveal research opportunities and organize a body of knowledge regarding NFRs and software testing approaches. Results: From 224 identified NFRs, 87 were described, and 47 software testing approaches observed. Only eight approaches are empirically evaluated. No testing approaches were identified for 11 testable NFRs. Furthermore, regarding the testing process, we did not observe any testing approach covering the test planning phase. Conclusion: Despite their importance, many testable NFRs seem not be tested due to the lack of appropriate software testing approaches yet. Also, the existing testing approaches do not cover all testing processes activities and, in general, lack empirical evidence about their feasibility and performance, making their use in software projects risky.


Author(s):  
Jonathan Jacky ◽  
Margus Veanes ◽  
Colin Campbell ◽  
Wolfram Schulte
Keyword(s):  

2021 ◽  
Vol 13 (7) ◽  
pp. 168781402110343
Author(s):  
Mei Yang ◽  
Yimin Xia ◽  
Lianhui Jia ◽  
Dujuan Wang ◽  
Zhiyong Ji

Modular design, Axiomatic design (AD) and Theory of inventive problem solving (TRIZ) have been increasingly popularized in concept design of modern mechanical product. Each method has their own advantages and drawbacks. The benefit of modular design is reducing the product design period, and AD has the capability of problem analysis, while TRIZ’s expertise is innovative idea generation. According to the complementarity of these three approaches, an innovative and systematic methodology is proposed to design big complex mechanical system. Firstly, the module partition is executed based on scenario decomposition. Then, the behavior attributes of modules are listed to find the design contradiction, including motion form, spatial constraints, and performance requirements. TRIZ tools are employed to deal with the contradictions between behavior attributes. The decomposition and mapping of functional requirements and design parameters are carried out to construct the structural hierarchy of each module. Then, modules are integrated considering the connections between each other. Finally, the operation steps in application scenario are designed in temporal and spatial dimensions. Design of cutter changing robot for shield tunneling machine is taken as an example to validate the feasibility and effectiveness of the proposed method.


2021 ◽  
Vol 10 (1) ◽  
pp. 20
Author(s):  
Walter Tiberti ◽  
Dajana Cassioli ◽  
Antinisca Di Marco ◽  
Luigi Pomante ◽  
Marco Santic

Advances in technology call for a parallel evolution in the software. New techniques are needed to support this dynamism, to track and guide its evolution process. This applies especially in the field of embedded systems, and certainly in Wireless Sensor Networks (WSNs), where hardware platforms and software environments change very quickly. Commonly, operating systems play a key role in the development process of any application. The most used operating system in WSNs is TinyOS, currently at its TinyOS 2.1.2 version. The evolution from TinyOS 1.x and TinyOS 2.x made the applications developed on TinyOS 1.x obsolete. In other words, these applications are not compatible out-of-the-box with TinyOS 2.x and require a porting action. In this paper, we discuss on the porting of embedded system (i.e., Wireless Sensor Networks) applications in response to operating systems’ evolution. In particular, using a model-based approach, we report the porting we did of Agilla, a Mobile-Agent Middleware (MAMW) for WSNs, on TinyOS 2.x, which we refer to as Agilla 2. We also provide a comparative analysis about the characteristics of Agilla 2 versus Agilla. The proposed Agilla 2 is compatible with TinyOS 2.x, has full capabilities and provides new features, as shown by the maintainability and performance measurement presented in this paper. An additional valuable result is the architectural modeling of Agilla and Agilla 2, missing before, which extends its documentation and improves its maintainability.


Sign in / Sign up

Export Citation Format

Share Document