130 likes | 263 Views
Automatizace v testování. Dušan Vaněk dusan.vanek@adastracorp.com. Čím více stoupá komplexita a integrace,... ...tím více se zvyšuje význam automatizace v testování. Automatizace v testování. se kterými NÁSTROJI ve KTERÝCH oblastech PRO/PROTI automatizaci KDO může automatizovat
E N D
Automatizace v testování Dušan Vaněk dusan.vanek@adastracorp.com
Čím více stoupá komplexita a integrace,... • ...tím více se zvyšuje význam automatizace v testování
Automatizace v testování • se kterými NÁSTROJI ve KTERÝCH oblastech • PRO/PROTI automatizaci • KDO může automatizovat • JAK automatizaci konstruovat • CO a PROČ je (ne)vhodné automatizovat
Oblasti automatizace v testování • Automatizace vykonání testů • (ATEx - Automated Test Execution) • functionality tests • reliability tests • performance tests • Automatizace analýzy a návrhu testů • (ATAD – Automated Test Analysis & Design) • Automatizace řízení a vyhodnocování testování • (ATMEv - Automated Test Management and Evaluation)
ATEX – aut. vykonání testů • nástroje pro záznam maker (Macro Recorders) • zaznamenávající: • akce s objekty DOM (Document Object Model) • akce myši a klávesnice (či jiných periférií) • nástroje pro přehrávání maker (Macro Players) • functionality tests (včetně regrese) • non-functionality tests • nástroje pro porovnávání (Comparators) • záznamů dat v databázích • obsahu souborů • dřívějšího a současného obsahu disků/adresářů • struktury tabulek/polí v databázích a jejich vlastností • současných a dřívějších výsledků testů
ATAD - aut. analýzy a návrhu testů • nástroje pro extrakci dat (Data Extractors) • nástroje pro analýzu Dat (typicky pro hledání tříd ekvivalence) (Data Analysis Tools) • nástroje pro extrakci/generování Test cases (Test Case Generators)
ATME – aut. řízení a vyhodnocování testování • nástroje pro automatizaci sledování stavu ukazatelů kvality (Quality Metrics Tracking Tools) • nástroje monitorující pokrytí kódu testy (Coverage monitoring tools)
Functionality vs. performance tests • na GUI vs. substituce za klienta • assertions vs. měření hodnot • přenositelnost skriptů • speciality architektury • distribuce • vyvolat správně load není triviální (příklad)
Výhody a nevýhody ATEx • Většinou je třeba připravit dokonale terminály pro sběr výsledků. • Je třeba zasadit skripty ATEx správy elementů testování. • Změna připraveného testu je v některých situacích poměrně náročná. • Vyžaduje dokonale zpracované sady dat (včetně očekávaných výsledků). • Výrazně se zvyšuje použití HR při přípravě testů a při analýze výsledků testů. • Nástroje nejsou laciné, nebo mají omezenou použitelnost. • Jasná průkaznost výsledků. • Jistota, že každá iterace testů probíhá stejně. • Výrazně snižuje použití HR při vykonání testů. Testy je možno vykonávat i „bez přítomnosti“ živých pracovníků. • Odbourává to, co irituje pracovníky testování – nudnou rutinu. • Testy je možno vykonávat denně (i několikrát), a to i s automatickým spouštěním.
Kdo může automatizovat • code-based vs. visual-based • skriptování nad existujícím kódem vs. příprava „abstrakce“ pomocí test cases • hrubá síla vs. optimalizace tvorby skriptů
Automatizace se musí vyplatit • v konečném důsledku (v součtu za cykly) musí být lacinější, než manuální testy • nebo musí přinést testy do jinak netestovatelné oblasti • nebo musí zvýšit důvěryhodnost testů • nebo jiná výhoda – automat neprotestuje, když má jít na noční
Znaky vhodnosti pro výběr a optimalizace • Nenasazovat plošně, ale pouze u Test Cases, u kterých: • je plánován větší počet iterací (alespoň 5 až desítky) • je možno jeden Test Script použít pro otestování velkého množství Test Cases (např. pro velké množství dat) • spíše již ustálené funkcionality • Optimalizovat Test Scripts a jejich strukturu • získat obecněji použitelné skripty (zejména parametrizací) • dekompozicí do elementárních skriptů a funkcí zajistit znovuvyužitelnost (viz Business Components HP QC)
Příklady nástrojů • „nejvyšší liga“ (velké možnosti, ale též nejdražší) • Mercury Inc. • IBM/Rational • Compuware • „střední liga“ (hodně možností, avšak příznivější cena) • GUIdancer • Empirix • „dobrá koupě“ (limitované možnosti, dobrá cena, je však třeba vědět, k čemu nám budou sloužit) • JStudio • Automate 6 • Macro Express • Open STA • Ken Test Man • ApTest Manager • Atlassian JIRA