how perform software product testing detailed process
Produkty programowe wymagają własnego, unikalnego podejścia, aby odpowiednio i poprawnie testować. Często zespoły traktują je jak każde inne oprogramowanie (tj. Aplikacje wewnętrzne zbudowane dla konkretnego klienta lub zespołu; niedostępne dla ogółu społeczeństwa; nie generujące przychodów) i to jest punkt wyjścia do kłopotów.
Testowanie oprogramowania wymaga niestandardowego stylu i strategii testowania, aby zwiększyć wartość. Rozwój i utrzymanie oprogramowania jest samo w sobie złożonym ekosystemem i aby dobrze prosperować, testerzy muszą się dostosować.
Pozwólcie, że przez chwilę wyjaśnię, dlaczego jest to ważne i dlaczego uważam, że rozwój produktu jest złożony, skomplikowany i złożony, nawet w najlepszych momentach.
Czego się nauczysz:
- Wyzwania związane z rozwojem oprogramowania:
- Etap 1) Wprowadzenie do produktu
- Etap 2) Wzrost produktu
- Etap 3) Dojrzałość produktu
- Etap 4) Spadek produktu / powrót do wzrostu produktu
- Co sprawia, że jesteś odnoszącym sukcesy testerem produktów?
- rekomendowane lektury
Wyzwania związane z rozwojem oprogramowania:
Oto niektóre z wyzwań, przed którymi stoją zespoły programistyczne:
# 1)Brak kontroli nad demografią użytkowników, urządzeniami, środowiskami, platformami itp. : Oprogramowanie, w przeciwieństwie do oprogramowania stworzonego dla określonych interesariuszy, nie jest używane w kontrolowanych i przewidywalnych sytuacjach. Należy wziąć pod uwagę po prostu zbyt wiele czynników.
#dwa)Mglista wizja produktu : Zachowanie i funkcje produktów nieustannie się zmieniają, a droga do dojrzałości nie jest wyraźnie widoczna. Albo produkt rozwija się zbyt szybko, że wymyka się spod kontroli, a zespoły nie wiedzą, co się dzieje.
# 3)Agresywne ramy czasowe : Ze względu na silną konkurencję na rynku oprogramowania, sprawy muszą toczyć się w zawrotnym tempie, a zespoły muszą być o krok przed innymi. W przeciwnym razie z pewnością przegrają z konkurencją.
# 4)Strach przed porażką : Oprogramowanie jest zwykle innowacyjne. Dlatego ich sukces nie zawsze jest pewny. To jest powód, dla którego firmy nie mogą wyjść na całość pod względem budżetu, technologii, infrastruktury itp. Często muszą się powstrzymywać, aby uzyskać pewną odporność na awarie, a nawet rentowność.
# 5)Brak praktycznej informacji zwrotnej: Ponieważ nie ma interesariuszy, użytkowników biznesowych ani klientów, można powiedzieć, że trudno jest zrozumieć, co może spodobać się użytkownikowi końcowemu, a co nie. Firmy nieustannie grają w zgadywanie i często mają trudności z wypełnieniem luki między tym, czego chcą od oprogramowania, a tym, czego chce klient.
Wyzwania te wpływają na wszystkie obszary rozwoju produktu, marketingu i utrzymania - a także nieodłącznie wpływają na testowanie produktów.
Aby uzyskać przewagę w grze, tego typu testy muszą uwzględniać pięć kluczowych punktów:
- Szybkość rozwoju i wydań
- Krótkoterminowe i długoterminowe cele produktu
- Zakres i charakter konkurencji
- Kierowanie na odbiorców i ich środowiska
- Wymagania - Funkcjonalność, wydajność, bezpieczeństwo, użyteczność, konfiguracja itp.
Zanim przejdziemy do bardziej szczegółowych informacji, przyjrzyjmy się cyklowi życia produktu (jest to ogólny cykl życia produktu, który nie jest specyficzny dla oprogramowania, ale oprogramowanie działa według podobnego wzorca):
Dobra strategia / podejście do testowania produktu powinno uwzględniać aktualny etap cyklu życia produktu.
Przeczytaj także => Jak napisać dobry dokument dotyczący strategii testów
Przykład: Produkt firmy XYZ to oprogramowanie do śledzenia defektów o nazwie „TrackFast”. Jest to nowy produkt, a pierwsza wersja ma zostać uruchomiona jako rozwiązanie chmurowe i lokalne. TrackFast działa jak każdy inny system zarządzania defektami i jest przeznaczony zarówno do dostępu mobilnego, jak i internetowego. Obecnie są sprinty od 2 do 4 tygodni, podczas których produkt jest tworzony w częściach. Należysz do zespołu testującego, który testuje „TrackFast”, zanim spotka się z klientami. Testowanie obejmuje sprawdzenie funkcjonalności, wydajności i bezpieczeństwa.
najlepsza darmowa zapora ogniowa dla systemu Windows 10 2018
Podsumowując, są to parametry, z którymi pracujesz. Lub jeśli wolisz, to jest twój kontekst
Zobaczmy, jak testować na każdym etapie. To jest test produktu proces, metoda lub cykl życia na każdym etapie.
jak otwierać pliki swf na chrome
Etap 1) Wprowadzenie do produktu
Ponieważ jest to pierwsza premiera TrackFast na rynku, chodzi o to, aby zrobić dobre pierwsze wrażenie. Więc nie zostawiaj kamienia odwróconego. Przetestuj wszystko i pod każdym kątem. Oprócz tego położyć podwaliny pod przyszłe testy.
Dobra strategia testowa w tym momencie powinna obejmować następujące elementy:
- Testy, które potwierdzają krótkoterminowe cele TrackFast. „Czego potrzeba do prawidłowego wysłania” powinno znajdować się na czele wysiłków testowych. Stwórz Testy od końca do końca (front end, middleware i backend) w celu dokładnego przetestowania każdej funkcji
- Testy porównujące TrackFast z konkurencją (Idealnie jest to zadanie dla właścicieli produktów, ale jako tester możemy dodać nasze 2 centy. Ponadto ten krok jest łatwiejszy, jeśli oprogramowanie ma już kilku rówieśników. Na przykład: Łatwo jest porównać TrackFast z Bugzillą, JIRA lub inne starsze systemy . Ale powiedzmy, że tworzę aplikację, która robi coś niezwykłego, na przykład przewidywanie, kiedy dziecko jest głodne lub zepsute :), może być trudno znaleźć aplikację, której możesz użyć jako podstawy)
- Platforma, przeglądarka i urządzenie testy zgodności
- Testy dotyczące łatwości instalacji , przygotowywanie się i przygotowywanie do pracy
- Testy wydajności, bezpieczeństwa i użyteczności
- Testy integracyjne jeśli łączy się z innymi systemami. Prostym przykładem integracji jest to, że systemy śledzenia defektów często współdziałają z klientami poczty e-mail w celu wysyłania powiadomień
- Plan regresji - Dobrym pomysłem jest oznaczenie lub oznaczenie krytycznych testów, które Twoim zdaniem będą częścią przyszłych cykli regresji i pomyśleć o ich automatyzacji dla przyszłych wersji
- Zaplanuj znane problemy (czy zamierzasz dodawać je do zaległości, czy traktować je jako CR itp.)
- Elastyczność do zmiany, gdy produkt przechodzi do następnego etapu cyklu życia.
Czasami może to zająć dużo czasu, zanim produkt zgaśnie, więc wykorzystaj cały czas, który musisz wykonać tak dokładną, jak to tylko możliwe.
Na tym etapie, mimo że kawałek produktu jest gotowy pod koniec 2-4 tygodniowych sprintów, najczęściej każdy sprint nie kończy się wysłaniem kodu. Dlatego nigdy nie traktuj ostatniego sprintu jako „gotowe i dostarczone”. Powtarzaj krytyczne testy przy każdym sprincie aż do wydania. Z każdym sprintem przetestuj cały produkt, który masz do tego momentu.
Etap 2) Wzrost produktu
Po wstępnym wprowadzeniu projektu, jeśli wszystko pójdzie dobrze, spodziewaj się napływu aktywności, ponieważ Rozwój produktu to szybka ścieżka. Pływasz teraz razem z dużymi rekinami i jeśli nie nadążasz, zostaniesz pożarty.
Tutaj wersje stają się krótsze, liczba ulepszeń wprowadzonych w oprogramowaniu staje się większa, a zakres regresji staje się prawie niemożliwy do opanowania.
Strategia testowania produktu powinna działać w tempie, w jakim rozwija się oprogramowanie, i nie powinna stać się wąskim gardłem.
Te mogą pomóc:
- Pamiętaj o długoterminowych celach projektu. Nie chodzi o to, żeby się z tym pogodzić. Chodzi o życie z cechami i prosperowanie z nimi.
- Testuj wcześnie Rozważ TDD lub BDD zamiast odkładać testy do końca z nowymi wymaganiami
- Zautomatyzuj regresję i wzmocnij ją - Utwórz zestaw automatycznej regresji, aby nie zostać z nieprzetestowanymi minami w systemie
- Jeśli Twoja firma / właściciele produktów chcą zaangażować się w testowanie, rozważ narzędzie do automatyzacji oparte na języku biznesowym, takie jak Cucumber.
- Zachowaj użyteczność i projekt witryny ma kluczowe znaczenie dla testów. Ponieważ im więcej funkcji dodamy, tym czystsza powinna wyglądać witryna
- Przeprowadzaj testy wydajności i bezpieczeństwa, gdy pojawiła się główna wersja lub nastąpiła istotna zmiana w architekturze. (Wprowadzono nowy serwer itp.) Większość systemów oprogramowania nie potrzebuje tego przy każdej wersji.
- Bądź w kontakcie z konkurencją i poznaj wizję produktu
- Dostosuj testowanie par , w celu uzyskania natychmiastowej informacji zwrotnej i naprawy. Jeśli to możliwe, dołącz właściciela produktu
- Zaplanuj zmiany i znane problemy
- Spróbuj zdobyć opinie klientów i sprawdź, czy można je śledzić jako sugestie dotyczące ulepszeń, aby utrzymać stały wzrost. (po raz kolejny nie jest to główna odpowiedzialność zespołu ds. kontroli jakości, ale wszyscy się liczą)
Etap 3) Dojrzałość produktu
Gratulacje, że Twój produkt zaszedł tak daleko. W tym momencie funkcje nie zmieniają się tak często. Zespół produktowy będzie bardziej skoncentrowany na zwiększaniu liczby klientów lub podejmowaniu działań marketingowych. Jednak rozwój i testowanie produktów nie musi i często się nie kończy.
Dlatego zespół testujący może:
- Pracuj nad dojrzewaniem swojej strategii testowej. W tym momencie twoje zestawy regresji, metody projektowania testów i praktyki zarządzania testami muszą działać jak dobrze naoliwione maszyny.
- Skoncentruj się na drobnych szczegółach. Ponieważ ogólnie produkt działa i ma się dobrze, ale jak mówią - „ Bóg tkwi w szczegółach ” - znaleźć nawet najmniejsze problemy, które mogą poprawić jakość systemu
- Weź pod uwagę opinie klientów
- Okresowo testuj wydajność i bezpieczeństwo
- Weź pod uwagę nowe urządzenia, platformy i przeglądarki, które mogły pojawić się na rynku podczas ostatniego testu
- Przetestuj podręcznik użytkownika i strony z często zadawanymi pytaniami, ponieważ teraz masz czas i możesz sobie na to pozwolić.
- Eksperymentuj z narzędziami do testowania nowych produktów, usługami lub procesem, ponieważ teraz możesz.
- Przetestuj proces instalacji w każdym wydaniu, nawet jeśli jest mały, i uzyskaj statystyki dotyczące tego, jak łatwe lub trudne jest to dla użytkownika końcowego.
Cokolwiek robisz, nie popadaj w samozadowolenie.
Etap 4) Spadek produktu / powrót do wzrostu produktu
Właściciele produktów i firmy są w dzisiejszych czasach sprytni i bardzo dobrze wiedzą, że nie mogą utrzymać swojego produktu tak samo i oczekują lojalności użytkowników. Rzeczy poruszają się zbyt szybko, podobnie jak produkty.
Tak więc TrackFast nie może usiąść i się zrelaksować. Jeśli potrzebuje trwałej obecności na rynku i pozostać liderem, musi ewoluować. Lubisz to lub nienawidzisz, Facebook zaczął jako prosta sieć społecznościowa do łączenia ludzi i jest sama w sobie dużą platformą oprogramowania, integrującą się z milionem innych rzeczy i pozostającą na bieżąco.
TrackFast też musi ewoluować. Po udowodnieniu, że jest to niezawodny i skuteczny system śledzenia defektów, musi on ewoluować, w przeciwnym razie spadnie. Tak więc firma XYZ postanawia ulepszyć TrackFast, czyniąc go ogólnym systemem zgłoszeń, który może być używany do śledzenia wszelkich incydentów lub przypadków w firmie innej niż zespoły IT / testowe (coś w rodzaju JIRA), a nie tylko w przypadku defektów w procesie tworzenia oprogramowania .
Koło wykonało pełny obrót, a Ty traktujesz system jako zupełnie nowy i postępujesz zgodnie ze strategią omówioną w sekcji Wprowadzenie do produktu. Dopiero teraz jesteś bardziej doświadczony i zaznajomiony z ćwiczeniem. Pamiętaj jednak, że z każdą kolejną turą przychodzi nowe wyzwanie. Więc bądź ostry :)
Co sprawia, że jesteś odnoszącym sukcesy testerem produktów?
- Testerzy produktów Musi mieć wyczucie biznesowe, rozumieć modele rozwoju szybkich dostaw i być doskonałymi testerami którzy nie boją się eksperymentować z narzędziami i sami stają się programistami, jeśli zajdzie taka potrzeba. Te rzeczy mogą mieć pozytywny wpływ na każdy rodzaj testowania, ale są absolutną koniecznością w tego typu testach.
- Inną ważną cechą jest to, że plik tester produktu musi wierzyć w produkt i naprawdę chcę, żeby się udało. Kiedy jako tester uważam, że oprogramowanie to totalny śmieć, nie ma nadziei, że zrobię wszystko, aby było lepiej.
- Podziel się wizją właściciela produktu / firmy . Jeśli nie wiesz, dokąd zmierza produkt i jak będzie ewoluował, testy będą bardzo ograniczone.
- Umiejętności międzyfunkcyjne są korzystne - Dowiedz się, jak przetestować bazę danych, jak przeprowadzić testy wydajności, jak włączyć certyfikaty bezpieczeństwa, jak wdrożyć itp. Bądź ciekawy i odkrywaj .
- Nie stawiaj granic - nie myśl, że ocenianie instrukcji obsługi lub sprawdzanie często zadawanych pytań nie jest twoją pracą, a pisarz techniczny powinien się tym zająć. Cóż, powinni i będą. Ale jeśli spojrzysz na to jako osoba z wewnątrz, jako ktoś, kto zna produkt na wylot, twoja opinia jest bardzo przydatna.
- Szukaj opinii użytkowników końcowych. Kolejna duża grupa osób, które testują po Tobie, są użytkownikami czasu rzeczywistego. Dowiedz się i zrozum, z jakimi problemami się borykają. Pomaga to ulepszyć projekt testu, więc następnym razem będziesz wiedział, co zrobić, aby uniknąć tych problemów.
- Pracuj szybko i podejmuj decyzje
- Uniknij długu technicznego . W przypadku szybkiego rozwoju i testowania łatwo jest testować wyłącznie eksploracyjnie i tracić ramy odniesienia dla przyszłych wersji. Nie pozwól, aby to się stało. Utrzymuj dokumentację szkieletową, aby móc śledzić, śledzić i mierzyć
Największą różnicą między testowaniem oprogramowania tworzonego jako usługa a oprogramowaniem tworzonym jako produkt jest to, że w pierwszym przypadku strategia testowania po opracowaniu strategii jest stosowana do wszystkich kolejnych testów.
Jednak w przypadku produktu strategia testowania musi się zmieniać w zależności od obecnego etapu cyklu życia produktu i zmian dynamiki rynku (nowe urządzenia, nowe przeglądarki itp.). Zmiana strategii testowania produktów musi być znacznie bardziej elastyczna.
O autorze: Ten artykuł został opublikowany przez członka zespołu STH Swati S.
Mamy nadzieję, że ten artykuł był przydatny. Zachęcamy do zamieszczania komentarzy, pytań i opinii poniżej.
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Kurs testowania oprogramowania: Do którego Instytutu Testowania Oprogramowania mam dołączyć?
- Asystent testowania oprogramowania
- Wybór testowania oprogramowania jako swojej kariery
- Testowanie oprogramowania Praca pisarz treści technicznych Freelancer
- Czym są testy wytrzymałościowe w testowaniu oprogramowania (przykłady)
- Kilka interesujących pytań do rozmowy kwalifikacyjnej dotyczącej testowania oprogramowania
- Opinie i recenzje dotyczące kursu testowania oprogramowania