logo
Wyślij CVKontakt

/

logo
Background image

Blog

Testy niefunkcjonalne

Norbert Wieczorek 30.01.2023

Jakiś czas temu wgłębialiśmy się w świat testów funkcjonalnych (https://dorwijnerda.pl/pl/blog/testy-funkcjonalne), więc nie wypadałoby nie wspomnieć nic o testach niefunkcjonalnych, które wspólnie uzupełniaja się niczym taoistyczny symbol yin-yang.

Najpierw warto wyjaśnić, czym różnią się testy niefunkcjonalne od funkcjonalnych. Testy funkcjonalne skupiają się na sprawdzeniu, czy aplikacja działa zgodnie z wymaganiami i specyfikacjami, natomiast testy niefunkcjonalne koncentrują się na innych aspektach aplikacji, takich jak wydajność, skalowalność, bezpieczeństwo czy użyteczność.

Innymi słowy, testy funkcjonalne odpowiadają na pytanie: "Czy aplikacja działa tak, jak powinna?" Natomiast testy niefunkcjonalne odpowiadają na pytanie: "Jak dobrze aplikacja działa?". W ten sposób testy niefunkcjonalne uzupełniają testy funkcjonalne, pozwalając na pełne i kompleksowe sprawdzenie jakości i funkcjonalności aplikacji.

Teraz przyjrzyjmy się kilku konkretnym rodzajom testów niefunkcjonalnych:

Test wydajności (Performance Testing)

służą one do sprawdzenia, jak aplikacja radzi sobie z obciążeniem i jak szybko reaguje na różne sytuacje. W tym celu można wykorzystać narzędzia takie jak Apache JMeter, Gatling czy LoadRunner, aby wygenerować duży ruch w aplikacji i monitorować wyniki. Celem jest zidentyfikowanie problemów związanych z wydajnością, takich jak długie czasy ładowania strony czy opóźnienia w odpowiedzi na żądania.

Test skalowalności (Scalability Testing)

pozwalają one sprawdzić, jak aplikacja radzi sobie z dużą liczbą użytkowników i danych. Test skalowalności jest często wykonywany w połączeniu z testem wydajności, ponieważ oba te aspekty są ze sobą powiązane. Test skalowalności polega na stopniowym zwiększaniu obciążenia aplikacji i monitorowaniu jej działania. Celem jest zapewnienie, że aplikacja jest w stanie dostosować się do rosnącej liczby użytkowników i danych, bez utraty wydajności.

Test dostępności (Availability Testing)

określają one, czy aplikacja jest dostępna i działa poprawnie w określonym czasie i na określonym poziomie. Test dostępności wymaga wygenerowania dużego ruchu w aplikacji i monitorowania jej działania przez określony czas, np. 24/7 przez tydzień. Celem jest zapewnienie, że aplikacja jest w stanie działać bez przerw i zapewniać dostępność dla wszystkich użytkowników.

Test bezpieczeństwa (Security Testing)

polegają na sprawdzeniu, jak aplikacja chroni dane i jak jest odporna na ataki cybernetyczne. Testy bezpieczeństwa są ważne dla aplikacji, które przetwarzają wrażliwe dane, takie jak numery kart kredytowych czy dane osobowe. Celem jest zapewnienie, że aplikacja jest w stanie chronić te dane i uniemożliwić ich nieautoryzowane dostęp.

Test łatwości użytkowania (Usability Testing)

polegają na sprawdzeniu, czy aplikacja jest łatwa w użyciu i czy spełnia oczekiwania użytkowników. Testy łatwości użytkowania polegają na zleceniu użytkownikom testowym wykonania określonych zadań w aplikacji i monitorowaniu ich doświadczeń. Celem jest zapewnienie, że aplikacja jest łatwa w użyciu i wygodna dla użytkowników.

 

Podsumowując, testy niefunkcjonalne to coś, co nie można zignorować, jeśli chodzi o ocenę jakości i funkcjonalności naszej aplikacji. Sprawdzenie rzeczy takich jak wydajność, skalowalność, bezpieczeństwo i użyteczność daje nam pełen obraz tego, jak nasze oprogramowanie funkcjonuje. Dlatego ważne jest, żeby nie lekceważyć testów niefunkcjonalnych i zadbać o ich właściwe wykonanie. Dopiero wtedy będziesz mieć pewność, że Twoja aplikacja działa jak należy i nie będzie mieć żadnych problemów. Inwestując w dobre i rzetelne testy, możesz mieć pewność, że Twoje oprogramowanie spełnia wszystkie wymagania i jest gotowe do użytku. Czego chcieć więcej, prawda?

 

logo
KontaktWyślij CV