Zum Beispiel ein Test

Ähnliche Dokumente
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Primzahlen und RSA-Verschlüsselung

Informationsblatt Induktionsbeweis

Modellbildungssysteme: Pädagogische und didaktische Ziele

1 Mathematische Grundlagen

Weiterbildungen 2014/15

Die 7 wichtigsten Erfolgsfaktoren für die Einführung von Zielvereinbarungen und deren Ergebnissicherung

Mobile Intranet in Unternehmen

Wege zur Patientensicherheit - Fragebogen zum Lernzielkatalog für Kompetenzen in der Patientensicherheit

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

Umsatz-Kosten-Treiber-Matrix Woodmark Consulting AG

Anleitung über den Umgang mit Schildern

1. Was ihr in dieser Anleitung

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

von: Oktay Arslan Kathrin Steiner Tamara Hänggi Marco Schweizer GIB-Liestal Mühlemattstrasse Liestal ATG

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Berechnung der Erhöhung der Durchschnittsprämien

FAQ 04/2015. Auswirkung der ISO auf 3SE53/3SF13 Positionsschalter.

Unfallkasse Nord Träger der gesetzlichen Unfallversicherung Körperschaft des öffentlichen Rechts

RUNDE TISCHE /World Cafe. Themen

Professionelle Seminare im Bereich MS-Office

Existenzgründer Rating

Wir machen neue Politik für Baden-Württemberg

Kulturelle Evolution 12

Regelwerk der "Electronical Infrastructure for Political Work"

Erfahrungen mit Hartz IV- Empfängern

FRAGE 39. Gründe, aus denen die Rechte von Patentinhabern beschränkt werden können

Verband der TÜV e. V. STUDIE ZUM IMAGE DER MPU

IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung

Was sind Jahres- und Zielvereinbarungsgespräche?

Deutschland-Check Nr. 35

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

VfW-Sachverständigenordnung

Empathisches CRM. (Empathic CRM) Sven Bruck, die dialogagenten. die dialogagenten Agentur Beratung Service GmbH Katernberger Straße Wuppertal

Grundlagen der Theoretischen Informatik, SoSe 2008

1 MIO ÖSTERREICHISCHE SKIFAHRER SCHÜTZEN SICH BEREITS MIT HELM - UM MEHR ALS IM VORJAHR

Markus 13, Wie ist es, wenn die Welt aufhört? Und wenn die neue Welt von Gott anfängt.

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

Gutes Leben was ist das?

Die richtigen Partner finden, Ressourcen finden und zusammenführen

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.

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Deutliche Mehrheit der Bevölkerung für aktive Sterbehilfe

Was ist das Budget für Arbeit?

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

Teamentwicklung. Psychologische Unternehmensberatung Volker Rudat

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

WENN DU DER GESAMTBEWERTER BIST

Neun Strategien der Partnerarbeit

= = = = = = = = = = = = = = = = = =

ACHTUNG: Voraussetzungen für die Nutzung der Funktion s-exposé sind:

DNotI. Fax - Abfrage. GrEStG 1 Abs. 3 Anteilsvereinigung bei Treuhandverhältnissen. I. Sachverhalt:

Agile Unternehmen durch Business Rules

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

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

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?

MuP-Arbeitshilfen. Kreativität organisieren Der innovative Prozess. Problem-Phase

Projektmanagement. Thema. Name der bzw. des Vortragenden. Vorname Nachname Sommersemester 2004

Situa?onsbeschreibung aus Sicht einer Gemeinde

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Steuerliche Gestaltungsmöglichkeiten nutzen

LEITFADEN ZUR SCHÄTZUNG DER BEITRAGSNACHWEISE

Ausgangslage, Rolle und Auftrag

Ihr Zeichen, Ihre Nachricht vom Unser Zeichen (Bei Antwort angeben) Durchwahl (0511) 120- Hannover NDS EU-DLR

Geschäfts- und Firmenwert G 20. Entgeltlich erworbener Geschäfts- und Firmenwert

Installation OMNIKEY 3121 USB

Psychologie im Arbeitsschutz

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Begrüßung mit Schwung und Begeisterung. Die Teilnehmer müssen spüren, dass die Aufgabe Spaß macht.

SWOT Analyse zur Unterstützung des Projektmonitorings

bagfa ist die Abkürzung für unseren langen Namen: Bundes-Arbeits-Gemeinschaft der Freiwilligen-Agenturen.

2 Vortrag oder Präsentation: Wo liegt der Unterschied?

Lernaufgabe Industriekauffrau/Industriekaufmann Angebot und Auftrag: Arbeitsblatt I Auftragsbeschreibung

Finanzwirtschaft. Teil II: Bewertung

Was ist Sozial-Raum-Orientierung?

1 topologisches Sortieren

10. Fachtagung IT-Beschaffung 2014 Fachforum 6

INTERNET SERVICES ONLINE

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

FAQs für beglaubigte Übersetzungen Francesca Tinnirello

Kreativ visualisieren

Beweisbar sichere Verschlüsselung

Sind Sie reif fürs ASSESSEMENT CENTER?

Workshop-Unterlagen Leitbildentwicklung

Bewerbungsformular für das Förderprogramm Teamwork gefragt! Beteiligung von Personen aus anderen Kulturen in der Gemeinde

Online Intelligence Solutions TESTABLAUF. 7 Schritte für ein erfolgreiches Testing.

Statuten in leichter Sprache

Produktionsplanung und steuerung (SS 2011)

Checkliste. zur Gesprächsvorbereitung Mitarbeitergespräch. Aktivität / Frage Handlungsbedarf erledigt

Kundenorientierte Produktentwicklung

Info zum Zusammenhang von Auflösung und Genauigkeit

CTI SYSTEMS S.A. CTI SYSTEMS S.A. 12, op der Sang. Fax: +352/ L Lentzweiler. G.D.

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

5.3.1 Welche Versicherungsunternehmen bieten Ihrer Meinung nach mindestens eine sehr gute App an?... 85

1. Fabrikatshändlerkongress. Schlussworte Robert Rademacher

Information zum Prüfungswesen Geprüfte(r) Logistikmeister(in) Handlungsspezifische Qualifikationen

LU - Mehrwertsteuer. Service zur Regelung der MwSt.-Prozedur:

Einführung in. Logische Schaltungen

Transkript:

Zum Beispiel ein Test Torsten Mandry OPITZ CONSULTING Deutschland GmbH Gummersbach Schlüsselworte Beispiele, Specification by Example, Akzeptanztest, Lebende Spezifikation, Java Einleitung Beispiele helfen in der Analysephase die Kundenanforderungen zu verstehen und zu diskutieren. Später können diese dann als Basis für automatisierte Akzeptanztests verwendet werden. Klingt ganz einfach? In der Praxis kann es jedoch einige Hürden geben, insbesondere wenn es um die Erweiterung einer existierenden Anwendung geht. Im Vortrag werden Erfahrungen aus einem Kundenprojekt geschildert und unterschiedliche Möglichkeiten aufgezeigt um aus definierten Beispielen automatisierte Akzeptanztests abzuleiten. Analyse und Spezifikation von Anforderungen In dem zugrundeliegenden Kundenprojekt wurde ein bestehendes Softwaresystem um eine Reihe von neuen Features erweitert. Grundlage für die Entwicklung jedes einzelnen Features war die Aufnahme und Analyse der Kundenanforderungen und deren Überführung in eine Spezifikation des zu entwickelnden Features. Dazu wurden Anforderungsworkshops durchgeführt, in denen der Auftraggeber seine Anforderungen präsentierte und mit dem Analysten diskutierte. Die Aufgabe des Analysten bestand darin die Ergebnisse der Diskussionen in eine Prosa -Spezifikation zu überführen. Diese wurde anschließend vom Auftraggeber geprüft, freigegeben und schließlich zur Umsetzung an den Entwickler übergeben. Abb. 1: Analyse, Spezifikation und Implementierung von Anforderungen Das Ergebnis dieser Vorgehensweise war häufig ernüchternd. Das fertige Feature entsprach nur zum Teil den Erwartungen des Kunden. Missverständnisse und Spezifikationslücken wurden oft erst im Rahmen der Abnahmetests des Kunden aufgedeckt. Ursache: Auftraggeber, Analyst und Entwickler haben die Spezifikation jeweils nach ihren eigenen Vorstellungen interpretiert und sie so verstanden, wie sie sie verstehen wollten. Jeder hat nach

bestem Wissen und Gewissen das spezifiziert, geprüft und entwickelt was er verstanden hat. Ein gemeinsames Verständnis fehlte, es fiel über diesen Weg jedoch nicht auf. Abb. 2: Unterschiedliches Verständnis der Spezifikation Beispiele Beispiele veranschaulichen und verdeutlichen Zusammenhänge und helfen dadurch Missverständnisse und Lücken aufzudecken. Im Gegensatz zu einer allgemeingültig formulierten Prosa -Spezifikation verlangen Beispiele konkrete Angaben. Nachfolgend exemplarisch eine Spezifikation sowie ein dazu formuliertes Beispiel um dies zu verdeutlichen: Spezifikation: Die Afa einer Investition ergibt sich aus dem Investitionswert, linear verteilt über den Abschreibungszeitraum, beginnend mit dem Monat der Aktivierung Beispiel: Wenn wir eine Investition im Wert von 600 TEUR getätigt haben, die am 01.01.2012 aktiviert wurde, dann folgt daraus, bei einer Abschreibungsdauer von 60 Monaten, eine monatliche AfA in Höhe von 10 TEUR und zwar von Jan/2012 bis Dez/2016 Die Verwendung von konkreten Werten führt oft dazu, dass Fachbegriffe verdeutlicht und weitere Details aufgedeckt werden. So war in der vorliegenden Spezifikation zunächst nur von einem Abschreibungszeitraum die Rede. Dass es eine definierte Abschreibungsdauer von 60 Monaten gibt wurde erst durch das Beispiel offensichtlich. Außerdem werfen konkrete Beispiele häufig weitere Fragen auf, wie: Erfolgt die Aktivierung immer am Anfang eines Monats? oder Ist auch eine andere Abschreibungsdauer als 60 Monate möglich? Im dem zugrundeliegenden Kundenprojekt wurden in Anforderungsworkshops bis dahin nur vereinzelt Beispiele verwendet um schwierige Sachverhalte zu erklären oder um als

Diskussionsgrundlage zu dienen. In den meisten Fällen wurden sie jedoch spätestens nach der Überführung in die Spezifikation verworfen. Dabei können solche Beispiele im Laufe der Diskussion wachsen und weitere Details aufdecken. Angefangen von einem grundlegenden Standardfall werden schnell Spezialfälle identifiziert und können wiederum durch entsprechende Beispiele festgehalten werden. Schnell entsteht auf diesem Weg eine Sammlung von Beispielen, die ein Feature nachvollziehbar und überprüfbar beschreibt. Beispiele, die vom Kunden oder mit dem Kunden zusammen erarbeitet werden geben auch Aufschluss darüber, was dem Kunden wichtig ist und was er vom System erwartet. Damit werden neben den Details eines Features auch die Akzeptanzkriterien deutlich die der Kunde an das System stellt. Noch wichtiger als die resultierenden Beispiele ist die Diskussion die diese auslösen. Sie führt dazu dass die Teilnehmer das Feature wesentlich intensiver beleuchten und detaillierter verstehen als dies sonst der Fall wäre. Allerdings sind Beispiele nicht immer so einfach aufzustellen, wie es auf den ersten Blick aussieht. Es verlangt einige Übung innerhalb einer Diskussion die richtigen Beispiele zu identifizieren und sich auf die relevanten Inhalte zu beschränken. Oft existieren umfangreiche Einflussfaktoren die zu einem konkreten Ergebnis führen. Es kann mühsam sein, all diese Einflussfaktoren zu identifizieren und mit geeigneten Werten zu belegen. Das Ziel sollte daher immer sein sich auf das Wesentliche zu beschränken. Zusammenfassend lässt sich folgende Aussage festhalten: Durch die Verwendung von Beispielen wird die Spezifikation eines Features nicht einfacher sondern besser. Sollen bestehende Features eines Systems geändert werden enthalten die entsprechenden Beispiele oft umfangreiche Teile des vorhandenen Systems. Werden diese innerhalb eines Anforderungsworkshops nachspezifiziert entstehen häufig Aussagen wie Das haben wir doch alles schon mal besprochen. Alles soll bleiben wie bisher, nur Es hat sich in diesen Fällen als hilfreich erwiesen bereits im Vorfeld aus dem bestehenden System grundlegende Beispiele abzuleiten und diese im Workshop dem Kunden als Ausgangspunkt für die Spezifikation der Änderungen zu präsentieren. Specification by Example In seinem Buch Bridging the Communication Gap 1 beschreibt Gojko Adzic unter dem Begriff Specification by Example die Verwendung von Beispielen als alleinige Spezifikation. Alle relevanten Aspekte eines Features werden dabei vollständig in Form von Beispielen beschrieben. Eine Prosa-Spezifikation ist demnach nicht mehr notwendig und entfällt. Führt man diesen Ansatz konsequent weiter können alle definierten Beispiele in Summe als die Kriterien festgehalten werden bei deren Erfüllung das entwickelte Feature als akzeptiert (= abgenommen) gilt. Die Entwicklung erfolgt dann von Anfang an basierend auf diesen Akzeptanzkriterien und der Entwickler hat sehr konkrete Vorgaben was das neue Feature leisten muss. Man spricht in diesem Fall von Acceptance-Test Driven Development (ATDD). In vielen Fällen ist der Kunde jedoch eine Prosa-Spezifikation gewohnt und sieht sie oft sogar explizit in seinem Vorgehensmodell und entsprechenden Dokumentvorlagen als Artefakt vor. Darüber hinaus 1 Gojko Adzic: Bridging the Communication Gap Specification by Example and Agile Acceptance Testing, Neuri Limited, 2011

lassen sich nicht alle Sachverhalte in Form von Beispielen beschreiben. Insbesondere Zusammenhänge zwischen einzelnen Sachverhalten sowie Begründungen für das geforderte Verhalten können damit nicht ausreichend beschrieben werden. Insofern wurde im konkreten Projekt ein Mittelweg eingeschlagen bei dem die Prosa-Spezifikation umfangreich durch entsprechende Beispiele ergänzt wurde. Im Prosa-Teil werden dabei neben der Problemstellung, den Rahmenbedingungen und dem Lösungsentwurf i.w. die Kern-Features sowie die wichtigsten Sonderfälle beschrieben. Die Beispiele verdeutlichen die Prosa-Beschreibung und ergänzen weitere Sonder- und Randfälle. Vom Beispiel zum Test Neben den bereits beschriebenen Eigenschaften von Beispielen bieten diese einen weiteren Vorteil: Beispiele können nachgestellt bzw. ausgeführt werden Damit sind die Beispiele aus der Analyse/Spezifikation eine optimale Grundlage zur Definition von Akzeptanztests. Formuliert man das zuvor genannte Beispiel etwas um wird dies deutlich: Wir haben eine Investition im Wert von 600 TEUR aktiviert am 01.01.2012 und eine Abschreibungsdauer von 60 Monaten Wenn wir die Afa berechnen dann folgt daraus eine monatliche AfA in Höhe von 10 TEUR in der Zeit von Jan/2012 bis Dez/2016 Ausgangssituation/-zustand Aktion/Ereignis Erwartetes Ergebnis Damit können die definierten Beispiele eines Features als Definition of Done für die Entwicklung festgelegt werden. Wenn alle definierten Beispiele (= Akzeptanztests) erfolgreich durchlaufen werden ist das Feature vollständig umgesetzt. Es ist nicht zwingend erforderlich diese Akzeptanztests automatisiert umzusetzen. Sie können auch manuell ausgeführt werden. Spätestens wenn zum betreffenden Feature weitere Änderungsanforderungen vom Kunden gemeldet werden zahlt sich eine Automatisierung jedoch aus. Darüber hinaus können automatisierte Akzeptanztests regelmäßig ausgeführt werden um sich gegen Regressionsfehler zu schützen. Im Falle einer Java-Anwendung können die automatisierten Akzeptanztests entweder mit Hilfe von Spezifikationsframeworks wie z.b. JBehave 2, Cucumber 3 oder Concordion 4 oder ausschließlich auf Basis von JUnit 5 umgesetzt werden. In allen Fällen sollten die Tests wie eine Spezifikation lesbar sein Im Optimalfall entsteht dadurch eine Lebenden Spezifikation, d.h. eine Beschreibung der vollständigen Funktionalität einer Anwendung in Form von automatisierten Akzeptanztests. 2 http://jbehave.org/ 3 http://cukes.info/ 4 http://www.concordion.org/ 5 http://junit.org/

Kontaktadresse: Torsten Mandry Kirchstraße 6 D-51647 Gummersbach Telefon: +49 (0) 2261-6001-0 Fax: +49 (0) 2261-6001-4200 E-Mail torsten.mandry@opitz-consulting.com Internet: www.opitz-consulting.de