Test offener, dynamischer Systeme

Ähnliche Dokumente
Wieviel Usability Engineering braucht das Software Engineering?

Software Engineering II (IB) Testen von Software / Modultests

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Validierung von System- Architekturen

T1 - Fundamentaler Testprozess

ITIL. Incident- und Problem- Management in der Anwendung. Uli Manschke Technical Consultant HP OpenView

Modellbasierte Software- Entwicklung eingebetteter Systeme

Benutzerorientierte Entwicklung mobiler Anwendungen

Block R (Rahmen): SE Aktivitäten Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Software-Lebenszyklus

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

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

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

3.4 Unified Process Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process.

Kurzübersicht Unified Process und Agile Prozesse

Testen Prinzipien und Methoden

Radikaler Umbruch in der Fahrzeug- und Systemabsicherung. Steffen Kuhn

IBM Software. Rational Quality Manager Testing Discipline. Rational Team Concert Development Discipline

Entwicklungsbegleitender Test mechatronischer Systeme

MURCS Wir machen jetzt Scrum, aber das Meeting passt leider nicht und einen PO haben wir irgendwie auch nicht...

DevOps in der Praxis. Alexander Pacnik

Einführung Arten von Softwaretests Prinzipien Continuous Integration Tests in FLOSS-Projekten Quellen. Softwaretests. Christoph Betschart

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen

Phasen. Gliederung. Rational Unified Process

Systemen - Testen im Softwarelebenszyklus

Gliederung. Einführung Phasen Ten Essentials Werkzeugunterstützung Aktivitäten, Rollen, Artefakte Werkzeug zur patternorientierten Softwareentwicklung

Von Requirements zutests. gç~åüáãkpåüìäò]èì~äáíóé~êâkçé

Slides of the presentation held at the Software & Systems Quality Conferences International 2007 in Düsseldorf

Agilität trifft Funktionale Sicherheit

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

Testmanagement. Full-Service

MSDN Webcast: Team Foundation Server Mehr als nur eine Versionsverwaltung! Visual Studio Team System (Teil 1 von 10) Veröffentlicht: 20.

Modellbasierte Softwareentwicklung eines Kamera basierten Scheinwerfer-Adaptions-Algorithmus. Gerd Mauthe

Systematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015

Test. Dipl. Wirtsch. Ing. Alexander Werth 9-1

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

Xpert.IVY das GUI ist entscheidend!

Modellbasierter Test mit. Medizintechnik. Kompetenz. Prozess. rund um MBT. Umsetzung. Ihren. Ausblick. Entwicklungsprozess

KURZVORSTELLUNG. Ergosign Medical & Pharma Design

Lebendige Sicherheit: Entwicklung von Secure Software im dynamischen Umfeld

Technologiepark Paderborn Telefon: / XX XX XX Mobil: 01XX / XX XX XX XX XXXXXXX@mail.upb.de

Kapitel 8: Fehlervermeidung

your engineering partner boost your development

modellzentrierter Test

Automatisiertes UI Testing. Mark Allibone, , #2

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

Test-Gap-Analyse. Wie erkennen wir ungetestete Änderungen, bevor sie ins Release gehen? - Erfahrungen aus drei Jahren Praxiseinsatz

Applying the ISO 9126 Quality Model to Test Specifications

Agile Software Entwicklung. Agile Software Entwicklung, DHBW Karlsruhe, SS-2009 Collin Rogowski

T2 Fundamentaler Testprozess

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

Testen im Software- Entwicklungsprozess

Qualitätssicherung. Qualität Qualitätsattribute Die Bedeutung von Qualität Sicherstellen von Qualität Qualität und andere Eigenschaften von Software

QADVICE. Forum 7-it. Software- und System-Qualitätssicherung für IT-Infrastrukturlösungen. Hermann Will

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Herausforderungen beim verteilten RE: Ergebnisse einer Umfrage

2. Automatische Codegenerierung mittels dynamischer Spezialisierung

Software Engineering

on Software Development Design

Inhalt. 1 Einleitung 1. 2 Grundkonzepte Erfahrungen systematisch nutzen 39

Prozesse Last oder Lust?

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

T3 Testen im Software- Lebenszyklus

Wann lohnt sich GUI- Testautomatisierung?

Testphase. Das Testen

Analyse von Awareness-Bedarf bei verteiltem Requirements Engineering

NABUCCO Test Automation Automatisiertes Testen ohne Programmieren

Comparison of Software Products using Software Engineering Metrics

Systemvalidierung der Studiensoftware eresearch Network am Koordinierungszentrum für f r Klinische Studien DüsseldorfD. Dimitrios Venizeleas

ENTERPRISE MODERNIZATION

Testfallerzeugung aus Use-Case-Beschreibungen

Markus Heckner Lehrstuhl für Medieninformatik Institut für Information und Medien, Sprache und Kultur Fakultät für Sprach-, Literatur- und

Das Wissen hat Grenzen, unsere IT-Dienstleistungen nicht.

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

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

Aufbau und Betrieb eines Testcenters

Aggregatzustände von Anforderungen erkennen und nutzen

CeBIT CARMAO GmbH

Software - Testung ETIS SS05

Prozess-Modelle für die Softwareentwicklung

Softwarearchitektur als Mittel für Qualitätssicherung und SOA Governance

Software Engineering Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen

Modellbasierte Softwareentwicklung

Seamless Model-based Engineering of a Reactive System

TFS 2013 Upgrade. Thomas Trotzki - artiso AG

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Qualitätsmanagement im Projekt

Jens Borchers. Kritische Erfolgsfaktoren beim Abnahmetest in Redevelopment- Projekten Erfahrungen aus einem Großprojekt

Software- und Systementwicklung

Architektur in der Mechatronik. existierender Testwerkzeuge

Quantität für Qualität

Das V-Modell: Produkte 1/5

Drei Methoden, ein Ziel: Testautomatisierung mit BDD, MBT und KDT im Vergleich

Gutes Benehmen Akzeptanztest-getriebene Software-Entwicklung in einem Web-Projekt

Trends in der Agilität Dr. Martin Geier

DevOps. Alexander Pacnik, Head of DevOps Engineering

Ein generativer Ansatz für den automatisierten Softwaretest,

Transkript:

Test offener, dynamischer Systeme Institut für Informatik Neuenheimer Feld 326 69120 Heidelberg http://www-swe.informatik.uni-heidelberg.de paech@informatik.uni-heidelberg.de RUPRECHT-KARLS-UNIVERSITÄT HEIDELBERG

AG Software Engineering, Uni HD Customer Reliability Usability Requirements Design Reviews Testing Management Quality Process Management Process Management Communication Experience Experience Modeling Modeling Engineering Maintainability Performance Rationale Developer Folie 2

: Offene, dynamische Systeme Offen: jede Komponente kann sich mit jeder anderen verbinden, falls die Schnittstelle passt Dynamisch: die Partner der Verbindung werden erst zur Laufzeit festgelegt Beispiel für ODS: mobile Systeme Folie 3

Herausforderungen beim Test von ODS Bei Komponenten Trennung von Hersteller und Nutzer Hersteller kennt Nutzungskontext nicht Nutzer kennt Code nicht => Test zur Entwicklungszeit nicht ausreichend Bei Services keine Kontrolle über Dienst Z.B. Releasewechsel ohne Wissen des Nutzers => Test zur Deploymentzeit nicht ausreichend Falls häufiger Dienstwechsel => Test zur Laufzeit durch Mensch zu umständlich ODS-Test idealerweise durch gegenseitigen Test der Komponenten zur Laufzeit Folie 4

Beispiel Auktionshaus Activity Logger Auction Participant Auction House Auction Manager Participant Manager Mail Server Bank Currency Converter Folie 5

Fehlerhafter Ablauf ohne Test Bad Currency Converter transfermoney(account1, account2, amount) $ convert( US, EUR, amount) wrongresult wrongresult Folie 6

Ziel: Korrekter Ablauf mit Test CC1 CC2 send(testrequest) runtest() Test failed => trynext Test successful CC2 testresult runtest() testresult convert ( US, EUR, amount) correctresult Folie 7

Kontinuierliche Tests zur Laufzeit Testbarkeit Bereitstellung von Informationen für Tests (ohne Angabe des Codes), z.b. Funktionen um Zustand zu setzen oder Testfälle des Herstellers => Teststrategie Automatisierung der Entwicklungszeittätigkeiten beim Test Test in verschiedenen Umgebungen Regressionstests Konfiguration von Testfällen und Testumgebung Folie 8

Forschungsprojekte Component+ und MORABIT (www.morabit.org) Bereitstellung einer Testschnittstelle Zusätzliche Funktionen und Attribute für Test Bereitstellung von Testfällen Für Selbsttest: d.h. um die Komponente im aktuellen Umfeld zu testen Für Vertragstest: d.h. um zu testen, ob die von der Komponente verwendeten Komponenten die Erwartungen der Komponente erfüllen Folie 9

MORABIT (1) Testanfrage Testreaktion Testfälle Testzeit Komponente Folie 10

MORABIT (2) Testausführungszeitpunkte Lebenszyklus (z.b. creation, lookup, call) Systemzustand (z.b. idle, topology change) Zeitpunkte (z.b. periodic, random) Testreaktionen : shutdown, trynext, choosebest Komponente: Anpassung der Algorithmen Folie 11

MORABIT Komponenten mit Testfällen Folie 12

MORABIT Trennung der Ausführung der Testanfragen und normaler Anfragen Zustandslose Komponenten: Keine nötig Zustandsbehaftete Komponenten: Komponente wird geklont (ggf. Komponentenspezifisches Klonen) Folie 13

MORABIT Instantiierungssicht: Komponenten und Klone Folie 14

MORABIT sind beschränkt auf kleinen Endgeräten wichtige Beispiele: CPU Speicher Bandbreite/Übertragungsrate Batterie Messung als Grundlage für -adaptive Teststrategien Zurückweisung oder Verzögerung von Tests Priorisierte zuweisung Partielle Testfallmengen Folie 15

MORABIT Konzeptionelle Architektur Folie 16

MORABIT Testausführungshistorie Folie 17

MORABIT Komponentenentwicklung 1.Komponentenspezifikation 2.Architekturentwurf (Testschnittstelle!) 3.Entwurf der Testanfragen (insbes. Reaktionen) 4.Feinentwurf 5.Implementierung 6.Entwicklungszeittest 7. Verpackung Komponentennutzung 1.Entpackung, Einsatz und Überprüfung 2.Anpassung und Weiterentwicklung der Testanfragen 3.Einsatz und Ausführung Folie 18

MORABIT Entwurf der Testanfragen Risikoanalyse, um kritische Interaktionen zu erkennen Qualitative Tests (falls wenige Testfälle Fehler aufdecken können) und quantitative Tests (basierend auf Nutzungsstatistik) Typische Qualitative Tests: Semantische Probleme, wie Falsche Reihenfolge bei Eingangs- oder Ausgangsparametern (z.b. Empfänger/ Absenderkonto) Falsche Interpretation von Parametern (z.b. höchster oder niedrigster Bietpreis) Falscher Zustand (z.b. nicht registriert) Unterschiedliche Interpretation von Ausnahmen Qualitätsprobleme (z.b. Antwortszeiten) Folie 19

Komponententest auch zur Entwicklungszeit und Deploymentzeit nützlich! Vereinfachen Integrationstest deployment-time service-time development-time run-time Folie 20

Quality Engineering in der Zukunft kontinuierliche Qualitätskontrolle Akzeptanztests Inspektion Prototyping Selbsttest Zur Laufzeit Informelle und Teilweise formale Spezifikation der Qualität Requirements Engineering Funktionale Anforderungen Qualitäts-Anforderungen Automatisierte Evolution Maschine kontrolliert Selbstkorrektur? die eigene Qualität Folie 21