Architecture based testing how mbt may help
1 / 11

Architecture-based Testing: how MBT may help? - PowerPoint PPT Presentation

  • Uploaded on

Architecture-based Testing: how MBT may help?. Software Architecture (traditional understanding). The Software Architecture is the earliest model of the whole software system created along the software lifecycle

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Architecture-based Testing: how MBT may help?' - bishop

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Software architecture traditional understanding
Software Architecture (traditional understanding)

The Software Architecture is the earliest model of the whole software system created along the software lifecycle

SA as a high level design blueprint of the system to be used during the system development and later on for maintenance and reuse

Describes (in a more or less “formal” notation) how a system is structured intocomponents and connectors(SA topology) and how these elements interact(SA dynamics)

Software architecture
Software Architecture

  • Let us reason about the Gaudi’s Sagrada Familia

  • Selected components/interfaces/connectors

  • Selected SA Style and constraints

  • Expected behavior

  • HW/SW/Deployment views

  • Components’ Nesting and sub-systems

  • NF attributes

Software architecture recent future understanding
Software Architecture (recent/future understanding)

  • A set of architecture design decisions taken to generate the architecture artifact

    • An SA is not only the “output” of the design decision process

      • Design issues, alternative solutions, rationale

  • Focus on set of Views and Viewpoints, looking at stakeholders and their concerns

    • Different stakeholders require different views, to solve different concerns

      • ISO/IEC 42010 (just approved)

Design decisions views







Design Decisions & views

  • Why a certain architectural style has been selected?

  • Why a certain technology has been selected?

  • Why the centralized data solution is more appropriate?

  • Dependencies among decisions

  • Structural, Behavioral, Trust, Financial, Performance, … views


Picture taken from:

Sa based testing and regression testing
SA-based Testing and Regression Testing

  • An implementation should conform to the Architectural specification

    • Is my implementation really compliant to my architectural specification… [and my design decisions]

  • SA structure and behavior models used to generate SA-level test specifications

  • Lessons learned:

    • The “distance” between SA and code is challenging

    • The SA model is (by definition) partial and incomplete

    • non-determinism

    • Regression Testing to manage the architectural drift

  • Previous work: [TSE04] [JSS06]

    Software architecture based testing in practice
    Software Architecture-based testing in practice

    • A project is ongoing with the SEI, on architecture-based testing

      • CMU SEI, University of L’Aquila, CNR-Pisa

    • Goal:

      • To identify industrial needs related to SA-based testing

      • To identify potential solutions to driving examples

      • To identify how the testing/analysis community may help to solve industrial needs and driving examples

    Tentative driving problem





    Tentative driving problem


    Fly test

    [Pictures taken from Google Images]


    • How (your experience with) MBT may help to deal with this type of problems?

    • A working group is being formed

      • MBT, regressiong testing, component-based testing, product line testing, formal verification, software architecture, …

  • I will appreciate any feedback you might provide

  • References

    • [TSE04] H. Muccini, A. Bertolino and P. Inverardi, "Using Software Architecture for Code Testing". In IEEE Transactions on Software Engineering, Vol. 30, Number 3, March 2004, pp. 160-171.

    • [JSS06] H. Muccini, M. Dias and D. J. Richardson, "Software Architecture-based Regression Testing“.In the Journal of Systems and Software (JSS), Special Issue on "Architecting Dependable Systems". Vol. 79, Issue 10 , October 2006, Pages 1379-1396.