Systematische Testfallableitung und Tests durchführen



Ähnliche Dokumente
Teststrategie festlegen und Teststufen aufeinander abstimmen

Reviews von Entwicklungsartefakten durchführen

Produktphilosophie erstellen

Testen - Konzepte und Techniken

Grundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service

Hauptseminar Automotive Software Engineering Testen, Rapid Prototyping und x in the loop

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

3. Verpackungskünstler. Berechnungen am Quader, Umgang mit Termen, räumliche Vorstellung

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Whitebox-Tests: Allgemeines

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Fragebogen zur Anforderungsanalyse

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Automatische Testfallgenerierung aus Modellen. 8. Neu-Ulmer Test-Engineering-Day Martin Miethe

Orientierungstest für angehende Industriemeister. Vorbereitungskurs Mathematik

Qualitätsmanagement im Projekt

Requirements Engineering für IT Systeme


Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

ARCO Software - Anleitung zur Umstellung der MWSt

Trainingsplan 21-wöchiger Trainingsplan für einen Langdistanz-Schwimm- Wettkampf

SharePoint Demonstration

Kundenanforderungen dokumentieren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Wichtiges Thema: Ihre private Rente und der viel zu wenig beachtete - Rentenfaktor

Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.

1 topologisches Sortieren

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Professionelle Seminare im Bereich MS-Office

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Was meinen die Leute eigentlich mit: Grexit?

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Programmiertechnik II

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

IWW Studienprogramm. Grundlagenstudium. Projektplanung Teil D. Lösungsmuster zur 1. Musterklausur

virtuos Leitfaden für die virtuelle Lehre

Senkung des technischen Zinssatzes und des Umwandlungssatzes

SWOT-Analyse. Der BABOK V2.0 (Business Analysis Body Of Knowledge) definiert die SWOT-Analyse wie folgt:

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

9001 weitere (kleinere) Änderungen

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Grob- und Detailplanung bei der Implementierung nutzen

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Schritt für Schritt zur Krankenstandsstatistik

Java Entwicklung für Embedded Devices Best & Worst Practices!

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Nicht über uns ohne uns

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Validierung und Verifikation!

SICHERN DER FAVORITEN

Konzepte der Informatik

Pflegende Angehörige Online Ihre Plattform im Internet

Ein Testprozess für Modellbasiertes Testen

Hochschule Darmstadt Fachbereich Informatik

Systemen - Einleitung

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Tester als Coach ein Erfolgsmodell

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Effizienzsteigerung von Softwaretests durch Automatisierung

Zeichen bei Zahlen entschlüsseln

StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Einführung und Motivation

Internet Explorer Version 6

Lizenzen auschecken. Was ist zu tun?

Beschreibung Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Tutorial about how to use USBView.exe and Connection Optimization for VNWA.

Leitfaden API. Testing und Debugging. Erstellt am Autor FG API, Rinaldo Lanza. Dokumentenstatus Freigegeben at work Version 1.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Task: Nmap Skripte ausführen

GPP Projekte gemeinsam zum Erfolg führen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Installationsanleitungen

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

FUTURE NETWORK REQUIREMENTS ENGINEERING

Regeln für das Qualitäts-Siegel

Dies ist nur ein Beispielfall!

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Speicher in der Cloud

Mehr Umsatz durch Übersetzungen? Geht das?

Wie oft soll ich essen?

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

ERP-Evaluation systematisch und sicher zum optimalen ERP-System

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Agile Software Verteilung

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Transkript:

Systematische Testfallableitung und Tests durchführen Testen Bereich Kontrolle Aktivität Interne Qualitätssicherung durchführen (Verifikation) Ziele Tests werden systematisch und zielgerichtet erstellt Vertrauen in die Qualität der Software erhöhen Informationen über das Qualitätsniveau gewinnen Fehler finden schnell durchführbar einfach durchführbar agil einsetzbar Motivation/Problemstellung Bei der Entwicklung von Software stellt sich immer die Frage, was wie getestet werden soll. Werden Testfälle unsystematisch abgeleitet, so können Teile beim Testen vergessen werden, so dass eine Aussage über die Qualität nur schwer möglich ist. Andererseits können durch unsystematische Testfallerstellung Teile doppelt getestet werden, was wiederum die Effizienz des Testens reduziert. Kurzbeschreibung Die systematische Testfallableitung sorgt für eine zielgerichtete Erstellung von aufeinander abgestimmten Testfällen. Es wird klar, welche Teile der Software wie gut durch Tests abgedeckt sind. Für unterschiedliche Qualitätsanforderungen können unterschiedliche Testfallableitungsmethoden verwendet werden. Als Basis für die Testfallableitung dient entweder eine Spezifikation, Modelle (für Black Box- Tests) oder der Code selbst (für White Box-Tests). An Black Box-Methoden werden unter anderem die Äquivalenzklassen und Grenzwertanalyse, der zustandsbezogene Test, Ursache-Wirkungs-Graphen und Entscheidungstabellen oder der anwendungsfallbezogene Test empfohlen. Die Wahl der Methodik hängt zum Beispiel ab von den Eigenschaften des Systems, der verfügbaren Testbasis, der Teststrategie, den Testressourcen oder dem Wissen über die Methodiken. An White Box-Tests werden die Anweisungsüberdeckung, die Entscheidungsüberdeckung sowie die Bedingungsüberdeckung empfohlen, wobei die genaue Wahl zum Beispiel von den Qualitätsanforderungen, der Systemstruktur, oder dem zu erreichenden Qualitätslevel abhängt. Die systematisch abgeleiteten Tests werden im Anschluss durchgeführt. www.pq4agile.de 1

Testbasis Testobjekt Artefakt Ableitung Ausführung Testobjekt Testfallableitungsmethoden Testergebnisse Abbildung 1:Systematische Testfallableitung und Durchführung Input Testbasis (z.b. Anforderungen, Design, Code) Output Testfälle, Verfolgbarkeitsmatrix, Aussagen über Abdeckungsgrade mit Tests Rahmenbedingungen Ausführender Tester Vorkenntnisse/Erfahrungen Vorkenntnisse in QS und dem Ableiten von Testfällen sind hilfreich Werkzeuge, Hilfsmittel Entsprechende Software (z.b. Excel oder fortgeschrittenere Werkzeuge), Papier, Stift Ort/Umgebung Büro Weitere Teilnehmer - Voraussichtliche Dauer Je nach Umfang der Testbasis und den Qualitätsanforderungen Vorgehensweise Vorbereitung Die Testbasis sollte in einem Zustand sein, der das Ableiten von Testfällen erlaubt (z.b. ausreichend detailliert, fehlerfrei). Dies kann durch die Best Practice Reviews von Entwicklungsartefakten geprüft werden. Es hängt von unterschiedlichen Faktoren ab, welche Technik zum Einsatz kommt es muss also basierend auf den konkreten Umgebungsfaktoren wie zu Verfügung stehender Testbasis, Art des Systems, Testziele, Teststrategie oder Testressourcen ausgewählt werden, welche Testfallableitungsmethoden zur Ableitung von Testfällen genutzt werden soll. Zum Beispiel können neben der Äquivalenzklassenbildung auch die Grenzwertanalyse eingesetzt werden, wenn es sich um eine besonders kritische Funktionalität handelt; oder die Grenzwertanalyse wird immer dann eingesetzt, wenn noch Aufwand zur Verfügung steht bzw. der Tester dies als relevant ansieht. Eine allgemeine Empfehlung ist aufgrund der Menge der Einflussfaktoren und der verschiedensten Umgebungen nicht möglich. Zudem sollte die Testbasis einen ausreichend stabilen Zustand erreicht haben, damit die erstellten Testfälle nicht fortlaufend angepasst werden müssen. www.pq4agile.de 2

Durchführung Hinsichtlich Black-Box Tests ist eine der am häufigsten angewendeten Methoden zur Ableitung von Testfällen die Äquivalenzklassenbildung und Grenzwertanalyse, bei der Gruppen von Werten gesucht werden, für die das System das gleiche Verhalten zeigt. Ist das Verhalten des Systems stark von Zuständen abhängig, sollte der zustandsbezogene Test als Methode für das Ableiten von Werten für die Tests gewählt werden. Hierbei werden oft Zustandsmodelle für die Spezifikation genutzt. Für das Prüfen von Ursachen und damit verbundenen Wirkungen werden oft Entscheidungstabellen genutzt, mit deren Hilfe die Anzahl der nötigen Testfälle leicht sehr stark reduziert werden kann. Testfälle können ebenfalls aus Use Cases oder User Stories abgeleitet werden, indem für jeden möglichen Pfad eines Use Cases ein Testfall gebildet wird. Entsprechend der Granularität der Use Cases ist der abgeleitete Test in dieser Form nicht direkt automatisierbar, er kann aber mit Hilfe von Capture Replay-Werkzeugen bei der Ausführung aufgezeichnet und damit automatisiert wiederholbar gemacht werden. Bei der Ableitung aus funktionalen Anforderungen werden für jede Anforderung Testfälle gebildet. Je nach der Formulierung können auch mehrere Testfälle notwendig sein. Besonderes Augenmerk ist wie in allen Fällen auf negative Tests zu legen, d.h. solche, die unerwartete Eingaben vornehmen. Für User Stories müssen die Szenarien im Test abgebildet werden, die durch die Story beschrieben werden. Da diese Stories im Allgemeinen sehr viel knapper formuliert sind als Use Cases, müssen die einzelnen Schritte im Vorfeld verfeinert werden, um die Schritte, die ein Benutzer über der Benutzeroberfläche ebenfalls vornehmen würde, zu ermitteln. Bei den Techniken sollte mit einer Matrix die Abdeckung von Anforderungen mit Tests dokumentiert werden. Zudem ist Verfolgbarkeit sicherzustellen, d.h. festzuhalten welcher Test welche Anforderung abdeckt. Die folgende Tabelle fasst die genannten Techniken noch einmal übersichtlich zusammen. Nr. Testtechnik Erklärung 1. Äquivalenzklassenbildung Nutzung bei Wertebereichen, Auswahl für gültige und ungültige Repräsentanten 2. Grenzwertanalyse Ergänzung der Repräsentanten aus Äquivalenzklassen an den Grenzwerten 3. Zustandsbezogener Test Berücksichtigung des Ablaufs des Systems durch Zustandsdiagramme als Basis für Testfälle 4. Entscheidungstabellen Aufführung einer Menge von Bedingungen und Aktionen in einer Entscheidungstabelle, so dass jede Spalte dann einem Test entspricht 5. Use Case / User story-basierter Test Ableitung von Tests aus Anwendungsfallbeschreibungen Für die Erstellung von White Box Tests muss die konkrete Codestruktur in die Erstellung einbezogen werden. Als Hilfsmittel werden häufig Kontrollflussdiagramme aus dem Code abgeleitet, um die Überdeckung zu prüfen. Auf einfachen Abdeckungsstufen muss dabei nur jede Anweisung (dargestellt als Knoten in einem Kontrollflussdiagramm) einmal von einem Testfall durchlaufen werden. Für die Entscheidungsüberdeckung müssen die Testfälle so gestaltet sein, dass jede Entscheidung im Code sowohl positiv als auch negativ ausfällt. In diesem Fall reicht die Gesamtentscheidung. Bei komplexen Systemen kann es dagegen erforderlich sein, die atomaren Teilentscheidungen im Test positiv und negativ ausfallen zu lassen. Letztlich liefern alle genannten White-Box Testfalldesignmethoden eine Aussage www.pq4agile.de 3

darüber, wie gut die zugrundeliegende Codestruktur mit Testfällen überprüft wird. Die Abdeckung des Codes kann dabei mit entsprechenden Werkzeugen gemessen werden. Eine weitere Technik für White Box Tests ist es, Test-Driven Development oder Test First zu verwenden. Dabei werden Testfälle geschrieben, ohne dass Code zur Verfügung steht. Dabei wechselt sich die Implementierung von Tests und von Code ab. Nach jedem Test wird eine geringe Menge an Code geschrieben, die es erlaubt genau diesen Testfall zum erfolgreichen Durchlaufen zu bringen. Zur effizienten Erreichung einer hohen Codeabdeckung kann zunächst mit Black Box-Tests getestet werden. Dabei wird die Abdeckung gemessen, und bei Bedarf werden ergänzend White Box Tests erstellt. Die abgeleiteten Testfälle sind zu dokumentieren, bzw. zu implementieren. Nachbereitung/Auswertung Nach der Ableitung sollten die Testfälle ausgeführt werden. Gütekriterien/Empfehlungen Es ist keine allgemeingültige Empfehlung für eine Testfallableitungstechnik zu geben, da diese Auswahl von unterschiedlichen Faktoren abhängt, eine Hilfestellung bei der konkreten Auswahl bieten aber die zuvor genannten Heuristiken. Alle Techniken sind im agilen Umfeld einsetzbar. Zudem ist es unbedingt empfehlenswert, systematische Testfallableitung zu nutzen, um die Qualität des Systems einschätzen zu können, sowie die Tests planbar zu machen; ergänzend können erfahrungsbasierte Testfallableitungstechniken genutzt werden. Die Testfälle sollen nach den Grundsätzen der genannten Techniken für die Testableitung erstellt werden. Ebenso sollte sich die Intensität der Testfälle, d.h. die zu erreichende Abdeckung nach der Kritikalität richten. Überdeckungsmaße sollten jedoch mit Bedacht eingesetzt werden, da eine hohe Überdeckung noch keine hohe Qualität gewährleistet. Die abgeleiteten Testfälle sind zu dokumentieren. Risiken Die Best Practice ist bei sich ständig ändernden Testbasen nur schwer umzusetzen, weil sich damit auch die Testfälle ändern müssen. Entgegen der Empfehlung können die Testfälle somit erst spät entworfen werden. Bei sich änderndem Code müssen auch die Testfälle häufig angepasst werden. Einordnung in den agilen Referenzprozess Mögliche Vorgänger Teststufen aufeinander abstimmen, Priorisierung von Tests, Planung der Testressourcen, Softwareinkrement implementieren Mögliche Nachfolger Systematische Testdurchführung, Testdokumentation, Fehler beheben Mögliche Alternativen, verwandte Praktiken Exploratives Testen kann ergänzend verwendet werden. www.pq4agile.de 4

Einordnung in das PQ4Agile-Qualitätsmodell Produktqualität: Funktionale Tauglichkeit, Zuverlässigkeit, Sicherheit, Wartbarkeit, Übertragbarkeit. Strukturqualität: Fähigkeit und Schulung des Personals, Bewusstsein des Personals Schlagworte Qualitätssicherung, Softwaretest, Testen, Testableitung Weiterführende Informationen Literatur A. Spillner, T. Linz: Basiswissen Softwaretest: Aus- und Weiterbildung zum Certified Tester Foundation Level nach ISTQB-Standard, dpunkt.verlag GmbH, 2012. P. Liggesmeyer: Software-Qualität. Testen, Analysieren und Verifizieren von Software, Spektrum Akademischer Verlag, 2009. I. Burnstein: Practical Software Testing. A Process-Oriented Approach. Springer-Verlag, 2003. G. Bath, J. McKay: Praxiswissen Softwaretest Test Analyst und Technical Test Analyst, Ausund Weiterbildung zum Certified Tester Advanced Level nach ISTQB-Standard, dpunkt.verlag GmbH, 2015. Best Practice Systematische Testfallableitung und Tests durchführen Version 1.0 15.06.2015 Autor: Frank Elberzhager, Alexander Klaus, Fraunhofer IESE Das Projekt PQ4Agile wird vom Bundesministerium für Bildung und Forschung im Rahmen der Maßnahme KMU-innovativ: IKT (01 S13032) gefördert. www.pq4agile.de 5