testim io tutorial speed up authoring
W tym praktycznym samouczku nauczysz się, jak w kilka minut tworzyć stabilne testy za pomocą narzędzia do automatyzacji Testim oraz jak używać procesu uczenia maszynowego, aby przyspieszyć tworzenie, wykonywanie i obsługę testów automatycznych.
Kiedy słyszymy wyrażenie „narzędzie do automatyzacji”, najważniejsze kwestie, które przychodzą na myśl w przypadku naszych testów, obejmują:
pisanie przypadków testowych junit w java
- Tworzenie i wykonywanie
- Stabilność
- Możliwość ponownego użycia
- Rozciągliwość
- Konserwacja
- Rozwiązywanie problemów
- Raportowanie
- Integracja CI / CD
Na rynku istnieje wiele narzędzi, które odnoszą się do jednego lub kilku z powyższych czynników, ale nie do wszystkich. W tym miejscu pojawia się Testim.io.
Testim.io nie jest narzędziem, ale platformą zawierającą prawie wszystkie podstawowe czynniki, takie jak tworzenie i wykonywanie, konserwacja, rozwiązywanie problemów, raportowanie itp. testów automatycznych. Wraz z wprowadzeniem do koncepcji lokalizatorów dynamicznych skupiają się na kilku typach testów, takich jak testy funkcjonalne, testy kompleksowe i testy interfejsu użytkownika.
Zwiększa rozszerzalność i stabilność zestawów testów. Daje także zespołom i organizacjom elastyczność w rozszerzaniu funkcjonalności platformy przy użyciu złożonej logiki programowania z wykorzystaniem JavaScript i HTML.
Oto szczegółowy wgląd w Testim.io i sposób, w jaki pomaga przezwyciężyć niektóre wyzwania, przed którymi stają klienci podczas automatyzacji.
Czego się nauczysz:
- Czym to narzędzie różni się od innych narzędzi?
- Testim.io jest platformą, a NIE nagraniem ani narzędziem do odtwarzania
- Uwzględnienie kluczowych czynników
- Wniosek
- rekomendowane lektury
Czym to narzędzie różni się od innych narzędzi?
Aby zrozumieć, w jaki sposób Testim różni się od innych narzędzi, cofnijmy się o ewolucję narzędzi do automatyzacji w ciągu ostatniej dekady.
W ciągu ostatnich 10 lat istniało kilka narzędzi dostawców i narzędzi typu open source, które próbowały rozwiązać różne problemy związane z testowaniem automatycznym. Ale jednym z głównych problemów, których nikt do tej pory nie rozwiązał, jest użycie identyfikatorów statycznych.
Na przykład , powiedzmy, że programista zmienia nazwę identyfikatora lub jakiś atrybut elementu na stronie internetowej. Testy automatyczne są natychmiast przerywane z powodu tej zmiany, ponieważ nadal odwołuje się do starej nazwy identyfikatora. Prowadzi to do niestabilnych testów, a testerzy muszą spędzać dużo czasu na ich utrzymaniu.
Wprowadzili pojęcie Dynamiczne lokalizatory . Sztuczna inteligencja (AI) pod platformą w czasie rzeczywistym analizuje wszystkie obiekty DOM strony i wyodrębnia obiekty i ich właściwości.
Wreszcie sztuczna inteligencja decyduje o najlepszej strategii lokalizacyjnej w celu zlokalizowania określonego elementu na podstawie tej analizy.
Z tego powodu, nawet jeśli programista zmieni atrybut elementu, test nadal działa, co prowadzi do bardziej stabilnych testów. W rezultacie tworzenie i wykonywanie testów automatycznych przebiega znacznie szybciej i stabilniej.
Testim.io jest platformą, a NIE nagraniem ani narzędziem do odtwarzania
Przede wszystkim nie jest to narzędzie, ale platforma.
Ma solidne funkcje, które nie tylko pomagają zautomatyzować testy, ale także dba o inne ważne aspekty testów, takie jak uruchamianie testów lokalnie iw chmurze (ich prywatna sieć lub zewnętrzna sieć), integracja z CI / CD systemy, przechwytywanie dzienników i zrzutów ekranu z przebiegów testów, dostarczanie szczegółowych raportów z przebiegów testów z wykresami, statystykami i innymi powiązanymi informacjami.
I wreszcie, dzięki integracji z szeroko stosowanymi narzędziami do śledzenia błędów, przechwytywanie i raportowanie błędów jest bardzo proste.
Po drugie, zapewnia organizacjom i zespołom elastyczność w tworzeniu własnych opakowań wokół platformy przy użyciu złożonej logiki programowania z wykorzystaniem JavaScript i HTML. W ten sposób każdy może rozszerzyć funkcjonalność platformy.
Wreszcie platforma jest wyrównana z Paradygmat Shift-Left gdzie Deweloperzy i Testerzy mogą zacząć pisać testy od samego początku, pracując nad różnymi gałęziami bez nadpisywania wzajemnych zmian. Pomaga również zespołom we współpracy i zapewnia każdemu elastyczność w pisaniu testów automatycznych dzięki wbudowanym funkcjom.
W ten sposób nawet nietechniczny członek zespołu może wnieść cenny wkład w automatyczne testy. Platforma pomaga zaszczepić koncepcję, że testy automatyczne powinny być proste, skuteczne, stabilne i oparte na współpracy.
Uwzględnienie kluczowych czynników
W jaki sposób Testim odnosi się do kluczowych czynników, które są kluczowe dla testów automatycznych?
Tworzenie i wykonywanie
Testy automatyczne muszą być łatwe w tworzeniu i wykonywaniu ich z dowolnego miejsca iw dowolnym czasie.
Testim pomaga to zrobić w następujący sposób:
1) Tworzenie testu
Tworzymy nowy test, klikając „Utwórz nowy” lub „Nowy test” .
2) Nagrywanie i odtwarzanie testu
Po kliknięciu 'Rekord' przycisk, możemy nagrywać różne działania użytkownika w naszej aplikacji.
Po nagraniu różnych działań kliknij 'Zatrzymaj nagrywanie' przycisk, aby zakończyć nagrywanie naszych testów. Użyj 'Grać' przycisk, aby odtworzyć zarejestrowany test i przycisk 'Zapisać' przycisk, aby zapisać testy.
3) Walidacje i asercje
Ta platforma pomaga w sprawdzaniu różnych atrybutów elementu i naprawdę prostych interfejsów API.
Różne opcje dla użytkowników, takie jak:
- Dodawanie niestandardowych walidacji za pomocą JavaScript i HTML
- Sprawdź widoczność elementu
- Sprawdź poprawność tekstu elementu
- Walidacja na poziomie pikseli
- Walidacja na poziomie API
4) Zrzuty ekranu
Podczas rejestrowania każdego testu platforma wykonuje zrzut ekranu wszystkich pozytywnych i negatywnych wyników każdego kroku. W rezultacie użytkownikom łatwiej jest rozwiązywać problemy i zrozumieć, co dzieje się pod maską.
Na przykład , Na poniższym zrzucie ekranu zauważymy, że atrybuty pliku 'Wybierz miejsce docelowe' przycisk zmienił się, ale test nadal działał, ponieważ narzędzie AI użyło Dynamiczne lokalizatory . Również funkcjonalność systemu nie uległa zmianie, a jedynie atrybut elementu.
Otrzymujemy również zrzut ekranu pokazujący, co dokładnie wydarzyło się podczas wykonywania testu, wyświetlając obraz oczekiwany (linia bazowa) i obraz rzeczywisty.
(Uwaga:Kliknij poniższy obrazek, aby powiększyć widok)
5) Informacje zwrotne na temat każdego kroku
Użytkownik otrzymuje również informacje zwrotne na temat każdego kroku pod względem tego, czy testy zakończyły się pomyślnie, czy nie, wyświetlając plik 'Zielony' lub „Czerwona ikona” w lewej górnej części każdego kroku, jak pokazano poniżej:
6) Testy znakowania
Testim udostępnia funkcję oznaczania każdego testu utworzonego przez użytkownika.
Są 2 powody, dla których możemy chcieć oznaczyć test:
- Pomaga zidentyfikować powód, dla którego test został stworzony w pierwszej kolejności.
- Pomaga w przeprowadzaniu testów z tą samą etykietą jednocześnie za pośrednictwem funkcji interfejsu wiersza polecenia.
Sposób tworzenia etykiet polega na kliknięciu pliku 'Etykieta' i wybierz istniejącą etykietę lub utwórz nową.
7) Dokumentacja użytkownika
Zapewniają użytkownikom całą dokumentację, której będą potrzebować, aby korzystać z różnych funkcji tej platformy.
Większość odpowiedzi na temat korzystania z tej platformy można znaleźć, klikając link 'Kształcić' i odwiedzając witrynę z dokumentacją, jak pokazano poniżej:
Z powyższych powodów Testim.io pomaga uczynić tworzenie i wykonywanie testów naprawdę szybkim i prostym. W ciągu kilku sekund użytkownik może nagrywać, odtwarzać i zapisywać testy.
Stabilność
Testowanie zastosowań Dynamiczne lokalizatory zamiast statycznych identyfikatorów. Dzięki temu testy są bardziej stabilne i im częściej je przeprowadzamy, tym inteligentniejsza staje się sztuczna inteligencja w zapewnianiu większej stabilności testom automatycznym.
Użytkownik będzie mógł zobaczyć inną strategię lokalizacji, której używa sztuczna inteligencja do zlokalizowania elementu w IDE, za pośrednictwem Panel właściwości , dla każdego elementu, z którym współdziałamy za pośrednictwem naszych automatycznych testów.
Jak widać, sztuczna inteligencja analizuje wszystkie obiekty DOM, wyświetla je w panelu Właściwości wraz z rankingami każdej strategii lokalizacji dla tego konkretnego elementu. W ten sposób, nawet jeśli zmieni się atrybut elementu, sztuczna inteligencja może użyć innej strategii lokalizacji z już przeanalizowanej listy obiektów DOM.
Dzięki temu użytkownik nie musi martwić się o błędne testy.
Możliwość ponownego użycia
Jedną z dobrych praktyk pisania testów automatycznych jest tworzenie komponentów wielokrotnego użytku, które mogą być używane w różnych częściach naszego zestawu testów.
Dlaczego to jest ważne?
Tworzenie komponentów wielokrotnego użytku jest ważne, ponieważ:
- Pomaga zwiększyć czytelność testów automatycznych.
- Oszczędza wysiłek, nie powtarzając tego samego zestawu kroków w różnych częściach testów.
- Wszelkie zmiany na etapie wielokrotnego użytku należy wprowadzać tylko w jednym miejscu i jest to odzwierciedlane w trakcie testów, w różnych projektach.
- Sprawia, że testy automatyczne są bardziej rozszerzalne.
Testim pomaga zapewnić możliwość ponownego wykorzystania według „Grupowanie” i „Parametryzacja”.
1) Grupowanie
Dowolną liczbę powiązanych kroków można zgrupować w jeden komponent wielokrotnego użytku.
Na przykład - The 'Zaloguj sie' scenariusz jest jednym z najczęściej wykonywanych kroków w każdej aplikacji. Sposób, w jaki moglibyśmy utworzyć krok „Logowanie” wielokrotnego użytku, polegałby na wybraniu kroków, które chcemy zgrupować, a następnie kliknięciu „Dodaj nową grupę” jak pokazano niżej:
2) Parametryzacja
Platforma ta daje możliwość testowania aplikacji poprzez różne kombinacje danych wejściowych poprzez parametryzację.
Można to osiągnąć na różne sposoby.
Jednym ze sposobów jest podanie wszystkich parametrów wejściowych, których potrzebowalibyśmy do przetestowania aplikacji w postaci pliku JSON w kroku instalacji (pierwszy krok naszych testów), jak pokazano poniżej:
Rozciągliwość
To narzędzie zapewnia organizacjom elastyczność w rozszerzaniu funkcjonalności tej platformy za pomocą JavaScript i HTML. W ten sposób w każdej funkcjonalności, której ta platforma nie obsługuje, użytkownik może napisać własny kod, aby zbudować solidną strukturę automatyzacji
Na przykład - Powiedz, że chcemy sprawdzić poprawność 'Wybierz miejsce docelowe' z naszych poprzednich przykładów.
Sposób na to byłby.
- Kliknij „Dodaj działanie niestandardowe”.
- Nadaj nazwę nowemu krokowi i kliknij 'Potwierdzać'.
- Kliknij „PARAMS” i wybierz „HTML” dla tego przykładu.
- Dodaj kod niestandardowy.
- Nowy krok z Kod niestandardowy zostanie dodany do listy już istniejących kroków.
Konserwacja
Jednym z najważniejszych czynników związanych z testami automatycznymi jest „ Konserwacja ”.
Dużo wysiłku poświęca się na utrzymanie testów niż pisanie samych testów. Prowadzi to do marnotrawstwa cennego wysiłku i czasu zasobów, które mogłyby raczej poświęcić ten czas na testowanie rzeczywistej aplikacji.
Testim pomaga zminimalizować wysiłek wymagany do utrzymania testów automatycznych w następujący sposób:
1) Kontrola wersji
W dowolnym momencie ważne jest, aby mieć dziennik zmian wprowadzonych w danym teście. W ten sposób zawsze możemy wrócić do starszej wersji testu, gdy jest to wymagane. Ta platforma zapewnia tę funkcjonalność, pokazując całą historię wersji, przechodząc do panelu Właściwości w kroku konfiguracji i klikając „Zobacz stare wersje” .
2) Rozgałęzienie
W ' Shift Left Paradigmat ”, Gdzie zarówno programowanie, jak i testowanie muszą rozpoczynać się równolegle na jak najwcześniejszym etapie cyklu życia oprogramowania.
Mając to na uwadze, zapewniają one zespołom funkcjonalność do tworzenia oddzielnych gałęzi dla każdego członka zespołu i pracy nad tymi samymi projektami i testami. W ten sposób nikt nie może nadpisać zmian wprowadzonych przez innych członków zespołu, a zespoły mogą w dowolnym momencie pracować na tej samej bazie kodu.
Musisz tylko wybrać 'Widelec' aby utworzyć nowy oddział, a także możesz przełączać się między istniejącymi oddziałami.
Użytkownicy mają możliwość planowania swoich testów. Pomaga to w automatycznym uruchamianiu testów w określonym dniu i o określonej godzinie bez jakiejkolwiek ręcznej interwencji. W przypadku jakichkolwiek błędów możemy również otrzymać powiadomienie e-mailem.
Rozwiązywanie problemów
Jako testerzy spędzamy dużo czasu na rozwiązywaniu problemów. Aby pomóc w rozwiązywaniu problemów, ta platforma oferuje użytkownikom różne opcje zawężenia zakresu problemu.
Te opcje obejmują:
1) Zrzuty ekranu
Funkcja zrzutu ekranu opisana w sekcji „Tworzenie i wykonywanie” pomaga użytkownikom dowiedzieć się, jaki był obraz bazowy i jaki faktycznie został znaleziony.
2) Panel właściwości
Panel właściwości pomaga przechwytywać komunikaty o błędach i wyświetlać je użytkownikowi.
Na przykład, Gdy element nie jest widoczny i test się nie powiedzie, w panelu pojawia się poniższy komunikat błędu.
3) Dzienniki testów
Dzienniki są bogatym źródłem informacji o tym, co wydarzyło się pod interfejsem użytkownika. Narzędzie zapewnia dzienniki testów, gdy użytkownik uruchamia testy w naszej sieci lub sieci innej firmy. Opcję można znaleźć w panelu właściwości na etapie konfiguracji.
4) Dokumentacja
Testim włożył wiele wysiłku, aby udokumentować większość funkcji narzędzia w Dokumentacji użytkownika, która znajduje się w 'Kształcić' patka.
Raportowanie
Jest to jeden z najważniejszych aspektów twoich testów, aby uzyskać wgląd w to, które testy zostały uruchomione, przeszły, nie powiodły się, czas trwania uruchomienia, jakie kombinacje przeglądarek i tak dalej.
Testim.io zapewnia 2 rodzaje funkcji raportowania:
1) Raportowanie uruchomień zestawu i testów
Gdy użytkownicy klikną opcję „Uruchomienia” w menu bocznym, mogą zobaczyć cały pakiet i przebiegi testowe wraz ze wszystkimi wymaganymi szczegółami, jak pokazano poniżej. Pomaga to uzyskać wgląd w przebieg testów i ułatwia raportowanie.
2) Zgłaszanie błędów
Spędzamy znaczną ilość czasu w ciągu dnia na zgłaszaniu błędów. Jest to jedna z najbardziej krytycznych i czasochłonnych części testowania.
Testim.io pomaga skrócić czas zgłaszania błędów i zwiększyć produktywność, udostępniając rozszerzenie Chrome do szybkiego przechwytywania i zgłaszania błędów. Za pomocą tego rozszerzenia możemy przechwytywać zrzuty ekranu, filmy przedstawiające błąd i nagrywać rzeczywisty automatyczny test. Integruje się z większością powszechnie używanych systemów śledzenia błędów.
Po wychwyceniu wady i kliknięciu 'Publikować', automatycznie wypełnia wszystkie wymagane kroki w Opisie błędu. Dodaje również zrzut ekranu, wideo i automatyczne testy z usterką.
(Uwaga:Kliknij poniższy obrazek, aby powiększyć widok)
Integracja CI / CD
To narzędzie integruje się z różnymi systemami CI / CD, takimi jak Jenkins, Travis CI, Circle CI i innymi narzędziami do budowania. Integruje się również z sieciami innych firm, które hostują własną chmurę prywatną w celu przeprowadzania testów. Wszystko to odbywa się za pośrednictwem interfejsu CLI (interfejsu wiersza poleceń), który udostępniamy na platformie.
Klikając na „Ustawienia” Ikona z menu bocznego otwiera CLI.
Jest wstępnie wypełniony poleceniami, które wymagają uruchomienia testów w systemach CI / CD, sieciach innych firm lub ich siatkach. Musimy tylko kliknąć 'Kopiuj' i dosłownie wklej polecenie w dowolnym narzędziu do kompilacji lub siatce, z której korzysta organizacja.
Interfejs CLI akceptuje również inne parametry, aby uruchamiać określone testy, uruchamiać testy równolegle, zastępować podstawowy adres URL i wiele innych funkcji.
=> Wszystkie parametry, których można użyć, są wymienione tutaj w niniejszy podręcznik użytkownika .
Wniosek
Krótko mówiąc, platforma Testim.io pomaga pokonać niektóre z głównych wyzwań związanych z automatyzacją, jak opisano w powyższych sekcjach. Dzięki temu automatyzacja będzie prostsza i bardziej stabilna.
Ta platforma pomoże:
- Nietechniczni członkowie zespołu zajmujący się automatyzacją i pisaniem solidnych testów.
- Członkowie zespołu technicznego używają złożonej logiki programowania do rozszerzania funkcjonalności tej platformy.
- Tworzenie i wykonywanie testów jest bardzo szybkie.
- Testy są stabilniejsze przy użyciu „Dynamiczne lokalizatory” .
Ogólnie jest to platforma, która pomaga w różnych aspektach automatyzacji testów i są w trakcie budowania większej liczby funkcji, aby pomóc zwinnym zespołom i organizacjom współpracować zgodnie z mottem JEDEN ZESPÓŁ i JEDEN CEL.
=> Możesz dowiedz się więcej o tym narzędziu tutaj
Nie wahaj się zapytać, czy masz jakieś pytania, a także podzielić się swoimi przemyśleniami w sekcji komentarzy, ponieważ chcielibyśmy wiedzieć, jakie wyzwania stoją przed automatyzacją i jak udało Ci się je rozwiązać.
rekomendowane lektury
- Jak równolegle przeprowadzać testy Appium na dużą skalę
- Zintegruj się ze swoim IDE, aby uruchomić testy Appium
- Twórz testy Appium dla aplikacji na Androida
- Równoległe uruchamianie testów Appium przy użyciu Appium Studio for Eclipse
- Tworzenie testów epok za pomocą epochs Studio for Eclipse
- Pisanie testów jednostkowych w Spock Framework
- Raportowanie Specflow: jak generować raporty z testów i przeprowadzać testy selektywne
- Wdrażanie Java: tworzenie i wykonywanie pliku Java JAR