Abstract
SAs provide a high-level model of large, complex systems using suitable abstractions of the system components and their interactions. SA dynamic descriptions can be usefully employed in testing and analysis. We describe here an approach for SA-based conformance testing: architectural tests are selected from a Labelled Transition System (LTS) representing the SA behavior and are then refined into concrete tests to be executed on the implemented system. To identify the test sequences, we derive abstract views of the LTS, called the ALTSs, to focus on relevant classes of architectural behaviors and hide away uninteresting interactions. The SA description of a Collaborative Writing system is used as an example of application. We also briefly discuss the relation of our approach with some recent research in exploiting the standard UML notation as an Architectural Description Language, and in conformance testing of reactive systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
The AGEDIS Project: Automated Generation and Execution of Test Suites for Distributed Component-based Software, On-line at http://www.agedis.de
Allen, R., Garlan, D.: A Formal Basis for Architectural Connection. ACM Trans. on Software Engineering and Methodology 6(3), 213–249 (1997)
Basanieri, F., Bertolino, A., Marchetti, E.: The Cow_Suite Approach to Planning and Deriving Test Suites in UML Projects. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 383–397. Springer, Heidelberg (2002)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. In: SEI Series in Software Engineering. Addison-Wesley, Reading (1998)
Bertolino, A.: Knowledge Area Description of Software Testing. In: SWEBOK, Joint IEEE-ACM Software Engineering Coordinating Committee, On-line at: http://www.swebok.org
Bertolino, A.: Software Testing Research and Practice. In: Börger, E., Gargantini, A., Riccobene, E. (eds.) ASM 2003. LNCS, vol. 2589, pp. 1–21. Springer, Heidelberg (2003)
Bertolino, A., Inverardi, P.: Architecture-based software testing. In: Proc. ISAW 1996 (October 1996)
Bertolino, A., Corradini, F., Inverardi, P., Muccini, H.: Deriving Test Plans from Architectural Descriptions. In: ACM Proc. Int. Conf. on Software Engineering (ICSE 2000), June 2000, pp. 220–229 (2000)
Bertolino, A., Inverardi, P., Muccini, H.: An Explorative Journey from Architectural Tests Definition downto Code Tets Execution. In: IEEE Proc. Int. Conf. on Software Engineering (ICSE 2001), May 2001, pp. 211–220 (2001)
Briand, L., Labiche, Y.: A UML-Based Approach to System Testing. Software and System Modeling 1(1), 10–42 (2002)
The C2 style and ADL, Project web page on-line at: http://www.isr.uci.edu/architecture/c2.html
The C2 Framework, On-line at: http://www.isr.uci.edu/architecture/software.html
Caesar/Aldebaran Tool (CADP), On-line at: http://inrialpes.fr/vasy/cadp
Carver, R.H., Tai, K.-C.: Use of Sequencing Constraints for Specification-Based Testing of Concurrent Programs. IEEE Trans. on Software Engineering 24(6), 471–490 (1998)
Conallen, J.: Building Web Applications with UML. The Addison-Wesley Object Technology Series
Dashofy, E.M., van der Hoek, A., Taylor, R.N.: An Infrastructure for the Rapid Development of XML-Based Architecture Description Languages. In: Proc. of the 24th Int. Conf. on Software Engineering (2002)
De Nicola, R., Hennessy, M.: Testing Equivalences for Processes. Theoretical Computer Science 34, 83–133 (1984)
Dick, J., Faivre, A.: Automating the Generation and Sequencing of Test Cases from Model-Based Specifications. In: Larsen, P.G., Woodcock, J.C.P. (eds.) FME 1993. LNCS, vol. 670, pp. 268–284. Springer, Heidelberg (1993)
FC2Tools, On-line at: http://www-sop.inria.fr/meije/verification/quick-guide.html
Fernandez, J.-C., Jard, C., Jeron, T., Nedelka, L., Viho, C.: An Experiment in Automatic Generation of Test Suites for Protocols with Verification Technology. Special Issue of Science of Computer Programming 29, 123–146 (1997)
Finite State Process (FSP), On-line at: http://www.dse.doc/ic.ac.uk/~jnm/book/ltsa/Appendix-A.html
Harrold, M.J.: Architecture-Based Regression Testing of Evolving Systems. In: Proc. Int. Workshop on the ROle of Software Architecture in TEsting and Analysis (ROSATEA), CNR-NSF, pp. 73–77 (July 1998)
Harrold, M.J.: Testing: A Roadmap. In: Finkelstein, A. (ed.) ACM ICSE 2000, The Future of Software Engineering, pp. 61–72 (2000)
Hofmeister, C., Nord, R.L., Soni, D.: Applied Software Architecture. Addison-Wesley, Reading (1999)
Inverardi, P., Wolf, A.L.: Formal Specifications and Analysis of Software Architectures Using the Chemical Abstract Machine Model. IEEE Trans. on Software Engineering 21(4), 100–114 (1995)
Inverardi, P., Tivoli, M., Bucchiarone, A.: Coordinators synthesis for COTS group-ware systems: an example. In: Proc. Int. Workshop on Distributed and Mobile Collaboration, 2003 (DMC 2003). Extended version as technical Report, University of LAquila, Department of Computer Science (March 2003), http://www.di.univaq.it/tivoli/cscw_techrep.pdf
Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Object Technology Series. Addison Wesley, Reading (1999)
Jard, C., Jéron, T.: TGV: Theory, Principles and Algorithms. In: Proc. Conf. IDPT 2002, Pasadena, USA (2002)
Jrjens, J.: UMLsec: Extending UML for Secure Systems Development. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, p. 412. Springer, Heidelberg (2002)
Kruchten, P.: Architectural Blueprints - The “4+1” View Model of Software Architecture. IEEE Software 12(6), 42–50 (1995)
Labelled Transition System Analyzer (LTSA), On-line at: http://www-dse.doc.ic.ac.uk/~jnm/book/
Lay, M., Karis, M.: Collaborative writing in industry: Investigations in theory and practice. Baywood Publishing Company, Amityville (1991)
Luckham, D.C., Kenney, J.J., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and Analysis of System Architecture Using Rapide. IEEE Trans. on Software Engineering, Special Issue on Software Architecture 21(4), 336–355 (1995)
Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. Wiley, Chichester (April 1999)
Medvidovic, N., Rosenblum, D.S., Redmiles, D.F., Robbins, J.E.: Modeling software architectures in the Unified Modeling Language. ACM Transactions on Software Engineering and Methodology (TOSEM) 11(1) (January 2002)
Milner, R.: Communication on Concurrences. International Series on Computer Science. Prentice Hall International, Englewood Cliffs (1989)
Muccini, H.: Software Architecture for Testing, Coordination Models and Views Model Checking. PhD thesis, University of L’Aquila, year (2002), On-line at: http://www.HenryMuccini.com/publications.htm
Muccini, H., Bertolino, A., Inverardi, P.: Using Software Architecture for Code Testing Submitted for publication
Muccini, H., Bertolino, A., Inverardi, P.: Using Software Architecture for Code Testing. Long version of [38], On-line at http://www.HenryMuccini.com/publications.htm
Richardson, D.J., Wolf, A.L.: Software testing at the architectural level. In: ISAW-2 in Joint Proc. of the ACM SIGSOFT 1996 Workshops, pp. 68–71 (1996)
Richardson, D.J., Stafford, J., Wolf, A.L.: A Formal Approach to Architecturebased Software Testing. Technical Report, University of California, Irvine (1998)
TorX Test Tool Information, http://fmt.cs.utwente.nl/tools/torx/introduction.html
Tretmans, J.: Test Generation with Inputs, Outputs and Repetitive Quiescence. Software–Concepts and Tools 17(3), 103–120 (1996)
Tretmans, J.: Testing Concurrent Systems: A Formal Approach. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 46–65. Springer, Heidelberg (1999)
UML. Object Management Group: OMG Unified Modeling Language (UML), V1.4 (2001), http://www.omg.org
de Vries, R.G., Tretmans, J.: Towards Formal Test Purposes. In: Proc. FATES 2001, Aalborg, Denmark (2001)
Watson, A.H., McCabe, T.J.: Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric. NIST Special Publication 500-235 (August 1996)
Young, M.: Testing Complex Architectural Conformance Relations. In: Proc. Int. Workshop on the ROle of Software Architecture in TEsting and Analysis (ROSATEA), CNR-NSF, pp. 42–45 (July 1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bertolino, A., Inverardi, P., Muccini, H. (2003). Formal Methods in Testing Software Architectures. In: Bernardo, M., Inverardi, P. (eds) Formal Methods for Software Architectures. SFM 2003. Lecture Notes in Computer Science, vol 2804. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39800-4_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-39800-4_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20083-3
Online ISBN: 978-3-540-39800-4
eBook Packages: Springer Book Archive