Wirtschaftlich Software testen (ESE-Kongress 2012)

Download Wirtschaftlich Software testen (ESE-Kongress 2012)

Post on 10-Jul-2015

543 views

Category:

Business

1 download

Embed Size (px)

TRANSCRIPT

Wirtschaftlich Software Testen

WirtschaftlichSoftwaretestenMatthias Kraaz

6. Dezember 2012Matthias Kraaz Zhlke 2012

Soll alle Fehler findenTestzyklen in NullzeitVerifikation klappt auf AnhiebKnappe ZeitKnappes BudgetHufige nderungen

Die Schmerzen des Test-Managers Zhlke 2012Wenn Sie hier sitzen, gehe ich davon, dass Sie zumindest einen Teil des hier dargestellten Anforderungsdrucks verspren.2TestautomatisierungDesign for TestabilityAutomatisierte VerifizierungstestsTeststufenTestherleitungsverfahren und die GiekanneStatische AnalyseReviewsAgenda6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz Zhlke 2012

ElektronikSoftware

Point of ControlPoint of Observation Zhlke 2012Wie kann man Systemtests automatisieren?Ganz auen an die echten Systemschnittstellen ran

Vorteile:Wir testen die Mechanik und gesamte Elektronik immer mit.Keinerlei nderung am Testling

Nachteile:Langsam, aufwendig und fehleranfllig.4

ElektronikSoftware

Point of ObservationPoint of Control Zhlke 2012Wie kann man Systemtests automatisieren?An die Signalleitungen gehen

Vorteile:Viel schneller und zuverlssiger.

Nachteile:Testinstrumente beschaffen (aus der Teststnden fr funktionale Tests ausleihen)Simulation des Verhaltens der Peripherie kann ziemlich kompliziert seinElektronik muss Zugang ermglichen (Leiterbahnen nicht im x-ten Layer)Eventuell bekommen die Systemtests den Charakter von Integrationstests. Ihre Aussagekraft muss plausibilisiert werden, zum Beispiel durch manuelle Systemtests oder Vergleich der simulierten mit der echten Peripherie usw.5

ElektronikSoftware

Point of ObservationPoint of Control Zhlke 2012Wie kann man Systemtests automatisieren?Treiber oder so mit Testschnittstelle patchen

Vorteile:Kein rger mit der Elektronik.

Nachteile:Man braucht natrlich auch Infrastruktur zur Kommunikation mit dem Testling.Man testet nicht wirklich das was man ausliefern will.Genderte Komponenten mssen parallel gepflegt werden.6

ElektronikSoftware

Point of ObservationPoint of Control Zhlke 2012Wie kann man Systemtests automatisieren?DfT an vorhandenen Kommunikationskanlen (Testpunkten) zwischen Treibern und Rest der Software angreifen

Vorteile:Software wird ohne nderungen getestet.

Nachteile:Nur mit DfT seitens der Software machbar.Und natrlich auch hier Infrastruktur zur Kommunikation mit dem Testling ntig.7

ElektronikSoftwarePoint of ObservationPoint of Control

Zhlke 2012Wie kann man Systemtests automatisieren?Zustzliche Testpunkte inmitten der Software

Vorteile:Schneller, weil Abkrzungen gegangen werden knnen.Schneller, weil Fehlerzustnde frhzeitig entdeckt werden, nicht erst bei Fehlerwirkung.

Nachteile:Tests brechen hufiger.8

ElektronikSoftwarePoint of ObservationPoint of Control

Zhlke 2012Wie kann man Systemtests automatisieren?In der Praxis wird man kombinieren.9

Design for Testability Zhlke 2012Gerade die Automatisierung von Systemtests kann schwierig und teuer sein.Design for Testability ein Begriff aus Elektronikentwicklung kann Automatisierungskosten drastisch senken oder Testautomatisierung erst mglich machen.10Liefern Sie aus, was Sie getestet haben:Finale Version sollte debugbar und testbar sein Test-Schnittstellen versperren, aber drin lassenSonderfall Wartungstests / STK / MTKSonderfall Produktionstests

Tricks, damit die Herstellkosten nicht steigen:optionale Bestckungmodulare BauweiseDesign for Testability6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz Zhlke 2012

TestlingSignal-AdaptionZum Test-System Zhlke 201212

Zhlke 2012

Zhlke 2012Fr den Test von Embedded Devices werden Testinstrumente zur Stimulierung und Messung des Testobjekts (ATE automated test equipment) bentigt. Diese kann man fertig kaufen. Als Beispiel sieht man hier:Einen LabJack U3-HV: ein einfaches IO-Board, das per USB angeschlossen wird. Einfache Bedienung per .NET Schnittstelle.Daneben sieht man ein PXI-Testsystem. PXI ist ein standardisiertes Format fr Gehuse und Steckkarten und stammt aus dem Bereich der Produktionsautomatisierung.Meistens wird noch eine elektrische Adaptierung bentigt, siehe auch nchstes Bild.

14

Zhlke 2012Fehler werden frher gefundenTestfallexplosion besser im GriffVielzahl von Eingangs-/Ausgangsparametern automatisiert testbarEs gibt fter einen aktuellen Testbericht Regressionstests ermglichen RefactoringStresstests, lange Testlufe mglichGibt Sicherheit und VertrauenBessere Dokumentation / Nachvollziehbarkeit der TestsRegularien-freundlich!TestautomatisierungVorteile6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz Zhlke 2012Erstellung von Tests aufwendiger,Produktivitt des Testteams sinkt anfnglichPflege von Tests aufwendigerDie meisten Fehler werden whrend der Testerstellung gefundenTests haben reduzierte VariabilittTests verifizieren nur, was hineinprogrammiert wurde Mit manuellen / explorativen Tests kombinierenTestautomatisierungHinweise6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz Zhlke 2012Testling sollte gewisse Stabilitt erreicht habenMindestens zweiten Teststand vorsehenZuverlssige Hardware verwendenKISS (Keep it small and simple)TestautomatisierungHinweise6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz Zhlke 2012Alle Tests werden automatisiertSofortige Kosteneinsparung durch AutomatisierungCapture-Replay ohne NacharbeitEin zugekauftes Werkzeug, das perfekt passtTestautomatisierungUnrealistisch6. Dezember 2012Wirtschaftlich Software testen | Matthias KraazUnrealistisch! Zhlke 2012Eingangsdaten fr Berechnung:Kosten fr manuelle TestsErstellung der TestfallspezifikationenManuelle TestdurchfhrungKosten fr automatisierte TestsErstellung der TestskriptePflege der TestskripteAutomatisierte TestdurchfhrungInfrastrukturParameterAnzahl manueller(!) TestlufeKosten pro PersonentagAnteil nicht automatisierter TestsROI von TestautomatisierungPraxisbeispielWirtschaftlich Software testen | Matthias Kraaz6. Dezember 2012

Zhlke 2012Wir ziehen die hier die Anzahl von Testlufen heran, die ohne Automatisierung durchgefhrt werden wrden.Wir berechnen daher den minimalen ROI der Automatisierung das spart man auf jeden Fall durch die Automatisierung.

Manche ziehen stattdessen die Anzahl der automatisierten Durchfhrungen heran.Das bersteigert den Nutzen der Automatisierung.

Andererseits sind viele Vorteile der Automatisierung bei dieser Berechnung nicht eingepreist.Diese Vorteile sind auch sehr schwierig zu quantifizieren oder vorherzusagen.20ROI von TestautomatisierungPraxisbeispielWirtschaftlich Software testen | Matthias Kraaz6. Dezember 2012 Zhlke 201221Man nehme:Kodierende Tester / testende EntwicklerUnit Test FrameworkMock GeneratorBuild & Deploy & Run automatisieren

Was macht es schwierig:AbhngigkeitenDesign der SchnittstellenAutomatisierung von Komponententests6. Dezember 2012Wirtschaftlich Software testen | Matthias KraazTestDriverComponentunder TestMock Zhlke 2012Und was wenn die Tester (die keine Entwickler sind) die Komponententests schreiben mssen?22Eventuell mehrere IntegrationsstufenHerausforderungen je nach Anteil Software / ElektronikAutomatisierung von Integrationstests6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz

Zhlke 2012

Automatisierte Verifizierungstests Zhlke 201224Verifizierungstests laufen automatisiert whrend EntwicklungVorschau auf VerifizierungsergebnisRuhiger Schlaf

Automatisierte Verifizierungstests (IV&V)Zeitdruck, Kosten von WiederholungenTest-Infrastruktur der Entwicklung kann wiederverwendet werdenValidierung der Test-InfrastrukturTest to verify statt test to killAutomatisierte VerifizierungstestsWirtschaftlich Software testen | Matthias Kraaz6. Dezember 2012 Zhlke 2012Die Entwicklung kann die Verifizierungstests automatisieren unabhngig davon, ob die IV&V die Verifizierungstests manuell oder automatisiert durchfhrt.Damit hat die Entwicklung regelmig eine Vorschau das Verifizierungsergebnis minus nicht automatisierbarer Verifizierungstests.Bei einem roten Verifizierungstests droht nmlich im Allgemeinen nach der Fehlerbehebung eine vollstndige Wiederholung statt wie whrend der Entwicklung blich einem partiellem Regressionstest.Das Resultat ist ruhiger Schlaf fr das Entwicklungsteam weitgehend ohne Angst vor einem Durchfallen bei der Verifizierung.

Die IV&V kann die Verifizierung mit automatisierten Verifizierungstests durchfhren.Grnde dafr knnen der Zeitdruck am Ende der Entwicklung oder aber auch die Kosten fr Wiederholungen bei Fehlschlgen der Verifizierung oder bei Aktualisierungen der Software sein.

Dazu kann die von der Entwicklung produzierte Test-Infrastruktur wiederverwendet werden.Voraussetzung ist aber meist eine Prfmittel-Validierung der Test-Infrastruktur.

Zudem muss auf den genderten Fokus Test to verify whrend der Verifizierung statt test to kill whrend der Entwicklung geachtet werden.25Fehlerkosten sinkenSoftwarequalitt steigtKeine bsen berraschungenin der Verifikation oder bei der AbnahmeTestautomatisierung lohnt sichauch wenn der genaue ROI schwer zu berechnen istWir fhren Projekte nur noch mit Testautomatisierung durchauf allen Test-Ebenenauch im nicht regulierten UmfeldTestautomatisierungFazit6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz Zhlke 2012Vorteile von Komponenten- und IntegrationstestsWeniger Aufwand pro TestHohe Testtiefe bequem erreichbarHohe berdeckung von Parametern (Kombinationen, quivalenzklassen, Grenzwerte)Hohe berdeckung von ZustandsmaschinenRobustheit-TestsFrher durchfhrbarHufiger durchfhrbarFehlerursache leichter zu lokalisierenLeichter automatisierbarTeststufen6. Dezember 2012Wirtschaftlich Software testen | Matthias Kraaz Zhlke 2012Lassen Sie Systemtests nicht Ihr einziges Mittel sein.Machen Sie Ge