-
Firma
-
e-Commerce
-
e-Commerce
- E-Commerce B2C
- Platformy B2B
- Narzędzia PIM
- Marketplace
-
Narzędzia wspierające e-Commerce
- Integracja z ERP
- Narzędzia PIM
- Marketplace
- System OMS
- Systemy CRM
- Silniki wyszukiwania produktów
- Platformy DAM
- Platforma WMS
- Usługi kurierskie
- Systemy płatności
- Zarządzanie cenami
- Silniki rekomendacji produktów
- Programy lojalnościowe
- Kampanie marketingowe
- Marketing Automation
- Social media
- Narzędzia Live Chat
- Web Push
- Systemy PLM
- Rozwiązania Enterprise
- Technologie
- Cross-border Solutions
- Top Developer e-Commerce
- Kompleksowa obsługa sklepów
- Wiedza eCommerce - publikacje
- Raport: Narzędzia i wtyczki eCommerce 2022
- Dlaczego my
-
e-Commerce
-
Konsulting
-
Konsulting
- Analiza danych i Business Intelligence
- Analiza przedwdrożeniowa
- Analiza rynku i konkurencji
- Aplikacje MVP / POC
- Badania użyteczności i testy A/B
- Makiety UX/UI
- Marketing Automation
- Optymalizacja wydajności
- Redesign
- Rozwiązania chmurowe
- Scoping Session
- Strategia rozwoju technologicznego
- Wsparcie techniczne SLA
-
Konsulting
-
Technologie Internetowe
-
Technologie Internetowe
- Dlaczego my
-
Technologie Internetowe
-
Rozwiązania IT
-
Rozwiązania IT
- Platforma Low-code
- Intranet i komunikacja wewnętrzna
- Wsparcie pracy zdalnej
- System workflow EOD
- Portal pracowniczy
- Obsługa reklamacji
- Obieg Faktur
- Elektroniczne paski płacowe
- System Helpdesk
- Zamówienia i zapotrzebowania
- e-PITy
- Outsourcing IT
- eBOK - obsługa Klienta online
- Urlopy i delegacje
- Systemy i aplikacje dedykowane
- Software House
- Stosowane technologie
- Top Custom Software Developer
- Poradnik - INTRANET: Skuteczna komunikacja wewnętrzna w organizacji rozproszonej
- Dlaczego my
-
Rozwiązania IT
- Realizacje
- Kariera
- Kontakt
Przy realizacji nawet dużych projektów IT temat testów jest często pomijany. Wydaje się, że skoro dany system działa tak jak powinien, to nie ma sensu generować kolejnych kosztów... Tymczasem, może się okazać, że te (jak się wydaje) dodatkowe koszty, będą w praktyce oszczędnością.
W sytuacji, gdy np. jakiś element nie jest do końca dopracowany lub nie sprawdza się w środowisku użytkowym, konieczne może okazać się wyłączenie lub znaczna modyfikacja oprogramowania. W takim przypadku produkt, który powinien na siebie zarabiać - nie robi tego. Należy pamiętać, że systemy i aplikacje bardzo często trafiają do użytkowników, którzy niekoniecznie potrafią z nich korzystać lub takich, którzy chcą dopasować je pod własne potrzeby, omijając „oficjalne” rozwiązania. Testowanie pozwala na wskazanie takich obszarów i przewidzenie nietypowych scenariuszy.
W skrócie: tak jak wszelkie przedmioty użytkowe, również oprogramowanie, zanim zostanie oddane do użytku, powinno zostać dokładnie sprawdzone. Musisz mieć pewność, że działa zgodnie z założeniami nawet w nietypowych sytuacjach. Zapamiętaj - nie ma rzeczy i ludzi nieomylnych, a testowanie minimalizuje ryzyko wystąpienia (nieraz kosztownych) błędów.
Czym są testy manualne?
Testy manualne przeprowadzane są przez specjalistów (testerów), którzy krok po kroku, według ogólnego schematu / scenariusza, analizują daną aplikację lub system itp. Ich zadaniem jest znalezienie ewentualnie występujących błędów i nieprawidłowości, ale również sprawdzenie oprogramowana w taki sposób, w jaki zrobiłby to użytkownik nie posiadający szkolenia lub instrukcji. Tester nie używa skryptów czy narzędzi do automatyzacji. Nie jest od niego również wymaga znajomość języków oprogramowania.
Czym są testy automatyczne?
Testy automatyczne są wykonywane przez system, wcześniej przygotowane lub napisane narzędzia, kody czy skrypty. Testy te mogą być tworzone w wybranym języku programowania, dlatego jego znajomość jest wymogiem do przygotowania narzędzia.
Test manualny czy test automatyczny?
Przedstawiamy zestawienie testów manualnych z automatycznymi, w ujęciu najczęściej spotykanych czynników.
Czas realizacji
Czas wykonania takiego testu należy omawiać z różnych perspektyw. Z jednej strony przygotowanie narzędzi służących automatyzacji testów wymaga wcześniejszego nakładu pracy. Z kolei w późniejszej perspektywie są one wykorzystywane wielokrotnie. Testy manualne realizowane są ręcznie, za każdym razem na nowo. Oczywistym jest więc, że automatyzacja doprowadza do szybszej realizacji zadania. Ponadto testy automatyczne wykonują się w o wiele krótszym czasie, niż manualne.
Wielkość projektu
W przypadku projektów mniejszych, zdecydowanie bardziej opłacalnym jest zastosowanie testów manualnych. Koszt takiego testowania będzie wówczas niższy. Z kolei testy automatyczne sprawdzają się w konieczności przetestowania dużych projektów, gdzie wykonanie testu manualnego byłoby wręcz niemożliwe lub bardzo kosztowne i czasochłonne.
Wykrywanie błędów
Testy automatyczne pozwalają na wyeliminowanie błędu ludzkiego. Z kolei w testach manualnych może dojść do zmęczenia testera, co może być przyczyną kolejnych omyłek. Paradoksalnie, pozwalają one wykryć nietypowe zachowania i sprawdzić podatność systemu na ich wystąpienie. Z drugiej strony, jeśli zajdzie jakaś zmienna, która nie została wprowadzona do oprogramowania przed wykonaniem testu, wówczas oprogramowanie do testowania automatycznego, nie zanotuje jej obecności.
Koszty
Jednorazowo tańsze będą testy manualne, jednak wymagają ponoszenia kosztów za każdym razem, gdy są wykonywane. Wykorzystanie automatyzacji wiąże się z o wiele większą wiedzą testującego (dysponowanie językami programistycznymi), a przygotowanie i samo użycie narzędzi automatyzujących, to również wysokie koszty. W ujęciu długofalowym jednak zdecydowanie tańszą opcją będą testy automatyczne.
Testy wydajnościowe
W tym aspekcie wykonywanie testów manualnych nie ma zasadności. Dla przykładu testy obciążeniowe opierają się na sprawdzeniu ile zapytań system jest w stanie obsłużyć, w danym czasie. Jak nietrudno się domyślić, testy tego rodzaju są wyłącznie realizowane w sposób automatyczny.
UX i UI
Ocena User Experience oraz User Interface to sprawdzenie aspektu wizualnego oraz interakcji z użytkownikiem. Przetestowanie zakresu takich obszarów w sposób automatyczny jest niemożliwe, dlatego wykorzystuje się w tym celu wyłącznie testy manualne. Być może w przyszłości uczenie maszynowe, które obecnie jest w tym kierunku rozwijane, pozwoli na „wyeliminowanie” czynnika ludzkiego, lub będzie stanowić dla niego wartościowe narzędzie.
Zmienne współrzędne
Zmienną może być podmienienie tła, czy przeniesienie jakiegoś elementu w inne miejsce. Jak zostało wspomniane - testy automatyczne nie są w stanie wyłapać takich niuansów. Okazuje się więc, że w projektach, gdzie może dojść do zmiany takich aspektów, o wiele lepiej sprawdzają się testy manualne, gdzie czynnik ludzki jest w stanie wykryć takie różnice.
Reużywalność
Raz napisany test czy skrypt może być wykorzystywany nieskończenie wiele razy. Testy manualne są za każdym razem wykonywane od nowa – nie da się ich w żaden sposób wcześniej przygotować.
Nakład pracy
Testy automatyczne należy najpierw opracować, co może zająć dużo czasu. Z kolei ich przeprowadzenie trwa o wiele krócej i tester wykonuje mniejszy nakład pracy. Testy manualne wymagają przejścia każdego kroku od początku do końca, opracowania raportu lub podsumowania.
Ryzyko wstąpienia błędu po stronie testów
Jak zostało wspomniane w testach manualnych występuje czynnik ludzki, który obciążony jest ryzykiem wystąpienia błędu. Jeśli chodzi o testy automatyczne, jest ono całkowicie wyeliminowane (przy założeniu, że podczas testowania, nie doszło do zmiany współrzędnych).
Raportowanie
Testy automatyczne generują tego rodzaju dokumenty symultanicznie do wykonywanej pracy, co znacznie skraca i usprawnia cały proces. Z kolei testy manualne pozwalają na zawarcie aspektów, które nie zostały wcześniej uwzględnione. Dlatego raport może być bardziej indywidualny i dopasowany do potrzeb klientów lub być przygotowany w taki sposób, by nawet niewykwalifikowany odbiorca zrozumiał wyniki.
Kiedy lepiej sprawdzą się testy manualne?
- Mniejsze projekty
- Projekty niewymagające znajomości języka programowania
- Jednorazowe testowanie jest wystarczające
- Do oceny poddawane jest UX i UI
- Istnieje wiele zmiennych w projekcie
- Klient wymaga spersonalizowanego raportu lub objaśnienia go
- Projekty z mniejszymi budżetami
Kiedy lepiej sprawdzą się testy automatyczne?
- Duże projekty
- Wymagane testy obciążeniowe
- Wielokrotne przeprowadzanie tych samych testów
- Szybkie otrzymanie wyników
- Konieczność wyeliminowania błędów ludzkich
- Projekty z dużymi budżetami
Podsumowanie
Warto zawsze zdawać się na opinie ekspertów, którzy na podstawie swojego doświadczenia doradzą wykorzystanie odpowiedniej metody, pod indywidualny projekt. Może się okazać, że z pozoru prosta aplikacja sprawdzona manualnie, będzie wymagała jeszcze automatycznej weryfikacji.
Tak naprawdę nie ma jednej, uniwersalnej odpowiedzi na pytanie: "co wybrać?" Należy zawsze kierować się indywidualnymi cechami projektu oraz celem jaki chce się osiągnąć.