Automatizace v testovn Duan Vank dusan vanekadastracorp com

  • Slides: 13
Download presentation
Automatizace v testování Dušan Vaněk dusan. vanek@adastracorp. com

Automatizace v testování Dušan Vaněk dusan. vanek@adastracorp. com

§ Čím více stoupá komplexita a integrace, . . . §. . . tím

§ Čí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 §

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)

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í:

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)

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ů

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.

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 § Jasná průkaznost výsledků. § Jistota, že každá iterace testů

Výhody a nevýhody ATEx § 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. § 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.

Kdo může automatizovat § code-based vs. visual-based § skriptování nad existujícím kódem vs. příprava

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

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,

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

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 Ap. Test Manager Atlassian JIRA