Advertisement

Informatik - Forschung und Entwicklung

, Volume 22, Issue 4, pp 267–283 | Cite as

Wiederverwendung von Integrationstestfällen in der Software-Produktlinienentwicklung

Eine modellbasierte Technik für die automatisierte Testfallableitung
  • Sacha Reis
  • Klaus Pohl
Reguläre Beiträge
  • 127 Downloads

Zusammenfassung

  Bei der Software-Produktlinienentwicklung ist der Entwicklungsprozess aufgeteilt in die Domänen- und die Applikationsentwicklung. Durch die Wiederverwendung von Testartefakten aus der Domänenentwicklung kann in der Applikationsentwicklung der Testaufwand signifikant reduziert werden. Existierende Ansätze zum Testen von Software-Produktlinien beschränken sich auf den Modul- und den Systemtest. In diesem Beitrag wird eine durchgängige und modellbasierte Technik für die automatisierte Ableitung von logischen Integrationstestfällen bei der Entwicklung von Software-Produktlinien vorgestellt. Die Technik umfasst sowohl die Generierung von wiederverwendbaren Integrationstestfällen in der Domänenentwicklung, als auch die Ableitung von Applikationstestfällen unter Wiederverwendung der Domänentestfälle. Mit Hilfe der wiederverwendbaren Integrationstestfälle wird zusätzlich bereits in der Domänenentwicklung ein frühzeitiger Test der Produktlinienplattform unterstützt. Durch quantitative Untersuchungen wurde sowohl die Anwendbarkeit als auch der potenzielle Nutzen der Technik evaluiert.

Schlagworte

Software-Produktlinien Integrationstest Testfallableitung Wiederverwendung 

Abstract

The development process in software product line engineering is divided into domain engineering and application engineering. The reuse of test artefacts from domain engineering can significantly reduce the test effort in application engineering. Existing approaches in testing software product lines focus on unit and system testing. In this paper an integrated and model-based technique for the automated generation of logical integration test cases for software product lines is presented. The technique includes the generation of reusable integration test cases in domain engineering as well as the derivation of application test cases by reusing the domain test cases. The reusable integration test cases additionally support an early test of the product line plattform in domain engineering. With quantitative measurements the applicability and the potential benefit of the technique have been evaluated.

Keywords

Software Product Lines Integration Test Test Case Derivation Reuse 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literatur

  1. 1.
    Balas E, Toth P (1985) Branch and Bound Methods. In: Lawler E, Lenstra J, Kan AR, Shmoys D (eds) The Traveling Salesman Problem. Wiley, New York, pp 361–401Google Scholar
  2. 2.
    Basanieri F, Bertolino A (2000) A Practical Approach to UML-based Derivation of Integration Tests. In: Proc. of the Quality Week Europe, p 3TGoogle Scholar
  3. 3.
    Beizer B (1990) Software Testing Techniques. Van Nostrand Reinhold, New YorkGoogle Scholar
  4. 4.
    Bertolino A, Gnesi S (2004) PLUTO: A Test Methodology for Product Families In: Software Product-Family Engineering – 5th Intl. Workshop Vol. LNCS 3014. Springer, Heidelberg, pp 181–197Google Scholar
  5. 5.
    Bertolino A, Marré M (1994) Automatic Generation of Path Covers Based on the Control Flow Analysis of Computer Programs. IEEE Trans Soft Eng 20(12):885–899CrossRefGoogle Scholar
  6. 6.
    Binder RV (2000) Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley, BostonGoogle Scholar
  7. 7.
    Böckle G, Knauber P, Pohl K, Schmid K (eds) (2004) Software-Produktlinien: Methoden, Einführung und Praxis. dpunkt, HeidelbergGoogle Scholar
  8. 8.
    Bodík R, Gupta R, Soffa ML (1997) Refining Data Flow Information using Infeasible Paths. In: Proc. of the Sixth European Software Engineering Conf. Springer, New York, pp 361–377Google Scholar
  9. 9.
    Boehm B, Basili V (2001) Software Defect Reduction Top 10 List. IEEE Computer 34(1):135–137Google Scholar
  10. 10.
    Clemens P, Northrop L (2002) Software Product Lines: Practices and Patterns. Addison-Wesley, New YorkGoogle Scholar
  11. 11.
    Cohen MB, Dwyer MB, Shi J (2006) Coverage and Adequacy in Software Product Line Testing. In: Proceedings of the ISSTA 2006 Workshop on Role of Software Architecture for Testing and Analysis. ACM, New York, pp 53–63Google Scholar
  12. 12.
    Geppert B, Li J, Rößler F, Weiss DM (2004) Towards Generating Acceptance Tests for Product Lines. In: Software Reuse: Methods, Techniques and Tools – 8th Intl. Conference, ICSR 2004. Springer, Heidelberg, Vol. LNCS 3107, pp 35–48Google Scholar
  13. 13.
    GLPK (2003) Gnu Linear Programming Kit. http://www.gnu.org/software/glpk, August 2007Google Scholar
  14. 14.
    Hartmann J, Imoberdorf C, Meisinger M (2000) UML-Based Integration Testing. In: Proc. of the Intl. Symposium on Software Testing and Analysis (ISSTA). ACM, New York, USA, pp 60–70Google Scholar
  15. 15.
    Hedley D, Hennell M (1985) The Causes and Effects of Infeasible Paths in Computer Programs. In: Proc. of the 8th Intl. Conf. on Software Engineering. IEEE, Los Alamitos, pp 259–267Google Scholar
  16. 16.
    Jorgensen PC, Erickson C (1994) Object-Oriented Integration Testing. Commun ACM 37(9):30–38CrossRefGoogle Scholar
  17. 17.
    Käkölä T, Due~nas JC (eds) (2006) Software Product Lines - Research Issues in Engineering and Management. Springer, HeidelbergGoogle Scholar
  18. 18.
    Kamsties E, Pohl K, Reis S, Reuys A (2004) Anforderungsbasiertes Testen. In: Böckle G, Knauber P, Pohl K, Schmid K (eds) Software-Produktlinien: Methoden, Einführung und Praxis. dpunkt, Heidelberg, pp 119–136Google Scholar
  19. 19.
    Kim Y, Carlson CR (1999) Scenario Based Integration Testing for Object-Oriented Software Development. In: Proc. of the 8th Asian Test Symposium. IEEE, pp 383–288Google Scholar
  20. 20.
    McGregor J, Sodhani P, Madhavapeddi S (2004) Testing Variability in a Software Product Line. In: Proc. of Intl. Workshop on Software Product Line Testing (SPLiT). Avaya Labs, Boston, USA, August, pp 45–50Google Scholar
  21. 21.
    McGregor JD (2001) Testing a Software Product Line. Technical Report CMU/SEI-2001-TR-022. Carnegie Mellon University, DecemberGoogle Scholar
  22. 22.
    Muccini H, van der Hoek A (2003) Towards Testing Product Line Architectures. Electronic Notes in Theoretical Computer Science – Proc. of the Intl. Workshop on Test and Analysis of Component-Based Systems, 82(6)Google Scholar
  23. 23.
    Nebut C, Fleurey F, Le Traon Y, Jézéquel JM (2004) A Requirement-based Approach to Test Product Families. In: Software Product-Family Engineering – 5th Intl. Workshop. Springer, Heidelberg, Vol. LNCS 3014, pp 198–210Google Scholar
  24. 24.
    Offutt J, Pan J (1998) Automatically Detecting Equivalent Mutants and Infeasible Paths. Softw Test Verif Reliab 7(3):165–192CrossRefGoogle Scholar
  25. 25.
    Pohl K, Böckle G, van der Linden F (2005) Software Product Line Engineering – Foundations, Principles, and Techniques. Springer, BerlinzbMATHGoogle Scholar
  26. 26.
    Pohl K, Metzger A (2006) Software Product Line Testing – Exploring principles and potential solutions. Commun ACM 49(12):78–81CrossRefGoogle Scholar
  27. 27.
    Prather RE, Myers JP (1987) The Path Prefix Testing Strategy. IEEE Trans Soft Eng 13(7):761–766zbMATHCrossRefGoogle Scholar
  28. 28.
    Reis S, Metzger A, Pohl K (2006) A Reuse Technique for Performance Testing of Software Product Lines. In: Proc. of the Intl. Workshop on Software Product Line Testing (SPLiT), Mannheim University of Applied Sciences, Report No. 003.06, pp 5–10Google Scholar
  29. 29.
    Reis S, Metzger A, Pohl K (2007) Integration Testing in Software Product Line Engineering: A Model-based Technique. In: Fundamental Approaches to Software Engineering, Intl. Conference (FASE 2007). Springer, Heidelberg, Vol. LNCS 4422, pp 321–335Google Scholar
  30. 30.
    Reuys A, Kamsties E, Pohl K, Reis S (2005) Model-based System Testing of Software Product Families. In: Advanced Information Systems Engineering - CAiSE 2005. Springer, Heidelberg, Vol. LNCS 3520, pp 519–534Google Scholar
  31. 31.
    Reuys A, Kamsties E, Pohl K, Reis S (2005) Szenario-basierter Systemtest von Software-Produktfamilien. Informatik Forsch Entw 20(1–2):33–44CrossRefGoogle Scholar
  32. 32.
    Spillner A, Linz T (2004) Basiswissen Softwaretest. dpunkt, HeidelbergGoogle Scholar
  33. 33.
    Sugumaran V, Park S, Kang KC (2006) Software Product Line Engineering. Commun ACM 49(12):29–32CrossRefGoogle Scholar
  34. 34.
    Tevanlinna A, Taina J, Kauppinen R (2004) Product Family Testing – a Survey. ACM SIGSOFT Software Engineering Notes 29(2)Google Scholar
  35. 35.
    Tsai W, Bai X, Paul R, Shao W, Agarwal V (2001) End-To-End Integration Testing Design. In: Proc. of the 25th Annual Intl. Computer Software and Applications Conf. Los Alamitos, IEEE, pp 166–171Google Scholar
  36. 36.
    Wang H, Hsu S, Lin J (1989) A Generalized Optimal Path-Selection Model for Structural Program Testing. J Syst Soft 10:55–63CrossRefGoogle Scholar
  37. 37.
    Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslen A (2000) Experimentation in Software Engineering – An Introduction. Kluwer Academic PublishersGoogle Scholar
  38. 38.
    Wu Y, Chen MH, Offutt J (2003) UML-Based Integration Testing for Component-Based Software. In: Proc. of the 2nd Intl. Conf. on COTS-Based Software Systems. Springer, Heidelberg, Vol. LNCS 2580, pp 251–260Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  1. 1.EDS Itellium GmbHEssenDeutschland
  2. 2.Universität Duisburg-EssenEssenDeutschland

Personalised recommendations