ŁódQA - Session based testing

16
Confidential 1 © Rule Financial 2012 Czyli jak efektywniej testować eksploracyjnie Autor: Rafał Nikiel Gdańsk, 15 października 2013 Session Based Testing

description

Prezentacja ze spotkania Łódzkich Pasjonatów Testowania Oprogramowania - ŁódQA

Transcript of ŁódQA - Session based testing

Page 1: ŁódQA - Session based testing

Confidential 1© Rule Financial 2012

Czyli jak efektywniej testować eksploracyjnie

Autor: Rafał NikielGdańsk, 15 października 2013

Session Based Testing

Page 2: ŁódQA - Session based testing

2

AGENDA

Elementy i zasady testowania w sesjach

Wprowadzenie

Zarządzanie testami w sesjach

Plusy i minusy rozwiązania

SBT w wersji Rule Financial

Podsumowanie

Q & A

Page 3: ŁódQA - Session based testing

3

WprowadzenieJak zrodziło się podejście SBT

Testy eksploracyjne - krótka charakterystyka:

• Jednoczesna nauka, projektowanie, wykonywanie i interpretacja testów.

• Każdy na tej sali świadomie lub nieświadomie testuje eksploracyjnie.

• Wzrost popularności wraz ze wzrostem popularności metodyk zwinnych.

• Prosty przykład ich przewagi nad standardowymi testami skryptowymi (miejsce zbrodni – tester jako detektyw).

Page 4: ŁódQA - Session based testing

4

WprowadzenieJak zrodziło się podejście SBT

Testy eksploracyjne - problemy:

• Minimalizacja pracy z dokumentacją i częste zmiany w procesie testowym (w większości przypadków podążamy za przeczuciem, a nie ustalonym planem) prowadzą do sytuacji, w której tracimy przejrzystość tego, co robimy.

• Co jeśli klient wymaga raportów z testów ?

• Jak określić pokrycie testami eksploracyjnymi ?

• Jak monitorować postęp testów? (czy wystarczą codzienne spotkania z testerami ?)

Page 5: ŁódQA - Session based testing

5

WprowadzenieJak zrodziło się podejście SBT

SBT - geneza:

• Autor: James i Jonathan Bach

• Czas: Rok 2000 – skomplikowany projekt dla wymagającego klienta

• Problem – wyzwanie – realizacja

Page 6: ŁódQA - Session based testing

6

Dlaczego sesja?

Definicja

Elementy i zasady testowania w sesjachDlaczego „w sesji” ?

Koncentracja

Konkretyzacja

Mierzalne odcinki czasu – podstawowa jednostka pracy

testera

Odseparowanie testowania od aktywności nie-testowych

Lepsze monitorowanie procesu

Przykład

Testowanie w sesjach to metodyka polegająca na połączeniu testowania eksploracyjnego z elementami raportowania, zapewniająca lepsze możliwości zarządzania i kontrolowania procesu testowego oraz dostarczania metryk testowych.

Page 7: ŁódQA - Session based testing

7

Elementy i zasady testowania w sesjachPodstawowe elementy sesji

T – tests, B – bugs, S – setupJest to informacja o procentowym podziale czasu sesji na poszczególne jej składniki.

Imię i nazwisko, nazwa użytkownika lub inny identyfikator pozwalający określić osobę realizującą daną sesję.

Długość sesji zależy od złożoności misji, ale powinna zawierać się w przedziale 45 - 120 min. Domyślna długość w większości narzędzi to 90 min. Może być wydłużana jeśli zachodzi taka potrzeba.

Jest to cel\zadanie\scenariusz, który będzie realizowany w ramach tej sesji. – Przykłady ?

Esencja całej sesji. Tester spisuje swoje aktywności, które mogą być podzielone na różne poziomy (błędy, dane testowe, pytania, pomysły, napotkane problemy, komentarz, konfiguracja). Przykładowy raport. Jaki powinien być poziom szczegółowości raportu ?

Misja

Tester

Czas trwania

Metryka TBS

Notatki

Procentowy podział czasu poświęcony na aktywności związane i nie związane z celem sesji.Po co w zasadzie to mierzymy i dlaczego mielibyśmy robić coś, co nie było określone jako cel naszej sesji ?

Misja vs eksploracj

a

Page 8: ŁódQA - Session based testing

8

Elementy i zasady testowania w sesjachPodstawowe cechy i reguły SBT

Nieprzerywalność

Weryfikowalność

Dobrze ustalony cel

Ilość sesji

Nie trzymajmy się kurczowo misji

Page 9: ŁódQA - Session based testing

9

Session Based Test ManagementCzyli testowanie w sesjach z perspektywy kierownika zespołu

Na podstawie analizy sesji swojego zespołu (jak to zrealizować ?) kierownik

może:

Ustalać kolejne sesje i ich priorytety

Szybko dowiedzieć się o problemach zespołu

Monitorować proces testowego

Monitorować rozwój członków zespołu

Przedstawiać klientowi raporty Estymować kolejne przedsięwzięcia testowe

Page 10: ŁódQA - Session based testing

10

Narzędzia wspomagające testowanie w sesjachPodsumowanie narzędzi

Nazwa Link Opis Ocena

Session Creator https://sites.google.com/site/sessioncreator/

Desktopowe narzędzie napisane w Java. Możliwość połączenia do oryginalnego narzędzia napisanego przez Bacha. Spore możliwości konfiguracyjne. Gorzej wyglądają raporty z sesji.

3

Session Tester http://sessiontester.openqa.org/

Desktopowe narzędzie napisane w Java. Brak możliwości konfiguracyjnych. Bardzo nieczytelne raporty. W zasadzie jedyny plus to możliwość pauzowania sesji.

1

Rapid Reporter http://testing.gershon.info/reporter/

Desktopowe narzędzie napisane w C#\WPF. Minimalistyczny interfejs. Bardzo duże możliwości konfiguracyjne. Możliwość agregowania sesji i prezentowania raportów w różnych formatach. Możliwość zrzutów ekranu i wklejania większej ilości tekstu w trakcie sesji.

5

Czy jest możliwe zrealizowanie wdrożenia SBT bez użycia narzędzi ?

Poniżej przedstawiam krótkie subiektywne podsumowanie wybranych narzędzi, które

próbowałem wdrożyć w swoim zespole.

Page 11: ŁódQA - Session based testing

11

Narzędzia wspomagające testowanie w sesjachPrezentacja narzędzia Rapid Reporter

Page 12: ŁódQA - Session based testing

12

Częste problemy podczas wdrażania SBTJak je rozwiązać ?

Problem Rozwiązanie

Ciężko wyegzekwować nieprzerywalność sesji. Dotyczy zarówno testera, jak i zespołu programistów.

Przeanalizować czynniki przerywające i spróbować je ograniczyć do minimum. Poinformować zespół programistów o wdrażanym podejściu. Skrócić sesje. W ostateczności pauzować sesje na czas przerwania.

Zbyt zgrubne lub za bardzo szczegółowe raporty z sesji.

Kierownik powinien na bieżąco robić przeglądy sesji, żeby wypracować wspólnie z zespołem „kompromis biurokracyjny”.

Kierownik nie ma czasu na przeglądy sesji. Spada jakość raportów.

Można zaangażować bardziej doświadczonych testerów, żeby przeglądali raporty mniej doświadczonych.

Cele sesji zostały źle zdefiniowane i w trakcie ich wykonywania okazuje się, że problemy znajdują się zupełnie w innym miejscu aplikacji.

Po zakończonej sesji można zmienić jej cel tak, żeby odzwierciedlał rzeczywiste aktywności podjęte w jej trakcie.

Page 13: ŁódQA - Session based testing

13

SBT w wykonaniu Rule Financial

Co było przed ?

Dlaczego SBT ?

Podjęte działania

Wybór narzędzia

Wnioski z wdrożenia

Page 14: ŁódQA - Session based testing

14

PodsumowanieCo warto zapamiętać z tej prezentacji ?

Podstawową jednostką pracy testera w SBT jest sesja

Co powinny zawierać raporty z sesji ?

Przeglądy sesji – rola kierownika

Używajmy narzędzi

Testowanie w sesjach – złoty środek ?

Page 15: ŁódQA - Session based testing

15

Bibliografia

http://vimeo.com/14761201 - video

http://www.infoq.com/presentations/Session-Based-Test-Management - video

http://staqs.com/docs/sbtm/

http://www.satisfice.com/sbtm/

http://www.satisfice.com/articles/sbtm.pdf

http://swtester.blogspot.com/2010/09/using-ms-outlook-to-help-support-sbtm.html#

more

http://www.quardev.com/content/whitepapers/SBTMLite_samkalman.pdf

Page 16: ŁódQA - Session based testing

16

Q & A