Kwalifikacja: INF.04 - Projektowanie, programowanie i testowanie aplikacji
Zawód: Technik programista
W zamieszczonej ramce znajdują się notatki testera dotyczące przeprowadzanych testów aplikacji. Jakiego typu testy planuje przeprowadzić tester?

Odpowiedzi
Informacja zwrotna
Testy wydajnościowe są kluczowe dla zapewnienia, że system działa sprawnie pod różnym obciążeniem. Są one wykonywane, aby zrozumieć, jak aplikacja zachowuje się w warunkach rzeczywistych, kiedy wiele użytkowników korzysta z niej jednocześnie. W pytaniu wymienione zostały zadania takie jak mierzenie czasu logowania się użytkowników oraz sprawdzanie, czy czas ten wzrasta wraz ze wzrostem liczby użytkowników. To typowe aspekty testów wydajnościowych. Takie testy pomagają określić limity skalowalności i zapewniają, że aplikacja może obsługiwać oczekiwaną liczbę użytkowników bez spadku wydajności. Standardy branżowe, takie jak ISO/IEC 25010, zwracają uwagę na konieczność testowania wydajności, by zidentyfikować potencjalne wąskie gardła i zapewnić satysfakcjonujące doświadczenia użytkownikom. Dobrymi praktykami są używanie narzędzi takich jak JMeter czy LoadRunner, które umożliwiają symulację obciążenia i analizę wyników w celu optymalizacji kodu i infrastruktury. Tego typu testy są nieodzowne przed wdrożeniem aplikacji produkcyjnej, aby zapewnić jej niezawodne działanie.
Testy jednostkowe, choć niezwykle ważne, koncentrują się na weryfikacji małych fragmentów kodu, zwykle pojedynczych funkcji lub metod. Mają one na celu upewnienie się, że każdy komponent działa zgodnie z oczekiwaniami. W kontekście pytania, które odnosi się do mierzenia czasu logowania i wydajności pod obciążeniem, testy jednostkowe nie są odpowiednie, ponieważ nie sprawdzają, jak system radzi sobie z różnym obciążeniem. Testy interfejsu koncentrują się na sprawdzaniu, czy użytkownik może wchodzić w interakcje z systemem w sposób intuicyjny i bezbłędny. Nie dotyczą jednak aspektów wydajnościowych, takich jak czas renderowania czy czas logowania przy dużym obciążeniu. Z kolei testy bezpieczeństwa są niezbędne do identyfikacji luk w systemie, które mogłyby być wykorzystane przez atakujących. Skupiają się na takich aspektach jak kontrola dostępu, ochrona danych i odporność na ataki typu DDoS. W pytaniu jednak nie ma odniesienia do kwestii bezpieczeństwa, takich jak czy system jest odporny na eskalację uprawnień czy ataki typu SQL Injection. Często błędnie myśli się, że wystarczy sprawdzić podstawowe funkcje aplikacji, ignorując, jak zachowuje się ona pod obciążeniem, co jest krytycznym aspektem jej rzeczywistej użyteczności w środowisku produkcyjnym. Aby zapewnić pełną jakość aplikacji, konieczne jest przeprowadzanie wszystkich typów testów odpowiednio do ich celu, ale w kontekście pytania tylko testy wydajnościowe bezpośrednio odnoszą się do przedstawionych zagadnień związanych z czasem odpowiedzi i obciążeniem systemowym.