Bezstratna kompresja listy przypadków testowych

21
© 2012 Tieto Corporation Bezstratna kompresja listy przypadków testowych Zwiększenie zysków poprzez skrócenie o 50% czasu wykonywania testów regresywnych (bez podwyższania ryzyka produktowego) Piotr Piotrowski Test Engineer Tieto Poland Sp. z o.o.

description

Increase profits from software testing by cut about 50% time for execution regression testing without increase product risk.

Transcript of Bezstratna kompresja listy przypadków testowych

Page 1: Bezstratna kompresja listy przypadków testowych

© 2

012

Tie

to C

orpo

ratio

n

Bezstratna kompresja listy przypadków testowychZwiększenie zysków poprzez skrócenie o 50% czasu wykonywania testów regresywnych (bez podwyższania ryzyka produktowego)

Piotr Piotrowski

Test EngineerTieto Poland Sp. z o.o.

Page 2: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Główne punkty planu prezentacji• Jak można stworzyć innowację? Potrzeba i jej zaspokojenie

• Jak przeprowadzać bezstratną kompresję liczby przypadków testowych? Studium przypadku

• Gdzie i jak zastosować minimalizację liczby przypadków testowych? Pozostałe warunki i rozszerzenie zastosowań

• Oryginalność i zalety rozwiązania. Podobne rozwiązania. Czas wykonywania testów, ryzyko produktowe, zmiany w oprogramowaniu

2012-07-252 Testwarez 2012

Page 3: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

O prelegencie• Badania i Rozwój, Telekomunikacja,

Informatyka, Jakość, Samoprzywództwo

• Inżynier testów w Tieto Poland, Industrial R&D

• Szkoleniowiec w Altkom Akademia• Współpracownik w c0re Magazine• Pełnoprawny członek w ISPE • Inne: http://www.goldenline.pl/piotr-

piotrowski27

2012-07-253 Testwarez 2012

Page 4: Bezstratna kompresja listy przypadków testowych

© 2

012

Tie

to C

orpo

ratio

n

Historia pomysłuPowstanie potrzeby, sposób myślenia przy opracowywaniu rozwiązania

Page 5: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Potrzeba i sposób jej realizacji• Zaczęło się od wystąpienia potrzeby efektywnego wykonywania

zadań testerskich pod kątem czasu przy jednoczesnym nieobniżaniu jakości działań i niemożności ich automatyzacji

• Po zapoznaniu się z przypadkami testowymi odkryto możliwość ich znacznie szybszego wykonywania

• Określono przyczyny szybszej pracy i zapisano schemat myślenia - od przyczyn do skutków

• Sprawdzono, czy zapisany schemat odpowiada rzeczywistości, czy nie obniża standardów jakościowych wymaganych przez organizację

2012-07-255 Testwarez 2012

Page 6: Bezstratna kompresja listy przypadków testowych

© 2

012

Tie

to C

orpo

ratio

n

Kompresja listy przypadków testowychPrzyjęty sposób działania, przykład stosowania

Page 7: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Przyjęty sposób działania

2012-07-257 Testwarez 2012

Page 8: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Przykład stosowania (1) – lista pierwotna...

2012-07-258 Testwarez 2012

• Dana jest określona postać pierwotnej listy przypadków testowych zaprojektowanej na potrzeby nieregresywnej kampanii testowej przez testera w postaci:

• Przypadek testowy Pt_A: Sprawdzanie działania cechy f_1 systemu• Krok 1a: Uruchom narzędzie testowe nt_1 z opcją o_1• Krok 2a: Uruchom narzędzie testowe nt_2 z opcją o_x

• Przypadek testowy Pt_B: Sprawdzanie działania cechy f_2 systemu • Krok 1b: Skopiuj odpowiednie pliki w odpowiednie miejsca systemu• Krok 2b: Uruchom narzędzie testowe nt_1 z opcją o_2• Krok 3b: Uruchom narzędzie testowe nt_2 z opcją o_y

Page 9: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Przykład stosowania (2) – analiza przypadku i kompresja

2012-07-259 Testwarez 2012

• Na podstawie instrukcji obsługi narzędzia testowego nt_1 wiadomo że, może być one uruchamiane jednocześnie z opcjami o_1 i o_2

• Na podstawie instrukcji obsługi narzędzia testowego nt_2 wiadomo że, może być one uruchamiane jednocześnie z opcjami o_x i o_y

• Aby opcja o_y dała prawidłowe rezultaty potrzebne są specjalne dane testowe – pliki – w odpowiednich miejscach systemu

• Cechy f_1 i f_2 mogą działać jednocześnie

• Oba przypadki testowe stosują te same narzędzia testowe nt_1 i nt_2

Page 10: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Przykład stosowania (3) – analiza przypadku i kompresja

2012-07-2510 Testwarez 2012

• Krok 1a i Krok 2b mogą być złożone do jednego kroku w postaci:• Krok 1c: Uruchom narzędzie testowe nt_1 z opcją o_1 i o_2

• Krok 2a i Krok 3b mogą być złożone do jednego kroku w postaci:• Krok 2c: Uruchom narzędzie testowe nt_2 z opcją o_x i o_y

Page 11: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Przykład stosowania (4) – końcowa lista...

2012-07-2511 Testwarez 2012

• Końcowa lista przypadków testowych, w formie Pt_C, ma postać:• Krok 1c: Skopiuj odpowiednie pliki w odpowiednie miejsca systemu• Krok 2c: Uruchom narzędzie testowe nt_1 z opcją o_1 i o_2• Krok 3c: Uruchom narzędzie testowe nt_2 z opcją o_x i o_y

• Końcowa lista przypadków testowych zbudowana jest z jednego przypadku testowego Pt_C i trzech kroków wykonania (Krok 1c-3c)

Page 12: Bezstratna kompresja listy przypadków testowych

© 2

012

Tie

to C

orpo

ratio

n

Zastosowania minimalizacji...Warunki praktycznej realizacji, próba rozszerzenia zastosowań

Page 13: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Warunki praktycznej realizacji

2012-07-2513 Testwarez 2012

• Obie listy przypadków testowych powinny być przechowywane w narzędziu do zarządzania testami co ułatwia ich obserwację oraz edycję przez testera

• Wcześniejsze doświadczenie testera w projektowaniu i wykonywaniu podobnych przypadków testowych znajdujących się na pierwotnej liście:

• zwiększa efektywność czasową opracowania końcowej listy przypadków testowych

• umożliwia wprowadzenie modyfikacji w zależności od potrzeb organizacji i własnych preferencji testera

Page 14: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Próby rozszerzenia zastosowań

• Zapoznanie z rozwiązaniem innych testerów w organizacji

• Rozszerzenie zastosowań poza systemowe, czarno-skrzynkowe testowanie, czy inne rodzaje narzędzi do wykonywania testów

• Wykorzystanie przyjętego sposobu myślenia i stojących za nim wartości w tworzeniu innych innowacji

• Rozszerzenie zastosowań poza modele biznesowe, w których wynik wynik finansowy jest bardzo silnie powiązany z czasem pracy

2012-07-2514 Testwarez 2012

Page 15: Bezstratna kompresja listy przypadków testowych

© 2

012

Tie

to C

orpo

ratio

n

Oryginalność i zalety rozwiązaniaInnowacyjność? Czas testowania a ryzyko produktowe a informacje o zmianach oprogramowania

Page 16: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Publicznie dostępne strategie testowania regresywnegoposiadają następujące właściwości:• Biorą pod uwagę co zostało zmienione w oprogramowaniu, w tym

gdzie znaleziono błędy• Przypadki testowe często podlegają automatyzacji, ponieważ są

powtarzalne• Mogą być zróżnicowane w zależności od funkcjonalnej domeny

testów o różną postać danych testowych• Przypadki testowe są z reguły priorytetyzowane w odpowiedzi na

potrzeby klienta lub wartość ryzyka• Czasami zbiór przypadków testowych do testowania

regresywnego jest uruchamiany, gdy zbliża się kamień milowy projektu lub dla nowego wydania kolejnej wersji oprogramowania

• Część strategii testowania regresywnego bazuje na kodzie źródłowym (biało-skrzynkowe), pozostałe na cechach oprogramowania (czarno-skrzynkowe)

2012-07-2516 Testwarez 2012

Page 17: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Innowacyjność i podstawowe zalety rozwiązania (1)• Średnio o połowę krótsze przypadki testowe w

porównaniu z pierwotnymi listami przypadków testowych zaprojektowanych w celu pokrycia każdego wymagania zawartego w specyfikacji wymagań testowanego systemu, a przez to:

• Skrócenie czasu prowadzenia testów regresywnych, gdzie wielkość zaoszczędzonego w ten sposób czasu jest wyraźnie większa od czasu przeznaczonego na opracowanie końcowej listy przypadków testowych

• Prostota dzięki pominięciu wpływu informacji o zmianach w oprogramowaniu i ryzyku produktowym na końcowe listy przypadków testowych

2012-07-2517 Testwarez 2012

Page 18: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Innowacyjność i podstawowe zalety rozwiązania (2)

• Brak wzrostu ryzyka produktowego wskutek uwzględnienia wszystkich danych pochodzących z przypadków testowych znajdujących się na pierwotnej liście

• Obniżony koszt wdrożenia poprzez możliwość wykorzystania istniejących w przedsiębiorstwach narzędzi zarządzania testami

2012-07-2518 Testwarez 2012

Page 19: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Przykładowa literatura• Poświęcona strategiom testów regresywnych, szczególnie

najbardziej zbliżonym do zaprezentowanego rozwiązania:

• Certified Tester. Advanced Level Syllabus. Version 2007. ISTQB™®. http://www.istqb.org/downloads/finish/3/2.html [2 May 2012].

• Certified Tester. Expert Level Syllabus. Test Management. (Managing Testing, Testers, and Test Stakeholders). 2011. ISTQB™®. http://www.istqb.org/downloads/finish/18/81.html [2 May 2012].

• Chen Y. Specification-based Regression Testing Measurement with Risk Analysis. School of Information Technology and Engineering. Ottawa. Canada. October 2002. http://www.site.uottawa.ca/~ychen/MasterThesis.pdf [2 May 2012]

• Gilleran M. Strategy for Designing and Executing an Effective Regression Test Program. Journal of Software Testing Professionals. September/December 2001. http://www.testinginstitute.com/preview/journal_2001_dec.php#article3 [7 July 2011]

2012-07-2519 Testwarez 2012

Page 20: Bezstratna kompresja listy przypadków testowych

© 2012 Tieto Corporation

Podziękowania

• Dziękuję za wzięcie udziału w prezentacji

• Czy są jakieś pytania?

2012-07-2520 Testwarez 2012

Page 21: Bezstratna kompresja listy przypadków testowych

© 2

012

Tie

to C

orpo

ratio

n Piotr Piotrowski

Test EngineerTieto Poland Sp. z o.o.Industrial R&[email protected]