SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
Motivation und Überblick


          iks-Thementag : „Wer testet, ist feige“


                        24.06.2009



                           Autor:
                 Christoph Schmidt-Casdorff
                      Carsten Schädel




Seite 2
Agenda

      Einführung

      Auf welcher Ebene wird getestet – testing level

      Was wird getestet– testing categories

      Wie wird getestet – testing methods and tools

      Alles zusammen – test execution




Seite 3
Fehler in Software

          Mythos: Software ist fehlerfrei
           – ist nicht nachweisbar
           – Testen findet Fehler, weist nicht deren Abwesenheit nach

          Mythos: Qualität meint a priori für Jeden dasselbe
           – es gibt unterschiedliche Dimensionen
               • Funktionalität, Performance, …
           – Qualität muss festgelegt werden
           – Qualität ist keine Eigenschaft, sondern eine Metrik

          Mythos: Qualität ‚geschieht‘ von selbst
           – das Ziel ‚Qualität‘ muss Bestandteil des Entwicklungsprozess sein

Seite 4
Fehler in Software

          Je später ein Fehler entdeckt wird, desto teurer wird dessen
          Behebung




  Quelle: [McConnell2004]



          63 % der Fehler stammen aus Analyse/Design [Perry2000]
           – viele Fehler sind früh zu erkennen


Seite 5
Fehler in Software: Quintessenz

          Es muss getestet werden


          … so früh wie möglich


          Qualitätskriterien müssen festgelegt werden


          Qualität ist Bestandteil des Entwicklungsprozesses




Seite 6
Wo sind wir

          Einführung

          Auf welcher Ebene wird getestet – testing level

          Was wird getestet– testing categories

          Wie wird getestet – testing methods and tools

          Alles zusammen – test execution




Seite 7
Testebene

          Granularität des zu testenden Systems
          – (target-of-test)

          in Reihenfolge in abnehmender Granularität
          – Unit testing
          – Integration testing
          – System testing
          – Acceptance testing




Seite 8
[http://www.information-management.com/news/1026146-1.html]
Seite 9
Unit / Component testing
     Unit ist die kleinste zu testende Softwareeinheit
           – kann kompiliert, gelinkt, geladen werden …
           – Klassen, Interfaces, Prozeduren, ….


     wird durch Entwicklung erstellt
           – buddy testing
               • Testen und Entwicklung durch verschiedene Personen




Seite 10
Integrationstest I

       fasst Units und Module zu sinnvollen Testgruppen zusammen
           – setzt sich aus unterschiedlichen Quellen zusammen
               • Libraries, Subsysteme, Module, …


       testet Kollaboration

       Integrationstests verdichten schrittweise
           – bis das Gesamtsystem abgedeckt ist




Seite 11
Integrationstest II

       wird durch Entwicklung durchgeführt
           – Buddy testing


       Testmethoden vergleichbar zu Unit testing




Seite 12
Systemtest I

       testet vollständiges System
           – vollständige Kollaboration aller Komponenten
           – Integration mit externen Systemen


       beinhaltet nicht-funktionale Tests
           – Performance, Last, …..




Seite 13
Systemtest II

       verifiziert Umsetzung
           – Abgleich mit Designspezifikation

       wird durch Testteam durchgeführt

       wird auf spezieller Umgebung durchgeführt




Seite 14
Abnahmetest I
       …. auch als Acceptancetest bezeichnet
       testet, ob das System die Anforderungen erfüllt,
           – aus Sicht des Kunden / Auftraggebers
           – entscheidender Teil der Abnahme

       umfasst i.d.R. nicht-funktionale Tests
           – Performance, Last , ….

           umfasst das Gesamtprodukt
           – inkl. Dokumentation, …




Seite 15
Abnahmetest II

       wird durch Kunde / Auftraggeber durchgeführt

       wird in produktionsnaher/-identischer Umgebung ausgeführt




Seite 16
Regressionstest

       testet, ob eine Fehlerbehebung unerwartete Auswirkungen hat

       ist ein andauernder Prozess
           – über den gesamten Testlebenszyklus
           – umfasst alle Testebenen


       wird bei jeder Programmänderung durchgeführt




Seite 17
Smoke Test I

       ist ein Gesundheitscheck des System
           – angestoßen i.d.R. durch den Bau des Systems (system build)
           – Synonym: build verification test


       ist Verfahren während der Entwicklung
           – evtl. Fehler werden sofort behoben


       ist ein Typ eines Regressionstests




Seite 18
Smoke Test II

       beinhaltet oft eine aussagekräftige Teilmenge aller Tests
           – alle Tests sprengen das mögliche Zeitfenster


       gängige Verfahren sind
           – daily build
           – build on check-in




Seite 19
Continuous Integration

       im Team wird Software häufig integriert
           – mindestens 1x täglich
           – jede Integration wird durch Build verifiziert


       bedarf Werkzeugunterstützung

       ist Entwicklungsverfahren

       Verfahren für Smoke Test bei build on check-in




Seite 20
Wo sind wir

       Einführung

       Auf welcher Ebene wird getestet – testing level

       Was wird getestet– testing categories

       Wie wird getestet – testing methods and tools

       Alles zusammen – test execution




Seite 21
Dimensionen der Qualität

       Funktionalität (functionality)

       Benutzungsfreundlichkeit (usability)

       Zuverlässigkeit (reliability)

       Performance

       Pflegbarkeit (supportability / maintainability )




Seite 22
Tests für Funktionalität

       Fachliche Korrektheit

       Sicherheit

       Anforderungen an Mengengerüste




Seite 23
Tests für Benutzungsfreundlichkeit

       Interaktion „Mensch-System“

       Ästhetische Aspekte

       Ergonomische Aspekte

       Online- und context-sensitive Hilfe

       Benutzerdokumentation




Seite 24
Tests für Zuverlässigkeit

       Integritätstest
           – Kompatibilität


       Strukturtest auf
           – Quellcode
           – Webseiten


       Robustheitstest
           – Wiederanlauffähigkeit




Seite 25
Tests für Performance
       Benchmarking

       Test auf konkurrierender Nutzung
           – Anzahl der Nutzer


       Lasttests

       Stresstest
           – Verhalten des Systems unter Extrembedingungen




Seite 26
Tests für Pflegbarkeit

       Konfigurationstest
           – Unterstützung unterschiedlicher Laufzeitumgebungen


       Installationstest




Seite 27
Wo sind wir

       Einführung

       Auf welcher Ebene wird getestet – testing level

       Was wird getestet– testing categories

       Wie wird getestet – testing methods and tools

       Alles zusammen – test execution




Seite 28
Testmethoden
       White Box Testing
           – Interne Strukturen des Testziels sind gläsern
           – Tests nutzen interne Strukturen
           – Unittesting, Codeanalyse, Codeabdeckung, …

       Black Box Testing
           – Interne Strukturen des Testziels sind verborgen
           – Anforderungs- und Funktionalitätstests

       Gray Box Testing
           – wie Black Box Testing, nutzt aber innere Kenntnisse
             z.B. über Datenbankstrukturen
Seite 29
Testwerkzeuge I
       lassen Test erstellen

       sind Spezialisten für
           – einen Testtyp (oft noch spezialisierter)
           – eine Technologie

       lassen sich nach Testmethoden klassifizieren




Seite 30
Testwerkzeuge II

       Beispiele
           – JUnit für funktionale Unit- /Integrationstests
           – Capture & Replay für Webanwendungen
           – Grinder, HttpUnit für Web-Lasttests


       OpenSource Testing Tools
           – http://java-source.net/open-source/testing-tools




Seite 31
Wo sind wir

       Einführung

       Auf welcher Ebene wird getestet – testing level

       Was wird getestet– testing categories

       Wie wird getestet – testing methods and tools

       Alles zusammen – test execution




Seite 32
Testausführung I

       bedarf einer Ausführungsumgebung
           – ist werkzeuggestützt


       umfasst
           – SCM und Build
           – Aufbau einer Testumgebung (optional)
           – Deployment des Systems (optional)
           – Deployment der Tests (optional)
           – Ausführung des Tests
           – Test Defect Management


Seite 33
Test Defect Management

       Test Defects müssen systematisch behandelt werden
           – Defects als Ausgang eines Tests

       Test Defect Management
           – beinhaltet Reporting
           – unterstützt Fehlerbehebung
               • stellt einen Workflow bereit

           – liefert Testmetriken
               • Codeabdeckung
               • Maße für Defects
               • Reifegrad der Software


Seite 34
Testaktivitäten I
       Begleitung der requirement analyse
           – Welche Aspekte / use cases des Systems sind testbar ?
           – Welche Szenarien sind denkbar ?
           – Rolle test engineer

       Begleitung der Systemarchitektur
           – Wie sieht eine Testumgebung aus?
           – Welche Systemaspekte sind zu testen (Performance, Durchsatz, …) ?
           – Rolle test engineer

       Test planning: Teststrategie und Testplan werden aufgestellt
           – Siehe IEEE 829
           – Rolle test engineer
Seite 35
Testaktivitäten II
       Test development: Entwicklung der Tests
           – test procedures, test scenarios, test cases, test data, test scripts
           – Rolle Entwickler (Unittest/Integrationstest) oder test engineer

       Ausführung der Tests

       Test reporting: Auswertung der Testergebnisse

       Defect Analysis

       Retesting der behobenen Fehler

       Regression testing


Seite 36
Zusammenfassung

       ein Test hat 3 Dimensionen
           – Testebene
               • In welcher Granularität wird getestet?


           – Testkategorie
               • Welche Qualitätseigenschaft wird getestet?


           – Testmethode
               • Welche Technologie wird mit welchem Werkzeug getestet?


       Ausführungsumgebung- und -planung
           – sorgt für die Ausführung und Ergebnisverwaltung der Tests


Seite 37
Ziel des Thementages

Sie erfahren heute, wie …

     eine Testumgebung zur Ausführung von Tests aufgebaut
     ist / sein kann
           – Werkzeuge

     wie ein unterstützender Prozess aufgebaut ist / sein kann, der
           – die Ausführung von Tests integriert
           – die Ausführung von Tests automatisiert
           – das Reporting von Testausführung integriert

     ein solcher Prozess aus Sicht der Projektleitung eingeführt wird

Seite 38
Referenzen

[Perry2000]
   William E. Perry, Effective Methods for Software Testing, 2nd Edition,
   John Wiley & Sons, Inc., New York, NY, 2000, ISBN 0-471-35418-X

[McConnell2004]
   McConnell, Steve (2004). Code Complete (2nd ed.). Microsoft Press.
   pp. 960. ISBN 0-7356-1967-0.




Seite 39
Links

http://rup.hops-fp6.org/process/workflow/test/co_tytst.htm

http://www.softwaretestingwiki.com/doku.php

http://www.nickjenkins.net/prose/testingPrimer.pdf

http://martinfowler.com/articles/continuousIntegration.html




Seite 40
www.iks-gmbh.com




Seite 41
Anhang




Seite 42
Integrationtesting III

       Bottom Up Integrationstesting
           – Low-Level Komponenten zuerst
           – Einsatz von Treibern, die die Integration auf höherer
             Ebene simulieren
           – Setzt entsprechende Designstrategie voraus




Seite 43
Integrationtesting III

       Top Down Integrationstest
           – High-Level Komponenten zuerst
           – Benötigte Komponenten werden simuliert
           – Simulation mittels Stubbing/Mocking
           – Setzt entsprechende Designstrategie voraus




Seite 44
Intergrationstesting IV

       Mixed-testing
           – Button up
              • Infrastruktur Komponenten
           – Top down
              • ansonsten




Seite 45
Best practices

       Test Early, Test Often

       Regression vs. Retesting

       White-Box vs Black-Box testing

       Verification and Validation




Seite 46
Seite 47

Weitere ähnliche Inhalte

Was ist angesagt?

UML Klassendiagramme - Einführung
UML Klassendiagramme - EinführungUML Klassendiagramme - Einführung
UML Klassendiagramme - EinführungMichael Whittaker
 
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...Simplilearn
 
System of systems modeling with Capella
System of systems modeling with CapellaSystem of systems modeling with Capella
System of systems modeling with CapellaObeo
 
BizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-OrganisationBizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-OrganisationUwe Weng
 
Cigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Technologies Ltd
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsAmit Rawat
 
automation framework
automation frameworkautomation framework
automation frameworkANSHU GOYAL
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automationEran Kinsbrunner
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9Ian Sommerville
 
Benefits of integration with the Mulesoft Anypoint Platform
Benefits of integration with the Mulesoft Anypoint PlatformBenefits of integration with the Mulesoft Anypoint Platform
Benefits of integration with the Mulesoft Anypoint PlatformCloud Analogy
 
Selenium Presentation at Engineering Colleges
Selenium Presentation at Engineering CollegesSelenium Presentation at Engineering Colleges
Selenium Presentation at Engineering CollegesVijay Rangaiah
 
Microsoft Product Licensing Basics
Microsoft Product Licensing BasicsMicrosoft Product Licensing Basics
Microsoft Product Licensing BasicsFlorisKlaver1
 
How to apply AI to Testing
How to apply AI to TestingHow to apply AI to Testing
How to apply AI to TestingSAP SE
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMIBM UrbanCode Products
 
Tailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKTailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKObeo
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing PyramidNaresh Jain
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessLee Barnes
 

Was ist angesagt? (20)

Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
UML Klassendiagramme - Einführung
UML Klassendiagramme - EinführungUML Klassendiagramme - Einführung
UML Klassendiagramme - Einführung
 
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
What Is Selenium? | Selenium Basics For Beginners | Introduction To Selenium ...
 
System of systems modeling with Capella
System of systems modeling with CapellaSystem of systems modeling with Capella
System of systems modeling with Capella
 
BizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-OrganisationBizDevOps - Die prozessorientierte IT-Organisation
BizDevOps - Die prozessorientierte IT-Organisation
 
Cigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Independent Software Testing Services
Cigniti Independent Software Testing Services
 
Ch20 systems of systems
Ch20 systems of systemsCh20 systems of systems
Ch20 systems of systems
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
 
automation framework
automation frameworkautomation framework
automation framework
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
Ch16-Software Engineering 9
Ch16-Software Engineering 9Ch16-Software Engineering 9
Ch16-Software Engineering 9
 
Benefits of integration with the Mulesoft Anypoint Platform
Benefits of integration with the Mulesoft Anypoint PlatformBenefits of integration with the Mulesoft Anypoint Platform
Benefits of integration with the Mulesoft Anypoint Platform
 
Selenium Presentation at Engineering Colleges
Selenium Presentation at Engineering CollegesSelenium Presentation at Engineering Colleges
Selenium Presentation at Engineering Colleges
 
Microsoft Product Licensing Basics
Microsoft Product Licensing BasicsMicrosoft Product Licensing Basics
Microsoft Product Licensing Basics
 
How to apply AI to Testing
How to apply AI to TestingHow to apply AI to Testing
How to apply AI to Testing
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBM
 
Regression testing
Regression testingRegression testing
Regression testing
 
Tailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKTailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UK
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing Pyramid
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 

Andere mochten auch

Adapting my business - Turismo - Segittur - Carlos Romero
Adapting my business - Turismo - Segittur - Carlos RomeroAdapting my business - Turismo - Segittur - Carlos Romero
Adapting my business - Turismo - Segittur - Carlos RomeroFactor CO2
 
Dispositivo intrauterino (diu)
Dispositivo intrauterino (diu)Dispositivo intrauterino (diu)
Dispositivo intrauterino (diu)Lau2404
 
Mdc de la unidad curricular
Mdc  de la unidad curricularMdc  de la unidad curricular
Mdc de la unidad curriculargladyscon
 
Foro grupal coevaluación- unidad 3, diapositivas
Foro grupal  coevaluación- unidad 3, diapositivasForo grupal  coevaluación- unidad 3, diapositivas
Foro grupal coevaluación- unidad 3, diapositivasDajuvi
 
El presupuesto
El presupuestoEl presupuesto
El presupuestoUNIANDES
 
Trabajo de informatica valentina
Trabajo de informatica valentinaTrabajo de informatica valentina
Trabajo de informatica valentinavalentinarios1999
 
Los mejores aviones helicópteros y otros aparatos voladores 2
Los mejores  aviones helicópteros y otros aparatos voladores 2Los mejores  aviones helicópteros y otros aparatos voladores 2
Los mejores aviones helicópteros y otros aparatos voladores 2Farlydaniel
 
Manual de instalar y utilizar file zilla
Manual de instalar y utilizar file zillaManual de instalar y utilizar file zilla
Manual de instalar y utilizar file zillaDayliTovar
 
Eventkommunikation in Zeiten von Social Media
Eventkommunikation in Zeiten von Social MediaEventkommunikation in Zeiten von Social Media
Eventkommunikation in Zeiten von Social Mediaguliverka
 

Andere mochten auch (20)

Cronograma
CronogramaCronograma
Cronograma
 
Adapting my business - Turismo - Segittur - Carlos Romero
Adapting my business - Turismo - Segittur - Carlos RomeroAdapting my business - Turismo - Segittur - Carlos Romero
Adapting my business - Turismo - Segittur - Carlos Romero
 
Dispositivo intrauterino (diu)
Dispositivo intrauterino (diu)Dispositivo intrauterino (diu)
Dispositivo intrauterino (diu)
 
Mdc de la unidad curricular
Mdc  de la unidad curricularMdc  de la unidad curricular
Mdc de la unidad curricular
 
Base de datos
Base de datosBase de datos
Base de datos
 
Rubio Huayamave
Rubio HuayamaveRubio Huayamave
Rubio Huayamave
 
Antenas
AntenasAntenas
Antenas
 
Foro grupal coevaluación- unidad 3, diapositivas
Foro grupal  coevaluación- unidad 3, diapositivasForo grupal  coevaluación- unidad 3, diapositivas
Foro grupal coevaluación- unidad 3, diapositivas
 
ARTERIAS-JULLIETH
ARTERIAS-JULLIETHARTERIAS-JULLIETH
ARTERIAS-JULLIETH
 
El presupuesto
El presupuestoEl presupuesto
El presupuesto
 
Trabajo final expresion oral
Trabajo final expresion oralTrabajo final expresion oral
Trabajo final expresion oral
 
Trabajo de informatica valentina
Trabajo de informatica valentinaTrabajo de informatica valentina
Trabajo de informatica valentina
 
Los mejores aviones helicópteros y otros aparatos voladores 2
Los mejores  aviones helicópteros y otros aparatos voladores 2Los mejores  aviones helicópteros y otros aparatos voladores 2
Los mejores aviones helicópteros y otros aparatos voladores 2
 
Arte prehistórico
Arte prehistóricoArte prehistórico
Arte prehistórico
 
Knowtech vortrag
Knowtech vortragKnowtech vortrag
Knowtech vortrag
 
Manual de instalar y utilizar file zilla
Manual de instalar y utilizar file zillaManual de instalar y utilizar file zilla
Manual de instalar y utilizar file zilla
 
Tare1
Tare1Tare1
Tare1
 
Análisis foda
Análisis fodaAnálisis foda
Análisis foda
 
Operaciones en excel
Operaciones en excelOperaciones en excel
Operaciones en excel
 
Eventkommunikation in Zeiten von Social Media
Eventkommunikation in Zeiten von Social MediaEventkommunikation in Zeiten von Social Media
Eventkommunikation in Zeiten von Social Media
 

Ähnlich wie Softwaretests: Motivation und Überblick

Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungChristian Baranowski
 
Testen von Software (german)
Testen von Software (german)Testen von Software (german)
Testen von Software (german)Markus Wichmann
 
Scrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDScrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDSwissQ Consulting AG
 
Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?Connected-Blog
 
Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013Nico Orschel
 
Webanwendungen testen
Webanwendungen testenWebanwendungen testen
Webanwendungen testenBoris Köster
 
Automatisiertes webauftritt testen
Automatisiertes webauftritt testenAutomatisiertes webauftritt testen
Automatisiertes webauftritt testenmradamlacey
 
Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Hendrik Lösch
 
Creasoft - Software QS Review
Creasoft - Software QS ReviewCreasoft - Software QS Review
Creasoft - Software QS ReviewCreasoft AG
 
Automatisierter Software-Test unter Java
Automatisierter Software-Test unter JavaAutomatisierter Software-Test unter Java
Automatisierter Software-Test unter JavaGFU Cyrus AG
 
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Digicomp Academy AG
 
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Florian Wolters
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014WebcsonsultsEU
 
Creasoft - Software QS
Creasoft - Software QSCreasoft - Software QS
Creasoft - Software QSCreasoft AG
 
Automatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-ProzessAutomatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-Prozessx-celerate
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenGjero Krsteski
 
Test Management mit Visual Studio 2012
Test Management mit Visual Studio 2012Test Management mit Visual Studio 2012
Test Management mit Visual Studio 2012Nico Orschel
 

Ähnlich wie Softwaretests: Motivation und Überblick (20)

Einführung in die Software-Qualitätssicherung
Einführung in die Software-QualitätssicherungEinführung in die Software-Qualitätssicherung
Einführung in die Software-Qualitätssicherung
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
Testen von Software (german)
Testen von Software (german)Testen von Software (german)
Testen von Software (german)
 
Softwaretests: Werkzeuge zur Automatisierung
Softwaretests: Werkzeuge zur AutomatisierungSoftwaretests: Werkzeuge zur Automatisierung
Softwaretests: Werkzeuge zur Automatisierung
 
Scrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADEDScrum Rocks, Testing Sucks ?! RELOADED
Scrum Rocks, Testing Sucks ?! RELOADED
 
Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?
 
Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013
 
Webanwendungen testen
Webanwendungen testenWebanwendungen testen
Webanwendungen testen
 
Automatisiertes webauftritt testen
Automatisiertes webauftritt testenAutomatisiertes webauftritt testen
Automatisiertes webauftritt testen
 
Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?Was ist eigentlich eine Unit?
Was ist eigentlich eine Unit?
 
Creasoft - Software QS Review
Creasoft - Software QS ReviewCreasoft - Software QS Review
Creasoft - Software QS Review
 
Automatisierter Software-Test unter Java
Automatisierter Software-Test unter JavaAutomatisierter Software-Test unter Java
Automatisierter Software-Test unter Java
 
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)Referat: Scrum Rocks – Testing Sucks?! (reloaded)
Referat: Scrum Rocks – Testing Sucks?! (reloaded)
 
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
Automatisiertes Testen von Software in C++ (mit dem Test Framework Google Test)
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014
 
Creasoft - Software QS
Creasoft - Software QSCreasoft - Software QS
Creasoft - Software QS
 
Test-Alternativen
Test-AlternativenTest-Alternativen
Test-Alternativen
 
Automatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-ProzessAutomatisierung von Security Test im Build-Prozess
Automatisierung von Security Test im Build-Prozess
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-Anwendungen
 
Test Management mit Visual Studio 2012
Test Management mit Visual Studio 2012Test Management mit Visual Studio 2012
Test Management mit Visual Studio 2012
 

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingtEs wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
 
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
 
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdfThementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
 
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdfThementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
 
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdfThementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
 
Thementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdfThementag 2022 04 ML auf die Schiene gebracht.pdf
Thementag 2022 04 ML auf die Schiene gebracht.pdf
 
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdfThementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
 
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdfThementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
Thementag 2022 02 Der Deutschen Bahn in die Karten geschaut.pdf
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
 
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 

Softwaretests: Motivation und Überblick

  • 1. Motivation und Überblick iks-Thementag : „Wer testet, ist feige“ 24.06.2009 Autor: Christoph Schmidt-Casdorff Carsten Schädel Seite 2
  • 2. Agenda Einführung Auf welcher Ebene wird getestet – testing level Was wird getestet– testing categories Wie wird getestet – testing methods and tools Alles zusammen – test execution Seite 3
  • 3. Fehler in Software Mythos: Software ist fehlerfrei – ist nicht nachweisbar – Testen findet Fehler, weist nicht deren Abwesenheit nach Mythos: Qualität meint a priori für Jeden dasselbe – es gibt unterschiedliche Dimensionen • Funktionalität, Performance, … – Qualität muss festgelegt werden – Qualität ist keine Eigenschaft, sondern eine Metrik Mythos: Qualität ‚geschieht‘ von selbst – das Ziel ‚Qualität‘ muss Bestandteil des Entwicklungsprozess sein Seite 4
  • 4. Fehler in Software Je später ein Fehler entdeckt wird, desto teurer wird dessen Behebung Quelle: [McConnell2004] 63 % der Fehler stammen aus Analyse/Design [Perry2000] – viele Fehler sind früh zu erkennen Seite 5
  • 5. Fehler in Software: Quintessenz Es muss getestet werden … so früh wie möglich Qualitätskriterien müssen festgelegt werden Qualität ist Bestandteil des Entwicklungsprozesses Seite 6
  • 6. Wo sind wir Einführung Auf welcher Ebene wird getestet – testing level Was wird getestet– testing categories Wie wird getestet – testing methods and tools Alles zusammen – test execution Seite 7
  • 7. Testebene Granularität des zu testenden Systems – (target-of-test) in Reihenfolge in abnehmender Granularität – Unit testing – Integration testing – System testing – Acceptance testing Seite 8
  • 9. Unit / Component testing Unit ist die kleinste zu testende Softwareeinheit – kann kompiliert, gelinkt, geladen werden … – Klassen, Interfaces, Prozeduren, …. wird durch Entwicklung erstellt – buddy testing • Testen und Entwicklung durch verschiedene Personen Seite 10
  • 10. Integrationstest I fasst Units und Module zu sinnvollen Testgruppen zusammen – setzt sich aus unterschiedlichen Quellen zusammen • Libraries, Subsysteme, Module, … testet Kollaboration Integrationstests verdichten schrittweise – bis das Gesamtsystem abgedeckt ist Seite 11
  • 11. Integrationstest II wird durch Entwicklung durchgeführt – Buddy testing Testmethoden vergleichbar zu Unit testing Seite 12
  • 12. Systemtest I testet vollständiges System – vollständige Kollaboration aller Komponenten – Integration mit externen Systemen beinhaltet nicht-funktionale Tests – Performance, Last, ….. Seite 13
  • 13. Systemtest II verifiziert Umsetzung – Abgleich mit Designspezifikation wird durch Testteam durchgeführt wird auf spezieller Umgebung durchgeführt Seite 14
  • 14. Abnahmetest I …. auch als Acceptancetest bezeichnet testet, ob das System die Anforderungen erfüllt, – aus Sicht des Kunden / Auftraggebers – entscheidender Teil der Abnahme umfasst i.d.R. nicht-funktionale Tests – Performance, Last , …. umfasst das Gesamtprodukt – inkl. Dokumentation, … Seite 15
  • 15. Abnahmetest II wird durch Kunde / Auftraggeber durchgeführt wird in produktionsnaher/-identischer Umgebung ausgeführt Seite 16
  • 16. Regressionstest testet, ob eine Fehlerbehebung unerwartete Auswirkungen hat ist ein andauernder Prozess – über den gesamten Testlebenszyklus – umfasst alle Testebenen wird bei jeder Programmänderung durchgeführt Seite 17
  • 17. Smoke Test I ist ein Gesundheitscheck des System – angestoßen i.d.R. durch den Bau des Systems (system build) – Synonym: build verification test ist Verfahren während der Entwicklung – evtl. Fehler werden sofort behoben ist ein Typ eines Regressionstests Seite 18
  • 18. Smoke Test II beinhaltet oft eine aussagekräftige Teilmenge aller Tests – alle Tests sprengen das mögliche Zeitfenster gängige Verfahren sind – daily build – build on check-in Seite 19
  • 19. Continuous Integration im Team wird Software häufig integriert – mindestens 1x täglich – jede Integration wird durch Build verifiziert bedarf Werkzeugunterstützung ist Entwicklungsverfahren Verfahren für Smoke Test bei build on check-in Seite 20
  • 20. Wo sind wir Einführung Auf welcher Ebene wird getestet – testing level Was wird getestet– testing categories Wie wird getestet – testing methods and tools Alles zusammen – test execution Seite 21
  • 21. Dimensionen der Qualität Funktionalität (functionality) Benutzungsfreundlichkeit (usability) Zuverlässigkeit (reliability) Performance Pflegbarkeit (supportability / maintainability ) Seite 22
  • 22. Tests für Funktionalität Fachliche Korrektheit Sicherheit Anforderungen an Mengengerüste Seite 23
  • 23. Tests für Benutzungsfreundlichkeit Interaktion „Mensch-System“ Ästhetische Aspekte Ergonomische Aspekte Online- und context-sensitive Hilfe Benutzerdokumentation Seite 24
  • 24. Tests für Zuverlässigkeit Integritätstest – Kompatibilität Strukturtest auf – Quellcode – Webseiten Robustheitstest – Wiederanlauffähigkeit Seite 25
  • 25. Tests für Performance Benchmarking Test auf konkurrierender Nutzung – Anzahl der Nutzer Lasttests Stresstest – Verhalten des Systems unter Extrembedingungen Seite 26
  • 26. Tests für Pflegbarkeit Konfigurationstest – Unterstützung unterschiedlicher Laufzeitumgebungen Installationstest Seite 27
  • 27. Wo sind wir Einführung Auf welcher Ebene wird getestet – testing level Was wird getestet– testing categories Wie wird getestet – testing methods and tools Alles zusammen – test execution Seite 28
  • 28. Testmethoden White Box Testing – Interne Strukturen des Testziels sind gläsern – Tests nutzen interne Strukturen – Unittesting, Codeanalyse, Codeabdeckung, … Black Box Testing – Interne Strukturen des Testziels sind verborgen – Anforderungs- und Funktionalitätstests Gray Box Testing – wie Black Box Testing, nutzt aber innere Kenntnisse z.B. über Datenbankstrukturen Seite 29
  • 29. Testwerkzeuge I lassen Test erstellen sind Spezialisten für – einen Testtyp (oft noch spezialisierter) – eine Technologie lassen sich nach Testmethoden klassifizieren Seite 30
  • 30. Testwerkzeuge II Beispiele – JUnit für funktionale Unit- /Integrationstests – Capture & Replay für Webanwendungen – Grinder, HttpUnit für Web-Lasttests OpenSource Testing Tools – http://java-source.net/open-source/testing-tools Seite 31
  • 31. Wo sind wir Einführung Auf welcher Ebene wird getestet – testing level Was wird getestet– testing categories Wie wird getestet – testing methods and tools Alles zusammen – test execution Seite 32
  • 32. Testausführung I bedarf einer Ausführungsumgebung – ist werkzeuggestützt umfasst – SCM und Build – Aufbau einer Testumgebung (optional) – Deployment des Systems (optional) – Deployment der Tests (optional) – Ausführung des Tests – Test Defect Management Seite 33
  • 33. Test Defect Management Test Defects müssen systematisch behandelt werden – Defects als Ausgang eines Tests Test Defect Management – beinhaltet Reporting – unterstützt Fehlerbehebung • stellt einen Workflow bereit – liefert Testmetriken • Codeabdeckung • Maße für Defects • Reifegrad der Software Seite 34
  • 34. Testaktivitäten I Begleitung der requirement analyse – Welche Aspekte / use cases des Systems sind testbar ? – Welche Szenarien sind denkbar ? – Rolle test engineer Begleitung der Systemarchitektur – Wie sieht eine Testumgebung aus? – Welche Systemaspekte sind zu testen (Performance, Durchsatz, …) ? – Rolle test engineer Test planning: Teststrategie und Testplan werden aufgestellt – Siehe IEEE 829 – Rolle test engineer Seite 35
  • 35. Testaktivitäten II Test development: Entwicklung der Tests – test procedures, test scenarios, test cases, test data, test scripts – Rolle Entwickler (Unittest/Integrationstest) oder test engineer Ausführung der Tests Test reporting: Auswertung der Testergebnisse Defect Analysis Retesting der behobenen Fehler Regression testing Seite 36
  • 36. Zusammenfassung ein Test hat 3 Dimensionen – Testebene • In welcher Granularität wird getestet? – Testkategorie • Welche Qualitätseigenschaft wird getestet? – Testmethode • Welche Technologie wird mit welchem Werkzeug getestet? Ausführungsumgebung- und -planung – sorgt für die Ausführung und Ergebnisverwaltung der Tests Seite 37
  • 37. Ziel des Thementages Sie erfahren heute, wie … eine Testumgebung zur Ausführung von Tests aufgebaut ist / sein kann – Werkzeuge wie ein unterstützender Prozess aufgebaut ist / sein kann, der – die Ausführung von Tests integriert – die Ausführung von Tests automatisiert – das Reporting von Testausführung integriert ein solcher Prozess aus Sicht der Projektleitung eingeführt wird Seite 38
  • 38. Referenzen [Perry2000] William E. Perry, Effective Methods for Software Testing, 2nd Edition, John Wiley & Sons, Inc., New York, NY, 2000, ISBN 0-471-35418-X [McConnell2004] McConnell, Steve (2004). Code Complete (2nd ed.). Microsoft Press. pp. 960. ISBN 0-7356-1967-0. Seite 39
  • 42. Integrationtesting III Bottom Up Integrationstesting – Low-Level Komponenten zuerst – Einsatz von Treibern, die die Integration auf höherer Ebene simulieren – Setzt entsprechende Designstrategie voraus Seite 43
  • 43. Integrationtesting III Top Down Integrationstest – High-Level Komponenten zuerst – Benötigte Komponenten werden simuliert – Simulation mittels Stubbing/Mocking – Setzt entsprechende Designstrategie voraus Seite 44
  • 44. Intergrationstesting IV Mixed-testing – Button up • Infrastruktur Komponenten – Top down • ansonsten Seite 45
  • 45. Best practices Test Early, Test Often Regression vs. Retesting White-Box vs Black-Box testing Verification and Validation Seite 46