23 listopada 2022

Testy sprawdzają jakość oprogramowania i produktów, które tworzymy. Tester automatyzujący ma na przykład odciążyć programistów. W niektórych firmach dział testów jest całkowicie pomijany i wtedy testy piszą wyłącznie programiści. Utrzymywanie testów bywa dla nich bardzo czasochłonne, bo jednocześnie muszą utrzymywać kod i dokumentację.

Testy pomagają przyspieszyć prace nad projektem, ale też kontrolować wydanie aplikacji. Błędy mogą opóźnić wydanie, a gdy zostaną usunięte, sam proces wydania na końcu projektu wyraźnie przyspiesza. W trakcie projektu takie testy służą głównie do zarządzania jakością.
Testy możemy podzielić na manualne i automatyczne. Co ważne, w obu przypadkach cel jest ten sam – wyeliminować błędy. Testy przeprowadza się, żeby sprawdzić jakość. Jeśli aplikacja jest dobrze przetestowana, testy manualne i automatyczne nie różnią się wynikiem końcowym. Różnią się czasem przygotowania i czasem trwania. Na różnych etapach projektu częściej spotyka się różne rodzaje testów. Testy manualne można zacząć od razu. Wystarczy projekt aplikacji i już można sprawdzać jej funkcje. Zależy to oczywiście od wymagań co do sposobu testowania. Testy manualne stosuje się tam, gdzie nie ma jeszcze testów automatycznych. Testy automatyczne wymagają przygotowania scenariuszy testowych, czyli ustalenia, co i jak będzie testowane. Tester manualny może znać scenariusze z własnego doświadczenia – wie, co sprawdzić i jak. Testy automatyczne wymagają zbudowania całego projektu automatyzacji, a to zajmuje czas – dlatego startują później niż testy manualne.
Zaletą testów automatycznych jest powtarzalność: za każdym razem robią dokładnie to samo. Do testów automatycznych używamy na przykład frameworka WebDriverIO. Powstał on na bazie Selenium, jednego z najpopularniejszych narzędzi open source do testowania aplikacji webowych. Na Selenium opiera się też Appium, którego używamy do testowania aplikacji mobilnych.

Żeby dobrze wykorzystać testy w projekcie, testerzy korzystają z odpowiednich narzędzi. Jednym z rozwiązań do zarządzania scenariuszami testowymi, planami testów i przebiegami testów jest „Kiwi TCMS”. Narzędzie przechowuje wszystkie scenariusze testowe i pozwala tworzyć nowe przebiegi testów, które sprawdzają aplikację. Kiwi pozwala zgłaszać błędy i przypisywać je do przebiegu konkretnego testu. Dzięki temu wystąpienie błędu w konkretnej wersji aplikacji jest udokumentowane. Błędy trafiają też do „Jiry”, gdzie zgłasza się je kierownikowi projektu i przypisuje programiście do poprawy.
To zarządzanie i planowanie całego projektu aplikacji – etap, na którym aplikację się planuje.
BDD / TDD w skrócie

Źródło: https://www.infolytx.com/development/processes/bdd-tdd/attachment/tdd-bdd/
Najprościej mówiąc, to udostępnianie testerów klientom, czyli outsourcing. Klient nie musi wtedy martwić się o zespół. Swoich testerów może skierować do innych projektów albo do zarządzania testami. Interesuje go wynik końcowy: czy zgłoszono błędy i czy zostały poprawione.
Inna możliwość w zapewnieniu jakości to optymalizacja lub refaktoryzacja aplikacji – klient przychodzi ze swoją aplikacją, bo chce poprawić wydajność albo sprawdzić jej spójność. Przy ulepszaniu aplikacji tester sprawdza, jak działa obecna wersja, i może wskazać moduły, które wymagają poprawy.
Tworzenie rozwiązań do testowania: projekty testów automatycznych i urządzenia testowe. Przykład: zespół IoT buduje urządzenie do testowania produktu klienta. Urządzenie jest zintegrowane z testami automatycznymi, które sprawdzają, czy produkt klienta działa poprawnie. Testy automatyczne mogą odczytywać wartości z czujników urządzenia i sterować siłownikiem, który naciska przycisk na produkcie.
Zapytaj o wycenę lub poradę
Przeanalizujmy razem koncepcję Twojego projektu i to, na jakim jest etapie.
Otrzymasz od nas wstępną propozycję zakresu projektu oraz szacunek czasu i kosztów.
Konsultacje są objęte umową NDA.