Articles

Jaki jest cykl życia testowania oprogramowania? Kompletny przewodnik

Przedstawienie klientowi idealnego produktu jest celem końcowym każdej organizacji. Ale czy wiesz, że był czas, kiedy testowanie nie było nawet częścią cyklu życia oprogramowania (SDLC)?

nic nie odstrasza klientów bardziej niż pełne błędów doświadczenie użytkownika. Kiedy przedsiębiorstwa zdały sobie z tego sprawę, zaczęły włączać testy jako obowiązkową część SDLC. Od tego czasu testy stały się integralną częścią każdej organizacji.

kompetencje w zakresie testowania ewoluowały w ciągu ostatnich kilku dekad. Obecnie testowanie nie polega na zgłaszaniu błędów deweloperowi. Ma szeroki zakres i jest obowiązkową fazą do wykonania od początkowych faz projektu.

dzięki agile cykl życia testowania aplikacji stał się bardziej zorientowany na proces i wszechstronny. Zazwyczaj całe przedsiębiorstwo koncentruje się na samym SDLC. I uważają, że testowanie jest częścią tego procesu. Ale najwyższy czas, aby firmy zdały sobie sprawę, że testowanie oprogramowania ma własny cykl życia.

w tym poście przyjrzymy się szczegółowo roli stylu życia testowania oprogramowania (STLC) i jego fazom. Więc zanurzmy się w prawo!

jaki jest cykl życia oprogramowania?

najpierw zrozummy termin cykl życia, zanim przejdziemy do wszystkich szczegółów. Cykl życia to sekwencja zmian, przez które jednostka przechodzi z jednej formy do drugiej. Wiele konkretnych i niejasnych Bytów przechodzi szereg zmian od początku do końca.

Kiedy mówimy o cyklu życia oprogramowania testującego, oprogramowanie jest jednostką. Cykl życia testowania oprogramowania to proces wykonywania różnych czynności podczas testowania.

te działania obejmują sprawdzenie opracowanego oprogramowania, aby sprawdzić, czy spełnia określone wymagania. Jeśli w produkcie są jakieś wady, testerzy współpracują z zespołem programistów. W niektórych przypadkach muszą skontaktować się z interesariuszem, aby uzyskać wgląd w różne specyfikacje produktów. Walidacja i weryfikacja produktu są również ważnymi procesami STLC.

SDLC vs.STLC

SDLC dba o pełną drogę produktu od jego początku do uzyskania produktu końcowego. Wśród różnych faz SDLC, testowanie jest jednym z najważniejszych. Testowanie oprogramowania jest częścią SDLC. A ta część ma swój własny cykl życia-STLC.

czym różni się SDLC od STLC?

SDLC

  • skoncentruj się na budowaniu produktu
  • proces nadrzędny
  • zrozumienie wymagań użytkownika i budowanie produktu, który jest pomocny dla użytkowników
  • etapy SDLC są zakończone przed testowaniem
  • celem końcowym jest wdrożenie wysokiej jakości produktu, z którego użytkownicy mogą korzystać

STLC

  • skoncentruj się na testowaniu produktu
  • potomek procesu SDLC
  • zrozumienie wymagań programistycznych i zapewnienie, że produkt działa zgodnie z oczekiwaniami
  • fazy STLC rozpoczynają się po zakończeniu faz SDLC
  • celem końcowym jest znalezienie błędów w produkcie i raportowanie do zespołu programistów do Naprawy Błędów

są to podstawowe różnice między SDLC i STLC. Teraz, przyjrzyjmy się dokładnie STLC.

Jaka jest rola STLC?

teraz, gdy mamy istotę tego, czym jest cykl życia testowania oprogramowania, przyjrzyjmy się, dlaczego jest to niezbędne. Nawet jeśli firma ma najlepszych programistów i programistów, są one zobowiązane do popełniania błędów. Główną rolą STLC jest znalezienie tych błędów i ich naprawienie. Głównym celem prowadzenia STLC jest utrzymanie jakości produktu.

minęły czasy, kiedy przeciętne testy były trendem. W dzisiejszym świecie firmy muszą przeprowadzać szczegółowe testy.

od planowania i badań po wykonanie i konserwację, każda faza odgrywa kluczową rolę w testowaniu produktu.

SDLC polega na zapewnieniu jakości produktu. Każda aplikacja ma inne atrybuty, takie jak niezawodność, funkcjonalność i wydajność. STLC pomaga zwiększyć te atrybuty i ułatwia dostarczenie idealnego produktu końcowego.

wysokiej jakości produkt skutkuje niższymi kosztami konserwacji w dłuższej perspektywie. Stabilność aplikacji lub oprogramowania jest koniecznością, aby zachęcić nowych użytkowników. Oprócz tego stale niezawodne produkty pomagają utrzymać istniejącą klientelę. Aby produkt pozostał w sferze biznesu, ważne jest, aby skupić się na każdej fazie STLC.

etapy cyklu życia testowania oprogramowania

Walidacja każdego modułu oprogramowania lub aplikacji jest koniecznością, aby zapewnić precyzję i dokładność produktu. Ponieważ samo testowanie oprogramowania jest skomplikowanym procesem, testerzy przeprowadzają go etapami. Zawiłości mogą pojawić się, jeśli testowanie nie ma organizacji. Złożoność może obejmować nierozwiązane błędy, niewykryte błędy regresji, lub w najgorszym przypadku moduł, który pominął testy, ponieważ termin zbliżył się.

każda faza STLC ma określony cel i rezultaty. Polega na rozpoczęciu, wykonaniu i zakończeniu procesu testowania.

przyjrzyjmy się szczegółowo różnym fazom cyklu życia testowania oprogramowania.

Analiza wymagań

twoi cenni testerzy oprogramowania muszą przeglądać, badać i analizować dostępne specyfikacje i wymagania. Niektóre wymagania dają wyniki poprzez podawanie im danych wejściowych. Wymagania te są wymaganiami, które można przetestować. Testerzy badają zarówno wymagania funkcjonalne, jak i niefunkcjonalne. Następnie muszą wybrać testowalne wymagania.

działania w tej fazie obejmują burzę mózgów do analizy wymagań i identyfikacji i priorytetyzacji wymagań testowych. Obejmują one również dobór wymagań zarówno dla testów automatycznych, jak i ręcznych.

jest kilka rzeczy, które masz test, nawet jeśli nie są wyraźnie wymienione. Kliknięcie aktywnego przycisku powinno coś zrobić, pole tekstowe dla numeru telefonu nie powinno akceptować przesłanych alfabetów. Te rzeczy są uniwersalne i zawsze powinny być testowane. Ale w fazie analizy wymagań chodzi o poznanie bardziej szczegółowych szczegółów na temat produktu. Musisz dowiedzieć się, jak produkt powinien być w idealnym stanie.

podsumowując:

  • zrozum oczekiwaną wydajność produktu.
  • Zidentyfikuj wszelkie luki w specyfikacji.
  • Zbieraj priorytety.
  • wykonaj kontrolę wykonalności automatyzacji.

planowanie testów

drugim krokiem jest planowanie testów, a zespół QA tworzy ten plan po przeanalizowaniu wszystkich niezbędnych wymagań testowych. Określają zakres i cele po zrozumieniu domeny produktu. Następnie zespół analizuje związane z tym ryzyko i definiuje harmonogramy i środowiska testowe w celu stworzenia strategii.

Po tym zarządzanie finalizuje narzędzia i przypisuje role i obowiązki jednostkom. Określa się również przybliżony harmonogram, w którym należy zakończyć testowanie każdego modułu.

podsumowując:

  • przygotuj dokumentację planu testów.
  • oszacuj czas i wysiłek.
  • Finalizuj na narzędziach i platformie.
  • przypisuj zadania do zespołów i osób.
  • Określ wymagania szkoleniowe

Projektowanie i rozwój przypadków testowych

po opracowaniu i planowaniu nadszedł czas, aby pozwolić twórczym sokom płynąć! Na podstawie planu testów testerzy projektują i opracowują przypadki testowe. Przypadki testowe powinny być obszerne i powinny obejmować prawie wszystkie możliwe przypadki. Należy zebrać wszystkie obowiązujące permutacje i kombinacje. Możesz priorytetyzować te przypadki testowe, badając, które z nich są najbardziej powszechne lub które z nich wpłynęłyby na produkt najbardziej.

następnie następuje weryfikacja i Walidacja określonych wymagań na etapie dokumentacji. Ponadto przeglądanie, aktualizowanie i zatwierdzanie skryptów automatyzacji i przypadków testowych są podstawowymi procesami tego etapu. Faza ta obejmuje również zdefiniowanie różnych warunków badania z danymi wejściowymi i oczekiwanymi wynikami.

podsumowując:

  • zbadaj i zbierz możliwe działania na produkcie.
  • tworzenie przypadków testowych.
  • priorytet przypadków testowych.
  • przygotowanie automatycznych skryptów dla przypadków testowych.

Konfiguracja środowiska testowego

działania testowe wymagają pewnych czynników środowiskowych—takich jak serwery, frameworki, sprzęt i oprogramowanie—do wykonywania opracowanych przypadków testowych. Konfiguracja oprogramowania i sprzętu, wraz z konfiguracją danych testowych, są głównymi elementami tej fazy. Obowiązkowe jest testowanie dymu i wyposażenie testerów w narzędzia do raportowania błędów.

w społeczności programistów często słyszy się „działa na moim systemie, ale nie działa na Twoim”. Dlatego ważne jest, aby środowisko testowe obejmowało wszystkie środowiska, z których korzystałby użytkownik.

na przykład niektóre funkcje działające w Google Chrome nie działają w przeglądarce Internet Explorer. Działanie funkcji różni się również w zależności od wymagań programowych i sprzętowych. Funkcja może działać płynnie na 4 GB PAMIĘCI RAM, ale może powodować problemy z 1 GB PAMIĘCI RAM. Badania nad środowiskami używanymi przez użytkowników końcowych pomogą Ci nadać priorytet środowiskom testowym.

zadaniem QA managera nadzorującego zespół jest dbanie o konfigurację środowiska testowego.

podsumowując:

  • zrozum minimalne wymagania
  • Wymień oprogramowanie i sprzęt wymagane dla różnych poziomów wydajności.
  • priorytetyzacja środowisk testowych
  • Konfiguracja środowisk testowych
  • Test dymu środowiska wbudowane

wykonanie testu

aplikacja jest gotowa do testów po zakończeniu wszystkich poprzednich faz. Zgodnie z planem testów testerzy wykonują przypadki testowe. Identyfikują, wykrywają i rejestrują wady, zgłaszając w ten sposób błędy. Zespół jest również odpowiedzialny za porównanie oczekiwanych wyników z rzeczywistymi wynikami. Jeśli jakiekolwiek błędy zostaną znalezione, muszą być udokumentowane, aby przekazać je zespołowi programistów w celu poprawki.

gdy zespół programistów usunie błąd, rozpoczyna się test regresji. Testowanie regresji ma na celu upewnienie się, że oprogramowanie lub aplikacja działa nawet po wdrożeniu zmiany. Podczas testowania po poprawieniu błędu ponownie przetestuj kompletny produkt. Ponieważ poprawka błędu może spowodować błąd w innej części produktu. A ponieważ te same testy muszą być uruchamiane wielokrotnie po każdej poprawce i wdrożeniu, zaleca się używanie skryptów lub narzędzi do automatycznego testowania.

podsumowując:

  • Uruchom przypadki testowe.
  • Zidentyfikuj odchylenie od oczekiwanego zachowania produktu.
  • Loguj nieudane przypadki ze szczegółami
  • Testuj ponownie po poprawkach błędów.

Zamknięcie testu

i to prowadzi nas do ostatniego etapu STLC: zamknięcie testu.

koniec wykonania testu i dostarczenie Produktu Końcowego oznacza początek fazy zamknięcia testu. Zespół QA sprawdza wyniki testów i omawia je z innymi członkami zespołu. Niektóre inne czynniki, które biorą pod uwagę, to jakość produktu, zakres testów i koszt projektu. Jeśli istnieje odchylenie od wartości szacunkowych, można przeprowadzić dalsze analizy, aby zidentyfikować to, co nie poszło zgodnie z oczekiwaniami.

jest to niezbędna praktyka dla testerów, aby spotkać się i omówić wniosek po testach. Wszelkie problemy napotykane podczas testów, wady strategii mogą być omówione tutaj. Możesz także pracować nad stworzeniem lepszego podejścia do testów w oparciu o wiedzę zdobytą podczas testów. Jeśli stosujesz się do praktyki DevOps lub canary release, testowanie jest częste. Możesz zdecydować, jak często wysyłać raporty i o jakich szczegółach wspominać, wysyłając raporty do różnych interesariuszy.

poza tym zespół bierze pod uwagę również wskaźniki testów, realizację celów i dotrzymywanie terminów. Po całkowitym zrozumieniu tego, co się stało, mogą ocenić całą strategię i proces testowania.

podsumowując:

  • sprawdź, czy wszystkie testy zostały zakończone.
  • oceniaj takie czynniki, jak jakość, zasięg testu, harmonogram i koszt.
  • dokumentuj wniosek.
  • omów naukę i dowiedz się, czy można poprawić proces testowania.
  • przygotuj raport zamknięcia testu.

jakie są kryteria wejścia i wyjścia do badań?

wszystkie sześć faz cyklu życia testowania oprogramowania ma związane z nimi kryteria wejścia lub wyjścia. Testerzy muszą zakończyć wykonywanie przypadków testowych w ustalonym czasie. Ponadto muszą zachować jakość, funkcjonalność i wydajność produktu końcowego. Dlatego konieczne jest zdefiniowanie kryteriów wjazdu i wyjazdu. To właśnie teraz zrobimy.

kryteria wejścia

kryteria wejścia określają, jakie wymagania zespół musi spełnić przed rozpoczęciem procedury testowej. Przed rozpoczęciem testów obowiązkowe jest wykreślenie wszystkich wymagań.

istnieje kilka bieżących działań i warunków, które muszą być obecne przed rozpoczęciem testów. Po pierwsze, potrzebujesz informacji od zespołu programistów. Będziesz także chciał sprawdzić plan testowy, przypadki testowe i dane, środowisko testowe i Kod.

kryteria wyjścia

kryteria wyjścia określają wymagania i działania, które należy wykonać przed zakończeniem testów. Innymi słowy, obejmują one elementy do wykreślenia z listy zadań i procesy do wykonania przed zatrzymaniem testów.

kryteria wyjścia będą obejmować identyfikację wad o wysokim priorytecie. Musisz je natychmiast naprawić. Testerzy muszą zdać różne przypadki testowe i zapewnić pełne pokrycie funkcjonalne.

wniosek

Po prostu identyfikacja błędów w ostatnim etapie SDLC nie jest już skuteczną praktyką. Istnieje wiele innych codziennych czynności, na których firma musi się skupić. Poświęcanie zbyt dużo cennego czasu na testowanie i naprawianie błędów może utrudniać wydajność. W końcu potrzeba więcej czasu, aby wygenerować mniej danych wyjściowych.

aby ułatwić proces testowania, ważne jest efektywne wykorzystanie czasu i zasobów. Przestrzeganie systematycznego STLC nie tylko skutkuje szybkim naprawianiem błędów, ale także poprawia jakość produktu. Zwiększając zadowolenie klientów, zyskasz większy zwrot z inwestycji i lepszą obecność marki.

Ten post został napisany przez Arnab Roy Chowdhury. Arnab jest programistą interfejsu użytkownika i entuzjastą blogowania. Posiada duże doświadczenie w zakresie najnowszych trendów UI/UX, metodologii projektów,testowania i skryptów.

co dalej czytać

Co To jest testowanie Shift Left? A Guide to Improving your QA