Skip to main content

2021 | OriginalPaper | Buchkapitel

12. Verifikation und Integration von Software

verfasst von : Manfred Broy, Marco Kuhrmann

Erschienen in: Einführung in die Softwaretechnik

Verlag: Springer Berlin Heidelberg

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Zusammenfassung

Liegen Teile der Software implementiert vor, kann damit begonnen werden, die Software zu verifizieren und die Teile zu integrieren. Typischerweise werden einzelne Teile zunächst für sich getestet und dann, soweit sie vorgegebenen Qualitätsanforderungen genügen, mit anderen Teilen zusammengefügt. Abhängig von der Vorgehensweise kann wieder sehr früh damit begonnen werden, Programmcode Schritt für Schritt aufzubauen und zu vervollständigen. Liegen einzelne Funktionen implementiert vor, werden diese unmittelbar getestet. Im Optimum heißt das, dass nach jedem Schritt ein ablauffähiges System vorliegt, wobei Implementierung, Test und Integration Hand in Hand gehen. Es ist aber auch möglich, einzelne Module oder Klassen zunächst individuell zu testen, dann zu größeren Softwareeinheiten zu integrieren, wobei der Zusammenbau in sogenannten Integrationstests auf Fehler überprüft wird, um schließlich die einzelnen Teile zu einem Gesamtsystem zu integrieren und dieses zu testen. Dieses Kapitel führt in die Grundlagen des Testens von Software ein. Dies umfasst die wesentlichen Konzepte und Vorgehensweisen im manuellen und automatisierten Softwaretest. Kaum zu trennen von den Testaufgaben ist die Integration. Die Strategien für die Software- und Systemintegration bilden den zweiten Teil dieses Kapitels, welches mit einem Überblick über Methoden und Techniken der kontinuierlichen Integration und DevOps abgeschlossen wird.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
Nach Wagner [57] wird auch der Begriff Defect als Oberbegriff für die Klassen Fault und Error verwendet.
 
2
International Software Testing Qualifications Board (ISTQB) – Gemeinnützige Zertifizierungsstelle für Softwaretester. Das ISTQB bietet ein mehrstufiges Qualifikations- und Zertifizierungsprogramm an. Online: https://​www.​istqb.​org.
 
3
Man beachte den Unterschied zwischen Testen, der Überprüfung der Qualität fertiggestellten Codes und Debugging, der Fehlersuche während der Entwicklung des Codes.
 
4
Man beachte, dass das Test-driven Development (siehe Abschn. 12.2.6) hier einen anderen Ansatz verfolgt und daher der Entwicklungs-, Integrations- und Testzyklus anders organisiert ist.
 
5
Die Grundannahme hier ist, dass, wenn ein Parameter ungültig ist, die Wahrscheinlichkeit, dass eine Kompensation durch andere Parameter erfolgt nur sehr gering ist. Zudem ist auch davon auszugehen, dass eine Funktion auch bei nur einer ungültigen Eingabe einen Fehler meldet, das gewünschte Verhalten ist.
 
6
Achtung: Durch die Art des Beispiels aus Abb. 12.15 liegen keine Verfeinerungen im Hinblick auf Module vor. Daher ist für die Abb. 12.17 der Einfachheit halber anzunehmen, dass jede Komponente genau ein Modul enthält.
 
7
Siehe beispielsweise International Conference on Software Testing, Verification, and Validation (ICST) oder die German Testing Days.
 
Literatur
1.
Zurück zum Zitat J. Albrecht-Zölch. Testdaten und Testdatenmanagement: Vorgehen, Methoden und Praxis. dpunkt.verlag GmbH, January 2018. J. Albrecht-Zölch. Testdaten und Testdatenmanagement: Vorgehen, Methoden und Praxis. dpunkt.verlag GmbH, January 2018.
4.
Zurück zum Zitat K. Apt, F. S. de Boer, and E.-R. Olderog. Verification of Sequential and Concurrent Programs. Texts in Computer Science. Springer-Verlag, 3 edition, 2009. K. Apt, F. S. de Boer, and E.-R. Olderog. Verification of Sequential and Concurrent Programs. Texts in Computer Science. Springer-Verlag, 3 edition, 2009.
5.
Zurück zum Zitat T. Arora and U. Shigihalli. Azure DevOps Server 2019 Cookbook: Proven recipes to accelerate your DevOps journey with Azure DevOps Server 2019. Cookbook. Packt Publishing, 2 edition, May 2019. T. Arora and U. Shigihalli. Azure DevOps Server 2019 Cookbook: Proven recipes to accelerate your DevOps journey with Azure DevOps Server 2019. Cookbook. Packt Publishing, 2 edition, May 2019.
6.
Zurück zum Zitat A. Avizienis, J.-C. Laprie, B. Randell, and C. Landwehr. Basic concepts and taxonomy of dependable and secure computing. IEEE Transactions on Dependable and Secure Computing, 1(1):11–33, 2004. A. Avizienis, J.-C. Laprie, B. Randell, and C. Landwehr. Basic concepts and taxonomy of dependable and secure computing. IEEE Transactions on Dependable and Secure Computing, 1(1):11–33, 2004.
7.
Zurück zum Zitat K. Beck. Test Driven Development. By Example. Addison-Wesley Longman, 2002. K. Beck. Test Driven Development. By Example. Addison-Wesley Longman, 2002.
8.
Zurück zum Zitat M. Beller, A. Bacchelli, A. Zaidman, and E. Jürgens. Modern code reviews in open-source projects: Which problems do they fix? In Proceedings of the 11th Working Conference on Mining Software Repositories, MSR, pages 202–211, New York, NY, USA, 2014. ACM. M. Beller, A. Bacchelli, A. Zaidman, and E. Jürgens. Modern code reviews in open-source projects: Which problems do they fix? In Proceedings of the 11th Working Conference on Mining Software Repositories, MSR, pages 202–211, New York, NY, USA, 2014. ACM.
9.
Zurück zum Zitat M. Beller, G. Gousios, A. Panichella, S. Proksch, S. Amann, and A. Zaidman. Developer testing in the ide: Patterns, beliefs, and behavior. IEEE Transactions on Software Engineering, 45(3):261–284, 2019. M. Beller, G. Gousios, A. Panichella, S. Proksch, S. Amann, and A. Zaidman. Developer testing in the ide: Patterns, beliefs, and behavior. IEEE Transactions on Software Engineering, 45(3):261–284, 2019.
10.
Zurück zum Zitat T. Bennett and P. Wennberg. Eliminating Embedded Software Defects Prior to Integration Test. Quality Assurance Institute Journal, 2006. T. Bennett and P. Wennberg. Eliminating Embedded Software Defects Prior to Integration Test. Quality Assurance Institute Journal, 2006.
11.
Zurück zum Zitat M. Broy and M. Kuhrmann. Projektorganisation und Management im Software Engineering. Number 978-3-642-29289-7 in Xpert.press. Springer Verlag, Berlin Heidelberg, 1 edition, 2013. M. Broy and M. Kuhrmann. Projektorganisation und Management im Software Engineering. Number 978-3-642-29289-7 in Xpert.press. Springer Verlag, Berlin Heidelberg, 1 edition, 2013.
12.
Zurück zum Zitat J. Burch, E. Clarke, K. McMillan, D. Dill, and L. Hwang. Symbolic model checking: 1020 states and beyond. Information and Computation, 98(2):142–170, 1992. J. Burch, E. Clarke, K. McMillan, D. Dill, and L. Hwang. Symbolic model checking: 1020 states and beyond. Information and Computation, 98(2):142–170, 1992.
13.
Zurück zum Zitat J. N. Buxton and B. Randell. Report of the nato software engineering conference on software engineering techniques. Conference report, NATO Science Committee, October 1969. J. N. Buxton and B. Randell. Report of the nato software engineering conference on software engineering techniques. Conference report, NATO Science Committee, October 1969.
14.
Zurück zum Zitat E. M. Clarke, O. Grumberg, and D. A. Peled. Model Checking. MIT Press, 1999. E. M. Clarke, O. Grumberg, and D. A. Peled. Model Checking. MIT Press, 1999.
15.
Zurück zum Zitat CMMI Product Team. CMMI for Development, Version 1.3. Technical Report CMU/SEI-2010-TR-033, Software Engineering Institute, Carnegie Mellon University, 2010. CMMI Product Team. CMMI for Development, Version 1.3. Technical Report CMU/SEI-2010-TR-033, Software Engineering Institute, Carnegie Mellon University, 2010.
16.
Zurück zum Zitat M. Daigl and R. Glunz. ISO 29119 - Die Softwaretest-Normen verstehen und anwenden. dpunkt.verlag GmbH, January 2016. M. Daigl and R. Glunz. ISO 29119 - Die Softwaretest-Normen verstehen und anwenden. dpunkt.verlag GmbH, January 2016.
17.
Zurück zum Zitat F. Deißenböck. Continuous Quality Control of Long-Lived Software Systems. PhD thesis, Technische Universität München, October 2009. F. Deißenböck. Continuous Quality Control of Long-Lived Software Systems. PhD thesis, Technische Universität München, October 2009.
18.
Zurück zum Zitat F. Deißenböck and B. Hummel. Kontinuierliches qualitäts-controlling: Mittel gegen den qualitätsverfall in der softwarewartung. OBJEKTspektrum, 5:34–38, 2011. F. Deißenböck and B. Hummel. Kontinuierliches qualitäts-controlling: Mittel gegen den qualitätsverfall in der softwarewartung. OBJEKTspektrum, 5:34–38, 2011.
19.
Zurück zum Zitat F. Deissenböck, E. Jürgens, B. Hummel, S. Wagner, B. M. Parareda, and M. Pizka. Tool support for continuous quality control. IEEE Software, 25(5):60–67, September 2008. F. Deissenböck, E. Jürgens, B. Hummel, S. Wagner, B. M. Parareda, and M. Pizka. Tool support for continuous quality control. IEEE Software, 25(5):60–67, September 2008.
20.
Zurück zum Zitat W. E. Deming. Out of the Crisis. (Reprint). MIT Press, 2 edition, August 2000. W. E. Deming. Out of the Crisis. (Reprint). MIT Press, 2 edition, August 2000.
21.
Zurück zum Zitat ECSS Secretariat. Space product assurance, software metrication programme definition and implementation. Standard ECSS-Q-HB-80-04A, ESA-ESTEC Requirements and Standards Division, March 2011. ECSS Secretariat. Space product assurance, software metrication programme definition and implementation. Standard ECSS-Q-HB-80-04A, ESA-ESTEC Requirements and Standards Division, March 2011.
22.
Zurück zum Zitat M. E. Fagan. Design and code inspections to reduce errors in program development. IBM Systems Journal, 15(3):182–211, Sept. 1976. M. E. Fagan. Design and code inspections to reduce errors in program development. IBM Systems Journal, 15(3):182–211, Sept. 1976.
24.
Zurück zum Zitat M. Grochtmann and K. Grimm. Classification trees for partition testing. Software Testing, Verification and Reliability, 3(2):63–82, 1993. M. Grochtmann and K. Grimm. Classification trees for partition testing. Software Testing, Verification and Reliability, 3(2):63–82, 1993.
25.
Zurück zum Zitat T. Hall, A. Rainer, and N. Baddoo. Implementing software process improvement: an empirical study. Software Process: Improvement and Practice, 7(1):3–15, 2002. T. Hall, A. Rainer, and N. Baddoo. Implementing software process improvement: an empirical study. Software Process: Improvement and Practice, 7(1):3–15, 2002.
26.
Zurück zum Zitat C. A. R. Hoare. An axiomatic basis for computer programming. Commun. ACM, 12(10):576–583, Oct. 1969. C. A. R. Hoare. An axiomatic basis for computer programming. Commun. ACM, 12(10):576–583, Oct. 1969.
27.
Zurück zum Zitat W. S. Humphrey. Managing the Software Process. Addison-Wesley Professional, January 1989. W. S. Humphrey. Managing the Software Process. Addison-Wesley Professional, January 1989.
28.
Zurück zum Zitat IEEE 829-2008. IEEE Standard for Software and System Test Documentation. IEEE, July 2008. IEEE 829-2008. IEEE Standard for Software and System Test Documentation. IEEE, July 2008.
29.
Zurück zum Zitat IEEE Std 1012-2004. IEEE Standard for Software Verification and Validation. IEEE, 2004. IEEE Std 1012-2004. IEEE Standard for Software Verification and Validation. IEEE, 2004.
30.
Zurück zum Zitat IEEE Std 1028-1997. IEEE Standard for Software Reviews. IEEE, 1998. IEEE Std 1028-1997. IEEE Standard for Software Reviews. IEEE, 1998.
31.
Zurück zum Zitat ISO 26262:2018. Road vehicles – Functional safety. International Organization for Standardization, 2018. ISO 26262:2018. Road vehicles – Functional safety. International Organization for Standardization, 2018.
32.
Zurück zum Zitat ISO/IEC 25010:2011. Systems and software engineering – System and software quality models. International Organization for Standardization, 2011. ISO/IEC 25010:2011. Systems and software engineering – System and software quality models. International Organization for Standardization, 2011.
33.
Zurück zum Zitat ISO/IEC 25023:2016. Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – Measurement of system and software product quality. International Organization for Standardization, 2016. ISO/IEC 25023:2016. Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – Measurement of system and software product quality. International Organization for Standardization, 2016.
34.
Zurück zum Zitat ISO/IEC/IEEE 24765:2010. Systems and software engineering – Vocabulary. International Organization for Standardization, 2010. ISO/IEC/IEEE 24765:2010. Systems and software engineering – Vocabulary. International Organization for Standardization, 2010.
35.
Zurück zum Zitat ISO/IEC/IEEE 29119:2013. ISO/IEC/IEEE International Standard – Software and systems engineering – Software testing – Part 2: Test processes. International Organization for Standardization, 2013. ISO/IEC/IEEE 29119:2013. ISO/IEC/IEEE International Standard – Software and systems engineering – Software testing – Part 2: Test processes. International Organization for Standardization, 2013.
37.
Zurück zum Zitat G. Kim, J. Humble, P. Debois, and J. Willis. The DevOps Handbook. NBN TRADESELECT, 2016. G. Kim, J. Humble, P. Debois, and J. Willis. The DevOps Handbook. NBN TRADESELECT, 2016.
38.
Zurück zum Zitat S. Kleuker. Formale Modelle der Softwareentwicklung: Model-Checking, Verifikation, Analyse und Simulation. Studium. Vieweg+Teubner Verlag, September 2009. S. Kleuker. Formale Modelle der Softwareentwicklung: Model-Checking, Verifikation, Analyse und Simulation. Studium. Vieweg+Teubner Verlag, September 2009.
39.
Zurück zum Zitat S. Kleuker. Qualitätssicherung durch Softwaretests: Vorgehensweisen und Werkzeuge zum Testen von Java-Programmen. Springer Vieweg, 2 edition, July 2019. S. Kleuker. Qualitätssicherung durch Softwaretests: Vorgehensweisen und Werkzeuge zum Testen von Java-Programmen. Springer Vieweg, 2 edition, July 2019.
40.
Zurück zum Zitat J. Klünder, R. Hebig, P. Tell, M. Kuhrmann, J. Nakatumba-Nabende, R. Heldal, S. Krusche, M. Fazal-Baqaie, M. Felderer, M. F. G. Bocco, S. Küpper, S. A. Licorish, G. Lopez, F. McCaffery, Ö. Ö. Top, C. R. Prause, R. Prikladnicki, E. Tüzün, D. Pfahl, K. Schneider, and S. G. MacDonell. Catching up with Method and Process Practice: An Industry-Informed Baseline for Researchers. In Proceedings of 41st International Conference on Software Engineering, ICSE-SEIP, pages 255–264. ACM, 2019. J. Klünder, R. Hebig, P. Tell, M. Kuhrmann, J. Nakatumba-Nabende, R. Heldal, S. Krusche, M. Fazal-Baqaie, M. Felderer, M. F. G. Bocco, S. Küpper, S. A. Licorish, G. Lopez, F. McCaffery, Ö. Ö. Top, C. R. Prause, R. Prikladnicki, E. Tüzün, D. Pfahl, K. Schneider, and S. G. MacDonell. Catching up with Method and Process Practice: An Industry-Informed Baseline for Researchers. In Proceedings of 41st International Conference on Software Engineering, ICSE-SEIP, pages 255–264. ACM, 2019.
41.
Zurück zum Zitat R. Kneuper. Software Process and Life Cycle Models. Springer International Publishing, 2018. R. Kneuper. Software Process and Life Cycle Models. Springer International Publishing, 2018.
42.
Zurück zum Zitat I. Koren and C. M. Krishna. Fault-Tolerant Systems. Morgan Kaufmann, April 2007. I. Koren and C. M. Krishna. Fault-Tolerant Systems. Morgan Kaufmann, April 2007.
43.
Zurück zum Zitat M. Kuhrmann, P. Diebold, and J. Münch. Software process improvement: A systematic mapping study on the state of the art. PeerJ Computer Science, 2(1):1–38, May 2016. M. Kuhrmann, P. Diebold, and J. Münch. Software process improvement: A systematic mapping study on the state of the art. PeerJ Computer Science, 2(1):1–38, May 2016.
44.
Zurück zum Zitat A. Magana and J. Muli. Version Control with Git and GitHub. Packt Publishing, December 2018. A. Magana and J. Muli. Version Control with Git and GitHub. Packt Publishing, December 2018.
45.
Zurück zum Zitat R. C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2008. R. C. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2008.
46.
Zurück zum Zitat R. C. Martin and M. Marin. Agile Principles, Patterns, and Practices in C#. Prentice Hall, 2007. R. C. Martin and M. Marin. Agile Principles, Patterns, and Practices in C#. Prentice Hall, 2007.
47.
Zurück zum Zitat S. McIntosh, Y. Kamei, B. Adams, and A. E. Hassan. The Impact of Code Review Coverage and Code Review Participation on Software Quality: A Case Study of the Qt, VTK, and ITK Projects. In Proceedings of the 11th Working Conference on Mining Software Repositories, MSR, pages 192–201, New York, NY, USA, 2014. ACM. S. McIntosh, Y. Kamei, B. Adams, and A. E. Hassan. The Impact of Code Review Coverage and Code Review Participation on Software Quality: A Case Study of the Qt, VTK, and ITK Projects. In Proceedings of the 11th Working Conference on Mining Software Repositories, MSR, pages 192–201, New York, NY, USA, 2014. ACM.
48.
Zurück zum Zitat S. Mujtaba, R. Feldt, and K. Petersen. Waste and lead time reduction in a software product customization process with value stream maps. In 2010 21st Australian Software Engineering Conference, pages 139–148, April 2010. S. Mujtaba, R. Feldt, and K. Petersen. Waste and lead time reduction in a software product customization process with value stream maps. In 2010 21st Australian Software Engineering Conference, pages 139–148, April 2010.
49.
Zurück zum Zitat S. R. Palmer and J. M. Felsing. A Practical Guide to Feature-Driven Development. Prentice Hall, February 2002. S. R. Palmer and J. M. Felsing. A Practical Guide to Feature-Driven Development. Prentice Hall, February 2002.
50.
Zurück zum Zitat K. Petersen. A palette of lean indicators to detect waste in software maintenance: A case study. In C. Wohlin, editor, Agile Processes in Software Engineering and Extreme Programming, pages 108–122, Berlin, Heidelberg, 2012. Springer Berlin Heidelberg. K. Petersen. A palette of lean indicators to detect waste in software maintenance: A case study. In C. Wohlin, editor, Agile Processes in Software Engineering and Extreme Programming, pages 108–122, Berlin, Heidelberg, 2012. Springer Berlin Heidelberg.
51.
Zurück zum Zitat C. R. Prause, J. Werner, K. Hornig, S. Bosecker, and M. Kuhrmann. Is 100% Test Coverage a Reasonable Requirement? Lessons Learned from a Space Software Project. In Product-Focused Software Process Improvement, PROFES, pages 351–367, Cham, 2017. Springer International Publishing. C. R. Prause, J. Werner, K. Hornig, S. Bosecker, and M. Kuhrmann. Is 100% Test Coverage a Reasonable Requirement? Lessons Learned from a Space Software Project. In Product-Focused Software Process Improvement, PROFES, pages 351–367, Cham, 2017. Springer International Publishing.
52.
Zurück zum Zitat P. Runeson, C. Andersson, T. Thelin, A. Andrews, and T. Berling. What do we know about defect detection methods? IEEE Softw., 23(3):82–90, May 2006. P. Runeson, C. Andersson, T. Thelin, A. Andrews, and T. Berling. What do we know about defect detection methods? IEEE Softw., 23(3):82–90, May 2006.
53.
Zurück zum Zitat T. Sedano, P. Ralph, and C. Péraire. Software development waste. In Proceedings of the 39th International Conference on Software Engineering, ICSE ’17, pages 130–140, Piscataway, NJ, USA, 2017. IEEE Press. T. Sedano, P. Ralph, and C. Péraire. Software development waste. In Proceedings of the 39th International Conference on Software Engineering, ICSE ’17, pages 130–140, Piscataway, NJ, USA, 2017. IEEE Press.
54.
Zurück zum Zitat A. Spillner and U. Breymann. Lean Testing für C++-Programmierer: Angemessen statt aufwendig testen. dpunkt.verlag GmbH, June 2016. A. Spillner and U. Breymann. Lean Testing für C++-Programmierer: Angemessen statt aufwendig testen. dpunkt.verlag GmbH, June 2016.
55.
Zurück zum Zitat A. Spillner and T. Linz. Basiswissen Softwaretest. dpunkt.verlag GmbH, 6 edition, June 2019. A. Spillner and T. Linz. Basiswissen Softwaretest. dpunkt.verlag GmbH, 6 edition, June 2019.
56.
Zurück zum Zitat S. Wagner. A literature survey of the quality economics of defect-detection techniques. In Proceedings of the 2006 ACM/IEEE International Symposium on Empirical Software Engineering, ISESE ’06, pages 194–203, New York, NY, USA, 2006. ACM. S. Wagner. A literature survey of the quality economics of defect-detection techniques. In Proceedings of the 2006 ACM/IEEE International Symposium on Empirical Software Engineering, ISESE ’06, pages 194–203, New York, NY, USA, 2006. ACM.
57.
Zurück zum Zitat S. Wagner. Software Product Quality Control. Springer Verlag, 2013. S. Wagner. Software Product Quality Control. Springer Verlag, 2013.
Metadaten
Titel
Verifikation und Integration von Software
verfasst von
Manfred Broy
Marco Kuhrmann
Copyright-Jahr
2021
Verlag
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-662-50263-1_12