shift left testing secret mantra
Nowy Shift Left Testing, mantra DevOps w tworzeniu oprogramowania:
Szybki Podsumowanie wszystkich samouczków wideo w DevOps zostało wyjaśnione w naszym wcześniejszym samouczku. Teraz zajmiemy się testowaniem lewego klawisza Shift.
Kiedy używam terminu „Shift Left”, możesz się zastanawiać, co mam na myśli w oprogramowaniu do Shift Left?
Ponad dwadzieścia lat temu, kiedy zaczynałem swoją karierę jako tester oprogramowania, nie było oddzielnej „fazy testowania” dla tworzenia oprogramowania, a rola testerów nigdy nie istniała. Programiści tworzyli oprogramowanie, testowali się i publikowali oprogramowanie.
Dalsza lektura => Informacyjna seria samouczków DevOps
Pojęcie Testowanie oprogramowania został wprowadzony stopniowo, gdy wady produkcyjne zaczęły trafiać do budżetu projektu, w związku z czym „Testowanie funkcjonalne” zaczęło obowiązywać z bardzo szczupłym zespołem testerów. W tamtym czasie byliśmy tylko dwoma testerami przeciwko zespołowi 20 programistów.
Branża IT zaczęła podążać za modelem kaskadowym dla tworzenia oprogramowania, w którym, jak wszyscy wiemy, cykl życia oprogramowania przebiega sekwencyjnie w kolejności Wymagania => Projekt => Kodowanie => Testowanie .
Tak więc, jeśli zaczniesz od lewej do prawej, faza testowania znajduje się skrajnie po prawej stronie cyklu życia oprogramowania.
Czego się nauczysz:
niezdefiniowane odwołanie do funkcji c ++
- Wprowadzenie do koncepcji przesunięcia w lewo
- Co to jest testowanie w lewo?
- W jaki sposób lewy Shift wpływa na rozwój oprogramowania?
- Co testerzy powinni robić inaczej na Shift w lewo?
- Korzyści z testowania w lewo
- Wniosek
- rekomendowane lektury
Wprowadzenie do koncepcji przesunięcia w lewo
Przez pewien czas ludzie zdawali sobie sprawę, jak ważne jest Testowanie oprogramowania oraz wpływ utrzymania „Fazy testowania” po prawej stronie lub na końcu cyklu życia oprogramowania. Uświadomienie sobie tego nastąpiło, ponieważ koszt zidentyfikowanego błędu po prawej stronie i na końcu był bardzo wysoki, a ich naprawienie wymagało ogromnego wysiłku i zbyt dużo czasu.
Zdarzały się przypadki, w których po poświęceniu tak dużo czasu i wysiłku na oprogramowanie, z powodu krytycznego błędu zidentyfikowanego na końcu, oprogramowania o znaczeniu krytycznym nie można było wypuścić na rynek, co skutkowało ogromnymi stratami.
Dlatego z powodu identyfikacja błędu na ostatnim etapie albo wydanie było opóźnione, albo czasami oprogramowanie było odrzucane, biorąc pod uwagę wysiłek wymagany do ich naprawy, co naprawdę nie było warte.
„Wady są mniej kosztowne, gdy zostaną wykryte wcześnie”.
Ta świadomość i wielka lekcja wprowadziły wielką rewolucję w branży oprogramowania i dały początek nowej koncepcji zwanej „Przesuń w lewo” , co oznacza przesunięcie „Fazy testowania” w lewo z prawej lub zaangażowanie testerów na każdym etapie.
Testowanie z przesunięciem w lewo oznacza również, że po prostu nie testuj na końcu, ale testuj ciągle.
Co to jest testowanie w lewo?
Po pierwsze, zasada „przesunięcia w lewo” obsługuje Zespół testowy do wczesnej współpracy ze wszystkimi interesariuszami w fazie rozwoju oprogramowania. Dzięki temu mogą jasno zrozumieć wymagania i zaprojektować przypadki testowe aby pomóc oprogramowaniu w „szybkiej awarii” i umożliwić zespołowi naprawienie wszystkich błędów najwcześniej.
Podejście Shift Left to nic innego jak zaangażowanie testerów na znacznie wcześniejszym etapie cyklu życia oprogramowania, co z kolei pozwoliłoby im zrozumieć wymagania, projekt oprogramowania, architekturę, kodowanie i jego funkcjonalność, zadawać trudne pytania klientom, analitykom biznesowym i programistom szukaj wyjaśnień i udzielaj informacji zwrotnych, jeśli to możliwe, aby wesprzeć zespół.
To zaangażowanie i zrozumienie doprowadzi testerów do uzyskania pełnej wiedzy na temat produktu, przemyślenia różnych scenariuszy, zaprojektowania scenariuszy w czasie rzeczywistym w oparciu o zachowanie oprogramowania, które pomogłyby zespołowi w zidentyfikowaniu defektów jeszcze przed ukończeniem kodowania.
W jaki sposób lewy Shift wpływa na rozwój oprogramowania?
Podejście Shift Lift wpływa na rozwój oprogramowania na kilka sposobów.
Poniżej podano kilka kluczowych punktów dotyczących Shift Left:
- Podejście Shift Left koncentruje się na angażowanie testerów na wszystkich i co najważniejsze krytycznych etapach programu . Umożliwia to testerom odwrócenie uwagi od wykrywania defektów na zapobieganie defektom i kierowanie celami biznesowymi programu.
- Podejście Shift Left zapewnia, duże znaczenie dla testowania z którym role i odpowiedzialność testerów ogromnie się zwiększają.
- Wraz ze wzrostem odpowiedzialności za zespół testujący, zespół po prostu nie koncentruje się na „Testowanie oprogramowania w celu zidentyfikowania błędów” , ale proaktywnie współpracuje z zespołem już od początkowych etapów, aby zaplanować i zbudować solidną i skuteczną strategię testowania, zapewniając zespołowi doskonałe przywództwo i wskazówki dla zespołu, koncentrując się na długoterminowej wizji produktu, a nie tylko odpowiedzialność za prace testowe.
- Podejście Shift Left daje okazja dla Testerów do zaprojektowania testów w pierwszej kolejności , gdzie testy są całkowicie skoncentrowane na doświadczeniach klientów i ich oczekiwaniach, co z kolei umożliwi programistom tworzenie oprogramowania w oparciu o te testy, a tym samym zaspokojenie potrzeb klientów.
- Podejście Shift Left po prostu nie kończy się na samych Testerach. Przechodzenie do wynajmu i wykonywanie czynności testowych w sposób ciągły również będzie pozwolić deweloperom na przejęcie większej odpowiedzialności swojego kodu i zwiększają zakres obowiązków związanych z testowaniem.
- Podejście Shift Left również zachęca Testerzy do przyjęcia Rozwój oparty na zachowaniu BDD i rozwój oparty na testach TDD , co pomaga zapobiegać wprowadzaniu defektów do oprogramowania.
- Shift Left Testing in Agile: Podejście Shift Left wspiera formowanie Agile Scrum Zespoły, które obowiązkowo obejmują Testerów wraz z innymi rolami i obejmuje testerów w regularnych wezwaniach, innych interakcjach, spotkaniach przeglądowych, które sprawiły, że testerzy mieli więcej informacji związanych z programem, a tym samym pozwolili im oddać się i zaangażować w szczegółową analizę oprogramowania i zapewnić szybka informacja zwrotna, która pomogłaby w zapobieganiu usterkom w oprogramowaniu.
Testowanie z przesunięciem w lewo wymaga od testerów „Zaangażuj się wcześnie” , tak wcześnie, jak to możliwe i angażuj się w dyskusję i współpracuj nad pomysłami, wymaganiami na każdym etapie, na którym wynik etapu ma wpływ na wartość końcowego produktu, a także pomaga projektowi zidentyfikować ryzyko i złagodzić je z wyprzedzeniem.
Co testerzy powinni robić inaczej na Shift w lewo?
Poniżej podano kilka kluczowych czynników, na które należy zwrócić uwagę, jako że Testerzy robią inaczej Strategia przesunięcia w lewo:
# 1) Zespół testowy musi angażować się w system już od samego początku projektu tak, aby rozwijać integrację z resztą zespołu i biznesem dostarczają użytecznych informacji na każdym etapie rozwoju oprogramowania.
#dwa) Zespół testowy powinien współpracować z zespołem biznesowym i operacyjnym oraz uzyskać jasność co do programu oraz zapewniają jasny obraz zapotrzebowania i pomagają w efektywnym planowaniu potrzeb związanych z rozwojem zasobów, potrzebami szkoleniowymi i wymaganiami dotyczącymi narzędzi testowych w programie z dużym wyprzedzeniem.
# 3) Zespoły testowe muszą współpracować ze wszystkimi interesariuszami biznesowymi na wczesnym etapie tworzenia oprogramowania uzyskać wyraźną widoczność produktu & zaprojektować ujednoliconą strategię testowania i zaplanuj zoptymalizowany wysiłek testowy, przeanalizuj zależności od środowisk testowych, stron trzecich, kodów pośredniczących itp. oraz przygotuj solidną strategię automatyzacji i ramy oraz zbuduj skuteczny plan zarządzania danymi testowymi.
# 4) Zespół testowy musi współpracować z resztą zespołu podczas dostarczania świetne kierownictwo testowe i wskazówki dla zespołu w ten sposób pamiętając o długoterminowej wizji produktu, a nie tylko biorąc odpowiedzialność za czynności testowe.
# 5) Wymagania są kluczem i podstawą sukcesu każdego programu, a dobrze zdefiniowane wymagania określają sukces projektu. Podczas fazy planowania wymagań testerzy trzeba przejrzeć i przeanalizować wymagania dla jakiejkolwiek niejednoznaczności, lepszej jasności, kompletności, testowalności, definicji kryteriów akceptacji itp.
Należy również zidentyfikować brakujące wymagania (jeśli występują), zrozumieć zależności i strategie wdrażania. Funkcja Clear Requirements pomaga oprogramowaniu „szybko zawieść” i naprawić wszystkie błędy najwcześniej.
# 6) Zapewnij wystarczającą jasność i precyzję wymagań, wprowadzając rozszerzenie prawdziwe przykłady które ilustrują używane funkcje.
# 7) Testerzy muszą uczestniczyć w spotkaniach poświęconych przeglądowi projektu regularnie i rozumiej projekt i architekturę produktu oraz identyfikuj wady projektowe, sugeruj alternatywne opcje projektowe, identyfikuj luki i twórz odpowiednie scenariusze testowe, aby złamać projekty.
# 8) Testerzy muszą wykonać Testowanie statyczne (Opinie) z dużym wyprzedzeniem i przekazywać informacje zwrotne na temat kluczowych dokumentów projektowych, tak aby usterki nie zostały osadzone w oprogramowaniu i nie rozszerzyły się później.
# 9) Zespół testowy powinien współpracować z zespołem projektowym i programistycznym w dostarczaniu scenariuszy testowych z wyprzedzeniem w celu opracowania kodu i uwzględnij wszystkie możliwe scenariusze i przepływy biznesowe w czasie rzeczywistym.
# 10) Zespół testowy musi zaprojektować mocne i niezawodne scenariusze testowe tak, że tylko kilka defektów jest identyfikowanych podczas testowania i zapobiega się poważnym defektom podczas wchodzenia w fazę testowania.
#jedenaście) Testerzy muszą Przetestuj jak najwcześniej , czy to w systemie samodzielnym, czy lokalnym, aby usterka nie przedostała się na późniejsze etapy.
Cała idea „przesunięcia w lewo” dla testerów polega na jak najwcześniejszym znalezieniu usterek za pomocą wszelkich możliwych środków.
Korzyści z testowania w lewo
Podejście Shift Left działa w oparciu o manifest agile i ma również kilka zalet.
Oni są:
- Jednostki i interakcje nad procesami i narzędziami.
- Działające oprogramowanie ponad obszerną dokumentację.
- Współpraca z klientami nad negocjacjami umów.
- Reagowanie na zmiany nad przestrzeganiem planu.
Widzimy, że chociaż wartość znajduje się w elementach po prawej stronie, bardziej cenimy elementy po lewej stronie.
Cóż, Shift Left polega na wprowadzeniu idei testowania na wcześniejszym etapie procesu, co skutkuje lepszym i wydajnym testowaniem oraz poprawą jakości oprogramowania.
W skrócie, proces testowania z przesunięciem w lewo to:
- Wczesne znajdowanie defektów, zmniejszając w ten sposób koszt projektu.
- Ciągłe testowanie w celu ostatecznej redukcji defektów.
- Aby zautomatyzować wszystko i skrócić czas wprowadzenia na rynek.
- Skoncentrowanie się na wymaganiach klientów i poprawie ich obsługi.
Wniosek
„Przesuń w lewo” koncepcja przyniosła ogromną transformację całej roli „testowania”. Do tego czasu testowanie skupiało się wyłącznie na „wykrywaniu defektów”, a teraz celem „przesunięcia w lewo” z perspektywy testowania jest podróż „Early Defect Detection to Zapobieganie defektom ' .
Tak więc Shift Left to duży krok w branży oprogramowania w metodologii rozwoju oprogramowania w kierunku szybkiego wprowadzenia na rynek, poprawy jakości oprogramowania i skrócenia „Time to Market”.
O autorze: Ten artykuł został napisany przez członka zespołu STH Gayathri Subrahmanyam. Zajmuje się testowaniem oprogramowania od lat 90-tych, kiedy to rola testera została wprowadzona w branży. Podczas swojej kariery testowej wykonała wiele ocen TMMI, prace związane z industrializacją testów, konfiguracje TCOE oprócz obsługi dostaw testowych i wdrożyła praktykę DevOps dla ogromnego zaangażowania. Ale według niej nauka nigdy się nie kończy…
Daj nam znać swoje przemyślenia / sugestie w sekcji komentarzy poniżej.
POPRZEDNIA samouczek | NEXT Tutorial
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Asystent testowania oprogramowania
- Przesunięcie w lewo od jakości: jakie znaczenie ma przesunięcie w lewo w testowaniu?
- Kurs testowania oprogramowania: Do którego Instytutu Testowania Oprogramowania mam dołączyć?
- Wybór testowania oprogramowania jako swojej kariery
- Testowanie oprogramowania Praca pisarz treści technicznych Freelancer
- Kilka interesujących pytań do rozmowy kwalifikacyjnej dotyczącej testowania oprogramowania
- Opinie i recenzje dotyczące kursu testowania oprogramowania