Software Testen 2.0 VL



Ähnliche Dokumente
T2 Fundamentaler Testprozess

T1 - Fundamentaler Testprozess

Basiswissen Softwaretest

Basiswissen Softwaretest

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst

1 Einleitung...1. Teil I Handwerkszeug Definitionen zur Qualität...13

Standard Inhaltsverzeichnis für Testvorschrift

1.1 Basiswissen komprimiert Praxiswissen Testmanagement Übersicht Testprozess und Testwerkzeuge 11

Softwaretechnikpraktikum SS Qualitätsmanagement I. 1. Überblick. Qualität. Qualitätsmerkmal

Qualitätssicherung. Was ist Qualität?

Praxiswissen Softwaretest - Testmanagement

Testmanagement bei SAP-Projekten

Software- Qualitätssicherung

Systemen - Testprozess. Testprozess. Testprozess: Aktivitäten. Testplanung und Teststeuerung. Lehrplan 2003 Testplanung

Einsatz automatischer Testdatengenerierung im modellbasierten Test

Senior Consulting. Senior Consulting Strategical, Conceptual and Technical Consulting Seite 1

Software- Qualitätsmanagement

Systemen - Testprozess. Testprozess. Testprozess: Aktivitäten. Testplanung und Teststeuerung. Testplanung und Teststeuerung

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

Qualitätsmanagement im Projekt

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Effizienzsteigerung von Softwaretests durch Automatisierung

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

Praxiswissen Softwaretest Test Analyst und Technical Test Analyst

Notwendigkeit der Testautomatisierung? Neue Ideen, Konzepte & Werkzeuge

Ein Testprozess für Modellbasiertes Testen

T3 Testen im Software- Lebenszyklus

Einführung von Test-Prozessen laut TMMi. Egon Valentini 1. März 2010

Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer

Validierung und Verifikation

Prozess-Modelle für die Softwareentwicklung

Projektmanagement und Softwarequalität

MHP Test Management Qualität ist kein Zufall Ihre Lösung zur Abdeckung des ganzheitlichen Testprozesses!

Testmanagement in IT-Projekten

Testen von Software. Erfahrungsbericht des INGTES Testcenters. von Ueli Tribelhorn

ISTQB Certified Tester Foundation Level Exam Übungsprüfung

Risikoorientiertes Testen und Testmanagement

Berufsbild Tester - eine Profession?

Requirements-basiertes Testen am Beispiel des NI Requirements Gateways

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Risikoorientiertes Testen und Testmanagement

Einführung von Testautomatisierung reflektiert. Erkenntnisse eines Linienmanagers zu Herausforderungen und Fallgruben

Basiswissen Softwaretest

Basiswissen Softwaretest

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

Testphase. Das Testen

Qualitätsmanagement. Andreas Bäuml SWT-Projekt WS 07/08

Automatisierte GUI Tests in fachlichen Teststufen Patrick Möller

Validierung und Verifikation!

TMap NEXT Test Manager

1.1 Basiswissen komprimiert Praxiswissen Testmanagement Übersicht Fundamentaler Testprozess 11

AUFBAU EINER TESTORGANISATION

Performancetesten im BIT / LZBTI

Der Testreport. Was soll, was darf und was muss drinstehen?

Testen Prinzipien und Methoden

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Mastermind. Testplan. Hochschule Luzern Technik & Architektur. Programmieren 2 FS12. Gruppe 10

Dr. Klaus Lamberg, Michael Beine

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

Agile Softwareentwicklung in der Versicherungs-IT Fehlschlag oder Heilsbringer?

Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards -

Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit.

Abweichungsmanagement. Probleme hat doch jeder

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

07. November, Zürich-Oerlikon

Unser verflixtes 7. Jahr im Testmanagement. Bernd Schindelasch 26. Juni 2013

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

vernetzten prozessübergreifenden Testsystems DATA Ahead GmbH

Die Anwendung von Work of Leaders in drei Schritten

Modul 3: Service Transition Teil 2

Testen im Software- Entwicklungsprozess

Einsatz von xalerator. bei den. Ergo Direkt Versicherungen. Bereich Versicherungstechnik/Leben

Testmanagement Zentraler Prozess im ALM

9.6 Korrekturmaßnahmen, Qualitätsverbesserung

Testen - Konzepte und Techniken

Information zur Revision der ISO Sehr geehrte Damen und Herren,

Risikobetrachtungen von Softwareelementen mittels FMEA. Alexander Späthe Safetronic, München 13. November 2006

Managed Testing Service

Softwarequalität. TÜV SÜD Product Service GmbH. Damit Ihre Softwareprodukte sicher ins Ziel kommen.

17 Architekturentwurf Vorgehen und Dokumentation

Wiederverwendung von automotive Software- Reifegradmodell, Technologie, Praxisbericht

Testen. SEPR Referat: Testen - Oliver Herbst

,$ -. "+0 *+*+ ! / -#$%$. #$%'' $ () 1 2$ #$%$! 1 2$3 )!

Entwurf. Anwendungsbeginn E DIN EN (VDE ): Anwendungsbeginn dieser Norm ist...

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Kooperatives Testen Basis auch zur Testautomatisierung während der Softwareentwicklung. Dipl. Inform. Hans-Josef Eisenbach

Ihr Logo. Was ist ein Audit? Audit. Auditnachweise. Auditkriterien

Zusammenfassung der Testarten

Management und Optimierung des Testprozesses

Checklistenbasiertes QM 1. Qualitätsmanagement

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

Architektur in der Mechatronik. existierender Testwerkzeuge

Kunde. Verantwortung der Leitung - Zusammenwirken. Q-Politik. Q-Ziele. Q-Planung. Bewertung. Organisation. Mittel. Verbesserungs- Maßnahmen.

Seamless Model-based Engineering of a Reactive System

Transkript:

Software Testen 2.0 VL Software Testen VO3 2009W http://www.inso.tuwien.ac.at/lectures/software_testen INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien

Lernziele Fundamentaler Testprozess Statische ti Testmethoden th Testfall Design (Methoden und Klassifizierung) Testmanagement Testwerkzeuge 2

Begriffsdefinition Fehler (engl. bug) Nichterfüllung einer festgelegten Anforderung [GTB] Mangel (engl. defect) nicht angemessene Erfüllung einer Anforderung [GTB] Fehlerhandlung (engl. error) Die menschliche Handlung, die zu einem falschen Ergebnis (Fehlerzustand) führt. [IEEE 610] Fehlerwirkung (engl. failure) äußerer Fehler Sichtbarwerden eines inneren Fehlers für den User/Tester Fehlerzustand (engl. fault) innerer Fehler Ursache für das Auftreten eines Fehlers 3

Fundamentaler Testprozess I Testplanung Testumfang, Risiken, Testziele, Testobjekte, Testaktivitäten, Testmethoden, Ressourcen, Termine, etc. Integration der Testaktivitäten in den SW-Lebenszyklus Erstellung eines Testkonzepts (engl. testplan) siehe IEEE 829 Testanalyse und Testdesign Review der Testbasis (Anforderungen, Architektur, Design, ) Bewertung der Testbarkeit (engl. testability) Testfall Design und Priorisierung (logische TCs) Erstellung der Testentwurfsspezifikation (engl. test design spec.) 4

Fundamentaler Testprozess II Testrealisierung und Testdurchführung Erstellung und Durchführung konkreter Testfälle Generierung von Testdaten Implementierung von automatisierten Testfällen Entwurf von Testszenarien (engl. test suits) Testauswertung und Testbericht Ergebnisse werden mit definierten Zielen verglichen Testendekriterien erreicht? Erstellung eines Testberichts Abschluss der Testaktivitäten Datenpflege (Abweichungen beseitigen) Auswertung der Ergebnisse (Analyse der Metriken) Prozessverbesserung 5

V-Modell 6

Software-Qualitätssicherung im Überblick Review Manuelles Prüfen Stat. Analyse Maschinelles Prüfen Whitebox-Test Blackbox-Test Statischer Test (Prüfen) Ohne Ausführung des Produkts Dynamischer Test (Prüfen durch Ausf.) Mit Ausführung des Produkts Analytische Qualitätssicherung Fokus: Produkt Fehlerfindungsstrategie Qualitätssicherung Konstruktive Qualitätssicherung Fokus: Prozess Fehlervermeidungsstrategie 7

Statisch vs. Dynamisch Statischer Test Ein Test, bei dem der Prüfgegenstand (das Testobjekt) nicht zur Ausführung kommt. Ziel: Aufdeckung von Fehlerzuständen (innerer Fehler) Alle Dokumente, die während eines Projekts erstellt werden. (z.b. Anforderungsdokumente) Programmcode manuelle Prüfung (Reviews) und maschinelle Prüfung (statische Analyse) statische Tests VOR dynamischen Tests Dynamischer Test Ein Test, bei dem Softwarecode ausgeführt wird. Ziel: Aufdecken von Fehlerwirkungen (äußerer Fehler) 8

Statischer Test Reviews Definition Ein Review ist eine Bewertung eines Software-Produkts oder eines Projektstatus zur Aufdeckung von Diskrepanzen der geplanten Arbeitsergebnisse und der Identifizierung von Verbesserungspotenzialen. [GTB] Gemeinsame Ziele aller Review Typen möglichst frühe Entdeckung von Fehlern, Inkonsistenzen und Unvollständigkeiten Verschiedene Ausprägungen Informelles Review Formale Reviews Walkthrough Technisches Review Inspektion 9

Verschiedene Review Typen I Informelles Review kein formaler Prozess (optionale Dokumentation) z.b.: pair programming, einfacher Autor-Leser-Zyklus inexpensive way to get some benefit Ziel: Fehler finden Walkthrough Autor präsentiert vor Gutachtern optionale/keine Vorbereitung der Teilnehmer open end dsitzung Ziel: lernen, verstehen, Fehler finden 10

Verschiedene Review Typen II Technisches Review Leitung durch geschulten Moderator nicht von Autor(en) Teilnehmer sind vorbereitet ( Experten Review) Ziel: diskutieren, techn. Probleme lösen, entscheiden, Fehler finden Inspektion Prozess ist formal definiert und wird strikt eingehalten formale Sichtprüfung von Dokumenten, um Mängel zu finden gründliche Vorbereitung aller Teilnehmer Verwendung von Checklisten und Inspektionsregeln definierte Rollen und Aufgaben der Teilnehmer (wahlweise Vorleser) Ziel: Fehler finden 11

Statischer Test Werkzeuggestützte statische Analyse I Definition Die statische Analyse ist eine (meist) werkzeugunterstützte Prüfung ohne Ausführung des Prüfobjekts. Ziele der statischen Analyse frühes Finden von Fehler od. Abweichungen im Code, SW- Modell, Dokument (noch vor der Testfall Durchführung) Warnung vor Anomalien im Code (z.b. Komplexitäts-Metriken) t ik Identifizierung von Fehlern, die durch dynamischen Test nicht (effektiv) aufzudecken sind Verbesserung der Wartbarkeit des Codes Vorbeugung von Fehlerzuständen 12

Statischer Test Werkzeuggestützte statische Analyse II Typischer Einsatzbereich Entwickler-Tests Durchführung vor und während des Komponenten- und Integrationstests Analyseverfahren Datenflussanalyse (Überprüfung von Datenfluss-Sequenzen) Kontrollflussanalyse (Prüfung des Kontrollflusses durch den Code) 13

Testfall Design Klassifizierung Classic Blackbox Eingabe vs. Whitebox Eingabe Ausgabe Ausgabe based on [Rupp 07] 14

Testfall Design Klassifizierung nach ISTQB I Specification-based techniques Äquivalenzklassen Grenzwertanalyse Entscheidungstabellen Modellbasierter Test (z.b. Zustandsgraph) Anwendungsfallbasierter Test Blackbox Experience-based techniques Testen auf Basis der Erfahrung und Intuition des Testers quasi Realtime TC Design, Durchführung und Logging Ausfallbasierter Test (z.b. error guessing, Fehlerangriffe) 15

Testfall Design Klassifizierung nach ISTQB II Structure-based techniques (white-box techniques) Komponententest Basis: Code (Anweisungen, Verzweigungen, ) Integrationstest Basis: bspw. Call Tree Systemtest Basis: Menü-Struktur, Business Prozess, Work Flow, Whitebox-Methoden können auch auf Systemebene angewandt werden. Testabdeckung durch strukturelle Methoden siehe Folien VO2 16

Testmanagement Inhalt: Testorganisation ti Aufgaben des Testleiters Testauswertung Testaufwand Metriken Risiken Abweichungen 17

Unabhängigkeit im Testbereich Trennung von Entwicklung und Test Selbstkritik ist problematisch Vermutungen beim Entwickeln und Testen unabhängige Tester sind unvoreingenommen und sehen andere Fehler Mögliche Stufen von Unabhängigkeit innerhalb des Entwicklerteams t aus dem Fachbereich oder Anwendergruppe Spezialisten für Sicherheits-Tests, Usability, externes Testteam (Outsourcing) Probleme Trennung von der Entwicklung Ressourcen Problem (Bottleneck als letzter Checkpoint) Verantwortung für Qualität wird abgeschoben 18

Testleiter auch Testmanager, Testkoordinator (engl. test leader) Planung Festlegung der Teststrategie Kommunikation der Planung gegenüber dem Management Überwachung und Steuerung (Einführung von Metriken) Bestimmung des Automatisierungsgrads Auswahl der Test-Tools Analyse und Design Testentwurfsspezifikation (Herleitung und Auswahl der TCs) Konfigurationsmanagement zwecks Traceability Organisation der Testumgebung 19

Testleiter (cont.) Realisierung und Durchführung Vorbereitung, Erstellung und Durchführung von TCs Hauptaufgaben des Testers Auswertung und Bericht Auswertung der Testprotokolle (Testendekriterien) Bewertung der Ergebnisse Erstellung des Testberichts Abschluss der Testaktivitäten Kontrolle der Abweichungen Analyse der Metriken Dokumentation ti der Abnahme Prozessverbesserung 20

Auswertung Testfortschritt Excel: Stacked Area 21

Auswertung Qualitätsentwicklung Excel: Stacked Column 22

Testaufwand Abschätzung Kennzahlen aus vergangenen und ähnlichen Projekten Expertenschätzung Wichtige Faktoren: Produkteigenschaften (Umfang, Komplexität, Anforderungen an Sicherheit und Verlässlichkeit, ) Charakteristiken a e des Entwicklungsprozesses (Reifegrad eg des Testprozesses, Werkzeuge, Skills, Zeitdruck, ) Tätigkeit Analyse und Spezifikation Aufwand 15 % Design 20 % Implementierung und Komponententest t t 35 % Test 30% 23

Aufwandsabschätzung nach C. Jones 24

Aufwandsabschätzung nach C. Jones (cont.) Aufwand Codierung (PM) Aufwand Test (PM) 1 0,3 5 2,5 10 6,2 20 15 50 51 100 121 200 285 Umsetzung der Verteilung nach C. Jones 25

Monitoring Typische Kennzahlen Testfall Ausführung (Anzahl passed/failed run/not run) Fehlerbasierte Metriken (z.b. Fehleraufdeckungsrate, gefundene und behobene Fehler, Retest Ergebnisse) Testabdeckung (hinsichtlich Anforderungen, Risiken, Code) subjektives Einschätzung der Tester Kosten für den Test verglichen mit den potenziellen Kosten für die Fehlerbehebung in der Produktion Reporting Verfassen eines Testreports (engl. test summary report) nach IEE 829 Inhalt: Abweichungen, Beurteilung der Ergebnisse, Auswertung einzelner elner Testobjekte (passed/failed Kriterien), 26

Monitoring Fehleraufdeckungsrate FaR = Anzahl der Fehler im Test Anzahl aller Fehler (inkl. Produktion) 27

Risiken Risiken sind potenzielle Probleme Fehler in der Software führen zu Imageverlust hohen Kosten in der Behebung Risikobasiertes Testen Priorisierung der Testobjekte und Testfälle Kriterien: Bedeutung (Häufigkeit der Nutzung), Komplexität Pareto Prinzip: in 20% der Software sind 60% aller Fehler 28

Abweichungsmanagement Abweichung, Vorfall (engl. incident) Jedes Ergebnis, welches während eines Tests auftritt und weiterer Untersuchung bedarf. [GTB] Aufbau einer Abweichungsmeldung Zusammenfassung der Abweichung (Identifikation der TOs, Referenz auf Szenario, Priorität) Abweichungsbeschreibung g (Eingaben, Ergebnis Ist/Soll, Testumgebung, Reproduzierbarkeit, Tester, ) Auswirkungen 29

Testwerkzeug-Klassifizierung I Testmanagement Tools Unterstützung der Test-Management und Test Aktivitäten Requirements-Management Tools Verwaltung von Anforderungen Abweichungs-Management Tools (Bug Tracker) Verwaltung von Incident-Reports Konfigurations-Management t Tools Informationen über Versionen, Releases und Builds Werkzeuge für statische ti Tests Review process support tools Tools für statische ti Analyse Modellierungs-Werkzeuge 30

Testwerkzeug-Klassifizierung II Werkzeuge zur Testspezifikation Testentwurfswerkzeuge t verwalten TCs und REQs, bieten Methoden zur TC-Ermittlung Testgeneratoren und Testdateneditoren ermitteln Testdaten aus verschiedenen Quellen, ermöglichen Bearbeitung sämtlicher Testdaten, Grenzwertanalysen, Werkzeuge zur Testdurchführung automatische bzw. semi-automatische Tests einfache Capture-Replay Tools (Wiederverwendbarkeit?) komplexe Testroboter (Plattformabhängigkeiten?) Werkzeuge für Performanzmessungen Performanz- Lasttest- und Stresstestwerkzeuge 31