Presentation Agile Testing describes differences between waterfall and agile methods to test software applications. It further indicates what changes organization has to adopt to benefit from agile approaches to software testing.
3. Definice kvality
1. ISO 9000: „Degree to which a set of inherent characteristics fulfills requirements“. The standard defines requirement as
need or expectation.
2. Six Sigma: „Number of defects per million opportunities“.
3. Joseph M. Juran: „Fitness for use“. Fitness is defined by the customer.
4. Noriaki Kano and others, present a two-dimensional model of quality: „must-be quality“ and „attractive quality.“ The
former is near to „fitness for use“ and the latter is what the customer would love, but has not yet thought about.
Supporters characterize this model more succinctly as: „Products and services that meet or exceed customers'
expectations.“
5. W. Edwards Deming: concentrating on „the efficient production of the quality that the market expects,“ and he linked
quality and management: „Costs go down and productivity goes up as improvement of quality is accomplished by better
management of design, engineering, testing and by improvement of processes.“
6. Peter Drucker: „Quality in a product or service is not what the supplier puts in. It is what the customer gets out and is
willing to pay for.“
7. Philip B. Crosby: „Conformance to requirements“. The requirements may not fully represent customer expectations; Crosby
treats this as a separate problem.
8. Genichi Taguchi, with two definitions:
a. „Uniformity around a target value.“ The idea is to lower the standard deviation in outcomes, and to keep the range
of outcomes to a certain number of standard deviations, with rare exceptions.
b. „The loss a product imposes on society after it is shipped.“ This definition of quality is based on a more
comprehensive view of the production system.
9. Subir Chowdhury: „Quality combines people power and process power“.
10. Robert Pirsig: „The result of care.“
11. American Society for Quality: „A subjective term for which each person has his or her own definition. In technical usage,
quality can have two meanings:
a. The characteristics of a product or service that bear on its ability to satisfy stated or implied needs;
b. A product or service free of deficiencies.“
12. Gerald M. Weinberg: „Value to some person“.
http://en.wikipedia.org/wiki/Quality_%28business%29, 2011-08-01
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 3/22
4. Naše definice kvality
„Kvalita je mírou spokojenosti zákazníka.“
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 4/22
5. Kontrola nebo zajištění kvality?
Kontrola (QC)
Zajištění (QA)
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 5/22
6. Kontrola kvality – vodopád
2 měsíce
2 měsíce
Požadavky Bug fixing
2 měsíce 6 měsíců
Specifikace 2 měsíce
Kódování Support /
1 týden
Předpoklad: Testování Bug fixing
Víme, že
víme všechno Dodání
Opravy
Gantt Chart Lessons
Learned
0–1 den
Testování = hledání chyb
• Začíná se na konci.
• Pokud se protáhne kódování, zkrátíme testování.
• Nemáme se kdy poučit -> Nejsme připravení na poučení se.
BUG FIXING NENÍ TESTOVÁNÍ !!!
Odevzdáme zákazníkovi do provozu.
1. Zákazník je nespokojený.
2. Kapacita alokovaná na nový projekt opravuje.
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 6/22
7. Zajištěné kvality – agilní testování
Řízené zajišťování kvality v průběhu
celého vývojového cyklu umožňující
dodání požadované hodnoty zákazníkovi.
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 7/22
8. Základ – Kruh kvality
Edward Deming (1965)
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 8/22
9. Agilní principy a hodnoty
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 9/22
10. Kontrola kvality - agilný vývoj
Retrospektiva
Plánování
Lessons
Learned
Převzetí
výsledku
Práce Test je v iteraci
Review
A A A
C C
B B B Testování ???
D
Úspora 2 měsíce
Iterace I Iterace II Iterace III
– Inkrement A, B – Inkrement C – Inkrement D
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 10/22
11. V čem je agilní testování jiné?
Vodopádový přístup Agilní přístup
Kvalita je ověřována na konci Testování je integrováno v procesu
procesu (Gatekeeping)
Automatizace
• trvá dlouho,
• je drahé,
Zaměřuje se na řízení procesu, ověřování
• nezbývá na něj čas,
v průběhu, implementaci znalostí a
• ....
dodávání hodnoty pro zákazníka.
Zaměřuje se na zjištění funkčnosti,
méně na shodu s požadavky, téměř
vůbec na hodnotu pro zákazníka.
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 11/22
12. Vybrané vlastnosti agilního testování
Iterační a inkrementální postup => Je testován každý přírůstek.
Iterace je krátká => automatizace.
Práce probíhá v týmu, za kvalitu odpovídají všichni členové =>
intenzivní spolupráce a komunikace.
Testování řídí vývojový cyklus.
Tester předává členům týmu znalost testovacích postupů a
pomáhá jim dosáhnout zručnosti.
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 12/22
13. Změna organizace
Vodopádový přístup Agilní přístup
Vedoucí
Vedoucí
Tým 1
Vývoj Nasazení
Tým 2
Samostatné oddělení
Tým 3
(nesedí s vývojáři)
- Dostali jsme to pozdě, nestíháme Distribuované oddělení
(sedí s vývojáři)
– Nemáme dost lidí
- Řízení procesu testování
– Proklikávání aplikace
- Budování a sdílení know-how
- Zlepšování procesu po projektu = dlouhá
doba, nerealizuje se - Zlepšování procesu je nepřetržité
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 13/22
14. Testovací tým
Jsou minimalizovány dedikované role
Testuje, kdo může (vývojáři, testeři)
Ví, co je hodnota testování a používá správné postupy
Dobře komunikuje
Zlepšuje své znalosti a přemýšlí
Zlepšuje to, co dělá a hledá nové cesty
Práce lidi baví
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 14/22
16. Co nám přinese testování?
Ad-hoc Vodopádové Plánované Agilní
testování testování testování testování
Úsilí
Hodnota (pro zákazníka)
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 16/22
17. Zkušenosti
Mít cíl
Vysvětlit lidem o čem to je a mít jejich podporu
Nově vytvářený tým přijímá lépe než již existující
Vyhnout se „amerikanismům“
České prostředí je konzervativní
Ne vše je vhodné pro agilní přístup
Je třeba jít postupně
Malé zlepšení je lepší než žádné
Agilní přístup se často zavádí intuitivně
Agilní přístup může vzniknout spontánně
Rozvíjet znalosti, uchovávat a využívat zkušenosti
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 17/22
18. Jak začít?
Definujte a udržujte cíl
Začněte pracovat na zlepšování
Teď!
Postupně
Učte se, zdokonalujte, vyhodnocujte, promýšlejte
Získejte interního „šampióna“
Zaveďte agilní vývoj
Zavolejte kouče
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 18/22
19. Literatura
Knihy
• Agile Testing: How to Suceed in the Extreme Testing
Environment, John Watkins, Cambridge University Press,
2009
• Agile Testing: A Practical Guide for Testers and Agile
Teams, Lisa Crispin, Janet Gregory, Pearson Education, 2009
• Test-Driven Development by Example, Kent Beck, Pearson
Education, 2003
• Refactoring: Improving the Design of Existing Code,
Martin Fowler, Kent Beck, Addison-Wesley Professional, 1999
• Clean Code: A Handbook of Agile Software Craftsmanship,
Robert C. Martin, Prentice Hall, 2008
Weby
Scot Ambler: http://www.ambysoft.com/essays/agileTesting.html
Kelly Waters: http://www.allaboutagile.com/category/10-key-principles-of-agile/
Vijay Shinde: http://www.softwaretestinghelp.com/category/agile-testing/
Optimus Information: http://www.optimusinfo.com/blog/2011/06/03/types-of-software-testing.html
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 19/22
20. Kontakty
Michal Vallo, CSM, CSP Vladimír Čech, CSM
Aguarra, s.r.o. AutoCont CZ, a.s.
Lisabonská 2394/4 Sochorova 23
190 00 Praha 9 612 00 Brno
mvallo@aguarra.cz vladimir.cech@autocont.cz
(c) 2011 - Michal Vallo (Aguarra) – Vladimír Čech (AutoCont) 20/22