inoxio erklärt agiles testing
-
Upload
torsten-mangner -
Category
Technology
-
view
51 -
download
0
description
Transcript of inoxio erklärt agiles testing
![Page 1: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/1.jpg)
![Page 2: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/2.jpg)
inoxio Quality Services GmbH
seit 2007
Sitz in Erfurt
3 Geschäftsführer, Tester, Entwickler
![Page 3: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/3.jpg)
Projekte in ganz Deutschland
Telekom, Post, Otto, ...
![Page 4: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/4.jpg)
Agile Testing
![Page 5: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/5.jpg)
Mini-Wasserfall
4 PO schreibt Story
4 Entwickler implementieren Software
4 QA testet ob Software der Story entspricht
![Page 6: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/6.jpg)
ODER ...
![Page 7: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/7.jpg)
Behavior
Driven
Development
![Page 8: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/8.jpg)
QA ist Teil des Enwicklungsteams
![Page 9: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/9.jpg)
Agiles Team mit 4-6 Devs, QA, PO
![Page 10: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/10.jpg)
Story Life Cycle - Discovery
4 PO schreibt Story
4 Estimation erzeugt Verständnis im Team
![Page 11: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/11.jpg)
Story Life Cycle - Test Design
4 QA + PO schreiben erstes Example (HappyPath)
4 QA schreibt mehr Examples
4 vollständige Acceptance Tests
4 PO kann Acceptance Tests überprüfen/ändern
![Page 12: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/12.jpg)
Story Life Cycle - Planning
4 BDD ist Kommunikationswerkzeug!
4 im Planning werden die Examples benutzt um Anforderungen zu veranschaulichen
4 Probleme und EdgeCases können erkannt werden
![Page 13: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/13.jpg)
Story Life Cycle - Implementation
4 Acceptance Tests werden zu erst automatisiert
4 BDD + TDD Cycles
4 alle Tests grün -> Story DONE!
![Page 14: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/14.jpg)
Test AutomationWhole Team!
Pairing: Devs & QA
![Page 15: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/15.jpg)
Automated Acceptance Tests
4 Ausführbare Acceptance Tests
4 Regression Suite
4 Menschenlesbare Acceptance Tests
4 immer aktuelle Feature Documentation
4 PO kann Anforderungen anpassen
![Page 16: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/16.jpg)
Cucumber for the Resque!
![Page 17: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/17.jpg)
Cucumber: FeaturesFeature: Instant Printing of Orders
As a *Barkeeper* I want to get an instant printout when a *Waiter* receives an *Order* so that I can prepare the ordered beverages faster
Scenario: Orders from Mobile-Waiter-Device are transfered to POS
GIVEN a system with a Mobile-Waiter-Device M and a POS-Device P AND a Printer is connected to the POS-Device P WHEN the Waiter uses M to log in a Order for Table 2: | Bier, groß | 1 | | Wasser, klein | 2 | THEN P should receive the Order within 1 second AND the Printer is printing a printout with these facts: | Table: 2 | | ---------------- | | Bier, groß: 1 | | Wasser, klein: 2 |
![Page 18: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/18.jpg)
Cucumber: Features II
4 menschenlesbare Specs
4 Step-Definitions erkennen Schritte und machen diese ausführbar
![Page 19: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/19.jpg)
Cucumber: Step DefinitionsWhen(/^the Waiter uses (\w+) to log in a Order for Table (\d+):$/) do |device_id, table_no, order| # drive actual device or simulator # ...end
Then(/^the Printer is printing a printout with these facts:$/) do |data_table| @mocked_printer.should_receive(:print_recipe).with(...).once()end
![Page 20: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/20.jpg)
Cucumber: Step Definitions II
4 sind wiederverwendbar
4 gibt es nicht geschenkt
4 QA und Devs müssen im Pair arbeiten
4 Black-, Gray- & White-Box
![Page 21: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/21.jpg)
Driving Applications
4 Webpages: Webdriver / Selenium
4 iOS/Android: Calabash:
4 mit Simulator
4 mit echtem Device
![Page 22: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/22.jpg)
Challenges
4 verschiedene Technologien
4 Rails + iOS
4 Integration-Tests mit verteilten Devices
4 Handheld + POS + Backoffice
![Page 23: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/23.jpg)
Test Pyramide für verteilte Systeme4 solide Unit-Tests als Grundlage
4 wasserdichte automatisierte Interface-Tests
4 automatisierte Acceptance Tests (System-Level)
4 manuelle voll integrierte Smoke-Tests vor jedem Release
![Page 24: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/24.jpg)
Ein Schritt nach dem Anderen
4 QA im Team
4 Acceptance Tests pro Story (manuell?)
4 Automated Acceptance Tests
![Page 25: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/25.jpg)
Testing friendly Environment
4 Test Driven Development
4 Continious Integration
4 One-Click Deployments auf Test-Umgebung
4 Continious Delivery
![Page 26: inoxio erklärt agiles testing](https://reader034.fdocument.pub/reader034/viewer/2022052601/558c91fed8b42a03438b477d/html5/thumbnails/26.jpg)