Doskonalenie procesu testowego (TPI) przy użyciu modelu PDCA

⚡ Inteligentne podsumowanie

Doskonalenie Procesu Testowania stosuje cykl PDCA do testowania, aby każdy projekt dawał mierzalne wnioski. Ta strona wyjaśnia cztery etapy PDCA, stojące za nimi modele dojrzałości oraz wskaźniki potwierdzające, że poprawa faktycznie nastąpiła.

  • 🔁 Pętla PDCA: Zaplanuj, wykonaj, sprawdź i działaj – dzięki temu błędy jednego projektu staną się powtarzalnym standardem.
  • 🎯 Zacznij od problemów: Zanim podejmiesz decyzję o jakimkolwiek działaniu naprawczym, wypisz rzeczywiste wady, opóźnienia i przekroczenia kosztów.
  • 📊 Zmierz wszystko: Track produktywność, wyciek błędów i koszt na przypadek testowy przed i po każdej zmianie.
  • ⚠️ Zwróć uwagę na skutki uboczne: Automatyzacja zwiększyła wydajność, jednak jakość spadła do momentu skorygowania wyboru narzędzi.
  • 🪜 Ulepszaj stopniowo: Drobne, sekwencyjne działania przynoszą efekty znacznie częściej niż całkowite przepisanie procesu.
  • 🏛️. Wybierz model: TPI NEXT wykorzystuje cztery poziomy dojrzałości; TMMi i CMMI definiują po pięć.
  • 📝 Standaryzacja wygranej: Zaktualizuj zasady i szablony testów, aby kolejny projekt odziedziczył korzyści.

Doskonalenie procesu testowania (TPI) z wykorzystaniem modelu PDCA

Czym jest doskonalenie procesu testowania?

Doskonalenie procesu testowego To praktyka polegająca na mierzeniu wydajności procesu testowania, identyfikowaniu jego słabych punktów i wprowadzaniu kontrolowanych zmian, aby kolejny projekt zapewniał wyższą jakość przy niższych kosztach i krótszym czasie. Traktuje ona testowanie jako proces, który można mierzyć i dostrajać, a nie jako czynność powtarzaną w ten sam sposób przy każdym wydaniu.

Wyobraź sobie GuruProjekt 99 Banku właśnie dobiegł końca. Zarząd docenia Twoją pracę, a klient jest zadowolony. Mimo to Twój szef wciąż ma do Ciebie pytania.

Doskonalenie procesu testowego przy użyciu modelu PDCA

Menedżerowie często opisują Testowanie oprogramowania jako proces kłopotliwy i niekontrolowany. Patrząc wstecz na GuruProjekt 99 Bank, czy napotkałeś któryś z poniższych problemów?

Typowe problemy rozwiązywane przez doskonalenie procesu testowania

Są to częste problemy w niemal każdym projekcie testowym. Wiele organizacji zdaje sobie sprawę, że ulepszenie procesu testowania to jedyny trwały sposób na ich rozwiązanie, ponieważ wyciąganie wniosków z błędów z przeszłości zapobiega ich powtarzaniu w kolejnym cyklu wydawniczym.

Dlaczego usprawnianie procesu testowego?

Poniższy scenariusz pokazuje, dlaczego udoskonalenie procesu testowania jest ważne. GuruProjekt 99 Bank został ukończony, jakość testów była świetna, a opinie od klientów były pozytywne.

Dlaczego konieczne jest udoskonalenie procesu testowania – scenariusz porównania z konkurencją

Jaka jest lekcja płynąca z tego scenariusza? To po prostu „zawsze staraj się robić to lepiej”Nawet jeśli uważasz, że wykonałeś dobrą robotę, zawsze znajdą się inni, którzy wykonają ją lepiej, bo znaleźli lepsze pomysły i rozwiązania niż ty.

Każda firma chce, aby projekt został ukończony Najwyższa jakość, na najniższy koszt i w najkrótsza czas realizacji. Doskonalenie procesu testowania to proces, który pomaga zespołowi testowemu dążyć do osiągnięcia wszystkich trzech celów jednocześnie.

Cele doskonalenia procesu testowania – jakość, koszty i czas

Jak wdrożyć udoskonalenie procesu testowania?

Wdrożenie udoskonalenia procesu testowania w GuruProjekt 99 Bank, Menedżer Testów może śledzić PDCA Model PDCA (Plan-Do-Check-Act) to czteroetapowa metoda zarządzania stosowana w biznesie do kontroli i ciągłego doskonalenia procesu. Każde przejście przez pętlę stanowi pojedynczy cykl doskonalenia, a wynik działania staje się danymi wejściowymi kolejnego planu.

Model PDCA stosowany do wdrażania usprawnień procesu testowania

💡 Wskazówka: Uruchom pętlę PDCA dla jednego wąskiego problemu na raz. Cykl, który koncentruje się na pojedynczym mierzalnym problemie, takim jak czas wykonania regresji, kończy się wystarczająco szybko, aby pokazać wynik już w jednej wersji.

Krok 1) Zaplanuj

Faza planowania to etap projektowania ulepszeń. Jest ona podzielona na trzy mniejsze etapy.

Trzy kroki fazy planowania w doskonaleniu procesu testowania

Krok 1.1) Zidentyfikuj problem

Pierwszą czynnością w procesie doskonalenia testów jest identyfikacja problemy, które wystąpiły w bieżącym projekcie. Problemy w tym projekcie mogą wystąpić ponownie w innym projekcie. Rozwiązywanie problemów i znajdowanie rozwiązań, aby uniknąć ich w przyszłości, jest głównym celem doskonalenia testów.

A teraz wracamy do projektu GuruStrona internetowa 99 Bank. Czy zauważyłeś jakieś problemy lub poprawki? Wybierz poniżej.

Pan No Problem OPIS Wybierz
1 Jakość Klient nadal coś znalazł Wada po zwolnieniu
2 Dostawa Projekt został opóźniony
3 Zespół Niektórzy pracownicy nie współpracowali z innymi członkami zespołu
4 umiejętności Członek zespołu nie posiadał pożądanych umiejętności, aby wykonać swoje zadania
5 Zarząd Kierownik testów nie monitorował postępów, co spowodowało opóźnienie niektórych projektów
6 Komunikacja Brak stałego kontaktu z klientem; niezrozumienie wymagań klienta
7 Koszty: Koszt Projektu przekroczył ustalony budżet

Masz problem z Jakość Dostawa Zespół ,Umiejętności ,Kierownictwo , Komunikacja ,Koszt

Krok 1.2) Określ cel

Zrozum problem i kwestie, które wystąpiły w projekcie. W ten sposób określisz punkty wymagające poprawy i fazy testów, które wymagają uwagi w pierwszej kolejności.

Załóżmy, że stwierdziłeś, że faza wykonania testu również trwała dużo Czas i koszt wykonania. Czy testy można by przyspieszyć i obniżyć? To pytanie staje się celem cyklu. Użyteczny cel jest określony liczbą i terminem, na przykład „zmniejszyć nakład pracy związany z wykonaniem regresji o 30% przed kolejną wersją”.

Krok 1.3) Zdefiniuj działania usprawniające

Na podstawie uzgodnionego celu określane są działania naprawcze. Działania te powinny być stopniowe i wdrażane etapami, ponieważ nie jest realistyczne, aby wszystko zmienić od razu.

Na przykład, aby testowanie stało się szybsze i tańsze, można podjąć następujące działania.

Określanie działań usprawniających w celu szybszego i tańszego testowania

W powyższym przykładzie opcje A i B przyspieszają i obniżają koszty testowania. Opcja C przyspieszyłaby testowanie, ale byłaby droższa, ponieważ bardziej doświadczony tester oczekuje wyższego wynagrodzenia. Właśnie ten kompromis jest powodem, dla którego każde działanie kandydata należy oceniać w kontekście celu, a nie intuicji.

Krok 2) Zrób

Zdefiniowałeś już punkty do poprawy. Teraz czas na stworzenie planu, który je wdroży. Plan ten musi odpowiadać na poniższe pytania.

  • Które punkty ulepszeń należy wdrożyć i w jakiej kolejności?
  • Kiedy plan musi zostać ukończony?
  • Jakie kroki należy podjąć, aby zrealizować plan?
  • Do kogo należy każdy etap i w jaki sposób potwierdzane będzie jego ukończenie?

Wykonaj działania usprawniające

Po ustaleniu planu należy go wdrożyć. Działania usprawniające mogą zakłócić prace testowe, które już trwają, dlatego Kierownik Testów musi za to zapłacić. Uwaga do nich, aby unikaj niechcianych konsekwencje.

Rozważmy następujący scenariusz. Na GuruProjekt 99 Bank, aby przyspieszyć i obniżyć koszty testowania, zdecydowaliście się na użycie testowanie automatyzacji zamiast dużego bloku ręcznych testów regresyjnych. Po zastosowaniu tej akcji, wydajność znacznie wzrosła.

Krok 3) Sprawdź

W kroku Sprawdź wykonaj trzy czynności.

  • Oceń efektywność działań udoskonalających testy
  • Zmierz jak skuteczny rozwiązaniem było
  • Przeanalizuj, czy to może być ulepszony dalej

Celem tej fazy jest potwierdzenie, że działania naprawcze zostały wdrożone pomyślnie, a także ocena, czy cel wyznaczony w Planie został rzeczywiście osiągnięty.

Najlepszym sposobem na przeprowadzenie tej oceny jest metrykaMetryki są niezbędne do skutecznego zarządzania organizacją. Kierownik ds. Testów zbiera dane i wykorzystuje je do pomiaru parametrów takich jak produktywność, jakość i koszty.

Na przykład przed zastosowaniem automatyzacji w projekcie testowanie wydajności było 10 przypadków testowych na godzinę pracyPo wprowadzeniu automatyzacji wydajność mierzono na poziomie 20 przypadków testowych na godzinę pracy.

Sprawdzanie produktywności przed i po działaniu usprawniającym

Ale wraz z tym zyskiem pojawił się niepożądany problem.

Efekt uboczny działań poprawiających – spadek jakości w miarę wzrostu produktywności

W tym przypadku zastosowanie automatyzacji wzrosła produktywność testowania, ale jakość testowania zmniejszony.Działanie naprawcze może zatem spowodować poważne konsekwencje W takim scenariuszu narzędzie testowe musi zostać wybrane znacznie ostrożniej, a pakiet automatyczny musi zostać sprawdzony z taką samą rygorystycznością, jak kod produkcyjny. Ustrukturyzowana ocena narzędzi kandydackich, taka jak opisana w Selenium Tutorial, zapobiega przyjęciu narzędzia wyłącznie ze względu na jego popularność.

⚠️ Ostrzeżenie: Nigdy nie oceniaj działań usprawniających na podstawie jednego wskaźnika. Zmiana, która podwaja przepustowość wykonania, jednocześnie zmniejszając wykrywalność defektów, przyspiesza i pogarsza proces. Zawsze łącz wskaźnik szybkości z wskaźnikiem jakości.

Rozważmy ten sam scenariusz jeszcze raz. GuruKoszt projektu wyniósł 99 najechać ponieważ członkowie zespołu wzięli zbyt dużo czasu do wykonania przypadków testowych. Korzystając z narzędzia do automatycznego testu, zaoszczędziłeś Wzrost o 30 kosztów projektu. To dobra poprawa, ale twój szef oczekuje więcej.

Zarząd spodziewa się dalszej redukcji kosztów po pierwszym cyklu ulepszeń

Dlatego zawsze trzeba szukać nowszych rozwiązań, które jeszcze bardziej usprawnią proces testowania. W takim scenariuszu inne opcje mogą obniżyć koszty projektu.

  • Zarządzaj efektywnie swoimi zasobami ludzkimi, aby wykwalifikowani testerzy byli zatrudniani tam, gdzie przynoszą największą wartość
  • Negocjuj lepsze warunki handlowe ze swoimi dostawcami narzędzi i personelu
  • Zamiast automatyzować przypadki testowe, wycofuj je z użycia

Krok 4) Działaj

Gdy działania udoskonalające zostaną wdrożone pomyślnie i cel zostanie osiągnięty, Kierownik Testów powinien zakończyć pętlę, wykonując następujące czynności.

Działania w fazie działania w cyklu doskonalenia procesu testowania PDCA

  • Review działania naprawcze i działanie na podstawie wyciągniętych wniosków
  • Ujednolicić punkt poprawy w procesie zarządzania testami
  • Aktualizacja dokumenty polityki, szablony planu testów i dokumenty standardowego procesu
  • Ustalać kiedy i gdzie te zmiany zostaną zastosowane w następnym projekcie

Jeśli cel nie został osiągnięty, cykl się nie zatrzymuje. Nieosiągnięty cel jest przenoszony do nowej fazy Planowania wraz ze wszystkim, co ujawniła faza Kontroli, wyjaśniając, dlaczego działanie nie przyniosło oczekiwanych rezultatów.

Porównanie TPI NEXT, TMMi i CMMI

PDCA to motor napędowy udoskonaleń, ale model referencyjny pokazuje, jak wygląda „lepiej”. Powszechnie stosuje się trzy modele, które często są ze sobą mylone.

TPI NEXT to model referencyjny opracowany przez Sogeti, opracowany specjalnie dla testów. Ocenia on 16 kluczowych obszarów, podzielonych na trzy grupy, w odniesieniu do czterech poziomów dojrzałości: Początkowego, Kontrolowanego, Efektywnego i Optymalizującego. Ponieważ ocena odbywa się w każdym kluczowym obszarze, zespół może być Efektywny w jednym obszarze, a jednocześnie Kontrolowany w innym.

TMMi, utrzymywane przez TMMi Foundation, to model dojrzałości testów etapowych z pięcioma poziomami: początkowym, zarządzanym, zdefiniowanym, mierzonym i optymalizacyjnym. Organizacja osiąga dany poziom dopiero po spełnieniu wymagań w obszarach procesowych tego poziomu.

CMMI W ogóle nie jest modelem testowym. Obejmuje całą organizację programistyczną, a jego etapowa reprezentacja również obejmuje pięć poziomów dojrzałości: początkowy, zarządzany, zdefiniowany, zarządzany ilościowo i optymalizujący. TMMi został zaprojektowany jako uzupełnienie CMMI, a nie jego zamiennik.

Model Zakres Structure Poziomy dojrzałości
TPI NEXT Tylko proces testowy 16 kluczowych obszarów w 3 grupach, z punktami kontrolnymi i klastrami 4 — Początkowy, kontrolowany, wydajny, optymalizujący
TMMi Tylko proces testowy Etapowe, z obszarami procesów przypisanymi do każdego poziomu 5 — Początkowy, zarządzany, zdefiniowany, mierzony, optymalizacja
CMMI Cała organizacja rozwojowa Reprezentacja etapowa lub ciągła 5 (etapowy) — początkowy, zarządzany, zdefiniowany, zarządzany ilościowo, optymalizujący

Metryki potwierdzające udoskonalenie procesu testowania

Faza sprawdzania kończy się bez liczb. Wystarczy niewielki, stabilny zestaw metryk zebrany przed i po każdym cyklu, a te same definicje muszą być stosowane po obu stronach porównania.

  • Produktywność wykonywania testów — przypadków testowych wykonanych na roboczogodzinę
  • Procent wykrycia defektów (DDP) — błędy wykryte podczas testów jako udział wszystkich błędów wykrytych, w tym zgłoszonych po wydaniu
  • Koszt wykonania jednego przypadku testowego — całkowity koszt wysiłku testowego podzielony przez wykonane przypadki testowe
  • Pokrycie wymagań — wymagania z co najmniej jednym powiązanym walizka testowa
  • Naprawa usterek — średni wiek wady w całym cykl życia wady

Korzystanie z GuruW przypadku 99 Bank Figures, gdzie 180 błędów wykryto podczas testów, a 20 zgłosili klienci po udostępnieniu oprogramowania, obliczenia są proste.

# Defect Detection Percentage and improvement deltas
def ddp(found_in_test, found_after_release):
    return found_in_test / (found_in_test + found_after_release) * 100

def delta(before, after):
    return (after - before) / before * 100

print("Defect Detection Percentage: %.1f%%" % ddp(180, 20))
print("Productivity gain: %.1f%%" % delta(10, 20))
print("Test cost change: %.1f%%" % delta(50000, 35000))

Wyjście:

Defect Detection Percentage: 90.0%
Productivity gain: 100.0%
Test cost change: -30.0%

Wskaźnik DDP na poziomie 90 procent oznacza, że ​​co dziesiąty defekt nadal trafia do klienta, co oznacza, że ​​cel jakościowy nie został w pełni osiągnięty, mimo że wydajność podwoiła się, a koszty spadły o 30 procent. To właśnie ten pojedynczy punkt widzenia powstrzymuje zespół przed zbyt wczesnym ogłoszeniem zwycięstwa.

Typowe błędy w doskonaleniu procesu testowania

Większość programów doskonalących kończy się niepowodzeniem z przyczyn organizacyjnych, a nie technicznych. Poniższe błędy odpowiadają za większość porzuconych inicjatyw.

  • Poprawa bez punktu odniesienia. Jeśli nikt nie zmierzył procesu przed zmianą, nikt nie będzie w stanie udowodnić, że zmiana była pomocna. Ustal punkt odniesienia podczas planowania, a nie później.
  • Dążenie do osiągnięcia poziomu dojrzałości zamiast kierowania się motywacją biznesową. Certyfikat, który nie obniża kosztów, nie zmniejsza liczby usterek ani nie skraca czasu realizacji zamówienia, jest kosztem, a nie ulepszeniem.
  • Zmienianie zbyt wielu rzeczy na raz. Jeżeli pięć akcji znajdzie się w tym samym wydaniu, nie można mówić o regresji. tracdo żadnego z nich.
  • Automatyzacja uszkodzonego procesu. Automatyzacja zwielokrotnia każdy proces, do którego jest stosowana, łącznie ze słabymi projektami testów i niejasnymi kryteriami wejścia.
  • Skipping Faza działania. Ulepszenie, które nigdy nie jest zapisane w polityce testów i cykl życia testowania oprogramowania dokumenty umierają wraz z zespołem projektowym, który je wymyślił.
  • Z wyłączeniem testerów. Ludzie, których nie konsultowano w sprawie zmian, zawsze znajdują sposoby na ich obejście.

Aby rozwinąć te pomysły, przejrzyj fazy cykl życia testowania oprogramowania, dokręć walizka testowa projekt, sformalizować proces zarządzania defektami, ocenić gdzie testowanie automatyzacji daje prawdziwy zwrot i zobacz, jak narzędzie takie jak HP ALM może przechowywać metryki, od których zależy faza sprawdzania.

FAQ

Zaraz po wydaniu, gdy dane retrospektywne są jeszcze aktualne i nikt nie jest pod presją dostarczenia produktu, rozpoczęcie prac w połowie sprintu koliduje z samym wydaniem, a rozpoczęcie prac kilka miesięcy później oznacza, że ​​dane dotyczące nakładu pracy, usterek i kosztów nie są już wiarygodne.

Kierownik testów jest odpowiedzialny za cykl i metryki, ale każde działanie wymaga przypisanego właściciela z zespołu wykonującego pracę. Ulepszenia przypisane do grupy, a nie do osoby, to te, które po cichu się zatrzymują.

Retrospektywy dobrze uwzględniają lokalne poprawki, ale rzadko odnoszą się do słabości obejmujących całą organizację, takich jak dostarczanie danych testowych czy dostępność środowiska. Model referencyjny zapewnia zespołom Agile wspólne słownictwo dla problemów międzyzespołowych, nie zastępując retrospektyw.

Metryki wykonania, takie jak produktywność czy czas cyklu, zazwyczaj zmieniają się w ramach jednej wersji. Metryki jakości, takie jak wyciek defektów, wymagają dwóch lub trzech wersji, ponieważ błędy, które uniknęły błędów, są liczone dopiero po tym, jak klienci skorzystają z oprogramowania w środowisku produkcyjnym.

Tak, w celu wykrywania wzorców. Modele trenowane na historii defektów, logach kompilacji i rekordach wykonania mogą wykrywać niestabilne testy, powtarzające się przypadki i moduły z powtarzającymi się ewolucjami. Decyzja, które ustalenie jest warte podjęcia działań, pozostaje kwestią ludzkiej oceny ryzyka biznesowego.

Objętość można pomylić z zasięgiem. Sztuczna inteligencja może generować tysiące przypadków, które zawyżają liczbę wykonań, wielokrotnie testując te same ścieżki. Tracwykrywanie defektów wraz z liczbą przypadków i przeglądanie wygenerowanych przypadków przed ich przekazaniem do zestawu regresyjnego.

Podsumuj ten post następująco: