Testování software Co projektový manažer může očekávat od test manažera a co test manažer očekává od projektového manažera
Praha, 7.3.2012
Agenda
Představení přednášejících Známé pravdy, mýty a omyly o testování Testování vs. řízení kvality Význam testování Test manažer Charakteristika zdrojů Dodávky mezi PM a TM Harmonogram testů Ekonomika testování Best practices Role kvality v projektu
Miroslav Borský 7 let v IT 6 let sales konzultant pro Borland
• •
–
Implementace technologií pro
–
Funkční a zátěžové testy
–
Test management
–
Definování a správu požadavků
– – – –
(KB, RB, ČEZ, Telefónica O2 BS)
Process assesment a procesní konzultace Školení pro zákazníky Semináře pro veřejnost
Jiří Otta • •
18 let v IT 15 let v SAP ČR – –
• •
12 let projektový manager 2 roky vedení Project Management Office
Od r. 2012 freelance konzultant Zkušenosti – – – – –
Vedení projektů implementace SAP ve více než 20 organizacích Provoz SAP Test Manager na řadě projektů Certifikace PMP Konzultant a lektor SAP Solution Manager (aplikace obsahující nástroje pro testování)
David Polášek •
18 let v IT –
•
Posledních 7 let v bankách (KB, RB, ČSOB) – – – – –
•
Na straně dodavatele i zákazníka Data management Project management Migrace Testování Architektura
Nyní konzultant za Trask Solutions
Marcel Veselka • •
8 let v IT a testování software Tester a Test manažer pro oblast finance – –
• • •
Česká spořitelna, Slovenská sporiteľňa, 5 rokov Raiffeisenbank, 3 roky
Člen CaSTB (ISTQB) Občasný amatér v programování (stopar.sk, autostop.sk/.cz, mojeletenky.sk) Aktuálne Test manager na projektu Everest
Milan Zajíc • • •
20 let v IT v různorodých rolích Projekt manažer Manažer testovacího týmu Trask
Testování software •
Testování byla vždy důležitá disciplína ...
•
V posledních letech začíná být i atraktivní
•
Začíná se standardizovat (ISO/IEEE)
Známé pravdy o testování •
Testování zjišťuje zda SW obsahuje chyby –
•
Nelze otestovat vše – –
•
Optimalizační úloha – minimální úsilí, max. pokrytí Nelze najít všechny chyby
Chyba nalezená v testech je levnější než chyba nalezená v produkci –
•
Není důkazem, že SW je bez chyb
Obecně: čím dříve je chyba nalezena, tím je její oprava levnější
Obecně neplatí, že automatizace testů – – –
nahradí manuální testy, zvýší počet nalezených chyb sníží počet testerů
Mýty a omyly o testování • Testera může dělat každý (zvlášť pokud se jinde neuplatní) • Testeři kontrolují práci po programátorech • Testování je vždy drahé • Automatizované testy řeší vše • Testovaní řeší chyby • Testování muže začít až po dodání aplikace
Testing vs. Řízení kvality „testing is … investigation conducted to provide stakeholders with information about the quality of the product or service under test“1 „Quality is the degree to which a set of inherent characteristics fulfill requirements“2
•
•
Quality Management Quality Planning
Quality Control
Testování Testování Quality Assurance
Testování je jedním z nástrojů řízení kvality
• – – –
Je nutno definovat „charakteristiky“ a požadavky na ně Testování plně integrováno do projektu (plánování, provádění, monitorování, uzavření projektu) Aplikují se na něj postupy řízení kvality (např. Cost of Quality)
1Exploratory Testing, Cem Kaner, Florida Institute of Technology 2PMBOK® Guide
Význam testování SW •
Ověření shody se zadáním
•
Odhalení defektů před reálným používáním –
•
Minimalizace rizika selhání v produkci
Jeden z nástrojů ověření zralosti produktu
Profese test manažera • • • • • • •
• • • •
Definice nebo revize testovací strategie Plánování a koordinace přípravy testování Definice a plánování managementu incidentů Realizace testů Monitorování výsledků testování a kontrola výstupních kriterií Zabezpečení konfiguračního managementu pro výstupy testování za účelem sledovatelnosti Zavedení vhodných metrik pro měření postupu (progressu) testování a hodnocení kvality testování a produktu Definování míry a způsobu automatizace testů Výběr nástrojů pro testování Rozhodování o implementaci testovacího prostředí Reportování výsledků testování
Profese test manažera Znalosti Test manažera • • • • •
Znalosti testování Přehled v projektovém manažmentu Přehled z oblasti analýzy a designu Přehled v programování a technologiích Přehled v IT architektuře
Certifikace • –
• •
ISTQB
ISEB jako doplněk (intermediate)
TMap NEXT® Test Manager American Society for Quality – Software Quality Engineer Certification
Typologie test manažerů Test manažer je vždy zdrojem projektu, tj. v rámci projektu je podřízen projektovému manažerovi Obvykle ale vstupuje do jejich vztahu ještě jeho pozice v rámci organizace a projektového portfolia
• •
Typy test manažerů
•
–
Projektový
–
podřízený přímo PM
–
jeho cíle se shodují s cíli projektu
–
Programový
–
ne nutně podřízený PM
–
jeho cíle se řídí programovými prioritami
–
Liniový
–
vlastní KPI
–
Outsourcovaný
–
musí plnit KPI zadavatele a své firmy
Charakteristika zdrojů Role
•
– – – – •
Tester Tester – developer (automatizace) Test analytik Test koordinátor / test manažer
Technické zdroje – Testovací prostředí a data – Testovací nástroje –
Řízení testů
–
Řízení defektů
–
Automatizace
–
Simulace
–
Reporting a dashboardy
–
Monitoring
Dodávky mezi PM a TM
Příklad
PM stabilní design dostupnost podpory akceptační kritéria lidské zdroje vybavení týmu
oba
TM
plán projektu plán testů testovací scénáře akceptační protokol
testy metodika a proces monitoring testů
vyškolený test. tým motivační systém testovací testovací data prostředí
Harmonogram testů Rozdělení projektu na jednotlivé části, přiřazení kritičnosti, stanovení míry otestování Naplánování jednotlivých etap testování v závislosti na stupni kompletnosti aplikace
• •
– – – – –
Unit testy Funkční testy Integrační testy Zátěžové testy UAT testy
Regresní testy
Existuje celá škála dalších testů Pro každý test vybere TM vhodnou metodu
• • – – – –
Whitebox vs. Blackbox Procházení cest vs. Monte Carlo metody Manuální vs. Automatizované GUI vs. Protokol vs. Kód vs. Dokumentace
Entry / Exit kritéria testů Pro každou sadu testů TM stanoví v Test plánu exaktní kritéria, za kterých sadu zahájíme a (úspěšně) ukončíme Entry kritéria (příklady)
•
• – – – –
Exit kritéria (příklady)
• – –
•
Definovaný stav vývoje aplikace Připravenost skriptů Ukončení předchozích testů Proškolení testeři Otestovaný definovaný počet testů (testováno dle priority testů) Pro jednotlivé kategorie chyb (předem definované) jejich počet nepřekročí stanovenou hodnotu
V případě neúspěšnosti testů opakování sady testů nebo její části
Ekonomika testování •
Testování se postupně stává, jako ostatně i další části procesu vývoje SW, něčím, co zákazníci nepovažují za svůj CORE business a co je pro ně rutinním výkonem. Který ovšem jejich CORE business podmiňuje.
•
Testování projekty zdražuje. Je to nutné?
•
Jak hodnotit výkon testování a jeho přínos. Je to vůbec možné?
Ekonomika testování •
Spočítejte si dopady rizik. Metoda protažení brokovou hlavní.
•
Obecné pravidlo pro opravy defektu je 1:10:100.
Ekonomika testování •
Než začnete investovat do testů, najděte ty testy, které opravdu potřebujete.
•
I netestovat může být ekonomické. Jen vědět kde je to možné zariskovat.
Best practices Co jsem se naučil jako test manažer Nesnažit se vymyslet kolo
• – – –
Standardizace Pře-použitelnost (šablony, testovací scénáře, atd.) Stabilita
Nedovolte testerům nacházet chyby
• –
Kvalitní analýza, design a programování
Integrace systému začíná integrací teamu Přístup k testování ovlivňuje velikost projektu
• • –
Fáze, procesy, nástroje, organizace
Testování nikdy neskončí
• – –
Je ho třeba umět stopnout Závažné chyby (Sev A) neblokují go-live ale . . .
Nekvalita si na vás počká
• –
Ignorace kvalitativních parametrů může prodloužit další fázi (AKA „technical debt“)
Kvalita v projektu •
Budování a kontrola kvality Budování kvality
Návrh
Vývoj
• Přístup ke všem zúčastněným stranám • Metodika • návrhu Přístup ke specifikaci • Metodika vývoje Kvalita procesu
Kontrola kvality Kontrola specifikace
Testování
Kvalita produktu
Klíč k úspěchu •
Vzájemné pochopení a vstřícný přístup
•
Pro projektové manažery – – – –
Nelze otestovat vše, alokujte si čas a zdroje na stabilizaci po každé fázi testu Testing testuje, neopravuje Kvalita testovacího týmu je stejně důležitá jako u ostatních týmů Dovolte TM poučit se z chyb – úspora se může projevit už v tomto projektu
Pro test manažery
• – –
Navrhujte alternativní postupy zkracující, zlevňující a zkvalitňující fázi testování Spolupracujte na znovupoužitelnosti dodávek (z analýzy, do provozu)
Zaujalo vás téma? Organizace
• – –
International Software Testing Qualification Board (http://www.istqb.org) Czech and Slovak Testing Board (http://www.castb.org)
Weby
• – – – – – – – – –
http://www.satisfice.com/blog/ http://www.stickyminds.com/ http://en.wikipedia.org/wiki/Software_testing http://www.softwaretestingstandard.org/ SW Testing Primer: http://www.nickjenkins.net/prose/ http://testovanisoftwaru.cz/automatizovane-testovani/ http://www.guru99.com/software-testing.html http://testovanisoftwaru.blogspot.cz http://www.swtestovani.cz
• Děkujeme • • • • •
Miroslav Borský
[email protected] Jiří Otta
[email protected] David Polášek
[email protected] Marcel Veselka
[email protected] Milan Zajíc
[email protected]
Standardizace profese testování • Standardy • ISO/IEC 29119 Software Testing • • • • • • • • • • • •
IEEE 829-2008 Standard for Software and System Test Documentation IEEE 1008, a standard for unit testing IEEE 1012, a standard for Software Verification and Validation IEEE 1028, a standard for software inspections IEEE 1044, a standard for the classification of software anomalies IEEE 1044-1, a guide to the classification of software anomalies IEEE 830, a guide for developing system requirements specifications IEEE 730, a standard for software quality assurance plans IEEE 1061, a standard for software quality metrics and methodology IEEE 12207, a standard for software life cycle processes and life cycle data BS 7925-1, a vocabulary of terms used in software testing BS 7925-2, a standard for software component testing
Standardizace profese testování •
Metodiky – – –
•
ISO/IEC 29119 Software Testing Všeobecná TMap NEXT (Test management approach) Součást celkovýho SDLC (specifika implementace)
Maturity modely a techniky zlepšování procesu testování – – – –
TMMi (CMMi) IDEAL STEP TPI Next