Czym jest dokumentacja QA i jak możemy obniżyć koszty jej tworzenia i utrzymania?

Opublikowany: 2023-08-01

Andrii Hilov, kierownik zespołu kontroli jakości w ITRex, napisał kolejny artykuł omawiający wyzwania i pułapki związane z zapewnianiem jakości w projektach oprogramowania. Tym razem Andrii zagłębia się w dokumentację kontroli jakości i rolę, jaką odgrywa ona w tworzeniu wysokowydajnego oprogramowania — na czas, w ramach budżetu i zgodnie z celami biznesowymi.

Oto, co ma do powiedzenia na ten temat.

Jako Lider Zespołu QA w firmie ITRex zajmującej się tworzeniem oprogramowania dla przedsiębiorstw doskonale zdaję sobie sprawę z aspiracji naszego klienta do obniżenia kosztów wytwarzania oprogramowania przy jednoczesnym uruchomieniu w pełni funkcjonalnego produktu na czas i z maksymalną wartością.

Chociaż cele te są zrozumiałe, odradzam zwalnianie zespołu ds. kontroli jakości na wczesnym etapie projektu, nawet jeśli na co dzień nie znajduje on błędów, chociaż może się to wydawać łatwą opcją obniżenia wynagrodzenia i przyspieszenia cykli wydawania oprogramowania.

Zalecam również przestrzeganie najlepszych praktyk zapewniania jakości w całym projekcie, aby zweryfikować, czy Twoje rozwiązanie i wszystkie jego funkcje działają zgodnie z oczekiwaniami i nie zagrażają Twojemu bezpieczeństwu cybernetycznemu.

Jedną z takich praktyk jest tworzenie i utrzymywanie odpowiedniej dokumentacji QA.

Czym dokładnie jest dokumentacja zapewnienia jakości? W jaki sposób może pomóc Ci czerpać największe korzyści z korzystania z usług kontroli jakości i testowania? I czy istnieje sposób na optymalizację kosztów i prac związanych z przygotowaniem dokumentacji QA przy jednoczesnym zminimalizowaniu ryzyka stworzenia źle zaprojektowanej, pełnej błędów aplikacji i konieczności odbudowy całości od podstaw?

Dowiedzmy Się!

Wprowadzenie do dokumentacji QA

Dokumentacja kontroli jakości to zbiór dokumentów i artefaktów tworzonych i utrzymywanych przez zespół ds. zapewniania jakości podczas procesu tworzenia i testowania oprogramowania.

Może zawierać różne dokumenty opisujące strategię testowania, plany testów, przypadki testowe, skrypty testowe, dane testowe, dzienniki testów, raporty o błędach i wszelką inną dokumentację związaną z działaniami QA. Dokumenty te ułatwiają komunikację między członkami zespołu QA, zawierają wytyczne dotyczące testowania i pomagają w skutecznym identyfikowaniu i rozwiązywaniu problemów.

W związku z tym dokumentacja kontroli jakości odgrywa istotną rolę w zapewnianiu jakości i niezawodności oprogramowania — i to jest główny cel, do którego dążą nasi klienci.

Jakie dokumenty QA są używane w projektach oprogramowania

Na potrzeby tego artykułu przedstawimy krótki przegląd dokumentów dotyczących zapewniania jakości, które stanowią podstawę dokumentacji testowej w projekcie tworzenia oprogramowania:

  • Plan testów to dokument kontroli jakości, który określa ogólne podejście, cele, zakres, zasoby i harmonogram działań związanych z testowaniem oprogramowania. Mówiąc najprościej, obejmuje:
  1. Nazwa i opis projektu, w tym rodzaje testowanych aplikacji i ich podstawowa funkcjonalność
  2. Preferowane metody testowania (ręczne, automatyczne, mieszane) i typy testów (nowe funkcje, integracje, kompatybilność, regresja itp.)
  3. Funkcje, które należy przetestować, wraz z przybliżonym harmonogramem każdej czynności testowej
  4. Optymalny skład zespołu
  5. Przegląd zagrożeń i problemów, które mogą pojawić się podczas procesu testowania
  6. Lista dokumentów testowych, z których Twój zespół QA będzie korzystał podczas projektu

Praktyczną zasadą jest napisanie planu testów na początku projektu oprogramowania, kiedy zespół IT definiuje wymagania funkcjonalne i niefunkcjonalne dla oprogramowania, wybiera odpowiedni stos technologiczny i metodologię zarządzania projektem oraz tworzy mapę drogową projektu.

Przygotowanie i przejrzenie prostego planu testów bez przypadków testowych zajmuje zwykle do trzech dni.

  • Przypadki testowe opisują określone scenariusze testowe, w tym dane wejściowe, oczekiwane wyniki i kroki do wykonania. Przypadki testowe mają na celu zweryfikowanie funkcjonalności, wydajności lub innych aspektów oprogramowania. Należy pamiętać, że przypadki testowe są używane zarówno przez zespoły usług testowania ręcznego, jak i zespoły usług automatyzacji zapewniania jakości. W ten sposób zapewnisz maksymalne pokrycie testów, co oznacza, że ​​w kodzie produkcyjnym nie pojawią się żadne błędy.

Chociaż wykwalifikowany inżynier kontroli jakości mógłby napisać przypadek testowy wysokiego poziomu w ciągu zaledwie dziesięciu minut, liczba przypadków testowych dla projektu średniej wielkości mogłaby z łatwością przekroczyć 4000 (i wciąż rośnie). Pomnóż tę liczbę przez średnią stawkę godzinową średniego inżyniera ds. kontroli jakości (65 USD za roboczogodzinę na rynku północnoamerykańskim), a otrzymasz imponującą liczbę.

  • Listy kontrolne to zwięzłe, szczegółowe listy działań lub zadań, które należy wykonać lub zweryfikować podczas procesu testowania. W związku z tym lista kontrolna w dokumentacji kontroli jakości zwykle obejmuje pełne zestawienie modułów funkcjonalnych, sekcji, stron i innych elementów aplikacji lub systemu cyberfizycznego, które wymagają uwagi zespołu ds. kontroli jakości.

W mniejszych projektach listy kontrolne mogą z powodzeniem zastąpić szczegółowe przypadki testowe (więcej o tym później).

  • Skrypty testowe to fragmenty kodu napisane przy użyciu określonych narzędzi lub platform testowych, takich jak Selenium, Appium i Cucumber. Skrypty te automatyzują wykonywanie przypadków testowych, zwiększając efektywność procesu testowania — w szczególności w dużych i złożonych projektach oprogramowania, takich jak wielodostępne systemy SaaS i popularne aplikacje B2C, które są często aktualizowane i gdzie nawet najmniejsze błędy mogą negatywnie wpłynąć na wrażenia użytkownika .
  • Dane testowe to dane używane przez inżynierów kontroli jakości do oceny wydajności, funkcjonalności, niezawodności i bezpieczeństwa oprogramowania w różnych warunkach. Może zawierać przykładowe wartości wejściowe, warunki brzegowe i różne scenariusze. Na przykład Twój zespół ds. kontroli jakości może wykorzystać pozytywne i negatywne dane z testów w celu sprawdzenia, czy do wejścia do systemu oprogramowania można używać tylko poprawnych danych logowania. Podobnie danych testowych można używać do wdrażania ograniczeń wiekowych w niektórych typach aplikacji lub do badania, w jaki sposób aplikacja radzi sobie ze zwiększonym obciążeniem.
  • Dzienniki testów dokumentują proces wykonywania testów, w tym datę i godzinę wykonania testów, podsumowanie wykonanych przypadków testowych, wyniki osiągnięte przez zespół ds. kontroli jakości, zrzuty ekranu oraz wszelkie problemy lub obserwacje odnotowane podczas testowania. Dziennik testów jest istotnym źródłem informacji do śledzenia postępów testowania, identyfikowania wzorców lub trendów w wynikach testów oraz dostarczania historycznych zapisów czynności testowych. Pomaga skutecznie identyfikować i rozwiązywać problemy oraz służy jako punkt odniesienia dla przyszłych testów lub audytów.
  • Raporty o defektach lub błędach to dokumenty testowe, które szczegółowo opisują defekty i problemy wykryte podczas działań kontroli jakości. W szczególności opisują wykryte błędy, ich wagę i priorytet oraz warunki, w których występują defekty. Menedżer kontroli jakości wykorzystuje raporty o błędach do przydzielania zadań specjalistom ds. testowania oprogramowania i śledzenia ich statusu.
  • Macierz identyfikowalności odwzorowuje relacje między przypadkami testowymi a wymaganiami lub innymi artefaktami. Pomaga upewnić się, że wszystkie wymagania są odpowiednio objęte przypadkami testowymi, umożliwia śledzenie pokrycia testowego w całym projekcie i eliminuje zbędne czynności testowe.
  • Raport z zakończenia testów podsumowuje czynności testowe wykonane w projekcie, w tym stan wykonania testów, liczbę wykonanych przypadków testowych, znalezione defekty i wszelkie oczekujące zadania.

Dlaczego dokumentacja QA jest ważna?

Posiadanie dokumentacji zapewniania jakości pomaga osiągnąć dokładnie takie wyniki, jakich oczekuje klient i zespół inżynierów oprogramowania.

Osiąga się to poprzez połączenie czynników, w tym:

  1. Dokumentacja kontroli jakości zawiera jasne instrukcje i wytyczne, według których specjaliści ds. testowania oprogramowania mogą konsekwentnie wykonywać zadania, zmniejszać odchylenia i poprawiać ogólną jakość produktów lub usług.
  2. Dokumentacja zapewnienia jakości zmniejsza prawdopodobieństwo wykrycia krytycznych defektów i błędów w rozwiązaniach programowych na późnym etapie procesu rozwoju, odgrywając w ten sposób kluczową rolę w kontroli budżetu. Eksperci QA sugerują, że koszt naprawy błędów rośnie wykładniczo z każdym etapem projektu, od 3X w fazie projektowania/architektury do 30X i więcej w fazie wdrażania.
  3. Dokumentacja zapewniania jakości pomaga zapewnić zgodność z wymogami regulacyjnymi i standardami, które musi spełniać Twoja organizacja, upraszczając audyty i dostarczając dowodów na ustanowienie procesów, procedur i kontroli jakości.
  4. Poprzez dokumentowanie procedur, kontroli i procesów oceny ryzyka dokumentacja testowania oprogramowania pomaga organizacjom identyfikować potencjalne zagrożenia i podejmować środki zapobiegawcze w celu zminimalizowania ich wpływu na działalność biznesową i zadowolenie klientów.
  5. Nowo zatrudnieni mogą zapoznać się z dokumentacją kontroli jakości, aby zrozumieć procesy i procedury jakości w projekcie oprogramowania, skracając krzywą uczenia się i zapewniając spójne szkolenia w całej organizacji.
  6. Dokumentując niezgodności, działania korygujące i wyciągnięte wnioski, firmy mogą identyfikować obszary wymagające poprawy i wdrażać zmiany w celu zwiększenia wydajności i jakości.
  7. Posiadanie dobrze udokumentowanych procesów i procedur zapewniania jakości może zwiększyć zaufanie klientów do produktów lub usług Twojej firmy. Obszerna dokumentacja testowania oprogramowania świadczy o zaangażowaniu w jakość i zapewnia, że ​​organizacja posiada solidne systemy zapewniające spójne i wiarygodne wyniki.
  8. W sytuacjach, w których pojawiają się spory prawne lub wycofywanie produktów, dokumentacja kontroli jakości może służyć jako ważny dowód. Może wykazać, że Twoja organizacja postępowała zgodnie z ustalonymi procesami jakości, podjęła niezbędne środki ostrożności i wypełniła swoje zobowiązania.

Jak długo trwa tworzenie dokumentacji QA?

Uczciwa odpowiedź na to pytanie będzie brzmiała: „To zależy”.

W szczególności ramy czasowe i związane z nimi koszty zależą od kilku czynników, takich jak wielkość organizacji i złożoność jej procesów, branża, w której działasz, oraz rodzaj tworzonego oprogramowania.

Jeśli wcześniej zajmowałeś się projektami tworzenia oprogramowania i masz wewnętrzny zespół kontroli jakości, być może będziesz w stanie ponownie wykorzystać istniejącą dokumentację kontroli jakości w nowych projektach. Pomocne jest również korzystanie z szablonów i specjalistycznych narzędzi do tworzenia i utrzymywania dokumentacji testowania oprogramowania, takich jak zarządzanie projektami i oprogramowanie typu wiki.

Czy zawsze potrzebujesz dokumentacji QA — i czy można obniżyć koszty jej tworzenia i utrzymania?

Jakkolwiek przydatna, dokumentacja zapewniania jakości może zwiększyć koszty projektu oprogramowania ze względu na dodatkowy wysiłek i personel wymagany do jego stworzenia i utrzymania.

Może to stanowić problem dla startupów działających na niskim poziomie lub przedsiębiorstw przechodzących cyfrową transformację w czasach recesji.

Czy zatem każdy rodzaj projektu oprogramowania wymaga superszczegółowej dokumentacji QA — i czy możliwe jest obniżenie kosztów z tym związanych?

Aby określić najlepsze podejście do tworzenia dokumentów kontroli jakości, należy wziąć pod uwagę następujące czynniki:

  • Wielkość projektu i budżet . W przypadku projektów niskobudżetowych i krótkoterminowych (chyba, że ​​mówimy o wysoce innowacyjnych i technicznych projektach realizowanych przez duże zespoły IT) nie ma potrzeby nadmiernie komplikować procesu dokumentowania, więc Twój zespół QA może zdecydować się na listy kontrolne zamiast szczegółowych przypadki testowe. Jeśli chodzi o dokument planu testów, który określa ogólną strategię testowania, możemy również zrezygnować z jego napisania w przypadkach, gdy nie ma na to budżetu lub projekt jest krótkoterminowy i nie obejmuje najnowocześniejszych technologii.
  • Wielkość i doświadczenie zespołu ds. kontroli jakości . Im więcej inżynierów QA w projekcie i im mniejsze doświadczenie w zapewnianiu jakości, tym trudniej jest kontrolować proces testowania. Dlatego potrzebujesz obszernej dokumentacji zapewniania jakości, aby członkowie zespołu byli na bieżąco. W takich przypadkach wskazane jest raczej skupienie się na przypadkach testowych niż na listach kontrolnych, aby efektywniej rozdzielić zadania między inżynierów w oparciu o ich doświadczenie i wiedzę oraz zaangażować w tworzenie przypadków testowych bardziej doświadczonych specjalistów ds. jakości, którzy zwykle mają wyższe stawki godzinowe.
  • Podejście Agile vs. Waterfall do zarządzania projektami . Chociaż zespół ITRex podsumował kluczowe różnice między metodologiami Agile i Waterfall w tym poście na blogu, warto wspomnieć o tym, co odróżnia te dwa podejścia pod względem zapewniania jakości. W Waterfall testowanie oprogramowania jest zapisywane na koniec, co oznacza, że ​​Twój zespół kontroli jakości przeprowadzi testy tylko wtedy, gdy część kodowania jest ukończona w 100%. Z oczywistych względów nie mogą tego zrobić bez odpowiedniej dokumentacji zapewnienia jakości, którą należy przygotować na etapie pozyskiwania wymagań. W Agile, gdzie zespoły IT mają tendencję do iteracyjnego tworzenia mniejszych fragmentów oprogramowania i testowania kodu na koniec każdego cyklu, kreatywna, kompleksowa dokumentacja kontroli jakości nie jest preferowana. Mimo to zalecam napisanie planu testów, aby lepiej dostosować obecną sytuację do oczekiwań klienta i inżynierów oprogramowania.

Ogólnie rzecz biorąc, posiadanie dokumentacji QA może przynieść korzyści każdemu projektowi rozwoju oprogramowania, bez względu na złożoność i rozmiar.

Jako firma zorientowana na klienta jesteśmy jednak zawsze gotowi zaproponować obejścia uwzględniające Twoje cele i budżet.

Jeśli nie jesteś pewien, czy potrzebujesz przygotować obszerną dokumentację zapewnienia jakości dla swojego projektu i szukasz wykwalifikowanych inżynierów QA, którym możesz powierzyć to zadanie, skontaktuj się z ITRex! Dopilnujemy, abyś uruchomił wysokowydajne, wolne od błędów oprogramowanie na czas, w ramach budżetu i zgodnie ze specyfikacją!


Pierwotnie opublikowane na stronie https://itrexgroup.com w dniu 30 czerwca 2023 r.