Definiowanie strategii testowej (2024)

Wstęp

Przyspieszenie cyklu dostarczania oprogramowania jest niemożliwe, jeśli nie przyspieszysz i nie udoskonalisz swojego podejścia do testowania oprogramowania. W innym artykule opisaliśmy osiem kroków na drodze do przekształcenia Twojej organizacji w nowoczesną organizację testową.

W tym artykule skupimy się na zdefiniowaniu strategii testowej. Dowiesz się, jak ważne jest przyjęcie zwinnych praktyk. Przeprowadzimy Cię również przez poziomy czynności testowych, przedstawimy elementy strategii testowej, wyjaśnimy, co składa się na nowoczesną strategię narzędziową, i podsumujemy, co jest potrzebne do ustalenia strategii.

Definiowanie strategii testowej

Strategia testowania to zarys opisujący podejście do testowania, jakie firma zastosuje w swoim cyklu życia oprogramowania (SDLC). Ponieważ wiele współczesnych zespołów przestrzega zasad zwinnego programowania, powinny one również przestrzegać zasad zwinnego testowania. W tym celu adaptacja do testowania zwinnego jest kluczowym elementem definiowania strategii testowania:

  1. Wykorzystaj zwinne testy
  2. Zrozumienie trzech poziomów czynności testowych
  3. Dopasuj elementy swojej strategii testowej
  4. Stwórz nowoczesną strategię narzędziową
  5. Ustal swoją strategię

Definiowanie strategii testowej (1)

1

Wykorzystaj zwinne testy

Testowanie zwinne obejmuje te same typy testów, do których zespoły testowe przyzwyczaiły się w cyklu testowym. Różnica polega na tym, że w testowaniu zwinnym zespoły muszą wykonywać te testy częściej w krótszym czasie.

  • Testy jednostkowe są zwykle wykonywane przez programistów na poziomie kodu, klasy lub funkcji.
  • Testy systemowe weryfikują funkcjonalność systemu.
  • Testy integracji systemów sprawdzają poprawność integracji między systemami.
  • Kompleksowe testy weryfikują kompletne procesy biznesowe.
  • Testy akceptacji użytkowników dostarczają zespołowi informacji zwrotnych od użytkowników biznesowych.

Definiowanie strategii testowej (2)

Zespoły mogą również zdecydować się na przeprowadzenie testów niefunkcjonalnych, takich jak testy bezpieczeństwa lub testy obciążenia i wydajności. Ponieważ programowanie zwinne wymaga od zespołów znacznie częstszego wykonywania każdego z tych typów testów, idealnym rozwiązaniem dla zespołów będzie automatyzacja w jak największym stopniu.

Automatyzacja może nie tylko pomóc w zaspokojeniu potrzeby szybkości w testowaniu zwinnym, ale także w radzeniu sobie z rosnącą złożonością. Zespoły zwinne często muszą mierzyć się z:

  • Odmienne strategie testowania.Zespoły pracujące na różnych etapach, nad różnymi procesami i różnymi aplikacjami będą miały tendencję do stosowania własnych strategii testowania. Strategie te mogą kolidować ze strategiami stosowanymi przez inne zespoły.
  • Wyciszonych cykli testowych. Strategia testowania i zasoby używane przez jeden zespół nie są dostępne dla innych zespołów.
  • Wiele zespołów pracujących nad jedną aplikacją.Dla tych zespołów współpraca i komunikacja mają ogromne znaczenie.

Gdy skalujesz testowanie w całej organizacji, takie wyzwania spowodują więcej zależności, mniejszą wydajność i wyższe koszty. Jeśli zamierzasz nadal spełniać standardy jakości swoich klientów, musisz teraz zmienić swoje praktyki testowania z myślą o prostocie i wydajności.

Definiowanie strategii testowej (3)

2

Zrozumienie trzech poziomów czynności testowych

Możemy zacząć zmniejszać złożoność skalowania naszych działań testowych, rozumiejąc trzy poziomy działań testowych, które zazwyczaj wykonują firmy: zespołowy, programowy i korporacyjny. Te poziomy testowania byłyby wystarczająco proste do wykonania, gdyby firmy miały tylko jeden zespół i jedną aplikację w trakcie opracowywania na raz. Ale Twoja firma prawdopodobnie ma wiele zespołów pracujących jednocześnie nad różnymi programami — a wraz ze wzrostem zasięgu testowania, Twoje czynności testowe staną się bardziej złożone i będą wymagały więcej wysiłku. Pamiętaj, że w zależności od wielkości Twojej firmy, niektóre działania mogą przesuwać się w lewo lub w prawo między tymi poziomami.

Poziom zespołu

Definiowanie strategii testowej (4)

Na poziomie zespołu zespoły wykonują testy jednostkowe i systemowe. Wykonują testy API i kontraktów, testują mikroserwisy i bazy danych oraz weryfikują Twoje cechy i funkcje. Zespoły powinny przeprowadzać te testy w odizolowanym środowisku. Część komponentów można zwirtualizować, ale wszystko jest dopasowane do potrzeb zespołu.

Istnieją dwie główne role zaangażowane w testowanie na poziomie zespołu:

  • Specjaliści od automatykiwykonać testy z dostarczonym zestawem narzędzi i zgodnie ze zdefiniowaną strategią testowania. Specjaliści ci tworzą i wykonują zautomatyzowane, ustandaryzowane i wielokrotnego użytku testy, które zostaną zintegrowane z dostarczonym zestawem narzędzi.
  • Analitycy testówprzeprowadzać analizę ryzyka, aby stale redefiniować portfel testów dymu, regresji i progresji oraz testy eksploracyjne.

Na poziomie Zespołu automatycy i analitycy testów powinni dążyć do:

  • Dostarczaj rozwiązania, które można ponownie wykorzystać w różnych zespołach
  • Postępuj zgodnie z najlepszymi praktykami automatyzacji
  • Zadbaj o odpowiednie środowisko
  • Zastanów się, jak wirtualizacja może pomóc
  • Przygotuj dane testowe
  • Zautomatyzuj jak najwięcej etapów
  • Pracuj nad wyeliminowaniem fałszywych alarmów
  • Włącz testowanie eksploracyjne do procesu testowania

Poziom programu

Definiowanie strategii testowej (5)

Na poziomie Programu zespoły testują interfejs użytkownika, procesy biznesowe i integracje między systemami. Testowanie może obejmować komponenty zwirtualizowane.

Istnieją trzy główne role zaangażowane w testowanie na poziomie Programu:

  • TheArchitekt testów programówzdefiniuje strategię testowania i łańcuch narzędzi testowych oraz zaaranżuje decyzje dotyczące narzędzi
  • TheInżynier Automatyki Programówwdroży i zintegruje strategię testowania oraz narzędzia do ciągłego testowania.
  • TheZespół Systemowybędzie montował i wykonywał zautomatyzowane testy w wielu zespołach lub aplikacjach/branżach.

Poziom przedsiębiorstwa

Definiowanie strategii testowej (6)

Testowanie na poziomie przedsiębiorstwa obejmuje testowanie na wielu etapach testowania. Jednym z przykładów może być testowanie transakcji klientów w różnych aplikacjach. Testy na poziomie przedsiębiorstwa można również nazwać testami kompleksowymi. Obejmuje testy funkcjonalne i niefunkcjonalne i może obejmować testy obciążenia i wydajności. Na tym etapie środowisko zaczyna bardzo przypominać środowisko produkcyjne. Testowanie łączy artefakty różnych zespołów w kompleksowe testy przekazywane wyspecjalizowanemu zespołowi (zespołowi systemowemu) do dalszych testów. Oprócz kompleksowych testów użytkownicy biznesowi przeprowadzą testy akceptacyjne użytkowników, które uwzględniają perspektywę biznesową w wynikach testów.

Istnieją trzy główne role zaangażowane w testowanie na poziomie przedsiębiorstwa:

  • Enterprise Test Architect zdefiniuje strategię testową i łańcuch narzędzi testowych oraz zorganizuje decyzje dotyczące narzędzi na poziomie przedsiębiorstwa
  • Inżynier automatyzacji przedsiębiorstwa wdroży i zintegruje strategię testowania i narzędzia do ciągłego testowania (przedsiębiorstwa).
  • Zespół systemowy będzie montował i wykonywał zautomatyzowane testy w wielu zespołach lub aplikacjach, liniach biznesowych i programach.

Na poziomie przedsiębiorstwa członkowie zespołu testującego powinni dążyć do:

  • Organizuj testy na poziomie przedsiębiorstwa we wszystkich programach
  • Kompleksowe procesy biznesowe, które są najczęściej używane i obarczone najwyższym ryzykiem
  • Symuluj zachowanie użytkownika końcowego
  • Zdefiniuj testy produkcyjne

Definiowanie strategii testowej (7)

3

Dopasuj elementy swojej strategii testowej

Po określeniu trzech poziomów czynności testowych, które będą wykonywane przez Twoje zespoły, możesz zacząć definiować swoją praktykę testową.

Twoja praktyka testowania stanowi rdzeń strategii testowania. W ten sposób określasz, czy Twoje oprogramowanie jest gotowe do wydania. Twoja strategia testowania jest zdefiniowana przez te warstwy: ludzie, proces i technologia.

Ludzie

W warstwie ludzi wspólne zespoły działają na różnych poziomach. Tutaj zespół systemowy przeprowadzi kompleksowe testy z wykorzystaniem artefaktów dostarczonych przez inne zespoły.

Odpowiedzi na pytania dotyczące krytycznej warstwy ludzi

Jak możemy zmodernizować naszą organizację testów?

Zdefiniuj obowiązki.Daj wszystkim jasne instrukcje dotyczące ich roli w ciągłym testowaniu.

Jak efektywnie współpracować?

Maksymalizuj współpracę.Określ jasne oczekiwania dotyczące tego, czego każdy członek zespołu może oczekiwać od innych i czego oczekuje się od nich.

Jak skalujemy testowanie do innych zespołów?

Włącz kompleksowe testy.Wykorzystaj ustalone obowiązki i rezultaty, aby ustanowić ramy dla kompleksowych testów.

Jak wszyscy możemy stać się bardziej zwinni?

Zarządzanie adresami.Przypisz nadzór do dedykowanego zespołu Enterprise Enablement.

DOWIEDZ SIĘ WIĘCEJ O ZESPOLE WSPÓŁPRACY PRZEDSIĘBIORSTW

Proces

W warstwie procesowej Twoje zespoły skupią się na ustaleniu spójnego, dokładnego pomiaru Twoich działań testowych, aby mogły dostarczać użytecznych informacji zwrotnych zainteresowanym stronom. Opracują również Twoją strategię w sposób, który przyspieszy testowanie i uszereguje je pod względem ważności.

Twój zespół może szukać odpowiedzi na te pytania

Jak możemy ujednolicić nasze testy?

Zwiększ identyfikowalnośćz najnowocześniejszym narzędziem do zarządzania testami.

Jak możemy zmierzyć naszą przemianę?

Ujednolicenie raportowaniaw zespołach, aplikacjach, narzędziach i procesach biznesowych.

Jak możemy ograniczyć ilość odpadów?

Ujednolic narzędzia testoweaby umożliwić kompleksową współpracę.

Jak możemy skrócić nasz cykl wydawniczy lub testowy?

Wykorzystaj synergiepoprzez usuwanie zduplikowanych systemów, procesów i pracy.

Zaostrzysz także swoją strategię ciągłego testowania poprzez:

  • Staranne planowanie tego, co testujesz.
  • Strategia dotycząca sposobu przygotowania danych testowych.
  • Zapewnienie łatwego udostępniania danych testowych, uzyskiwania do nich dostępu i zarządzania nimi w różnych zespołach i środowiskach.
  • Tworzenie strategii wykonywania testów, która określa, które testy wykonać, kiedy, gdzie iz jakimi danymi.
  • Upewnienie się, że środowiska testowe są dostępne i stabilne do wykonania testów.

Technologia

W warstwie technologicznej Twoje zespoły udoskonalą testy funkcjonalne, koncentrując się na zautomatyzowanym wykonywaniu przypadków testowych, wirtualizacji usług, testowaniu interfejsu użytkownika, testowaniu interfejsu API i zarządzaniu danymi testowymi. Ocenią również testy niefunkcjonalne, takie jak testy wydajności, starając się wprowadzić jak najwięcej automatyzacji.

Skoncentruj się na wykorzystaniu technologii do usprawnienia testów

Jak możemy zwiększyć częstotliwość wydawania?

ZAutomatyczne wykonywanie przypadków testowych, zespoły ograniczą pracę ręczną i zapewnią, że zespół będzie otrzymywał szybkie powiadomienia o pojawieniu się jakichkolwiek problemów w aplikacji. W ten sposób mogą zwiększyć zasięg i zmniejszyć ryzyko.

Jak możemy podnieść jakość?

Test wydajnościautomatyzuje testy, które weryfikują szybkość, solidność, niezawodność i poprawność aplikacji.

Jak możemy testować niewiarygodne, ewoluujące lub jeszcze nieukończone aplikacje?

Zwirtualizacja usług, zespoły przesuną testowanie w lewo i zwiększą częstotliwość testów i wdrożeń. Zdemokratyzują testowanie, tworząc usługi, które mogą być współużytkowane przez różne zespoły na wszystkich etapach cyklu testowania.

Jak możemy symulować i testować zachowania klientów?

Testowanie interfejsu użytkownikama na celu poprawę ogólnego doświadczenia z produktem dla testerów, a także użytkowników biznesowych i klientów.

Jak możemy ograniczyć ilość odpadów?

Z dobrymzarządzanie danymi testowymi, zaoszczędzą czas testerom i usprawnią ręczne, powolne i kosztowne procesy.

Jak możemy zoptymalizować koszty poprzez doskonałość operacyjną?

WTestowanie API, zespoły przetestują migrację aplikacji opartych na mikrousługach, interfejsów API i nie tylko.

Definiowanie strategii testowej (8)

4

Stwórz nowoczesną strategię narzędziową

Jeśli Twoja organizacja poważnie myśli o osiąganiu szybkich wydań, musisz zoptymalizować i zorganizować jakość w zespołach, projektach i aplikacjach. Po określeniu elementów strategii testowania skup się na budowaniu strategii narzędziowej. Nowoczesna strategia narzędziowa powinna być ukierunkowana na konkretne cele i spełniać wiele różnych wymagań.

Te cele szczegółowe powinny obejmować:

  • Skalowanie automatyzacji testów do poziomu przedsiębiorstwa.Skoncentruj się na integracji i skalowaniu automatyzacji testów w całym cyklu życia oprogramowania, a także w procesach zarządzania testami.
  • Poprawa współpracy między zespołami.Standaryzuj zgodność między programistami, testerami i biznesem dzięki współpracy i identyfikowalności na podstawie wymagań, testów i poziomów defektów.
  • Zwiększenie szybkości wprowadzania na rynek.Pozwól swojej organizacji na strategiczne podejście do zapewniania jakości poprzez wczesne i częste testowanie oraz szybsze wprowadzanie na rynek.

W tym miejscu pojawia się oprzyrządowanie. Możesz wesprzeć te cele, wdrażając odpowiednie narzędzia. Szukaj rozwiązań, które są wysoce zintegrowane, aby umożliwiały i wspierały współpracę między Twoimi zespołami. Mówiąc dokładniej, twoje rozwiązania powinny zapewniać:

  • Otwarta platforma obsługująca i koordynująca szeroką gamę technologii open source i komercyjnych.
  • Identyfikowalność, dzięki której można prześledzić wdrożenia produkcyjne aż do wymagań biznesowych i funkcjonalnych dzięki integracji ekosystemu DevOps.
  • Pełny cykl życia testów. Jeśli znajdziesz jedną platformę, która obsługuje wiele wymagań testowych, skorzystasz na wspólnym modelu informacji, który umożliwi wszystkim użytkownikom współpracę nad przypadkami testowymi, planami, danymi i artefaktami do wykorzystania we wszystkich fazach testowania.
  • Analizy w czasie rzeczywistym. Integracja technologii raportowania i hurtowni danych umożliwia uzyskanie w jednym miejscu wszechstronnego wglądu i szczegółowych informacji dotyczących wszystkich działań związanych z testowaniem, co umożliwia ciągłe doskonalenie.

Definiowanie strategii testowej (9)

5

Ustal swoją strategię

Zdefiniowałeś swoją strategię testowania i narzędzia. Teraz czas na wdrożenie strategii. Tutaj jest twójZespół włączania przedsiębiorstwazaangażuje się.

Zespół Enterprise Enablement składa się z architektów i inżynierów z poziomu Enterprise, którzy ustalają strategie testowania zespołów w całej organizacji poprzez:

  • Organizowanie procesu decyzyjnego dotyczącego narzędzi testowych.
  • Reprezentowanie QA w dyskusjach strategicznych.
  • Definiowanie i zarządzaniemodele operacyjne.
  • Gromadzenie i rozpowszechnianie najlepszych praktyk w zespołach.
  • Włączanie nowych zespołów.

Definiowanie strategii testowej (10)

6

Wniosek

Zasadniczo budowanie strategii testowej polega po prostu na określeniu, ile czynności testowych chcesz wykonać, do czego jest zdolny Twój zespół i jakiego rodzaju narzędzia musisz wdrożyć, aby wzmocnić swoje zespoły. W trakcie tego procesu będziesz dążyć do ujednolicenia swoich zespołów, zwiększenia ich współpracy i usunięcia złożoności ze wszystkiego, co robią, poprzez standaryzację narzędzi i procesów w największym możliwym stopniu.

Pamiętaj: celem nie jest początkowa doskonałość — to ciągłe doskonalenie.

Data:26 sierpnia 2022 r

Definiowanie strategii testowej (2024)

References

Top Articles
Latest Posts
Article information

Author: Gov. Deandrea McKenzie

Last Updated:

Views: 5782

Rating: 4.6 / 5 (46 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Gov. Deandrea McKenzie

Birthday: 2001-01-17

Address: Suite 769 2454 Marsha Coves, Debbieton, MS 95002

Phone: +813077629322

Job: Real-Estate Executive

Hobby: Archery, Metal detecting, Kitesurfing, Genealogy, Kitesurfing, Calligraphy, Roller skating

Introduction: My name is Gov. Deandrea McKenzie, I am a spotless, clean, glamorous, sparkling, adventurous, nice, brainy person who loves writing and wants to share my knowledge and understanding with you.