Catch the Bug Testaktivitäten erfolgreich messen



Ähnliche Dokumente
Standard Inhaltsverzeichnis für Testvorschrift

SimPDM Datenmodell im Kontext zu Teamcenter und PLMXML

Test-Strategien. Grundsätzliches Blackbox-Testen Whitebox-Testen Graybox-Testen Ablauf von Tests Zusammenfassung. HS Mannheim

Melde- und Veröffentlichungsplattform Portal (MVP Portal) Hochladen einer XML-Datei

Whitebox-Tests: Allgemeines

Dr. Klaus Lamberg, Michael Beine

Funktionale Sicherheit Testing unter

Testen Prinzipien und Methoden

Abbildung 1: Tool-Qualification-Kits für Testwell CTC++ Test Coverage Analyser

In der Entwicklung werden die Phasen Systementwurf, Projekten mit Funktionaler Sicherheit. Testen in TESTMETHODEN

Programmiertechnik II

Anforderungen an die HIS

Softwareanforderungsanalyse

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Erfolg erzielen mit Dynamischem Testen!

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

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Auswahl alter Klausuraufgaben aus einer ähnlichen Vorlesung Maßgeblich für die Prüfung sind die Vorlesungsinhalte!

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Internet Explorer Version 6

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

Was versteht man unter Softwaredokumentation?

Konzeption. und prototypische Implementierung. eines Werkzeuges. für den funktionalen Klassentest

Validierung und Verifikation!

Testen und Testautomatisierung in agilen Projekten

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Thomas Freitag achelos GmbH SmartCard-Workshop achelos GmbH

Requirements-basiertes Testen am Beispiel des NI Requirements Gateways

I n f o r m a t i o n s s i c h e r h e i t i n G e m e i n d e n B e v ö l k e r u n g s z a h l < 6 000

Testmanagement. Q-Day. Frank Böhr Fraunhofer IESE

4. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 8 Saison 1964/1965 Aufgaben und Lösungen

LAUNCHPAD. Kurzanleitung

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Abschnitt 2 Vier Fragen, jeweils 5 Punkte pro Frage erreichbar (Maximal 20 Punkte)

GeoPilot (Android) die App

Inhaltsverzeichnis. Handbuch zur Installation der Software für die Bürgerkarte

ACCOUNTINFO 1.01 VERWENDEN DER ACCOUNTINFO-SCHNITTSTELLE ABFARGE VON ACCOUNT-INFORMATIONEN IN ECHTZEIT 02. MÄRZ 2010

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

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Ihr Benutzerhandbuch AVIRA ANTIVIR EXCHANGE

Windows Server 2008 (R2): Anwendungsplattform

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version:

Testphase. Das Testen

Fragebogen ISONORM 9241/110-S

FUTURE NETWORK REQUIREMENTS ENGINEERING

Universität Paderborn Die Universität der Informationsgesellschaft. Validierung und Verifikation (inkl. Testen, Model-Checking, Theorem Proving)

Neun Strategien der Partnerarbeit

Java Kurs für Anfänger Einheit 5 Methoden

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

QTrade GmbH Landshuter Allee München Seite 1

Agiles Testmanagement am Beispiel Scrum

Beweisbar sichere Verschlüsselung

Projektmanagement Vorlesung 14/ 15: Wiederholung ausgewählter Themen zur Klausurvorbereitung. Prof. Adrian Müller, PMP, PSM-1, CSM FH Kaiserslautern

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Modellbasierter Akzeptanztest für Scrum. Renate Löffler, Baris Güldali, Silke Geisen TAV 30, Testing meets Agility,

IKP Uni Bonn Medienpraxis EDV II Internet Projekt

ICTSCOPE.CH Eine Fachgruppe von

SEPA-Umstellungshilfe für die VR-NetWorld-Software zur Nutzung von SEPA-Lastschriften

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012

Quadratische Gleichungen

Bei der Focus Methode handelt es sich um eine Analyse-Methode die der Erkennung und Abstellung von Fehlerzuständen dient.

Erster Bug: eine Motte

Mobile-Szenario in der Integrationskomponente einrichten

Erforderliche Änderung des Firewire (IEEE1394) Kartentreibers für die Kodak Scanner i600/i700/i1800 unter Microsoft Windows 7

Lizenzen auschecken. Was ist zu tun?

Häufig wiederkehrende Fragen zur mündlichen Ergänzungsprüfung im Einzelnen:

ABSENDUNGEN der BICS-REISEANMELDUNG CHECKEN

BANKETTprofi Telefonschnittstelle

Stand: Adressnummern ändern Modulbeschreibung

IBM Software Demos Rational Software Delivery Platform - Anforderungsanalyse

Vortrag Diplomarbeit. Testentwurf in komplexen softwareintensiven Systemen mit der Klassifikationsbaummethode. von Rebecca Tiede

Support-Tipp Mai Release Management in Altium Designer

Software-Qualität Ausgewählte Kapitel

Einführung in die Informatik Tools

BÜV-ZERT NORD-OST GMBH Zertifizierungsstelle für Managementsysteme der Baustoffindustrie

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

Geschäftsprozessmanagement

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

TFS Funktionen Kurzanleitung

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Installationsanleitung

Test: Sind Sie ein Unternehmertyp?

Dokumentation Data Dictionary (SIP)

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Xesar. Die vielfältige Sicherheitslösung

Assertions (Zusicherungen)

Webalizer HOWTO. Stand:

Built in Function. BIF Compatibility. Eine anonymisierte Kundenpräsentation. von Siegfried Fürst SOFTWARE ENGINEERING GmbH

Systematisches Testen von Software

Standard XPersonenstand - Version Verbindliche Handlungsanweisungen

PCC Outlook Integration Installationsleitfaden

DALI Hilfe und Fehlerbehebung

Einsatz automatischer Testdatengenerierung im modellbasierten Test

Die folgende Anleitung führt Sie Schritt für Schritt durch die notwendigen Prüfungen und Eingaben.

Software Engineering. Dokumentation! Kapitel 21

Testen - Konzepte und Techniken

Transkript:

Catch the Bug Testaktivitäten erfolgreich messen Ronald Heimberg QA Systems GmbH Übersicht Motivation Die Herausforderung Teststrategien aus 61508, 50128, 26262 Traceability Check Points Die Essenz 1

Historie Gödel In hinreichend starken Axiomensystemen gibt es unbeweisbare Aussagen. (-> Lügner Paradoxon) Turing Kein Algorithmus beweist, daß die Ausführung eines Algorithmus zu einem Ende gelangt. (-> Turingmaschine) Church Turing-berechenbare Funktionen stimmen mit intuitiv berechenbaren Funktionen überein. (-> rekursive Funktionen) Dijkstra Die Abwesenheit von Fehlern läßt sich nicht beweisen, nur deren Anwesenheit. Wieviele Fehler? 100 % Defects Faults Failures Errors Bugs Absolute Anzahl ist unbekannt Folglich sind Prozentsätze hinfällig 2

Normen Was empfehlen 61508, 50128, 26262? Übersicht und Vergleich IEC 61508 Technique SIL 1 SIL 2 SIL 3 SIL 4 Dynamic analysis and testing R HR HR HR Boundary value analysis R HR HR HR Error Guessing R R R R Input Partition Testing R R R HR Coverage entry points HR HR HR HR Coverage statement R HR HR HR Coverage branch R R HR HR Coverage MC/DC R R R HR Functional and black box testing HR HR HR HR Input Partition Testing R HR HR HR Interface Testing R R HR HR Forward Traceability R R HR HR 3

EN 50128 Technique SIL 0 SIL 1 SIL 2 SIL 3 SIL 4 Dynamic Analysis and Testing HR HR HR HR Boundary Value Analysis HR HR HR HR Error Guessing R R R R R Input Partition Testing R R R HR HR Traceability R HR HR M M Test Coverage for code R HR HR HR HR Statement R HR HR HR HR Branch R R HR HR Compound Condition R R HR HR Data flow R R HR HR Path R R HR HR Functional / Black-box Testing HR HR HR M M Boundary Value Analysis R HR HR HR HR Input Partition Testing R HR HR HR HR Interface Testing HR HR HR HR HR ISO 26262 Technique ASIL A ASIL B ASIL C ASIL D Methods for software unit / integration testing Requirement-based test HR HR HR HR Interface test (int. test) HR HR HR HR Methods for deriving test cases Analysis of requirements HR HR HR HR Boundary Value Analysis R HR HR HR Equivalence Classes R HR HR HR Error Guessing R R R R Structural Coverage (unit testing) Statement HR HR R R Branch R HR HR HR MC/DC R R R HR Structural Coverage (integration testing) Function coverage R R HR HR Call coverage R R HR HR 4

Teststrategien Traceability Boundary value analysis Error Guessing Input Partition Testing Functional and black box testing Interface Testing Coverage Inhalte der Normen Anforderungen und Sicherheitsanforderungen sind elementar und allgegenwärtig Rollen für Codieren und Testen Eingabe- und Ausgabe-Dokumentation Im Detail subtile Unterschiede 5

Traceability Is your requirements repository prepared? get reqid short description software baseline set testid short description software baseline N:M links to reqid test result Ideally a data exchange based upon xml The Sea Of Bugs normal flow of execution abnormal flow of execution bugs Testdaten Testvektoren Eingabedatensätze 6

Testbeobachtungen Tests werfen Fragen auf alle Fragwürdigkeiten sammeln Falls kein Bug: Ist die Dokumentation zugänglich? Verständlichkeit der Dokumentation Vollständigkeit der Dokumentation Korrektheit der Dokumentation Konsistenz der Dokumentation Falls doch ein Bug: dann erst recht! Testelement Elemente eines Tests: Translation Units Klassen Funktionen Methoden Datenobjekte 7

Testgegenstand Gegenstand eines Tests: einzelnes Testelement Menge von Elementen Ergibt N:M Relation Testskript Testskripte: Ausführbare Anweisungen an den Tester Eindeutiger Bezug zum Testgegenstand Teststrategie als Check Point 8

Testbeobachtungen Testbeobachtung: Bezieht sich auf die konkrete Ausführung eines Testskriptes dokumentiert die Abweichung, den Verdacht, den Status, die Auflösung Check Points CheckPoints: werden durch Testskripte erreicht 9

CheckPoints Testtiefe Testbreite Anforderungen Testlinge Teststrategien Testdaten Testvektoren Eingabedatensätze CheckPoints Dienen dazu, die erforderliche Testbreite zu erlangen Veranlassen dazu, die notwendige Testtiefe zu erhöhen 10

CheckPoints Testbreite bspw.: Mehr Anforderungen Mehr Translation Units Mehr Teststrategien Testtiefe bspw.: Mehr Repräsentanten der Äquivalenzklassen Mehr Grenzfälle einer Grenzwertanalyse Mehr Abhängigkeiten zu Daten und Funktionen Test Design - Beispiel Es liegt ein Programm "triangle" zum Test vor. Input: drei int-parameter Output: mit den angegebenen Längen läßt sich ein gleichseitiges Dreieck, ein gleichschenkliges Dreieck, ein allgemeines Dreieck konstruieren. Eine einprägsame Spezifikation mit nicht-trivialen Testfällen aus: Glenford J. Myers: "The Art of Software Testing", John Wiley & Sons, 2. Ed. 2004 übrigens: Erstauflage von 1979 11

CheckPoints CP 1: Sind die Voraussetzungen erfüllt? Tools evaluiert, ausgewählt, beschafft, installiert, konfiguriert, geschult Dokumentationen, Anforderungen, Spezifikationen zugänglich und verständlich CheckPoints CP 2: Sind die Testlinge reif für einen SUT? Testling im Single Unit Test ist stabil: behält seine Aufrufschnittstelle, seine Struktur in etwa bei, und ist testfähig 12

CheckPoints Reife der Test Items Item A Item F Item K Item X CheckPoints CP 3: Übersteht der Testling einen normal flow of execution? Basisfunktionalität lt. der Anforderungen ist vollständig gegeben 13

Normal flow of execution Eine Funktion, die für drei Seitenlängen bestimmt, ob das Dreieck gleichseitig, gleichschenklig oder allgemein ist. Output partition test Anwendung der Äquivalenzklassenmethode: für jeden Rückgabewert einen Testfall 14

Output partition test Testvektoren (4, 4, 4) (2, 4, 4) (2, 3, 4) Doch was wurde getestet? Testbreite vs. Testtiefe Testtiefe Besser oder schlechter? Testvektor (4, 4, 4) Testvektoren{(i, i, i) i = 1..INT_MAX} Testbreite Besser oder schlechter: Testvektoren(4, 4, 4); (2, 4, 4); (2, 3, 4) 15

CheckPoints CP 4: Übersteht der Testling einen abnormal flow of execution? Ungewöhnliche, ungültige Eingabedatensätze werden zulässig verarbeitet Abormal flow of execution Immer noch Äquivalenzklassenmethode: für jeden Rückgabewert einen Testfall ( 2, 3, -1) ( 2, 3, 6) 16

CheckPoints CP 5: Verwendet der Testling anderweitige Daten korrekt? Unerwartete Datenwerte und Datensätze werden robust verarbeitet, korrigiert, propagiert Boundary Value Analysis Anwendung der Boundary Value Analysis: grenzwertige Eingabedatensätze ( 0, 0, 0) ( 8, 4, 4) ( 7, 3, 4) Permutationen steigern die Testtiefe 17

Boundary Value Analysis CheckPoints CP 6: Verwendet der Testling anderweitige Module korrekt? Keine ungewöhnlichen, ungültigen Übergabedatensätze, Rückgaben korrekt interpretiert 18

Interface test Aufrufabhängigkeiten müssen eruiert werden Sind Grenzfälle des einen Moduls störend für ein anderes (verursacht Fehlfunktion?) CheckPoints CP 7: Spielen mehrere Testlinge korrekt zusammen? Datenzentrierte Tests unter Beteiligung mehrerer Module mit Schreib-und Leserecht auf den Datenobjekten 19

Die Essenz Es braucht kreative, intuitive Tester mit Programmierkenntnissen Fallstricke der Programmierung sind bekannt Dokumentation im Original zugänglich Testen in die Breite, dann ggf. in die Tiefe Testbeobachtungen dokumentieren CheckPoints steuern die Abfolge 20