Charakterystyka technik opartych na specyfikacji

Witajcie moi drodzy Testerzy, witam Was wszystkich bardzo serdecznie. Przez ostatnie dwa tygodnie była krótka przerwa w postach, ale absolutnie nie w pracy Testerki 🙂 Przygotowuję dla Was kolejne nowości, które już niebawem przedstawię — myślę, że będziecie pozytywnie zaskoczeni. Dzisiaj wracamy do tematu technik opartych na specyfikacji. W ostatnim wpisie wymieniliśmy sobie 5 takich technik i właśnie dzisiaj scharakteryzujemy sobie każdy z nich z osobna, abyście zdobyli szczegółową wiedzę na ich temat.

1. Podział na klasy równoważności

Jest to bardzo często stosowana technika. Posiadając pewien zbiór wartości, mamy możliwość podzielenia go na osobne klasy. Każda z klas posiada wtedy pewną ilość wartości z naszego zbioru. Ważne jest to, że wybieramy sobie z każdej z powstałych klas obiekt, który zostanie przez nas przetestowany. Prawidłowe działanie wybranego przez nas warunku w jednej klasie powoduje, że reszta których nie wybraliśmy będzie działać podobnie, czyli w naszym przykładzie również prawidłowo. Oczywiście nie zawsze mamy 100% pewności, że tak będzie, ale kiedy pojawiają się jakieś wątpliwości, rozszerzamy nasze testy poprzez przetestowanie większej ilości obiektów bądź wybrania lepszych.

Zastanawiacie się, jak mogą wyglądać przykładowe kryteria klas równoważności?

Popatrzmy sobie na kalkulator wskaźnika BMI. Do wykonania obliczenia potrzebujemy mieć wzrost i wagę. Po podaniu tych danych wyskakuje nam wartość, która określa czy mamy wagę prawidłową, czy jesteśmy wychudzeni, czy też mamy nadwagę.
Wartości zarówno dla wagi, jak i wzrostu są w przedziale: wartość minimalna (poza 0), 0, wartość maksymalna (oprócz 0). Spróbujcie sami wyznaczyć jak najwięcej klas poprawności oraz podać przykłady klas niepoprawności.

2. Analiza wartości brzegowych

Możemy spotkać się z wieloma definicjami wartości brzegowych. Ludzie różnie to interpretują, więc jak możemy się domyślić ilu ludzi tyle definicji. Ta prawidłowa jednak brzmi następująco: Wartości brzegowe są wartościami znajdującymi się na granicy oraz zaraz poza nią, są to wartości zarówno poprawne, jak i niepoprawne.

Przykładem będzie wybranie systemu, który akceptuje tylko liczby z zakresu od 1 do 1000. W tym przypadku przykładem liczb prawidłowych będzie zbiór wartości od 1 do 1000, a przykładem liczb nieprawidłowych będzie m.in. liczba 0 oraz 1001.

3. Testowanie w oparciu o tablice decyzyjną

Tę technikę stosuje się w przypadku, kiedy chcemy sprawdzić wymagania posiadające między sobą zależności logiczne. Tablica decyzyjna może zaprezentować rozbudowane reguły biznesowe.

Tablica decyzyjna zazwyczaj zawiera warunki, które w wyniku pewnych działań mają określone wyniki. Przeanalizujmy sobie poniższą tablicę decyzyjną.

Warunki:                                                       Reguły :

  1. Sprzedaż 1 < Wycieczek                  N        N         N
  2. Sprzedaż 5< Wycieczek                   Y         Y          N
  3. Sprzedaż 10 < Wycieczek                Y          Y          Y

Działania:

Premia 100 zł                                                        x

Premia 500 zł                                                                  x

Premia 1000 zł                                                                            x

Podsumowując: Osoba, która sprzeda mniej niż dwie wycieczki nie otrzyma żadnej premii. Natomiast osoba, która sprzeda więcej niż 5 wycieczek, ale mniej niż 10 otrzyma 600 zł premii. Największą premie, bo aż 1600 zł otrzyma osoba, która sprzeda ponad 10 wycieczek.

4. Testowanie przejść między stanami

Technika ta często stosowana jest w automatyce oraz w modelu biznesowym, który ma jasno określone stany lub przejścia między elementami. Tester obserwuje jak zachowują się stany, co się dzieje w momentach przejścia między jednym stanem a drugim oraz to jak zmieniają się stany pod wpływem różnych działań. Charakterystyczne cechy dla stanów: są one zdefiniowane, rozdzielne oraz mają skończoną ilość.

5. Testowanie w oparciu o przypadki testowe

Bazując na własnym doświadczeniu opowiem wam jak to wygląda u mnie. Po przeczytaniu wymagań danej funkcjonalności, którą wymaga klient oraz kryteriów akceptacji, których spełnienie jest wymagane rozpoczynam pisać przypadki testowe. W zależności od tego, jak wiele szczegółów znam na temat danej funkcjonalności, tak też mniej lub bardziej szczegółowo piszę przypadki testowe. Przypadek testowy musi zawierać warunki wstępne, bez których rozpoczęcie testu będzie niemożliwe, czyli np. link do aplikacji i dane do logowania dla konkretnego użytkownika, który zawiera odpowiednie uprawnienia. Krok po kroku piszę czynność oraz co powinno się wydarzyć po jej wykonaniu. Kiedy wszystkie kroki będą przeprowadzone bez problemu wtedy dany test jest zakończony pomyślnie. W przeciwnym przypadku zgłaszam błędy dotyczące miejsc, w których aplikacja nie działała tak jak powinna.

Mam nadzieję, że Was nie zanudziłam i jasno wszystko wytłumaczyłam. Jeśli macie własną opinię na ten temat śmiało piszcie w komentarzach. Chętnie dowiem się nowych rzeczy oraz uzupełnię własną wiedzę na ten temat. Pozdrawiam Was serdecznie i życzę udanego weekendu :).

Komentarze:

  • Asia Kwiecień 04, 2017

    Bardzo fajny blog:) Chcę dopiero zacząć swoją przygodę z testowaniem, więc jeszcze sporo nauki przede mną. Odnośnie tego wpisu zastanawia mnie pewna kwestia:wybierając np. technikę wartości granicznych dla niej też piszę przypadek testowy? Czy odbywa się to w innej formie?

    • Testerka Kwiecień 04, 2017

      Tak, jeśli wybierzesz technikę wartości brzegowych, oczywiście piszesz dla niej przypadki testowe. Ważne przy wyborze tej techniki jest to, aby Twoje przypadki testowe brały pod uwagę właśnie interesujące Cię wartości brzegowe, które w danym przypadku chcesz przetestować. Używając klas równoważności, wartość brzegowa jest to wartość znajdująca się wewnątrz, pomiędzy lub tuż przy granicy danej klasy równoważności.

      Dla przykładu: Musisz przetestować system logowania użytkownika. Nowy użytkownik tworzy swój login. Warunki, pod jakimi system stworzy poprawny login to ilość znaków od 8 do 16.
      Niepoprawy zakres to oczywiście ilość znaków poniżej 8 lub powyżej 16. Prawidłowym zakresem będzie ilość znaków między 8 a 16. Bardzo prosty przykład, ale pozwalający na dobre zobrazowanie tej techniki.

Napisz komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Solve : *
13 − 8 =