der agile qualitätsbaukasten - php unconference 2014

25
Der Agile QA Baukasten RAPID TESTING

Upload: webcsonsultseu

Post on 25-Jun-2015

385 views

Category:

Software


2 download

DESCRIPTION

Der Agile Qualitätsbaukasten - Rapid Testing Testmethoden vorgestellt

TRANSCRIPT

Page 1: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Der Agile QA

BaukastenRAPID TESTING

Page 2: Der Agile Qualitätsbaukasten - PHP Unconference 2014

John Behrens

Webentwicklung seit 1998

QAMP

Software Craftmanship

Agiles Mindset

Twitter @WebconsultsEU

[email protected]

Mixed-Software-Arts.com

Page 3: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Fundamentaler Test Prozess

Page 4: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Testing Pyramiede

User

Integration

Komponenten Tests

Unit Tests

Page 5: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Testfragen

Sind Qualitätsanforderungen

Erfüllt ?

Erfüllt das Produkt meine Anforderungen ?

Ist mein Pflichtenheft Erfüllt (Verifizierung) ?

Sind meine Anforderungen die

Richtigen ?

Page 6: Der Agile Qualitätsbaukasten - PHP Unconference 2014

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

Page 7: Der Agile Qualitätsbaukasten - PHP Unconference 2014

White & Blackbox Testing

Page 8: Der Agile Qualitätsbaukasten - PHP Unconference 2014

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

Page 9: Der Agile Qualitätsbaukasten - PHP Unconference 2014

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

Page 10: Der Agile Qualitätsbaukasten - PHP Unconference 2014

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

Page 11: Der Agile Qualitätsbaukasten - PHP Unconference 2014

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

Page 12: Der Agile Qualitätsbaukasten - PHP Unconference 2014

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

Page 13: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Continious Integration

Kontinuierliches zusammenführen

von Teilprojekten

Sicherstellen zusammenpassen des

Gesamtproduktes

+ Sehr schnelles Feedback

- Zusammenfassen ob es knallt

Tools: Jenkins, Travis CI, Bamboo

Page 14: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Continious Deployment

Schnelles Deployment des

Produktes auf der Live Umgebung

Schnelles reagieren auf Fehler

Tools: Jenkins, Hudson, Travis CI,

Puppet, Ansible, Docker, Chef

Page 15: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Software Metriken

Statische Code Analyse

Cyclomatic Complexity

Testabdeckung

Lines of Code

+ Einfache Erfassung

+ Code Nah

- Keine Fachliche Relevanz

Page 16: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Devops for Quality

Automatisierung der Umgebung

als Dokumentation

+ Schnelles Aufsetzen von Test

oder Entwicklungsumgebungen

+ Sichere Dokumentation von

Abhängigkeiten

- Initialaufwand beim Einrichten

Page 17: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Reviews

Peer Reviews

Review Sessions

Formelle Reviews nach IEE 892

Tools: Fishey, Jira, GIT, Beamer,

Schreibtisch

Page 18: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Crowd Testing

Durch Anbieter in der Crowd

Muss für Endanwender geeignet

sein

Keine “geheimen” Projekte

Tools: Testhub, eigene Plattform,

Page 19: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Exploratives Testen

Testsessions in Gruppen

Testtouren in Verschiedenen Rollen

+ Besonders gut geeignet zum

entdecken unbedachter Fehler

+ Geringer Initalaufwand

- Weniger geeignet zur

Verifizierung

Page 20: Der Agile Qualitätsbaukasten - PHP Unconference 2014

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

Page 21: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Bug Metriken

Erfassung von Bugs in Metriken

Tools: Jira, Mantis, Excel

Page 22: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Performance Testing

Vorab Testing von Performance

+ Ermöglicht Skalierbarkeit und

Performance

- Hohe Hardwaranforderungen

- Nicht immer mit realer Last zu

vergleichen

Tools: JMeter, Scripts, diverse

Page 23: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Security Testing

Penetration Testing – Outsourcing

Hacker Contest

Security Test Tools

Security Reviews

Page 24: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Externe Audits

Teilweise Erforderlich z.b. PCI/DSS

TÜV

Andere Organisationen

Page 25: Der Agile Qualitätsbaukasten - PHP Unconference 2014

Und wie Testet ihr ?

Welche Methoden nutzt ihr bei

euch?