Czym jest testowanie oprogramowania?

Testowanie oprogramowania to czynność sprawdzania artefaktów i zachowania testowanego oprogramowania poprzez walidację i weryfikację. Testowanie oprogramowania zapewnia również obiektywny, niezależny pogląd na oprogramowanie, umożliwiając firmom docenienie i zrozumienie ryzyka związanego z wdrażaniem oprogramowania.

Testowanie oprogramowania może dostarczyć użytkownikom lub sponsorom obiektywnych, niezależnych informacji na temat jakości oprogramowania i ryzyka awarii oprogramowania. Jednym z głównych celów testowania jest wykrywanie błędów oprogramowania w celu znalezienia i naprawienia defektów. Testowanie nie może stwierdzić, że produkt będzie działał poprawnie w każdych warunkach, a jedynie, że nie będzie działał poprawnie w określonych warunkach.

Testowanie przypadków użycia

Testowanie przypadków użycia to funkcjonalna technika testowania czarnej skrzynki, która pomaga testerom definiować scenariusze testowe i sprawdzać cały system od początku do końca na zasadzie transakcji po transakcji, jak opisał Ivar Jacobson w swojej książce „Object-Oriented Software Engineering”. tej techniki zespół testowy tworzy scenariusz testowy, który może przetestować całe oprogramowanie od początku do końca w oparciu o funkcjonalność każdej funkcji. Testowanie przypadków użycia to interakcja między użytkownikiem a aplikacją, dlatego pomaga przetestować system z punktu widzenia użytkownika. Oto niektóre z zalet.

Co to jest przypadek użycia?

  • Przypadek użycia jest napisany przy użyciu języka narracyjnego, opisującego wymagania funkcjonalne systemu z perspektywy użytkownika końcowego.
  • Diagram przypadków użycia jest tworzony przy użyciu ujednoliconego języka modelowania, a każdy krok jest reprezentowany przez jego nazwę w owalu;
  • Aktor reprezentowany przez figurkę z wypisanym poniżej imieniem i nazwiskiem; każda akcja wskazywana przez powiązanie między aktorem a przypadkiem użycia;
  • Granice systemu wskazane przez prostokąt wokół przypadku użycia.

Elementy przypadku użycia

W zależności od pożądanej lub potrzebnej głębi i złożoności przypadek użycia opisuje kombinację następujących elementów.

  • Aktor – ktokolwiek lub coś, co wykonuje zachowanie (kto używa systemu)
  • Główny aktor – Interesariusze, którzy inicjują interakcję z systemem w celu osiągnięcia celu
  • Aktor drugorzędny to  taki, od którego system wymaga pomocy, aby zakończyć przypadek użycia .
  • Warunki wstępne – muszą być rzeczywiste lub wystąpić przed i po uruchomieniu przypadku użycia
  • Wyzwalacz – jest to zdarzenie, które powoduje zainicjowanie przypadku użycia

Scenariusze przypadków użycia i ścieżki alternatywne

Modelowanie przypadków użycia jest formalnym sposobem przedstawiania interakcji systemu biznesowego z jego otoczeniem i ilustruje czynności wykonywane przez użytkowników systemu. Jest to również technika oparta na scenariuszach w UML. Przypadek użycia to zestaw kroków wymaganych do wykonania określonego zadania lub celu. Zazwyczaj przypadek użycia może mieć wiele ścieżek; każda ścieżka jest uważana za scenariusz przypadku użycia. Mówiąc najprościej, przypadek użycia to cel obejmujący różne procesy, a scenariusz przypadku użycia przedstawia liniową i bezpośrednią ścieżkę przez jedną z tych operacji.

Scenariusz to scena, która ilustruje pewną interakcję z proponowanym systemem. Scenariusz to narzędzie wykorzystywane podczas analizy wymagań w celu opisania konkretnego zastosowania proponowanego systemu. Scenariusze przedstawiają system widziany z zewnątrz, np. przez użytkownika, na konkretnych przykładach. Przypadek użycia może zawierać kilka „ścieżek”, którymi użytkownik może podążać podczas interakcji z systemem; każda ścieżka jest określana jako scenariusz

  • Podstawowy Scenariusz Sukcesu [Przepływ Podstawowy] – W przypadku użycia nie ma błędów.
  • Alternatywne ścieżki [Alternatywny przepływ] – Te ścieżki są wariacjami na temat głównego tematu. Są to wyjątki, które występują, gdy coś pójdzie nie tak na poziomie systemu.

Przykład testowania przypadków użycia

Scenariusz przypadku użycia jest postrzegany jako interakcja między aplikacją a aktorami (użytkownikami). Te przypadki użycia służą do opisu wymagań i dlatego mogą być również wykorzystywane jako podstawa do testów akceptacyjnych.

Na przykładzie bankomatu pokazujemy udane i nieudane przypadki. Na tym diagramie możemy zobaczyć interakcję między A (aktorem — w tym przypadku ludźmi) a S (systemem). Kroki od 1 do 5 to przypadki sukcesu, które wskazują, że karta i hasło zostały zweryfikowane, a aktor ma dostęp do konta.

  1. Odp.: włóż kartę,
  2. S: Sprawdza kartę i prosi o PIN,
  3. Odp.: wprowadza kod PIN,
  4. S: sprawdza poprawność kodu PIN i
  5. S: Umożliwia dostęp do konta.

Jednak podczas procesu przedłużania mogą wystąpić trzy inne scenariusze, na przykład podczas weryfikacji karty i system stwierdzi, że coś jest nie tak. Te przypadki ekspansji można wymienić poniżej. Są to mianowicie 2a, 4a i 4b, jak pokazano na poniższym rysunku.

2a) S: Karta jest nieważna (wyświetla się komunikat i karta zostaje odrzucona)
3a) S: Hasło jest nieprawidłowe (wyświetla się komunikat i prośba o ponowną próbę – dwa razy) oraz
4a) S: Hasło jest 3 razy nieprawidłowe (zjada kartę i wychodzi)

Użyj scenariuszy przypadków jako przypadków testowych

Scenariusz przypadków użycia jest zasadniczo dokumentem przypadków użycia. Innymi słowy, opisuje działania, które użytkownik może podjąć przy użyciu aplikacji lub systemu. Opisuje również sytuację, w jakiej może znaleźć się użytkownik podczas korzystania z oprogramowania. Aby stworzyć dokładne scenariusze testowe, często zbieramy informacje od klientów, użytkowników końcowych i/lub interesariuszy. Pomaga to skutecznie objąć wszystkie możliwe scenariusze przypadków użycia i umożliwia kompleksowe testowanie całego biznesowego przepływu pracy w przypadku użycia.

Przypadek użycia a przypadki testowe

Przypadki użycia i przypadki testowe to terminy często używane w dziedzinie testowania oprogramowania, które są również ściśle ze sobą powiązane. Przypadek użycia służy do określenia, w jaki sposób ma być używany system zaprojektowany do wykonywania określonego zadania. Dla kontrastu, przypadek testowy to zestaw danych wejściowych do testów, warunków wykonania i oczekiwanych wyników opracowanych dla określonego celu testowego.

Parametr porównania Przypadek użycia Przypadek testowy
Definicja Sekwencyjne działania, które służą do opisania interakcji między rolą a systemem w celu utrzymania określonego celu, Grupa testowych danych wejściowych, warunków i zmiennych, za pomocą których definiowana jest charakterystyka oprogramowania.
Bramka Aby przejść do ostatniej operacji, wykonaj wszystkie operacje sekwencyjne sprawdzanie, czy oprogramowanie działa dobrze, czy nie.
Iteracja podąża różnymi drogami wynika z tego, że testowany jest jeden przypadek testowy na raz
Zależność to zależy od wymagań zależy od przypadku użycia
Wymóg Wymagane są dokumenty i badania Skrypty wejść testowych i każdy skrypt testowy wykonują jeden krok
Ukończenie wykonaj wszystkie kroki raz Testowanie jest wykonywane raz za razem, a następnie zakończone.
Interakcja Użytkownik Wyniki
Pracujący działa zgodnie z funkcją oprogramowania krok po kroku. pracuje z pomocą testerów w celu sprawdzenia poprawności oprogramowania