Testy automatyczne oprogramowania EBICOM
Podczas tworzenia oprogramowań, aby zweryfikować czy wszystko działa zgodnie z naszymi założeniami, warto przeprowadzić testy. Jakie są ich rodzaje? Kiedy wybrać automatyczne, a kiedy lepiej sprawdzą się manualne? Jakie są poziomy testów i kiedy najlepiej je uruchamiać?
Przeczytaj i dowiedz się tego z poniższego artykułu.
Testy automatyczne a manualne – które wybrać?
Wszystko zależy od celu, dla którego musimy dany test wykonać. Testy ręczne, czyli tzw. „manualne”, wykonywane są przez człowieka. Mają przewagę, jeśli zależy nam na dokładnym przeanalizowaniu systemu.
Testy te są bardziej czasochłonne i wymagają sporej aktywności. Są też często znacznie kosztowniejsze od automatycznych, ponieważ narzucają konieczność opłacenia doświadczonego testera.
Testy manualne sprawdzą się też, gdy np. wprowadzamy do oprogramowania nowe funkcjonalności. Wymagane jest wtedy sprawdzenie wymagań funkcjonalnych jak i niefunkcjonalnych, uzupełnionych o wiedzę branżową i wyobraźnię testera.
W większości sytuacji, np. podczas czynności powtarzalnych, warto zastąpić testy ręczne testami automatycznymi, które pomagają nam m.in. skrócić czas ich wykonania. Są one również świetnym uzupełnieniem testów manualnych. Dodatkowo zaoszczędzony czas możemy poświęcić na sprawdzenie użyteczności, wydajności czy bezpieczeństwa systemu.
Jakie są poziomy testów automatycznych?
W Ebicom implementujemy głównie testy:
- jednostkowe – dzięki którym w szybki sposób weryfikujemy poprawność działania wewnętrznych funkcji systemu na niskim poziomie oraz funkcji udostępnianych przez API;
- systemowe, za pomocą których weryfikujemy kompletny system wraz z interfejsem użytkownika. Testy tego typu symulują pracę użytkownika, który korzysta z oprogramowania w środowisku bliźniaczo podobnym do produkcyjnego. Testy te weryfikują zarówno proste scenariusze użytkownika jak i te bardzo złożone, np. proces zawarcia umowy czy wystawienia faktury.
- wydajnościowe, które służą do badania zachowań w serwisach, w różnych warunkach obciążenia – od niskiego po maksymalne.
Kiedy należy planować testy automatyczne?
Planowanie testów automatycznych najlepiej rozpocząć podczas tworzenia analizy biznesowej oraz tworzenia przypadków użycia do nowej funkcjonalności lub do tej którą będziemy modyfikować, a nie posiada jeszcze testu automatycznego.
W pierwszej kolejności realizujemy testy automatyczne dotyczące funkcjonalności, które są najbardziej podatne na błędy oraz te, które najczęściej są wykorzystywane przez użytkowników.
Jak uruchamiać i raportować testy automatyczne?
Najefektywniej i najskuteczniej będzie, jeżeli testy automatyczne uruchamiać będziemy minimum raz dziennie, po wykonaniu przez programistów zmian w danym projekcie. Ponadto szczególną uwagę należy zwracać, aby uruchamiać je zawsze podczas wdrażania nowych funkcjonalności i rozwiązań. Tak działamy w Ebicom. Nasz proces ciągłego wdrażania i integracji (CI/CD) mamy rozbudowany o CT (Continuous Testing), do którego wykorzystujemy Azure Devops.
Dzięki tym procesom, które wspomagają tworzenie oprogramowania i specjalnie przygotowanym raportom z wykonanych testów automatycznych, mamy bardzo szybką informację zwrotną. Jesteśmy w stanie zweryfikować już na poziomie developmentu, czy ostatnie zmiany miały negatywny wpływ na istniejące funkcjonalności systemu. Na szczególną uwagę zasługują również momenty wdrażania lub modyfikowania funkcjonalności, ponieważ w tych sytuacjach najczęściej mogą pojawiać się błędy.
Zdarza się jednak, że część błędów, stosunkowo łatwych do wykrycia przez test manualny, może zostać pominięta przez automat.
Dlatego rekomendujemy łączenie obu podejść testowania oprogramowania. Efektem takiego działania jest dostarczenie naszym klientom pełnowartościowych, intuicyjnych oraz wysokiej jakości produktów. A tylko takie zapewnią satysfakcję i zadowolenie użytkownika.