Przed przystąpieniem do testów funkcjonalnych powinniśmy wiedzieć o testowaniu, czym jest testowanie?
pełny dodatek
Co to jest testowanie?
Mówiąc najprościej, testowanie polega na porównaniu rzeczywistego wyniku z oczekiwanym. Testowanie ma na celu sprawdzenie, czy wszystkie funkcje działają zgodnie z oczekiwaniami.
Co to jest testowanie oprogramowania?
Testowanie oprogramowania to technika mająca na celu sprawdzenie, czy rzeczywisty wynik odpowiada oczekiwanemu wynikowi i upewnienie się, że oprogramowanie nie zawiera żadnych defektów ani błędów.
Testowanie oprogramowania daje pewność, że aplikacja nie ma żadnych defektów lub że wymagania nie odpowiadają rzeczywistym potrzebom. Zarówno testy ręczne, jak i automatyczne mogą wykonywać testy oprogramowania.
Testowanie oprogramowania definiuje się również jako weryfikację testowanej aplikacji (AUT).
Istnieją dwa rodzaje testów:
Testy funkcjonalności:
Jest to rodzaj testowania oprogramowania, który służy do sprawdzenia funkcjonalności aplikacji, czy funkcja działa zgodnie ze specyfikacją wymagań. W testach funkcjonalnych każdą funkcję testuje się podając wartość, określając wynik i weryfikując rzeczywisty wynik z oczekiwaną wartością. Testy funkcjonalne przeprowadzane w formie testów czarnej skrzynki, które mają na celu potwierdzenie, że funkcjonalność aplikacji lub systemu zachowuje się zgodnie z naszymi oczekiwaniami. Ma to na celu weryfikację funkcjonalności aplikacji.
Testowanie funkcjonalne, zwane także testowaniem czarnej skrzynki, ponieważ koncentruje się na specyfikacji aplikacji, a nie na rzeczywistym kodzie. Tester musi przetestować tylko program, a nie system.
Cel testów funkcjonalnych
Celem testów funkcjonalnych jest sprawdzenie podstawowej funkcji wejściowej, koniecznie użytecznej funkcji, przepływu GUI na ekranie. Testowanie funkcjonalne wyświetla komunikat o błędzie, dzięki czemu użytkownik może łatwo poruszać się po aplikacji.
Jak wygląda proces testów funkcjonalnych?
Testerzy wykonują następujące kroki w testowaniu funkcjonalnym:
- Tester dokonuje weryfikacji specyfikacji wymagań w aplikacji.
- Po analizie tester specyfikacji wymagań przygotuje plan.
- Po zaplanowaniu testów tester zaprojektuje przypadek testowy.
- Po zaprojektowaniu testu tester przypadku sporządzi dokument matrycy identyfikowalności.
- Tester wykona projekt przypadku testowego.
- Analiza zasięgu w celu sprawdzenia objętego obszaru testowego aplikacji.
- Zarządzanie defektami powinno zrobić, aby zarządzać rozwiązywaniem defektów.
Co testować w testach funkcjonalnych? Wyjaśnić
Głównym celem testów funkcjonalnych jest sprawdzenie funkcjonalności systemu oprogramowania. Koncentruje się na:
Wyjaśnij cały proces przeprowadzania testów funkcjonalnych.
Aby przeprowadzić test funkcjonalny, należy wykonać następujące kroki:
- Konieczne jest zrozumienie wymagań dotyczących oprogramowania.
- Zidentyfikuj dane wejściowe testu
- Oblicz oczekiwany wynik na podstawie wybranych wartości wejściowych.
- Wykonaj przypadki testowe
- Porównanie wyniku rzeczywistego i obliczonego
Wyjaśnij rodzaje testów funkcjonalnych.
Głównym celem testów funkcjonalnych jest sprawdzenie funkcjonalności komponentu.
Testowanie funkcjonalne jest podzielone na wiele części.
Oto następujące typy testów funkcjonalnych.
Testowanie jednostkowe: Testowanie jednostkowe to rodzaj testowania oprogramowania, podczas którego testowana jest pojedyncza jednostka lub komponent oprogramowania. Testy jednostkowe, badają różne części aplikacji, poprzez testy jednostkowe przeprowadza się również testy funkcjonalne, ponieważ testy jednostkowe zapewniają prawidłowe działanie każdego modułu.
Deweloper przeprowadza testy jednostkowe. Testy jednostkowe przeprowadzane są na etapie tworzenia aplikacji.
Testowanie dymu: Testowanie funkcjonalne poprzez badanie dymu. Testowanie dymu obejmuje tylko podstawową (cechową) funkcjonalność systemu. Testowanie dymu jest znane jako „ Testowanie weryfikacyjne kompilacji .' Testowanie dymu ma na celu sprawdzenie, czy najważniejsza funkcja działa.
Na przykład test dymu weryfikuje, czy aplikacja uruchomiła się pomyślnie, sprawdza, czy GUI reaguje.
Testowanie poczytalności: Testowanie poczytalności obejmuje prawidłowe działanie całego ogólnego scenariusza biznesowego. Testy poprawności przeprowadzane są w celu sprawdzenia funkcjonalności/naprawionych błędów. Testowanie poczytalności jest niewielkim postępem w porównaniu z testowaniem dymu.
Na przykład logowanie działa poprawnie; wszystkie przyciski działają poprawnie; po kliknięciu przycisku nawigacja po stronie zostanie zakończona lub nie.
Testowanie regresyjne: Tego typu testy koncentrują się na upewnieniu się, że zmiany w kodzie nie powinny mieć wpływu ubocznego na istniejącą funkcjonalność systemu. Testy regresyjne określają, kiedy w systemie pojawia się błąd po jego naprawieniu. Testy regresyjne koncentrują się na tym, czy wszystkie części działają, czy nie. Testy regresyjne skupiają się na tym, czy istnieje jakikolwiek wpływ na system.
Testowanie integracyjne: Testowanie integracyjne połączone poszczególne jednostki i przetestowane jako grupa. Celem tego testu jest wykrycie błędów w interakcji pomiędzy zintegrowanymi jednostkami.
Programiści i testerzy wykonują testy integracyjne.Testowanie białej skrzynki: Testowanie białej skrzynki jest znane jako testowanie Clear Box, testowanie oparte na kodzie, testowanie strukturalne, szeroko zakrojone testowanie i testowanie w szklanym pudełku, testowanie w przezroczystym pudełku. Jest to metoda testowania oprogramowania, w której testowana jest znana testerowi wewnętrzna struktura/projekt/implementacja.
Testowanie białej skrzynki wymaga analizy wewnętrznej struktury komponentu lub systemu.
Testowanie czarnej skrzynki: Nazywa się je również testami behawioralnymi. W tym teście wewnętrzna struktura/projekt/implementacja nie jest znana testerowi. Ten rodzaj testów to testy funkcjonalne. Dlaczego nazwaliśmy ten typ testowania, testowaniem czarnej skrzynki, w tym testerze nie widać kodu wewnętrznego.
Na przykład tester bez znajomości wewnętrznych struktur witryny internetowej testuje strony internetowe, korzystając z przeglądarki internetowej, wprowadzając dane wejściowe i weryfikując dane wyjściowe z oczekiwanym rezultatem.
Testy akceptacyjne użytkownika: Jest to rodzaj testów przeprowadzanych przez klienta w celu certyfikacji systemu zgodnie z wymaganiami. Ostatnią fazą testów są testy akceptacyjne użytkownika przed wypuszczeniem oprogramowania na rynek lub do środowiska produkcyjnego. UAT to rodzaj testów czarnej skrzynki, w które zaangażowanych jest dwóch lub więcej użytkowników końcowych.
Ponowne testowanie: Ponowne testowanie to rodzaj testów przeprowadzanych w celu sprawdzenia, czy przypadki testowe, które nie powiodły się w ostatecznym wykonaniu, pomyślnie przechodzą po naprawieniu defektów. Zwykle tester przypisuje błąd, gdy znajdzie go podczas testowania produktu lub jego komponentu. Błąd przydzielony programiście, a on go naprawia. Po naprawieniu błąd zostaje przydzielony testerowi w celu jego weryfikacji. Testowanie to nazywa się ponownym testowaniem.
Testowanie bazy danych: Testowanie bazy danych to rodzaj testowania, który sprawdza schemat, tabele, wyzwalacze itp. testowanej bazy danych. Testowanie bazy danych może obejmować tworzenie złożonych zapytań w celu obciążenia/testu obciążenia bazy danych i sprawdzenia jej responsywności. Sprawdza integralność i spójność danych.
Przykład: rozważmy aplikację bankową, za pomocą której użytkownik dokonuje transakcji. Biorąc pod uwagę następujące testy baz danych, wszystko jest ważne. Oni są:
- Aplikacja przechowuje informacje o transakcjach w bazie danych aplikacji i poprawnie wyświetla je użytkownikowi.
- W tym procesie nie są tracone żadne informacje
- Aplikacja nie przechowuje informacji o częściowo wykonanych lub przerwanych operacjach.
- Informacje o użytkowniku nie są dostępne dla osób fizycznych za pośrednictwem
Testowanie doraźne: Testowanie ad hoc to nieformalny rodzaj testów, których celem jest złamanie systemu. Tego typu testowanie oprogramowania jest działaniem nieplanowanym. Tworzenie przypadków testowych nie jest zgodne z żadnym projektem testu. Testowanie ad hoc odbywa się losowo w dowolnej części aplikacji; nie obsługuje żadnego ustrukturyzowanego sposobu testowania.
Testowanie odzyskiwania: Testowanie odzyskiwania służy do określenia, jak dobrze aplikacja może odzyskać siły po awarii, awarii sprzętu i innych problemach. Celem testowania odzyskiwania jest sprawdzenie zdolności systemu do odzyskiwania danych po testowaniu punktów awarii.
Testowanie statyczne: Testowanie statyczne to technika testowania oprogramowania, dzięki której możemy sprawdzić defekty oprogramowania bez jego faktycznego wykonywania. Testowanie statyczne przeprowadza się, aby uniknąć błędów na wczesnym etapie rozwoju, ponieważ łatwiej jest znaleźć awarię na wczesnych etapach. Testowanie statyczne służy do wykrywania błędów, których nie można znaleźć w testach dynamicznych.
Dlaczego używamy testów statycznych?
Testowanie statyczne pomaga znaleźć błąd na wczesnym etapie. Dzięki testom statycznym skróci to czas rozwoju. Zmniejsza to koszty i czas testowania. Testy statyczne wykorzystywane również do produktywności programistycznej.
Testowanie komponentów: Testowanie komponentów to także rodzaj testowania oprogramowania, w którym testuje się każdy komponent osobno, bez integracji z innymi częściami. Testowanie komponentowe jest również rodzajem testów czarnej skrzynki. Testowanie komponentowe zwane także testowaniem jednostkowym, testowaniem programu lub testowaniem modułu.
Testowanie szarej skrzynki: Testowanie szarej skrzynki zdefiniowane jako połączenie testów białej i czarnej skrzynki. Testowanie Gray Box to technika testowania przeprowadzana z ograniczonymi informacjami na temat wewnętrznej funkcjonalności systemu.
Jakie są narzędzia do testów funkcjonalnych?
Oprócz testów ręcznych testy funkcjonalne mogą być również przeprowadzane na różne sposoby. Narzędzia te upraszczają proces testowania i pomagają uzyskać dokładne i przydatne wyniki.
Jest to jedna ze znaczących i priorytetowych technik, które zostały ustalone i określone przed procesem rozwoju.
porównywalny interfejs Java
Narzędzia wykorzystywane do testów funkcjonalnych to:
Narzędzia | Funkcje/charakterystyka |
---|---|
Faktycznie |
|
MydłoUI |
|
woda |
|
Selen |
|
| |
Test internetowy Canoo |
|
Ogórek |
|
Jakie są zalety testów funkcjonalnych?
Zalety testów funkcjonalnych to:
- Daje produkt wolny od wad.
- Daje pewność, że klient będzie zadowolony.
- Daje pewność, że wszystkie wymagania zostały spełnione.
- Zapewnia prawidłowe działanie wszystkich funkcjonalności aplikacji/oprogramowania/produktu.
- Zapewnia, że oprogramowanie/produkt działa zgodnie z oczekiwaniami.
- Zapewnia bezpieczeństwo i ochronę.
- Poprawia jakość produktu.
Przykład: Tutaj podajemy przykład oprogramowania bankowego. W banku, gdy pieniądze zostały przelane z banku A do banku B. A bank B nie otrzymał prawidłowej kwoty, naliczona została opłata lub pieniądze nie zostały przeliczone na właściwą walutę, lub błędny przelew lub bank A nie otrzymał awiza wyciągu z banku B, że płatność otrzymała. Problemy te są krytyczne i można ich uniknąć poprzez odpowiednie testy funkcjonalne.
Jakie są wady testów funkcjonalnych?
Wadami testów funkcjonalnych są:
- Testy funkcjonalne mogą przeoczyć krytyczny i logiczny błąd w systemie.
- Testy te nie stanowią gwarancji, że oprogramowanie zostanie uruchomione.
- Możliwość przeprowadzenia testów redundantnych jest duża w testach funkcjonalnych.
Zakończyć
Tutaj łatwo możemy stwierdzić, że aby zbudować mocne fundamenty oprogramowania najwyższej klasy, niezbędne są testy funkcjonalne. Działa jako podstawa konstrukcji i jest kluczową częścią każdej procedury testowej.