Co to jest testowanie systemu?
TESTOWANIE SYSTEMU to poziom testowania, który weryfikuje kompletne iw pełni zintegrowane oprogramowanie. Celem testu systemu jest ocena specyfikacji systemu od końca do końca. Zwykle oprogramowanie jest tylko jednym z elementów większego systemu komputerowego. Ostatecznie oprogramowanie jest połączone z innymi systemami oprogramowania / sprzętu. Testowanie systemu to w rzeczywistości seria różnych testów, których jedynym celem jest sprawdzenie pełnego systemu komputerowego.W tym samouczku nauczymy się
- Testowanie systemu to Blackbox
- Co weryfikujesz podczas testowania systemu?
- Hierarchia testowania oprogramowania
- Różne rodzaje testowania systemów
- Jakie rodzaje testów systemowych powinni stosować testerzy?
Testowanie systemu to Blackbox
Dwie kategorie testowania oprogramowania
- Testowanie czarnoskrzynkowe
- Testowanie w białej skrzynce
Test systemowy należy do kategorii testowania czarnoskrzynkowego, czyli testowania oprogramowania.
Testowanie białoskrzynkowe to testowanie wewnętrznego działania lub kodu aplikacji. W przeciwieństwie do czarnej skrzynki lub testowania systemu jest odwrotnie. Test systemu obejmuje zewnętrzne działanie oprogramowania z perspektywy użytkownika.
Kliknij tutaj, jeśli wideo nie jest dostępne
Co weryfikujesz podczas testowania systemu?
Testowanie systemu obejmuje testowanie kodu oprogramowania pod kątem śledzenia
- Testowanie w pełni zintegrowanych aplikacji, w tym zewnętrznych urządzeń peryferyjnych, w celu sprawdzenia, jak komponenty współdziałają ze sobą oraz z systemem jako całością. Nazywa się to również scenariuszem testowania od końca do końca.
- Zweryfikuj dokładne testowanie każdego wejścia w aplikacji, aby sprawdzić żądane wyniki.
- Testowanie doświadczenia użytkownika z aplikacją.
To jest bardzo podstawowy opis tego, co obejmuje testowanie systemu. Musisz zbudować szczegółowe przypadki testowe i zestawy testów, które testują każdy aspekt aplikacji widziany z zewnątrz, bez patrzenia na rzeczywisty kod źródłowy.
Hierarchia testowania oprogramowania
Podobnie jak w przypadku prawie każdego procesu inżynierii oprogramowania, testowanie oprogramowania ma określoną kolejność, w jakiej należy to robić. Poniżej znajduje się lista kategorii testowania oprogramowania ułożona w porządku chronologicznym. Oto kroki podjęte w celu pełnego przetestowania nowego oprogramowania w ramach przygotowań do wprowadzenia go na rynek:
- Testy jednostkowe wykonywane na każdym module lub bloku kodu podczas programowania. Testowanie jednostkowe jest zwykle wykonywane przez programistę, który pisze kod.
- Testy integracyjne wykonane przed, w trakcie i po integracji nowego modułu z głównym pakietem oprogramowania. Obejmuje to testowanie każdego modułu kodu. Jedno oprogramowanie może zawierać kilka modułów, które są często tworzone przez kilku różnych programistów. Ważne jest, aby przetestować wpływ każdego modułu na cały model programu.
- Testowanie systemu wykonane przez profesjonalnego agenta testowego na gotowym produkcie przed wprowadzeniem go na rynek.
- Testy akceptacyjne - testy beta produktu wykonywane przez rzeczywistych użytkowników końcowych.
Różne rodzaje testowania systemów
Istnieje ponad 50 rodzajów testów systemowych. Wyczerpującą listę typów testów oprogramowania znajdziesz tutaj. Poniżej wymieniliśmy typy testów systemów, z których zwykle korzysta duża firma programistyczna
- Testowanie użyteczności - koncentruje się głównie na łatwości obsługi aplikacji przez użytkownika, elastyczności w obsłudze elementów sterujących i zdolności systemu do spełnienia jego celów
- Testowanie obciążenia - jest konieczne, aby wiedzieć, że rozwiązanie programowe będzie działać pod rzeczywistymi obciążeniami.
- Testowanie regresyjne - obejmuje testy wykonywane w celu upewnienia się, że żadna ze zmian wprowadzonych w trakcie procesu rozwoju nie spowodowała nowych błędów. Zapewnia również, że z czasem nie pojawią się żadne stare błędy wynikające z dodawania nowych modułów oprogramowania.
- Testowanie odzyskiwania - ma na celu wykazanie, że rozwiązanie programowe jest niezawodne, godne zaufania i może z powodzeniem odzyskać równowagę po ewentualnych awariach.
- Testy migracji - są wykonywane w celu zapewnienia, że oprogramowanie można przenieść ze starszych infrastruktur systemowych do bieżących infrastruktur systemowych bez żadnych problemów.
- Testowanie funkcjonalne - nazywane również testowaniem kompletności funkcjonalnej, testowanie funkcjonalne polega na próbie pomyślenia o ewentualnych brakujących funkcjach. Testerzy mogą sporządzić listę dodatkowych funkcjonalności, które produkt mógłby mieć, aby ulepszyć go podczas testowania funkcjonalnego.
- Testowanie sprzętu / oprogramowania - IBM określa testowanie sprzętu / oprogramowania jako „testowanie sprzętu / oprogramowania”. To wtedy tester skupia swoją uwagę na interakcjach między sprzętem a oprogramowaniem podczas testowania systemu.
Jakie rodzaje testów systemowych powinni stosować testerzy?
Istnieje ponad 50 różnych typów testów systemowych. Konkretne typy używane przez testera zależą od kilku zmiennych. Te zmienne obejmują:
- Dla kogo tester pracuje - jest to główny czynnik w określaniu typów testów systemu, z których będzie korzystał tester. Metody stosowane przez duże firmy różnią się od metod stosowanych przez firmy średnie i małe.
- Czas dostępny na testowanie - Ostatecznie można użyć wszystkich 50 typów testów. Czas jest często tym, co ogranicza nas do używania tylko typów, które są najbardziej odpowiednie dla projektu oprogramowania.
- Zasoby dostępne dla testera - Oczywiście niektórzy testerzy nie będą mieli zasobów niezbędnych do przeprowadzenia typu testowania. Na przykład, jeśli jesteś testerem pracującym dla dużej firmy programistycznej, prawdopodobnie masz drogie oprogramowanie do automatycznego testowania niedostępne dla innych.
- Edukacja testerów oprogramowania - dla każdego rodzaju dostępnego testowania oprogramowania istnieje pewna krzywa uczenia się. Aby korzystać z części oprogramowania, tester musi nauczyć się go używać.
- Budżet testowy - pieniądze stają się czynnikiem nie tylko dla mniejszych firm i indywidualnych twórców oprogramowania, ale także dla dużych firm.