TestRail — Indywidualne ustawienia pod projekt

Wprowadzenie

W wielu projektach, nad którymi pracowałem, ludzie nie dostosowywali TestRail do swoich potrzeb i korzystali z domyślnych ustawień. Dlatego w tym artykule postaram się opisać przykłady indywidualnych ustawień, które mogą pomóc Ci zwiększyć efektywność pracy. Na przykładzie weźmy projekt rozwoju aplikacji mobilnej.

Małe zastrzeżenie. W tym artykule nie opisuję podstawowej funkcjonalności TestRail (na ten temat istnieje wiele poradników) ani nie przedstawiam zachęcających wyrażeń, które pięknie opisują, dlaczego warto wybrać tego dostawcę do tworzenia repozytorium testów.

Plan uzasadnienia (co będzie zrealizowane)

  1. Ogólne wymagania

    1. Przypadek testowy powinien móc przejść absolutnie każda osoba

    2. Przypadki testowe powinny utrzymywać aktualność jak najdłużej

    3. Przypadki testowe muszą jak najdokładniej obejmować funkcjonalność aplikacji mobilnej w takim zakresie, w jakim nie stoi to w sprzeczności z dwoma pierwszymi punktami

  2. Podział na TestCase i TestScenario

  3. Szybkie tworzenie TestRun różnych typów

    1. Smoke

    2. Regress

    3. Testowanie wpływu itd.

  4. Optymalizacja wsparcia przypadków testowych

    1. Rezygnacja z „martwych” hardcodowanych zrzutów ekranowych i przejście na „movable data”

Wymagania

Aby edytować pola, potrzebujesz dostępu administracyjnego

Wybór rodzaju projektu

Możesz wybrać trzy typy projektu:

TestRail — Indywidualne ustawienia pod projekt

Wybierzemy typ domyślny. W nim będą dostępne jednocześnie wszystkie przypadki testowe. Będziemy korzystać z inteligentnego filtrowania i dynamicznie zarządzać wszystkimi przypadkami jednocześnie.

Dodanie pól do wyświetlania listy przypadków testowych

Dodajemy pole do wyświetlania priorytetu przypadków testowych:

TestRail — Indywidualne ustawienia pod projekt

Można również dodać inne pola.

Ustawienie pól i tagów przypadków testowych

Otwieramy menu ustawień:

TestRail — Indywidualne ustawienia pod projekt

Potrzebujemy takich pól:

Pole „Podsumowanie” (nagłówek przypadku testowego)

TestRail — Indywidualne ustawienia pod projekt

To pole już istnieje, tylko usystematyzujemy jego użycie. Będziemy dzielić przypadki na TestCase i TestScenario. Aby lepiej czytać długą listę przypadków, lepiej wcześniej ustalić regulamin pisania podsumowań.

TestScenario:

Przykład: TestScenario — Główny scenariusz użycia aplikacji mobilnej

TestCase:

Przykład: MainScreen — Sekcja logowania — Wprowadzenie loginu

Zatem widzimy w podsumowaniu przypadku klasyczne rozumienie: „co, gdzie, kiedy”. Wizualnie również dzielimy wysokopoziomowe scenariusze testowe i niskopoziomowe przypadki testowe w najbardziej odpowiedniej formie dla automatyzacji.

Znacznik „StartScreen” (ekran, z którego zaczyna się TestScenario, wiele testów może dotykać sąsiednich ekranów)

Do czego może być potrzebny: usuniemy z tekstu kroki testów, które prowadzą użytkownika na ekran aktualnego testu. (standardowe kroki do stworzenia określonej sytuacji testowej) Wszystkie standardowe kroki dla wszystkich testów będą zapisane w jednym pliku. O nim napiszę bardziej szczegółowo osobno.

Tworzymy nowe pole:

TestRail — Indywidualne ustawienia pod projekt

Wypełniamy komponenty nowego pola:

TestRail — Indywidualne ustawienia pod projekt

W tym przypadku tworzymy pole wyboru z listy wartości. Wprowadzamy wartości tego pola:

TestRail — Indywidualne ustawienia pod projekt

Zwróć uwagę, że id wartości nie zaczynają się od jedynki i nie są kolejno numerowane. Dlaczego tak zrobiono? Chodzi o to, że jeśli mamy zapisane testy z wprowadzonym id,

TestRail — Indywidualne ustawienia pod projekt

a następnie będziemy musieli stworzyć trzeci ekran między dwoma istniejącymi,

TestRail — Indywidualne ustawienia pod projekt

to będziemy zmuszeni przepisać id, i ponieważ są już powiązane z tagami istniejących testów, po prostu zostaną usunięte. Będzie to bardzo nieprzyjemne.

Znacznik „Screen” (nazwa ekranu, który dotyczy TestCase)

Do czego może być potrzebny: jeden z punktów odniesienia do testowania impaktowego. Na przykład, deweloperzy stworzyli nową, fajną funkcję. Musimy ją przetestować, ale w tym celu musimy zrozumieć, co dokładnie ta funkcja mogła dotknąć. Domyślnie możemy przyjąć, że różne ekrany (Activity) aplikacji mają różne klasy i w związku z tym stanowią różne komponenty aplikacji. Oczywiście w tym przypadku potrzebne jest indywidualne podejście.

Przykład: home_screen, MapScreen, PayScreen itd.

TestRail — Indywidualne ustawienia pod projekt

Pole „MovableData” (link do proxy Bazy Danych z zmiennymi danymi testowymi)

Następnie postaramy się rozwiązać problem utrzymania aktualności danych w testach:

  1. Linki do aktualnych makiet (to znacznie lepsze niż robienie martwych zrzutów ekranu)

  2. Standardowe kroki do ekranu z sytuacją testową

  3. Zapytania SQL

  4. Linki do danych zewnętrznych i innych danych

Zamiast umieszczania danych testowych w każdym przypadku testowym, stworzymy jeden zewnętrzny plik i w wszystkich przypadkach testowych stworzymy do niego odwołanie. Po aktualizacji tych danych nie będziemy musieli przeglądać wszystkich przypadków testowych i ich zmieniać, a zmienimy te dane tylko w jednym miejscu. Jeśli ktoś nieprzygotowany otworzy przypadek testowy, zobaczy w treści przypadku testowego link do pliku oraz wskazówkę, że powinien w nim poszukać danych testowych.

Wszystkie te dane spakujemy w jeden zewnętrzny plik, który będzie dostępny dla wszystkich zainteresowanych w projekcie. Na przykład można użyć Google Sheet lub Excela i skonfigurować wewnątrz pliku wyszukiwanie. Dlaczego akurat ci dostawcy? Sprawa ma się tak, że opieramy się na paradygmacie, iż każdy członek zespołu powinien móc otworzyć i przejść przez przypadek testowy bez potrzeby wcześniejszego instalowania różnych narzędzi.

Dla Google Sheet można użyć zapytań SQL. Przykład:

=query(DATA!A1:M1146;"
SELECT C,D
WHERE
C contains '"&SEARCH!A2&"'")

Dla Excel można skonfigurować wygodne makra do natychmiastowego wyszukiwania. (filtrowania) Przykład pod tym linkiem.

Sama idea nie jest nowa i została opisana w pierwszej książce testera „Testowanie dot com”. (autor Sawin Roman) Tylko integrujemy w TestRail metody proponowane przez Romana Sawina. W tym celu stworzymy pole z linkiem do utworzonego pliku:

TestRail — Indywidualne ustawienia pod projekt

uzupełniamy domyślną wartość linku, aby w każdym nowym przypadku testowym już był link:

TestRail — Indywidualne ustawienia pod projekt

Jeśli lokalizacja zewnętrznego pliku się zmieni (przewidujemy wszelkie nieprzewidziane okoliczności), to wygodnie można w jednym kroku zmienić jedno lub kilka pól we wszystkich przypadkach testowych:

TestRail — Indywidualne ustawienia pod projektTestRail — Indywidualne ustawienia pod projekt

Pole „Descriptions” (opis lub pomysł na przypadek testowy, standardowe instrukcje)

W jakim celu może być potrzebne: W tym polu tekstowym umieścimy krótkie opisy przypadku testowego i standardowe instrukcje.

Przykład: Wszystkie dane testowe (aktualne makiety, użycie narzędzi i inne dane) z tego przypadku testowego są oznaczone linkami {...} i znajdują się w pliku MovableData. Link do MovableData znajduje się w odpowiednim polu u góry.

TestRail — Indywidualne ustawienia pod projekt

Tag „Component” (komponent aplikacji mobilnej)

Do czego może być potrzebne: do testowania wpływu. Jeśli aplikację mobilną można podzielić na komponenty (które jak najmniej wpływają na siebie nawzajem), to zmiany w jednym komponencie można wystarczająco (z pewnymi ryzykami) sprawdzić w ramach tego samego komponentu, co zmniejsza podstawy do przeprowadzania ogólnych regresji. Jeśli istnieje informacja, że jeden komponent może wpływać na drugi, tworzy się macierz testowania wpływu.

Przykłady komponentów: GooglePay, Zamówienia, Użytkownicy, Mapa, Autoryzacja itd.

TestRail — Indywidualne ustawienia pod projekt

Tag „TAG” (Inne tagi do filtrowania)

Tagowanie zestawu testów etykietami do dowolnego filtrowania. 

Bardzo przydatne dla: 

  1. szybkiego tworzenia TestRun dla różnych typowych zadań: smoke, regresji itd.

  2. czy testy będą zautomatyzowane lub już zostały zautomatyzowane

  3. jakie inne tagi

Przykład: Smoke, Zautomatyzowane, WhiteLabel, DoUsunięcia itd.

TestRail — Indywidualne ustawienia pod projektTestRail — Indywidualne ustawienia pod projekt

Ustalamy kolejność wyświetlania pól w zestawie testów

Stworzyliśmy wiele nowych pól, nadszedł czas, aby ułożyć je w wygodnej kolejności:

TestRail — Indywidualne ustawienia pod projekt

Tworzenie TestRun

Teraz stworzymy nowy test run z aktualnymi przypadkami do przeprowadzenia testów smoke w trzy kliknięcia:

TestRail — Indywidualne ustawienia pod projekt

Inne przydatne porady

  1. Jeśli w TestRail jest kilka projektów, nie zapominaj twórczyć nowych pól tylko pod Twój projekt, w przeciwnym razie koledzy z sąsiednich zespołów mogą być bardzo zdziwieni pojawieniem się nowych, nietypowych pól. Możliwe są lokalne omdlenia.

TestRail — Indywidualne ustawienia pod projekt

2. Przypadki z dużą ilością pól łatwiej kopiować z podobnej grupy niż tworzyć nowe:

TestRail — Indywidualne ustawienia pod projekt

3. Można wspólnie korzystać z kont. Na przykład: jedno konto administratora, kilka użytkowników.

Podsumowanie

Opisane powyżej przykłady zostały wdrożone w kilku projektach i wykazały swoją skuteczność. Mam nadzieję, że pomogą one poprawić Twoje rozumienie tego narzędzia oraz umożliwią tworzenie efektywnych i wygodnych „repozytoriów testowych”. Będę bardzo wdzięczny, jeśli w komentarzach opiszesz swoje doświadczenie z TestRail oraz przydatne porady.

Linki:

Strona dostawcy TestRail

Książka: „Testowanie .COM” (autor Roman Sawin)

Dziękuję bardzo za uwagę!

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster