Der Agile Qualitätsbaukasten - PHP Unconference 2014
-
Upload
webcsonsultseu -
Category
Software
-
view
385 -
download
2
description
Transcript of Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile QA
BaukastenRAPID TESTING
John Behrens
Webentwicklung seit 1998
QAMP
Software Craftmanship
Agiles Mindset
Twitter @WebconsultsEU
Mixed-Software-Arts.com
Fundamentaler Test Prozess
Testing Pyramiede
User
Integration
Komponenten Tests
Unit Tests
Testfragen
Sind Qualitätsanforderungen
Erfüllt ?
Erfüllt das Produkt meine Anforderungen ?
Ist mein Pflichtenheft Erfüllt (Verifizierung) ?
Sind meine Anforderungen die
Richtigen ?
Kosten eines Bugs
• Je Früher ein Bug gefunden wird je Günstiger ist die Beseitigung
• Je später ein Bug gefunden wird je Teurer ist die Beseitigung
• Schnelles Feedback hilft der Entwicklung
White & Blackbox Testing
Der Agile Testbaukasten
Testfall Erstellung
•Manual Testing
•Grenzwertanalyse
•Off Shore / Testing
Testautimatierung
•Regressionstest
•Testumgebungen
Test Driven Development
•Unit Test
Behavior Driven Development
•Write test Automation for acceptance criteria
Integration and Deployment
•Continious Integration and Deployment
Reviews
•Peer Reviews
•Review Sessions
•Document Revies
Explorative Testing
•Testsessions
•Testtouren
User Testing•A/B Testing
•Alpha Test
•Beta Test
•User Sessions
Weitere Testtools
•Performance Testing
•Security Testing
•Offshoring
Testfall Erstellung
Erstellung von Testfällen
Grenzwerte
Gültige Beispiele
+ Nachweis evtl. Rechtliche Relevanz
- Hoher Manueller Aufwand
- Schlechte Wiederholbarkeit
Tools: Jama Contur, Excel, HP Quality
Center, Jira
Testautomatisierung
Automatische Durchführung
Einbindung in Continious
Integration und Deployment
+ Schnelle Wiederholung
- Hoher initialaufwand
- Erfordert Testumgebung
- Hohe Lernkurve für Tools
Tools: Selenium, Junit, ShellScripts
Behavior Driven Development
Given I am Software ProjectWhen I createRecuirmentsThen I make themexecutable+ Schnelles Feedback auf Anforderungen
+ Testbare Anforderungen
- Hoher Lernaufwand
- Hoher Toolaufwand
Tools: Behat, Cucumber, Fitnesse
Test Driven Development
Erstellen von Unit Tests vor dem
Code
In der Praxis häufig auch Zeitnah
am Code
+ sehr schnelles Feedback
- Berücksichtigt keine End 2 End
- Technik muss erlernt werden
Tools: PHPUnit, Junit, Nunit, Karma,
Jasmine
Continious Integration
Kontinuierliches zusammenführen
von Teilprojekten
Sicherstellen zusammenpassen des
Gesamtproduktes
+ Sehr schnelles Feedback
- Zusammenfassen ob es knallt
Tools: Jenkins, Travis CI, Bamboo
Continious Deployment
Schnelles Deployment des
Produktes auf der Live Umgebung
Schnelles reagieren auf Fehler
Tools: Jenkins, Hudson, Travis CI,
Puppet, Ansible, Docker, Chef
Software Metriken
Statische Code Analyse
Cyclomatic Complexity
Testabdeckung
Lines of Code
+ Einfache Erfassung
+ Code Nah
- Keine Fachliche Relevanz
Devops for Quality
Automatisierung der Umgebung
als Dokumentation
+ Schnelles Aufsetzen von Test
oder Entwicklungsumgebungen
+ Sichere Dokumentation von
Abhängigkeiten
- Initialaufwand beim Einrichten
Reviews
Peer Reviews
Review Sessions
Formelle Reviews nach IEE 892
Tools: Fishey, Jira, GIT, Beamer,
Schreibtisch
Crowd Testing
Durch Anbieter in der Crowd
Muss für Endanwender geeignet
sein
Keine “geheimen” Projekte
Tools: Testhub, eigene Plattform,
Exploratives Testen
Testsessions in Gruppen
Testtouren in Verschiedenen Rollen
+ Besonders gut geeignet zum
entdecken unbedachter Fehler
+ Geringer Initalaufwand
- Weniger geeignet zur
Verifizierung
A/B Testing
Neues und altes Produkt
vergleichen
Usability von 2 Produktvarianten
vergleichen
Fehleranfälligkeit von 2
Produktvarianten vergleichen
+ Relativ aufwandsgünstig
- Repräsentatives splitting schwer zu
erreichen
Bug Metriken
Erfassung von Bugs in Metriken
Tools: Jira, Mantis, Excel
Performance Testing
Vorab Testing von Performance
+ Ermöglicht Skalierbarkeit und
Performance
- Hohe Hardwaranforderungen
- Nicht immer mit realer Last zu
vergleichen
Tools: JMeter, Scripts, diverse
Security Testing
Penetration Testing – Outsourcing
Hacker Contest
Security Test Tools
Security Reviews
Externe Audits
Teilweise Erforderlich z.b. PCI/DSS
TÜV
Andere Organisationen
Und wie Testet ihr ?
Welche Methoden nutzt ihr bei
euch?