Jak wybrać najlepsze narzędzie do testowania automatycznego?
W artykule Doskonalenie procesu testowego, poznałeś punkty ulepszeń z projektu Guru99 Bank. Używa automatu Testowanie zamiast Testowanie ręczne. Ale członkowie zespołu mogą cię zapytać:
Odpowiedź na to pytanie jest trudna, ponieważ należy wziąć pod uwagę wiele czynników
- Chcesz wesprzeć swoje działania testowe za pomocą narzędzia programowego, ale nie znasz narzędzi dostępnych obecnie na rynku
- Który typ narzędzia będzie najlepiej pasował do wymagań i budżetu projektu?
- Kto w zespole ma umiejętności korzystania z narzędzia po jego zakupie
Znaczenie wyboru narzędzia do testowania oprogramowania
Sukces w każdej automatyzacji testów zależy od zidentyfikowania właściwego narzędzia do automatyzacji. Wybór „właściwego” narzędzia testowego dla Twojego projektu jest jednym z najlepszych sposobów na osiągnięcie celu projektu. Poniższy przykład pokaże Ci korzyści z wyboru narzędzia testowego
W projekcie Guru99 Bank, aby zaoszczędzić wysiłek związany z testowaniem, zespół projektowy zdecydował się użyć do wykonania testu zautomatyzowanego narzędzia testującego. Po wielu spotkaniach Twój zespół wybrał odpowiednie narzędzie do projektu.
Miesiąc później otrzymałeś raport od zespołu projektowego na temat tego narzędzia
Wyniki są świetne. Nowe zautomatyzowane narzędzie podwoiło wydajność testowania. Oznacza to, że zaoszczędziliśmy 50% koszt wykonania testu. Jeśli chcesz poznać więcej opcji dla swoich projektów, sprawdź tę listę narzędzia do automatycznego testowania.
To przykład korzyści z wykorzystania narzędzia testowego w projekcie. Wybór odpowiedniego narzędzia testowego pomoże Ci poprawić produktywność projektu i obniżyć koszty projektu.
Rodzaj narzędzi testowych
Istnieje wiele typów narzędzi testowych, które Kierownik Testów może wziąć pod uwagę przy wyborze narzędzi testowych.
Narzędzia open source
Narzędzia open source to program, w którym znajduje się kod źródłowy otwarcie opublikowany do użytku i/lub modyfikacji w stosunku do oryginalnego projektu, darmo.
Narzędzia typu open source są dostępne na niemal każdym etapie procesu testowania, począwszy od Przypadek testowy zarządzanie do Wada śledzenie. W porównaniu do narzędzi komercyjnych Narzędzia typu open source mogą mieć mniej funkcji.
Narzędzia komercyjne
Narzędzia komercyjne to oprogramowanie stworzone na sprzedaż lub służące celom komercyjnym.
Narzędzia komercyjne oferują większe wsparcie i więcej funkcji od dostawcy niż narzędzia typu open source.
Narzędzia niestandardowe
W niektórych projektach testowych środowisko testowe i proces testowania mają szczególne cechy. Żadne narzędzie typu open source ani komercyjne nie jest w stanie spełnić tego wymagania. Dlatego Kierownik Testów musi rozważyć opracowanie niestandardowego narzędzia.
Przykład: Chcesz znaleźć narzędzie testujące dla projektu Guru99 Bank. Chcesz, aby to narzędzie spełniało określone wymagania projektu.
Analiza wykonalności automatyzacji
Wracając do powyższego przykładu, zespół projektowy zdecydował się opracować niestandardowe narzędzie, które będzie w stanie spełnić wymagania projektu. Załóżmy, że otrzymali 100 przypadków testowych do zautomatyzowania i oszacowali, że mają 5 dni na opracowanie narzędzia, które może zautomatyzować cała kolekcja tych przypadków testowych.
Oto efekt ich pracy
Podobnie jak w powyższym scenariuszu, problem polega na tym, że narzędzie testowe nie może zautomatyzować wszystkich przypadków testowych zgodnych ze specyfikacją testu. To znaczy, że nie wszystko funkcje aplikacji mogą być całkowicie przetestowane za pomocą narzędzia testowego.
Jeśli funkcjonalność testowanej aplikacji często się zmienia albo też jest skomplikowane, trudno jest stworzyć dla nich automatyzację testów cała kolekcja funkcje aplikacji, ponieważ każde narzędzie ma swoje własne Ograniczenia.
Jeśli nie chcesz znaleźć się w takiej sytuacji, przed wybraniem narzędzia testowego musisz przeanalizować przypadki testowe i zdecydować, które przypadki testowe powinny być zautomatyzowane, a które nie. To jest Analiza wykonalności automatyzacji aktywności.
Analiza wykonalności automatyzacji jest bardzo ważnym czynnikiem przyczyniającym się do testowania. W tej analizie należy sprawdzić, czy testowana aplikacja jest wykwalifikowany do testu automatycznego.
Niektóre czynniki, które należy wziąć pod uwagę:
Aby dowiedzieć się więcej o tych czynnikach, możesz użyć a checklist co jest zawarte w tym artykule
Jak wybrać najlepsze narzędzie do testowania automatycznego
Aby wybrać najbardziej odpowiednie narzędzie testowe dla projektu, Kierownik Testów powinien postępować zgodnie z poniższym procesem wyboru narzędzi
Krok 1) Zidentyfikuj wymagania dotyczące narzędzi
Jak wybrać narzędzie do testowania, jeśli nie wiesz, czego szukasz?
Musisz precyzyjnie określić wymagania dotyczące narzędzia testowego. Wszystkie wymagania muszą być udokumentowane i recenzja przez zespoły projektowe i zarząd.
Rozważ następujący przykład:
B) Narzędzie może wygenerować wynik testu w żądanym formacie
C) Tester może wybrać, które przypadki testowe mają zostać wykonane na danym zestawie danych testowych
D) Narzędzie może automatycznie wykonać przypadek testowy
E) Narzędzie może ocenić i przeprowadzić walidację wyników testów oraz oznaczyć przypadki testowe jako zaliczone lub niezaliczone
F) Wszystko powyżej pozycji
Krok 2) Oceń narzędzia i dostawców
Po określeniu wymagań narzędzia, Kierownik Testów powinien to zrobić
- Przeanalizuj narzędzia komercyjne i open source dostępne na rynku w oparciu o wymagania projektu.
- Stwórz krótka lista narzędzi który najlepiej spełnia Twoje kryteria
- Jednym z czynników, który należy wziąć pod uwagę, jest sprzedawców. Podejmując decyzję, powinieneś wziąć pod uwagę reputację dostawcy, wsparcie posprzedażowe, częstotliwość aktualizacji narzędzi itp.
- Oceń jakość narzędzia, biorąc użycie próbne i uruchomienie pilotażu. Wielu dostawców często udostępnia do pobrania wersje próbne swojego oprogramowania
Krok 3) Oszacuj koszty i korzyści
Aby mieć pewność, że narzędzie testowe będzie korzystne dla biznesu, Kierownik Testów musi to zrobić równoważyć następujące czynniki:
A Analiza kosztów i korzyści należy wykonać przed zakupem lub zbudowaniem narzędzia
Przykład: Po spędzeniu dużej ilości czasu na badaniu narzędzi testowych zespół projektowy znalazł idealne narzędzie testowe dla witryny internetowej projektu Guru99 Bank. Wyniki oceny wykazały, że narzędzie to mogłoby
- Double bieżącą produktywność wykonywania testów
- Zredukować wysiłek związany z zarządzaniem o 30%
Jednak po rozmowie z dostawcą oprogramowania okazało się, że plik koszt tego narzędzia jest zbyt wysoka w porównaniu do wartość i korzyści jakie może wnieść do pracy zespołowej.
W takim przypadku równoważyć pomiędzy kosztami i korzyściami narzędzia może mieć wpływ na ostateczną decyzję.
Krok 4) Podejmij ostateczną decyzję
Aby podjąć ostateczną decyzję, Kierownik Testów musi posiadać:
- Mieć silna świadomość narzędzia. Oznacza to, że musisz zrozumieć, który to jest silny punkty i słaby punkty narzędzia
- Bilans koszt i korzyść.
Nawet jeśli poświęcisz wiele godzin na czytanie instrukcji obsługi oprogramowania i informacji o dostawcach, być może będziesz musiał wypróbować narzędzie w rzeczywistym środowisku pracy przed zakupem licencji.
Powinieneś odbyć spotkanie z zespołem projektowym, konsultantami, aby uzyskać głębszą wiedzę o narzędziu.
Twoja decyzja może niekorzystnie wpłynąć na projekt, proces testowania i cele biznesowe; powinieneś spędzić dobry czas, aby się nad tym zastanowić.
Rzeczy do rozważenia przy wyborze narzędzia do zarządzania testami
Dzięki szerokiej gamie dostępnych opcji łatwo jest się pomylić podczas zakupu narzędzia do zarządzania testami. Jest to bezstronny przewodnik, który pomoże Ci wybrać najlepsze narzędzie zgodnie z wymaganiami Twoje potrzeby.
W tym przewodniku podam 5 najważniejszych, ale często ignorowanych parametrów przy wyborze narzędzia do zarządzania testami. Ale zanim zacznę, pozwólcie, że powtórzę:
Nie porównuj jabłek i pomarańczy
Nie ma sensu porównywać narzędzia SaaS za 30 dolarów miesięcznie z pełnym narzędziem komercyjnym o wartości 6000 dolarów, jeśli budżet na to nie pozwala. Ważne jest, aby filtrować narzędzie za pomocą listy BUDŻET Pierwszy. Jeśli masz ograniczony budżet, open-source jest dobrą opcją. Chociaż narzędzia komercyjne są drogie, oferują doskonałe wsparcie i są łatwe w użyciu dzięki dużej liczbie materiałów szkoleniowych.
Następną rzeczą, którą powinieneś obliczyć, jest koszt licencji. W tym celu musisz oszacować czas trwania testu i wybraną metodę testowania. Pomoże Ci to dowiedzieć się, jaki model będzie pasował do Twojego budżetu, np. Czy chcesz zapłacić jako na zarejestrowanego użytkownika, użytkownika równoczesnego lub użytkownika stałego. Zwykle koszty stałe lub jednorazowe są wyższe ze względu na nakłady inwestycyjne. W przypadku niektórych programów wymagana jest licencja uruchomieniowa. Nie wszyscy dostawcy obsługują licencje wykonawcze, dlatego też należy wziąć pod uwagę koszt licencji wykonawczej także wtedy, gdy planujesz instalację na różnych komputerach.
Kiedy już dokonasz selekcji na podstawie budżetu, oto 5 bardzo ważnych parametrów umożliwiających porównanie narzędzi do zarządzania testami:
Wskazówka nr 1 Narzędzie do zarządzania testami powinno poprawić produktywność
Zespoły testujące stoją przed poważnymi wyzwaniami, aby nadążać za szybkimi zmianami technologicznymi i potrzebą testowania na wielu platformach (zarówno przeglądarkach, jak i urządzeniach). Ponieważ testowanie ręczne zajmuje większość czasu, jednym ze sposobów poradzenia sobie z tym wyzwaniem jest zwiększenie automatyzacji. Istnieją jednak inne obszary wymagające poprawy wydajności narzędzia, które obejmują między innymi efektywne zarządzanie laboratorium testowym/danymi, zarządzanie wydaniami i wnikliwe raportowanie. Wybór odpowiedniego narzędzia do zarządzania testami może ogromnie pomóc w poprawie tych parametrów.
Przyjrzyjmy się wymaganiom narzędzia do zarządzania testami z punktu widzenia produktywności:
Szczegółowość informacji testowych
Narzędzie do zarządzania testami powinno zawierać szczegółowe raporty informacyjne dotyczące procesu testowania. Na przykład w przypadku niepowodzenia przypadku testowego zawsze pomocne jest wiedzieć, na którym etapie test się nie powiódł, zamiast wiedzieć, że przypadek testowy nie powiódł się jako całość. Bez względu na drobne zmiany zastosowane podczas testowania, narzędzie do zarządzania testami powinno informować o nich odpowiednich członków zespołu. Aby ułatwić dalsze działania i przyspieszyć działanie, powinno również przechowywać ślad audytu zmian, w tym pełne wersjonowanie przypadków testowych. Ponadto narzędzie do zarządzania testami powinno zapisywać wyniki testu jako sesję i musi mieć możliwość porównywania wyników przebiegu testu. Inne funkcje, których oczekuje się od standardowych narzędzi do zarządzania testami, to: dokumentowanie strategii testów, planowanie wykonania testów, tworzenie defektów, łączenie historii, itp. Wisienką na torcie byłaby funkcja przesyłania wideo i obsługa API.
Śledzenie zarządzania wersjami (DevOps)
Wydania oprogramowania są złożone i obejmują wiele czynności (takich jak śledzenie wersji kompilacji, koordynacja zespołu i przejrzystość wydań), które odbywają się w tym samym czasie. Dobre narzędzie do zarządzania testami musi mieć solidną możliwość śledzenia zarządzania wydaniami, która przechowuje rejestr listy testowanego i wydawanego oprogramowania, aby nie kolidowało z innymi artefaktami testowymi. Ponadto powinno być w stanie zarządzać wszystkimi artefaktami projektu w jednym środowisku.
Narzędzie do zarządzania testami musi zapewniać jednolity widok wymagań dla wszystkich interesariuszy. Współpraca z zainteresowanymi stronami gwarantuje uwzględnienie właściwych wymagań. Narzędzie powinno umożliwiać śledzenie powiązań pomiędzy innymi zasobami programistycznymi i wymaganiami.
W przypadku zespołów rozproszonych powinno zapewniać jedno współdzielone repozytorium umożliwiające współpracę i udostępnianie wymagań, ocenę powiązanych defektów i zrozumienie ich związku z testami.
Aby zapewnić jakość i spójność, narzędzie do zarządzania testami musi wymuszać standaryzację.
Raportowanie
To chaos, jeśli zespół testujący wie, ile defektów jest otwartych w wersji, ale nie wie, ile czasu zajmie ich rozwiązanie. Aby monitorować działania testowe, inżynierowie testowi w dużym stopniu polegają na raportach generowanych przez narzędzie do zarządzania testami. Niezawodne narzędzie do zarządzania testami powinno dostarczać w swoich raportach następujące informacje, takie jak: postęp planu testów, status tworzenia przypadku testowego, przypadek testowy nieudany i zaliczony, status testu według zestawów, status testu według obszaru, przypadek testowy do automatyzacji, itd.
Twoje narzędzie do zarządzania testami powinno umożliwiać pełną widoczność działań programistów i procesów cyklu życia, od zarządzania wymaganiami po testowanie i naprawianie defektów.
Dobre narzędzie do zarządzania testami powinno zawierać następujące atrybuty
- Wykres i pulpit nawigacyjny powinny dać wgląd w to, ile automatycznych testów zostało uruchomionych lub oczekuje na wykonanie
- Powinien podkreślać typowe atrybuty testów, takie jak liczba przypadków testowych zakończonych powodzeniem/niepowodzeniem/pominiętymi, obciążenie użytkownika itp.
- Podejmij decyzję o gotowości każdego wydania
- Przeglądaj przebiegi testów automatycznych wraz z wynikami testów ręcznych
Wskazówka nr 2 Zwinne wsparcie
Popyt na metodykę Agile na obecnym rynku rośnie i każdego dnia staje się coraz większy. Ważne jest, aby Twoje narzędzie do zarządzania testami obsługiwało metodykę Agile. W Agile wymagania są zmienne i uzupełniane stopniowo, Twoje narzędzie do zarządzania testami powinno być w stanie sprostać takim wymaganiom. Wybrane przez Ciebie narzędzie do zarządzania testami Agile powinno promować głębokie partnerstwo między programistami, testerami i innymi interesariuszami (podstawowa zasada Agile).
Narzędzie do zarządzania testami Agile powinno wspierać
- Tworzenie historii
- Wyceny
- Sprint planowanie zaległości
- Wykresy prędkości i inne raporty itp.
- Scrum i Kanban
W środowisku Agile porównanie przebiegów testów za pomocą narzędzia do zarządzania testami byłoby produktywne, jeśli przyjrzysz się zmianom wskaźników defektów na iterację. Również w przypadku Agile narzędzie do zarządzania testami będzie musiało prowadzić rejestr wydania produktu dla każdej iteracji i zaległości
Wskazówka nr 3 Integracja zewnętrzna
Zautomatyzowane wykonywanie przypadków testowych może znacznie zmniejszyć obciążenie inżynierów testujących. Powinieneś wybrać narzędzie do zarządzania testami, z którym łatwo się integruje narzędzia automatyzacji. Poszukaj możliwości zarządzania skryptami testowymi, a także planowania i uruchamiania testów zarówno lokalnie, jak i na zdalnym hoście. Pożądana jest także możliwość przechowywania wyników testów automatycznych w narzędziu do zarządzania testami. Twoje narzędzie do zarządzania testami musi obsługiwać tę funkcję ciągła integracja. Główną zaletą narzędzia do zarządzania testami z CI jest to, że testy uruchamiają się automatycznie. Uruchomienie może zostać wywołane na przykład zatwierdzeniem kodu źródłowego przez programistę lub przypadkiem testowym z podstawową automatyzacją testów lub zaplanowanym zadaniem na określony czas. Ciągła integracja różni się czasem, szczegółami, kierunkiem i szczegółowością.
Dla każdego zespołu ds. kontroli jakości integracja narzędzie do śledzenia błędów bardzo ułatwia proces testowania. Standardowe narzędzie do zarządzania testami, które płynnie integruje się z aplikacją SDLC lub innymi narzędziami do śledzenia błędów, takimi jak JIRA, BugZilla, Mantis, zwiększa wartość tego narzędzia. Powinno umożliwiać użytkownikom łączenie błędów, uruchamianie instancji testowych i scentralizowane zarządzanie procesem testowania oprogramowania. Powinno także pozwalać całemu zespołowi projektowemu na wspólną pracę nad jednym zagadnieniem w tym samym czasie.
Integracja Twojego system wsparcia technicznego jest ważną cechą, którą powinno zapewnić każde narzędzie do zarządzania testami. Oprogramowanie do obsługi technicznej lub inaczej system zgłoszeń pomaga użytkownikom uzyskać natychmiastowe rozwiązanie ich problemu. Pomaga klientom uzyskać przegląd wszystkich otwartych i zamkniętych problemów.
API Pożądana jest obsługa niestandardowych integracji.
Wskazówka nr 4 Mobilność
Twoje narzędzie do zarządzania testami powinno obsługiwać urządzenia mobilne i tablety.
Wsparcie mobilne jest niezwykle pomocne dla zespołów, które są u klienta, a nie przy biurku, lub dla menedżerów pracujących z zespołami w różnych lokalizacjach geograficznych.
Narzędzie do zarządzania testami musi mieć pełny (nie ograniczony) zestaw funkcji dostępny na urządzeniu mobilnym.
Obsługa wielu urządzeń i mobilnych systemów operacyjnych jest ważna, ponieważ wraz ze wzrostem liczby urządzeń pojawia się więcej złożoności, takich jak lokalizacja, gesty, akcelerometry i problemy z orientacją. W końcu nigdy nie kupujesz telefonu, myśląc, że jest kompatybilny z Twoim narzędziem do zarządzania testami!
Wskazówka nr 5 Wsparcie
Zespół wsparcia dostawcy narzędzia do zarządzania testami powinien być zaangażowany w pomoc swoim klientom na wszystkie możliwe sposoby. Wiele narzędzi do zarządzania testami koncentruje się bardziej na tworzeniu błyszczących stron internetowych i reklam, aby przyciągnąć więcej klientów. Jednak w przypadku ciągłej i powtarzalnej działalności muszą skupić się na zapewnieniu najlepszego wsparcia technicznego.
Najlepsze narzędzie do zarządzania testami powinno mieć takie funkcje jak czat na żywo, rozmowa telefoniczna, często zadawane pytania i podręczniki użytkownika online, informacje o dokumentacji produktu, baza wiedzy, zgłaszanie zgłoszeń do działu pomocy technicznej, itp., aby pomóc swoim klientom.
Wiele narzędzi do zarządzania testami również ułatwia wideokonferencja na żywo z ekspertami w zakresie narzędzi, aby rozwiązywać zapytania klientów. Jeśli konferencja na żywo nie jest możliwa, wówczas na miejscu powinny być zawsze dostępne demonstracje lub nagrane filmy dotyczące narzędzia do zarządzania testami, do których można uzyskać dostęp w dowolnym momencie. Natomiast w przypadku programistów, jeśli narzędzie zapewnia obsługę interfejsu API lub niestandardowej integracji, należy dostarczyć skrypt demonstracyjny i szczegółową dokumentację.
Chociaż wszystkie powyższe kanały wsparcia mogą nie być dostępne dla wszystkich narzędzi, powinieneś wybrać narzędzie, które zapewni Twoje „Korzystny”kanał wsparcia.
Jeszcze jednym ważnym i często zapominanym parametrem jest to, czy dostawca narzędzia jest Skoncentrowany na kliencie? Oto kilka rzeczy, które należy wziąć pod uwagę przy wyborze narzędzia do zarządzania testami:
- Interfejs narzędzia powinien być przyjazny dla użytkownika i zawierać funkcję integracji z klientem
- Powinien obsługiwać wiele języków i wiele stref czasowych
- Powinien mieć możliwość zaawansowanego wyszukiwania
Mamy nadzieję, że ten przewodnik pomoże w wyborze narzędzia, które najlepiej odpowiada Twoim potrzebom testowym! Aby uzyskać bardziej kompleksowe zarządzanie cyklem życia aplikacji, warto zapoznać się z poniższymi informacjami Narzędzia ALM.