Software Testen 2.0 VL



Ähnliche Dokumente
Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Software Engineering und Projektmanagement 2.0 VO

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Aktuelle Telematikanwendungen

T1 - Fundamentaler Testprozess

Softwaretechnik. Fomuso Ekellem WS 2011/12

Teststrategie festlegen und Teststufen aufeinander abstimmen

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

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

FUTURE NETWORK REQUIREMENTS ENGINEERING

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

Softwareentwicklung aus Sicht des Gehirns

Prozess-Modelle für die Softwareentwicklung

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Requirements Engineering WS 11/12

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II


Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Testen - Konzepte und Techniken

Testen Prinzipien und Methoden

Software Testen 2.0 VL

Testmanagement in IT-Projekten

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

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

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

Sehr geehrter Herr Pfarrer, sehr geehrte pastorale Mitarbeiterin, sehr geehrter pastoraler Mitarbeiter!

Tester als Coach ein Erfolgsmodell

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

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

T2 Fundamentaler Testprozess

Validierung und Verifikation!

Das Leitbild vom Verein WIR

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

Software Systems Engineering

Systemen - Einleitung

Grundlagen Software Engineering

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

Die Telematik-Infrastruktur (TI)

CONTINUOUS LEARNING. Agile Anforderungsanalyse mit Impact Mapping

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Professionelles Software-Testing Hilfreiches Tool bei Konflikten

Installation OMNIKEY 3121 USB

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

ANYWHERE Zugriff von externen Arbeitsplätzen

Umfrage zur Einführung des elektronischen Abfallnachweisverfahrens

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

Software-Entwicklungsprozesse zertifizieren

Regulatorische Anforderungen an die Entwicklung von Medizinprodukten

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

Was versteht man unter Softwaredokumentation?

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

h e l m u t h u b e r

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

Testen heute und in der Zukunft Ergebnisse der ersten unabhängigen Marktstudie für 6 Länder

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Validierung und Verifikation

PROFIS Software Lösungen

How to do? Projekte - Zeiterfassung

Internet Explorer Version 6

Optimal vorbereitet. Fit fürs Studium mit den Vorbereitungskursen der OHN. Fragen? Jetzt anmelden!

Software Engineering. Dokumentation! Kapitel 21

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

AMTS-Datenmanagement Arzneimitteltherapiesicherheit. Fachanwendung der Gesundheitskarte (egk)

SDD System Design Document

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Fragebogen: Abschlussbefragung

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Die Telematikinfrastruktur als sichere Basis im Gesundheitswesen

Bereich. Thomas Kauer

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

SharePoint Demonstration

GPP Projekte gemeinsam zum Erfolg führen

BSV Ludwigsburg Erstellung einer neuen Internetseite

Modul 3: Service Transition

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

Referent: Mathias Notheis Kontakt:

Wir nehmen Aufgaben und Ideen wahr. Wir suchen Lösungen zu Ideen.

Erfolg beginnt im Kopf

GeoPilot (Android) die App

Qualitätsmanagement. Grundlagen

IT OUTSOURCING. Wie die IT durch Transparenz zum internen Dienstleister wird. Herford, , Steffen Müter

Organisation des Qualitätsmanagements

~~ Swing Trading Strategie ~~

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

Änderungen beim Einlagensicherungsfonds

Das Persönliche Budget in verständlicher Sprache

SAFEYTEAMS-Newsletter Nr. 5

Benutzerhandbuch - Elterliche Kontrolle

Bürgerhilfe Florstadt

Konzentration auf das. Wesentliche.

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

Software Engineering. Dokumentation. Wintersemester 2005/06. Kapitel 21. Universität Zürich Institut für Informatik

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

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Transkript:

Software Testen 2.0 VL Software Testen 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

Folie: 2 Lernziele Ziele und Grundsätze des Softwaretests: Was sind die Ziele und Nicht-Ziele des Softwaretests? Test- und Integrationsstufen: Warum sind Test und Integration in Software-Projekten stufenweise organisiert und was sind die Ziele der einzelnen Stufen? Funktionale und nichtfunktionale Testmethoden: Welche Methoden unterstützen mich beim Testentwurf, um eine möglichst hohe Testabdeckung zu erreichen? Testautomatisierung: Wann und wie setze ich Testautomatisierung richtig ein? Testprozess: Wie plane und organisiere ich Softwaretests im Rahmen des Entwicklungsprozesses?

Der Therac-25 Fall Prominentes Literaturbeispiel zum Versagen des Tests Strahlentherapiegerät für die Krebstherapie SW-Fehler verursachte Überbestrahlung: Normale Therapie 1 Gray Tödlich ab 10 Gray SW-Fehler verursachte 40-200 Gray Mind. 3 bestätigte Todesfälle Entwicklung und Test von nur einer Person Notwendigkeit der Unabhängigkeit des Tests bei entsprechenden Risiko 3

Folie: 4 Stellenwert von Softwaretests Keine Software ist frei von Fehlern Testen von Software gehört zu den wichtigsten Aktivitäten des Software-Entwicklungsprozesses Systematisches Testen notwendig Eine gut geplante Testphase ist die Grundlage für ein erfolgreiches Projekt Ziel ist es, Fehler so früh wie möglich zu finden Softwaretests sind eine dynamische und produktorientierte Qualitätssicherungstechnik Aufgrund wachsender Komplexität und hohe Abhängigkeiten von Softwaresystemen, wird der Softwaretest strategisch immer bedeutender

Folie: 5 Definition Softwaretests Definition nach IEEE 610.12, 1990 : Software testing is a formal process carried out by a specialized testing team in which a software unit, several integrated software units or an entire software package are examined by running the programs on a computer. All the associated tests are performed according to approved test procedures on approved test cases.

Folie: 6 Ziele des Softwaretests 1. Ziel ist es, Testfälle zu identifizieren, mit denen die höchste Wahrscheinlichkeit gegeben ist, festzustellen, ob das Softwaresystem korrekt funktioniert 2. Ein guter Test ist jener, der eine möglichst hohe funktionale oder nichtfunktionale Abdeckung hat 3. Beim Softwaretest sollen Fehler von Programmen identifiziert werden. 4. Wenn ein Test einen Fehler gefunden hat, war er erfolgreich

Folie: 7 Grundsätze des Softwaretests (nach ISTQB) 1. Grundsatz: Testen zeigt die Anwesenheit von Fehlern 2. Grundsatz: Vollständiges Testen ist nicht möglich 3. Grundsatz: Mit dem Testen frühzeitig beginnen 4. Grundsatz: Häufung von Fehlern 5. Grundsatz: Wiederholungen haben keine Wirksamkeit 6. Grundsatz: Testen ist abhängig vom Umfeld 7. Grundsatz: Trugschluss: Keine Fehler bedeutet ein brauchbares System

Beispiel für die Fehlerverteilung in Stadt21 8

Folie: 9 Test- und Integrationsstufen Strategie der Zerlegung der gestellten Aufgabe in beherrschbare Teile bei der Herstellung von Softwaresystemen Zerlegung in Teststufen ermöglicht eine frühe Prüfung von unterschiedliche Teilen des zu entwickelnden Systems Teststufen können durch folgenden Aspekte charakterisiert werden: allgemeine Ziele Arbeitsergebnisse, als Grundlage für daraus abgeleitete Testfälle (Testbasis) das eigentliche Testobjekt (Testgegenstand) auftretende Fehlerwirkungen und zustände, die identifiziert werden sollten Anforderungen an den Testrahmen; Werkzeugunterstützung; spezifische Ansätze und Verantwortlichkeiten

Teststufenkonzept A-symmetriemodell 10

Fundamentaler Testprozess für jede Teststufe 11

Beispiel Softwaretest KIS Medical Information Systems (z.b. Krankenhausinformationssysteme KIS) Größtes Risiko: Finanzielle Risiken Primäre Testziele: Funktionalität, Integration Landschaft und Prozesse (!) Usability: Geschultes Personal Zulassung: nicht erforderlich, jedoch oftmals Anmeldung am DVR Standards und Normen: Keine Spezifischen in Österreich oftmals ISO900x für die Softwareentwicklung Testtypus: Fokus im Blackbox Test Besonderheiten: Ein KIS System ist oftmals Standardsoftware die konfiguriert bzw. parametrisiert wird. Der Test eines Rollouts konzertiert sich somit oft auf die Adaption und Integration und nicht auf die Kernfunktionalität. 12

Beispiel Softwaretest EPA Medical Infrastructure Systems (z.b. Elektronische Gesundheitskarten, Elektronischer Patientenakt) Größtes Risiko: Informationsoffenlegung, Data-Mining, Performance Primäre Testziele: Datenschutz, Performance, Interoperabilität Usability: Oftmals gesamte Bevölkerung Zulassung: Erforderlich (länderspezifisch) Standards und Normen: länderspezifisch Testtypus: Entwicklung von Komponenten Black- und Whitebox Tests. Bei der Integration von Komponenten starker Fokus auf die Schnittstellen (Interoperabilitätstests sind strikte Blackbox Tests), Sicherheitstests z.b. Penetrationstests Besonderheiten: Stufenweises Rollout und entsprechende Testmaßnahmen 13

Typische Teststufen beim der Entwicklung eines Med. Infrastruktursystems Labortests Test der Komponenten und deren Integration unter Laborbedingungen durch professionelle Tester Fokus: Konformität, Kompatibilität, Performance, Sicherheit (z.b. Pseudonymisierung, PKI etc.) Anwendertests Test der Integrierten Gesamtsystematik durch die End-User im Laborumfeld Fokus: Usability (friendly User), Validierung der Funktionsweise Feldtests Test der Integrierten Gesamtsystematik durch die End-User im realen Umfeld Fokus: Usability (alle User auch die Oma ), Integration in reale Prozesse z.b. Integration mit dem KIS und PVS 14

Logische Architektur einer Med. Infrastruktur (bsp egk) n-fach 1-fach n-fach 15

10/08/ 07 Aufbau dertestorganisation für die Infrastruktur egk Testleitung Administration Test Dez. Komponenten Test Zentr. Komponenten Test Fachdienste und externe Provider Test System- und Anwendungen Tools und Testumgebungen Karte Broker VSDD Integration Testautomatisier. Kartenterminal Audit UFS Performance /Last Konnektor SDS CMS / CAMS System-/Anwendung Testumg. / Netze Primärsysteme VODD Interoperabilität Anwendertests Teilintegration Z.K Teilintegration FD Sicherheitstests Tool-Admin. Datenstrukturen Test - Daten Externe PKI Test - Daten Teilintegration Dez. K. Zentrale PKI sonstige ext.dienste Zugangsnetze / VPN BetriebsTests

Primärsystem Primärsystemsimulation (Testtreiber) Beispiel der Integrationsstufen im Labortest der egk Integrationsteststufe I3 Gesamtsystemtest Systemtest I2 ZK-FD (II) Teilint. Dez. K. (Ia) Systemt.I1 Basisinfrastruktur TCL/TSL Teilint. Zentr. Komp. TSL/TCL/CRL Teilint. Fachdienste SDS AuditS Externe PKI Fachdienste R2 Konnektor MPLS Broker i.e.s VSDD CMS egk Kartenleser Kartenleser HBA Zeit- und Namensdi enst TimeS (NTP) 2 3 NameS (DNS) UFS VODD Logging 17

Beispielhafter Testaufbau beim Test einer Komponente Steuertabelle TPTP- Log BlackBox GetXML Request Functional Tester Testtreiber Broker Service-Simulator Log4j Verifikations -tabelle Response Steuertabelle 18

Testen in der iterativen Entiwicklung 19

Typische Quellen für Testfälle 20

Software Test Outsourcing Traditionell sind Softwaretestaktivitäten eine reine In- House-Angelegenheit Notwendigen Ressourcen, wie z.b. speziell geschulte und trainierte Testspezialisten, nur mit sehr großem finanziellen Aufwand realisierbar Outsourcing durch ermöglicht eine klare Abgrenzung der Aufwände und eine genaue Ermittlung der Kosten für den Testprozess Ziel: Kosten des Testprozesses durch ein teilweises oder vollständiges Outsourcing minimieren