Łódqa - session based testing
DESCRIPTION
Prezentacja ze spotkania Łódzkich Pasjonatów Testowania Oprogramowania - ŁódQATRANSCRIPT
Confidential 1© Rule Financial 2012
Czyli jak efektywniej testować eksploracyjnie
Autor: Rafał NikielGdańsk, 15 października 2013
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
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).
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 ?)
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
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.
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
8
Elementy i zasady testowania w sesjachPodstawowe cechy i reguły SBT
Nieprzerywalność
Weryfikowalność
Dobrze ustalony cel
Ilość sesji
Nie trzymajmy się kurczowo misji
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
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.
11
Narzędzia wspomagające testowanie w sesjachPrezentacja narzędzia Rapid Reporter
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.
13
SBT w wykonaniu Rule Financial
Co było przed ?
Dlaczego SBT ?
Podjęte działania
Wybór narzędzia
Wnioski z wdrożenia
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 ?
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
16
Q & A