Niezależnie od tego, czy kodujesz oprogramowanie dla członków własnej firmy, czy dla szerokiej bazy klientów, posiadanie odpowiednich praktyk i ram testowania, czy to ręcznego, automatyzacji, czy hybrydowego, prowadzi do spójnej jakości oprogramowania, zwiększonej reputacji i efektywności.
W zależności od firmy, w której pracujesz, wiele testów przychodzi w formie testów manualnych.
Dowiedz się więcej o tym, czym jest testowanie ręczne, co firmy testują za pomocą testów ręcznych i o szeregu innych ważnych faktów dotyczących procesów testowania oprogramowania.
Czym jest testowanie manualne?
Testowanie ręczne jest rodzajem testowania oprogramowania, w którym przypadek testowy jest wykonywany ręcznie przez testera bez pomocy jakichkolwiek zautomatyzowanych narzędzi.
Firmy używają testów ręcznych jako metody identyfikacji błędów lub problemów w ich oprogramowaniu. Podczas gdy niektórzy opisują to jako prostą lub prymitywną formę testowania, ostatecznie ustala ona funkcjonalność programu bez konieczności używania narzędzi testowych innych firm.
Wszystkie formy testowania oprogramowania mają pewne aspekty manualne, ponieważ istnieją pewne cechy aplikacji, które są po prostu niemożliwe do przetestowania bez pewnej interwencji manualnej.
1. Kiedy należy przeprowadzić testy manualne?
Istnieje kilka etapów, w których deweloperzy używają testów manualnych, pierwszym z nich jest etap rozwoju podstawowej funkcjonalności.
Kiedy podstawowa funkcjonalność oprogramowania jest w fazie rozwoju programiści testują, czy każda z części programu działa ręcznie, ponieważ jest to szybsze niż tworzenie przypadków testowych dla dość prostych części kodu.
Testowanie ręczne jest również powszechne w ostatnich etapach rozwoju, kiedy program ma stworzony UI. Testowanie U I polega na sprawdzeniu jak rzeczywisty użytkownik reaguje na sposób w jaki zaprojektowane jest menu i jak działa system.
Ponieważ wiąże się to z dużą ilością danych jakościowych i osobistych opinii, a nie z czystymi metrykami ilościowymi, testowanie ręczne jest idealną opcją dla uzyskania większego wglądu w produkt.
2. Kiedy nie trzeba robić testów manualnych
Istnieje kilka przypadków, w których użycie testów ręcznych zajęłoby dużo więcej czasu i wysiłku niż jest to konieczne, pierwszym z nich jest testowanie baz danych.
Bazy danych obsługują ogromne ilości danych i ręczne ich wprowadzanie zajęłoby dużo czasu i byłoby nieefektywne dla organizacji.
W takich przypadkach korzystanie z systemów automatycznych jest idealnym rozwiązaniem, ponieważ mogą one obsługiwać duże pakiety danych w ograniczonym czasie.
Testy ręczne są również mniej przydatne w takich obszarach jak testy obciążeniowe, gdzie deweloper wykonuje testy, aby zobaczyć jak jego oprogramowanie radzi sobie ze znacznymi obciążeniami użytkowników.
Często dotyczy to aplikacji internetowych i programów z serwerami, które wymagają dokładnej oceny. Wykonanie testów manualnych wymagałoby wielu osób mających dostęp do aplikacji w jednym czasie, a to może prowadzić do poważnych kosztów pracy za usługę, która może być wykonana przez zautomatyzowany system testowania oprogramowania po znacznie niższych kosztach.
3. Kto bierze udział w testowaniu manualnym?
Członkowie personelu zaangażowani w testowanie manualne zależą od charakteru firmy, w której pracujesz.
Niektóre osoby z zaangażowaniem w proces testowania ręcznego, oprócz rodzaju zespołu deweloperskiego, w którym znajdziesz te role:
– Deweloper:
Deweloper jest zaangażowany w ten proces w sposób ciągły, testując podstawową funkcjonalność oprogramowania i dokonując aktualizacji kodu w zależności od informacji zwrotnych od testerów QA.
Programiści wykonują wiele testów ręcznych, ponieważ są odpowiedzialni za uzyskanie modułów działających w wysokim standardzie w najwcześniejszych etapach rozwoju oprogramowania.
– Tester QA
Obecni w większych zespołach testerzy QA wyłącznie realizują testy dla firmy i dbają o to, by aplikacja działała zgodnie z oczekiwaniami klienta.
Tester QA jest przede wszystkim ważny na etapach testowania, integracji i utrzymania rozwoju, przejmując testowanie ręczne od samych deweloperów, którzy testują przez cały okres wdrażania.
– Kierownik ds. jakości
Pracując w największych firmach deweloperskich, kierownicy QA przydzielają testerów do konkretnych zadań i obszarów projektu.
Są również odpowiedzialni za tworzenie listy rzeczy do wykonania i czytanie raportów z badań. Jest to szczególnie ważne w testach manualnych, ponieważ zadowolenie pracowników może zapewnić znacznie lepsze wyniki.
Co testujemy za pomocą testów manualnych?
Istnieje kilka różnych aspektów oprogramowania, które badają testy manualne, a każdy z nich jest lepszy, gdy używa się testów manualnych dzięki specyficznym wyzwaniom związanym z testami.
Niektóre z głównych cech, dla których korzystasz z testów manualnych, oprócz powodów, dla których testy manualne prosperują, obejmują:
1. Podstawowa funkcjonalność
Jedną z najwcześniejszych części procesu testowania oprogramowania jest sprawdzenie podstawowej funkcjonalności oprogramowania.
Na tym etapie deweloper lub tester przegląda jeden z funkcjonalnych modułów kodu i ocenia, czy działa on zgodnie z oczekiwaniami. Ze względu na małą skalę tych modułów, warto skupić się na testach manualnych, ponieważ automatyzacja zajęłaby zbyt dużo czasu.
Przykładem może być oprogramowanie bazodanowe, gdzie testerzy wprowadzają do funkcji kawałek danych i znają już oczekiwane wyjście.
Jeśli obie się zgadzają, test jest udany. Testowanie na tym etapie procesu daje mocne podstawy do dalszej pracy firmy.
2. Projekt UI
UI odnosi się do interfejsu użytkownika oprogramowania, czyli menu, przycisków i interaktywności dostępnych dla użytkownika.
Testowanie UI skupia się zarówno na tym, jak działa UI i czy jest to wygodny sposób pracy dla użytkownika, w tym czy użytkownik może wejść w interakcję ze wszystkimi funkcjami i czy menu jest estetyczne.
Testowanie ręczne jest koniecznością na tym etapie, ponieważ informacje jakościowe, takie jak to, czy interfejsy wyglądają dobrze, nie są czymś, w czym automatyczny program jest doskonały.
3. Testy penetracyjne
Testowanie penetracyjne odnosi się do testowania pakietu oprogramowania w celu sprawdzenia łatwości, z jaką strona zewnętrzna może uzyskać dostęp do oprogramowania za pomocą nielegalnych środków.
Automatyzacja oprogramowania skupia się na wykonywaniu kilku konkretnych kroków i kończeniu procesów, które są już częścią aplikacji, a nie na odkrywaniu nowych obszarów, co jest koniecznością w przypadku testów bezpieczeństwa.
Na przykład firma może zatrudnić etycznego hakera, który oceni jej oprogramowanie i poszuka wszelkich możliwości dostępu do danych użytkownika przez złośliwą stronę.
Jest to coraz ważniejsze w latach od uchwalenia GDPR jako części prawa w całej Europie.
4. Badania rozpoznawcze
Testowanie eksploracyjne odnosi się do testowania, które musi być zakończone tylko raz lub dwa razy, otrzymując nazwę, ponieważ jest to część „eksploracji” oprogramowania dla jakichkolwiek nieoczekiwanych funkcji lub błędów.
Testowanie ręczne jest w tym przypadku lepszym rozwiązaniem, ponieważ napisanie kodu dla przypadku testowego zajmuje czas, a ktoś ręcznie wchodzący do oprogramowania i badający je zająłby mniej czasu.
Przykładem tego jest sytuacja, gdy programista chce sprawdzić, czy dana funkcja jest poprawnie zintegrowana, przy czym pojedynczy test weryfikuje, czy dane poruszają się prawidłowo po programie.
Cykl życia testów manualnych
Istnieje kilka etapów w cyklu życia testów manualnych, przy czym testy manualne są wykorzystywane do badania szerokiego zakresu aspektów pakietu oprogramowania.
Niektóre z etapów cyklu życia testów manualnych obejmują:
– Planowanie
Zaplanuj rundę testów, która obejmuje ocenę wymagań aplikacji, konkretne testy do wykonania oraz build, na którym testujesz oprogramowanie.
Etap ten obejmuje napisanie wszelkich przypadków testowych do wykonania przez testera manualnego oraz stworzenie środowiska testowego. Bądź dokładny, aby uniknąć sytuacji, w której testerzy manualni przypadkowo wykonują testy na różne sposoby.
– Testy:
Ukończ testy. Polega to na wielokrotnym przechodzeniu przez przypadki testowe, aby uzyskać spójne dane i zanotować wszystkie informacje, które otrzymujesz.
Jeśli w ogóle odbiegasz od przypadku testowego, zanotuj jak i dlaczego. Zmienność jest najbardziej powszechna w testach end-to-end, ale wszystkie testy manualne mogą doświadczyć pewnych różnic w sposobie pracy testera.
– Analiza:
Przeanalizuj wszystkie wyniki, które otrzymałeś z testów. Obejmuje to znalezienie, co to są błędy w oprogramowaniu i potencjalnych przyczyn problemów.
Wyjdź poza prostą funkcjonalność i włącz informacje jakościowe, takie jak uwzględnienie projektu aplikacji.
Informacje jakościowe szczególnie dobrze rozwijają się w testach manualnych, gdzie testerzy generują dane opisowe, które informują twórców o drobnych poprawkach, które znacznie poprawiają czyjeś doświadczenia z aplikacją.
– Realizacja:
Wykorzystaj poprzednie raporty do wdrożenia szeregu zmian. Może to być długi proces w zależności od zmian, z programistami eksperymentującymi z kodem, aby zapewnić rozwiązanie błędów, które istniały w poprzednich wersjach.
Podczas korzystania z testów manualnych, deweloperzy otrzymują dodatkową korzyść z omówienia wszystkich zmian z testerem. Pomaga to obu stronom właściwie zrozumieć, co wymaga korekty i jak można ją przeprowadzić, niezależnie od tego, czy jest to zmiana funkcjonalna czy projektowa.
– Uruchom ponownie planowanie:
Podczas gdy programiści tworzą poprawki do problemów z poprzednich testów, zaplanuj następny zestaw testów. Obejmuje to testowanie najnowszych aktualizacji i próby odtworzenia błędów, które były obecne w ostatniej wersji.
Posiadanie tego stałego cyklu testów oznacza, że oprogramowanie jest zawsze ulepszane i nigdy nie jest statyczne. Testowanie ręczne może wydawać się, że zajmuje dużo czasu, ale istnieje znaczny zwrot z inwestycji z elastyczności i ciągłości, które oferuje z powtarzalnych testów.
Korzyści z testowania ręcznego
Istnieje mnóstwo korzyści z zastosowania testów manualnych w firmie tworzącej oprogramowanie, począwszy od jakości samego oprogramowania, aż po sposób, w jaki projekt wpływa na finanse firmy.
Niektóre z korzyści wynikających ze stosowania testów manualnych w firmie to:
1. Większa elastyczność
Aby zakończyć automatyzację testów, potrzebujesz analityka QA, aby wejść do kawałka oprogramowania i zakodować przypadek testowy, który kończy precyzyjny zestaw kroków za każdym razem.
Chociaż jest to czasami korzystne, ludzki tester może przejść przez proces i zauważyć coś nie na miejscu przed zbadaniem i bez konieczności zmiany linii kodu.
To znacznie zwiększa elastyczność twoich testów i oznacza, że znajdujesz problemy ze swoim programem, które w przeciwnym razie pozostałyby niezauważone, mając większą szansę na naprawienie problemów.
2. Informacje jakościowe
Informacje jakościowe odnoszą się do informacji, które coś opisują i jest to rodzaj informacji, które ludzcy testerzy mogą zaoferować zespołowi programistów.
Tester manualny może poinformować firmę o tym, że pewne menu wydaje się „niezgrabne” i wyjaśnić dlaczego, podczas gdy program automatyzujący nie byłby w stanie zaoferować takiego wglądu deweloperowi.
Oznacza to, że wdrażając testowanie ręczne do swoich procesów pracy, firmy mogą znacznie podnieść standard aplikacji w sposób, z którym zmagałyby się używając wyłącznie automatyzacji testów w swoich procesach.
3. Brak ograniczeń ze strony środowiska
Testy automatyzacji polegają na wykorzystaniu istniejącej platformy, przy czym niektóre mają stosunkowo ścisłe ograniczenia.
Ograniczenia, z którymi borykają się niektóre (choć nie wszystkie) platformy, obejmują brak możliwości pracy z platformami takimi jak Linux, możliwość pracy tylko z określonym językiem kodowania oraz obsługę tylko określonej liczby zadań.
Kiedy pracujesz z ludźmi w swoich procesach testowych, te ograniczenia skutecznie znikają. Ograniczają Cię jedynie umiejętności Twoich testerów manualnych, a nie jakiekolwiek problemy techniczne.
Pomaga to stworzyć strategię testowania, która dokładniej bada program bez potrzeby kompromisu.
4. Umożliwia badanie użyteczności
Testy użyteczności to rodzaj testów, które oceniają, czy oprogramowanie jest „użyteczne”, w tym sposób, w jaki wygląda i jest odczuwane przez użytkownika końcowego.
Ten rodzaj testów wykracza poza dosłowną ocenę, czy dana funkcja może być użyta, ale bada, czy ktoś zdecydowałby się na jej użycie w stosunku do produktów konkurencyjnych.
Wdrożenie ręcznych testów użyteczności zapewnia firmom większy wgląd i pomaga wprowadzić poprawki, które sprawiają, że aplikacja jest bardziej konkurencyjna, co automatyzacja nie może zaoferować zespołom programistów.
Wyzwania związane z testami manualnymi
Podobnie jak w przypadku każdego rodzaju procesu jako deweloper, istnieje kilka wyzwań związanych z używaniem testów ręcznych jako narzędzia zapewnienia jakości.
Będąc świadomym tych wyzwań, możesz dostosować technikę, której używasz podczas ręcznego testowania oprogramowania, zapobiegając tym samym poważnym problemom i zwiększając standard programu na końcu procesu.
Niektóre z głównych wyzwań, z jakimi spotykają się firmy podczas stosowania testów manualnych, obejmują:
1. Poziomy umiejętności testerów
Pierwszym poważnym wyzwaniem, z którym należy się zmierzyć, jest wymagany poziom umiejętności wszystkich testerów manualnych w zespole.
Z utalentowanymi testerami manualnymi, firmy widzą wyraźne korzyści, ponieważ szybciej lokalizują błędy i są bezpieczne wiedząc, że ich oprogramowanie działa zgodnie z oczekiwaniami. Najlepsze firmy zawsze szukają testerów manualnych, którzy są w czołówce, aby zagwarantować większy poziom wydajności.
Sam będąc testerem, zawsze staraj się uczyć i rozwijać te umiejętności. Poprawa umiejętności oznacza, że wnosisz większą wartość do firmy, z testami manualnymi znajdującymi więcej błędów i poprawiającymi doświadczenia użytkowników. Najlepsze testy manualne pochodzą od testerów, którzy spędzili czas na doskonaleniu swojego rzemiosła.
2. Koszt badania
Testowanie ręczne jest powszechnym procesem dla firm wszystkich rozmiarów, ale w zależności od sposobu, w jaki używasz testowania ręcznego, koszty mogą wzrosnąć.
Na przykład, firma, która ma kilka wysoko wykwalifikowanych członków personelu testowego w księgach może wydać dużo pieniędzy, jeśli powtarzające się testy mają miejsce, ponieważ jesteś skutecznie płacąc za każdy obecny czas. Jest to mniejszy problem w procesach automatycznego testowania.
Idealnym rozwiązaniem tego problemu jest planowanie z wyprzedzeniem, ponieważ im więcej czasu poświęcisz na planowanie testów, które wykonujesz i kolejności ich wykonywania, tym mniejsza szansa, że koszty personelu wzrosną, ponieważ ludzie wykonują testy, których nie muszą.
3. Czasochłonność
Komputery są szybsze od ludzi we wszystkich rodzajach rzeczy, od planowania ruchu w szachach do inwestowania pieniędzy na giełdzie, a nawet po prostu naciśnięcia przycisku po zmianie koloru. Ta sama koncepcja dotyczy testów, w których użytkownicy poświęcają swój czas na przeczytanie wszystkich informacji i poruszanie się po menu.
Testowanie ręczne może więc trwać znacznie dłużej niż przy użyciu automatyzacji testów. Przeciwdziałaj temu, stosując kombinację testów manualnych i automatycznych, odbierając testerom manualnym męczące zadania, a zamiast tego wykorzystując ich tam, gdzie potrzebna jest specjalistyczna wiedza. Uproszczenie Twoich procesów jest również idealne dla testów ręcznych, ponieważ zabiera jak najwięcej kroków.
4. Możliwość wystąpienia błędów
Ludzie popełniają błędy. To naturalne, niezależnie od tego, czy chodzi o wypełnianie kroków w złej kolejności w teście, czy o niedokładne zapisywanie wyników dzięki błędnemu kliknięciu. Jednak te błędy mogą powodować poważne problemy z dokładnością reżimu testowania oprogramowania.
Testerzy manualni, którzy są bardziej zmęczeni lub znużeni wykonywaniem tego samego zadania raz po raz, są bardziej skłonni do popełniania błędów niż inni, więc użyj automatyzacji, aby tego uniknąć, jeśli to możliwe lub daj testerom regularne przerwy od ekranu, ponieważ utrzymuje ich bardziej czujnych na to, co się dzieje.
Menedżerowie mogą również rozważyć zarządzanie obciążeniem pracą, aby powstrzymać ludzi od wypalenia i problemów.
Charakterystyka testów manualnych
Istnieje kilka głównych cech, których należy szukać w testach manualnych. Definiują one, czym jest test manualny i są istotnymi cechami, które możesz zaplanować podczas projektowania swoich testów.
Dowiedz się więcej o niektórych głównych cechach testów manualnych i co one oznaczają w aktywnym środowisku testowym:
1. Zoptymalizowane przypadki testowe
W testach manualnych przypadki testowe są wysoce zoptymalizowane. Odnosi się to do instrukcji, które tester manualny ma przed wykonaniem testu, przy czym wysoki poziom optymalizacji prowadzi do tego, że zespół testowy oszczędza czas i zasoby, ponieważ wykonuje mniej zadań.
Zawsze szukaj ograniczenia rozmiaru przypadku testowego, jeśli to możliwe, aby jak najlepiej wykorzystać dostępne zasoby.
2. Bardziej zrozumiałe metryki
Najlepsze testy manualne mają bardziej zrozumiałe metryki. Tam, gdzie automatyzacja testów stale generuje złożone statystyki i informacje, wgląd, który te metryki mogą zapewnić nie jest wart czasu, jaki zajęłoby testerowi ręcznemu uzupełnienie lub obliczenie.
Jako alternatywa, testy manualne obejmują znacznie prostsze metryki, które są łatwe do wygenerowania i zajmują mniej czasu na analizę w późniejszym procesie.
3. Inteligentna sprawozdawczość
Testowanie ręczne prowadzi do bardziej inteligentnego raportowania ze strony zespołu testującego. Testy automatyczne generują swoje własne raporty na końcu procesu, co prowadzi do tego, że wszystkie raporty są w tym samym formacie.
Testerzy ludzcy są znacznie bardziej elastyczni i mogą tworzyć własne raporty, dodając wszelkie informacje, które uznają za przydatne dla zespołu programistów, gdy tylko zajdzie taka potrzeba.
4. Ponowne uruchomienie strategii
Strategie powtórzenia odnoszą się do sposobu, w jaki zespół testujący przeprowadza testy ponownie i ponownie, zbierając dane z powtarzających się przypadków wykonywania zadań.
Testowanie ręczne oznacza, że strategie ponownego uruchomienia są o wiele bardziej elastyczne, z testerami mogącymi wykonać więcej testów, jeśli uważają, że jest coś jeszcze do zbadania.
Niektóre testy manualne również aktywnie zachęcają do wariacji w działaniach, które użytkownik wykonuje, dostarczając danych z szerszego zakresu zachowań. To generuje więcej danych na temat oprogramowania i prowadzi do bardziej spójnych strategii aktualizacji w przyszłości.
Rodzaje testów manualnych
Istnieją trzy różne rodzaje testów manualnych, które firmy wykorzystują, a różnica podyktowana jest poziomem dostępu, jaki mają testerzy. Każdy typ jest przydatny w swoim własnym, unikalnym kontekście.
Do głównych rodzajów testów manualnych należą:
1. Testy białej skrzynki
Testowanie białej skrzynki jest formą testowania, która polega na tym, że testerzy są w stanie zobaczyć cały kod źródłowy i dokumentację projektową dla kawałka oprogramowania.
Ten większy poziom dostępu oznacza, że tester jest w stanie zobaczyć wszystkie indywidualne aspekty kodu i jak wpływają one na sposób działania oprogramowania. Jest to idealne rozwiązanie dla najwcześniejszych etapów procesu rozwoju, ponieważ programiści mogą ręcznie przyjrzeć się własnemu kodowi, porównać go z przypadkami testowymi i łatwo znaleźć obszar, który powoduje jakiekolwiek istotne problemy, zanim załatają jakiekolwiek istniejące błędy.
2. Testy „czarnej skrzynki
Testowanie w czarnej skrzynce odnosi się do formy testowania, w której testerzy nie widzą nic z tego, co dzieje się za UI. Oznacza to, że nie ma dostępu do żadnego kodu ani żadnej dokumentacji projektowej, a testerzy podchodzą do oprogramowania z całkowitym brakiem wiedzy.
Testerzy manualni stosują to podejście w ostatnich etapach procesu rozwoju, ponieważ testy akceptacji użytkownika i testy end-to-end wymagają perspektywy użytkownika końcowego, a nie osoby zaangażowanej w proces rozwoju.
3. Testy szarych skrzynek
Testy szarych skrzy nek są połączeniem testów czarnej skrzynki i białej skrzynki i wymagają, aby tester był w stanie zobaczyć część dokumentacji i kodu źródłowego. Łączy to korzyści wynikające z możliwości dostrzeżenia potencjalnych przyczyn wszelkich problemów, przy jednoczesnym ograniczeniu informacji, co pomaga w takich funkcjach jak obsługa danych.
Wykorzystanie ręcznych testów szarych skrzynek w środkowych etapach procesu rozwoju, dostarczanie testerom pewnych dodatkowych informacji, ale nadal zmuszanie ich do polegania na własnej intuicji w przypadku wielu funkcjonalności, aby zapewnić, że użytkownik końcowy mógłby zrozumieć systemy.
Wyjaśnienie pewnych nieporozumień – Testy Manualne Vs Testy Automatyzacji
Istnieją dwie różne dyscypliny zaangażowane w testowanie oprogramowania, testowanie ręczne i testowanie automatyzacji. Pomimo tego, że oba mają skutecznie tę samą funkcję, są odrębnymi dyscyplinami, które firmy wykorzystują do badania swoich pakietów oprogramowania.
Czytaj dalej, aby dowiedzieć się więcej o tym, czym jest testowanie automatyzacji, o różnicy pomiędzy testowaniem automatyzacji a testowaniem manualnym oraz kiedy używać każdego z tych dwóch rodzajów testów w procesach QA oprogramowania.
1. Czym jest testowanie automatyzacji?
Testowanie automatyzacji to proces, w którym tester używa narzędzia innej firmy do zautomatyzowania części oprogramowania, badając oprogramowanie, gdy wielokrotnie wykonuje ten sam proces, aby zapewnić, że działa na wystarczająco wysokim poziomie dla organizacji. Główną korzyścią z automatyzacji testów jest to, że jest to znacznie szybszy proces, zwłaszcza przy wykonywaniu męskich zadań, takich jak wprowadzanie danych.
Przykładem może być testowanie bazy danych w celu upewnienia się, że obsługuje ona wszystkie informacje w sposób prawidłowy, wprowadzanie tysięcy danych do oprogramowania w ciągu kilku chwil, a następnie ocena wyników.
Firmy przede wszystkim wykorzystują testy automatyzacyjne do dużych i bardzo powtarzalnych zadań. Ponieważ automatyczny system nie popełni drobnych błędów, takich jak wpisanie niewłaściwej informacji lub kliknięcie w niewłaściwy link.
Jednymi z głównych elementów oprogramowania, które tego używają są serwery na żywo i bazy danych, ponieważ obsługują one wiele informacji i wysokie obciążenia użytkowników, a więc wymagają formy testowania, która może sprostać wymaganiom.
2. Jaka jest różnica między testami manualnymi a automatycznymi?
Główną różnicą pomiędzy testami manualnymi a automatycznymi jest sposób ich wykonania.
Test manualny polega całkowicie na człowieku, który przeprowadza test, podążając za przypadkiem testowym aż do jego zakończenia, a następnie notując wszelkie informacje.
W przypadku testów automatycznych, program komputerowy jest odpowiedzialny za wypełnienie przypadków testowych po ich wstępnym napisaniu przez analityka QA.
Niektóre platformy testów automatycznych generują również własne raporty dla użytkowników, ograniczając ilość czasu, który ktoś musi poświęcić na zebranie wszystkich danych z eksperymentu. Zamiast tego mogą poświęcić swój czas na wygenerowanie poprawki dla problemów, które ma pakiet oprogramowania.
3. Wnioski: Testowanie ręczne Vs Testowanie automatyczne.
Istnieją pewne fundamentalne różnice pomiędzy testowaniem ręcznym i automatycznym, przy czym te dwie koncepcje opierają się na zupełnie innych fundamentach, aby działać prawidłowo.
Mogą jednak ściśle współpracować w tandemie przy wielu projektach rozwojowych. Używając testów automatycznych do niektórych bardziej obciążających zadań i stosując techniki testów manualnych do tych, które polegają na większej elastyczności, możesz znacznie przyspieszyć procesy testowe.
Jednym z największych błędnych przekonań na temat testowania jest to, że masz binarny wybór do zrobienia, ale to nie mogłoby być dalsze od prawdy dla każdego skutecznego zespołu zapewnienia jakości.
Obalanie 5 mitów o testach manualnych
Istnieje kilka mitów, w które ludzie wierzą wokół testowania ręcznego, a każdy z nich kieruje ludzi w stronę podążania za mniej niż idealnymi metodami i sprawia, że uzyskanie wyników jest bardziej skomplikowane niż powinno być.
Pięć głównych mitów dotyczących testowania manualnego to:
1. Testy są jedynym działem odpowiedzialnym za jakość produktu
Jakość produktu to rola całej firmy, a nie tylko zespołu zapewnienia jakości.
Testowanie oprogramowania istnieje po to, aby usuwać błędy wszędzie tam, gdzie jest to możliwe, co oznacza, że wiele osób postrzega naprawianie i lokalizowanie błędów jako wyłączną odpowiedzialność zespołu QA. Wręcz przeciwnie, sami programiści są odpowiedzialni za pisanie kodu, natomiast zespół zarządzający odpowiada za organizację rozwoju.
Każdy, kto pełni jakąś rolę w firmie, jest w jakimś stopniu odpowiedzialny za stworzenie produktu o wystarczająco wysokim standardzie, zamiast polegać na zespole testującym, który znajdzie wszystkie problemy, a następnie wysłać produkt tak szybko, jak to możliwe.
2. Testy manualne nie mają już znaczenia
Wraz z rozwojem AI i coraz powszechniejszą automatyzacją procesów robotycznych, są tacy, którzy uważają, że testowanie manualne nie ma już znaczenia w tworzeniu oprogramowania. Firmy widzą względną taniość automatyzacji i wybierają tę drogę wszędzie tam, gdzie jest to możliwe.
Testowanie manualne pozostaje jednym z najważniejszych narzędzi dla firmy dzięki użyteczności E2E, czarnej skrzynki i testowania GUI. Wdrażając testy manualne, firmy znajdują problemy z oprogramowaniem, które w przeciwnym razie zostałyby pominięte przez automatykę, ulepszając swój produkt poza potencjalnymi zyskami, które mogłyby zobaczyć dzięki samej automatyzacji.
3. To dla ludzi, którzy nie potrafią kodować.
Jednym z głównych założeń, które niektórzy mają, jest to, że ludzie, którzy nie potrafią kodować, wybierają zamiast tego testowanie.
Jest to jednak dalekie od prawdy. Umiejętność czytania kodu jest koniecznością w wielu rolach związanych z testowaniem, z testowaniem szarych i białych skrzynek polegających na czytaniu kodu i zrozumieniu, jak może on przyczynić się do jakichkolwiek błędów, które są obecne w pakiecie oprogramowania.
Zakładając, że tylko ludzie, którzy nie potrafią kodować, są zaangażowani w testowanie, potencjalnie ograniczasz się do posiadania niższego standardu personelu testowego w swoim zespole. Jeśli jesteś testerem, rozważ ukończenie kursu kodowania, aby poprawić swoje standardy.
4. Możesz tworzyć oprogramowanie wolne od błędów
Niektórzy ludzie przychodzą do branży testów manualnych z założeniem, że zespół zapewnienia jakości może znaleźć każdy błąd w kawałku oprogramowania i pomóc zespołowi programistów w jego rozwiązaniu.
W teorii doprowadziłoby to do powstania produktu, który nie ma w ogóle błędów i całkowicie zadowala klienta. Jest to oczywiście idealny cel końcowy dla testowania oprogramowania, ale rzadko jest to możliwe.
Nawet najbardziej dopracowane pakiety oprogramowania od największych firm na Ziemi zawierają błędy i chociaż celem powinno być zredukowanie ich liczby tak bardzo jak to możliwe, nie ma nic złego w tym, że kilka drobnych błędów trafi do ostatecznego wydania. Z tego powodu ważne są ręczne testy i rozwój po wydaniu.
5. Nie ma żadnej wartości dodanej z testowania
Jednym z największych mitów otaczających każdą formę testowania oprogramowania jest to, że nie dodaje ono żadnej wartości do pakietu oprogramowania. Jednak klienci zawsze cenią jakość jako jeden z najważniejszych aspektów aplikacji – programy pełne błędów lub niskiej jakości natychmiast tracą swoich użytkowników, którzy szukają alternatyw.
Dopracowany produkt jest znacznie cenniejszy dla firmy niż taki, który nie działa poprawnie, a skuteczne testowanie jest sercem tej pracy. Testy wysokiej klasy prowadzą do znacznych zwrotów, gdy firmy zdecydują się na odpowiednie inwestycje.
W skrócie, hybrydowa strategia testowania manualnego + automatyzacji zawsze dostarczy lepszy wynik testu niż którakolwiek z tych strategii, gdy jest używana wyłącznie.
Czego potrzebujesz, aby rozpocząć testowanie ręczne?
Jest kilka rzeczy, których potrzebujesz, aby rozpocząć proces testowania ręcznego, a posiadanie wszystkich tych funkcji dostępnych dla Ciebie sprawia, że testowanie jest nie tylko łatwiejsze, ale możliwe w pierwszej kolejności.
Niektóre z rzeczy, których potrzebujesz, aby rozpocząć testowanie ręczne, obejmują:
1. Oprogramowanie
Pierwszą rzeczą, której tester potrzebuje do przeprowadzenia testów oprogramowania jest samo oprogramowanie. W końcu testowanie ręczne jest skutecznie niemożliwe, jeśli nie ma nic dostępnego do testowania.
Efektywny test oprogramowania polega na użyciu najnowszej iteracji oprogramowania, ponieważ ma ona cały istotny kod źródłowy dla potrzeb użytkownika i jest bardziej sprawiedliwą reprezentacją produktu w obecnej postaci.
Jeśli to możliwe, skompiluj aplikację całkowicie świeżą, aby uzyskać jak najdokładniejszy widok oprogramowania.
2. Wymagania dotyczące oprogramowania
Tester musi mieć dostęp do wymagań oprogramowania. Nie chodzi tu o sprzęt czy system operacyjny, którego potrzebuje pakiet, ale raczej o brief dla oprogramowania, nad którym pracuje deweloper.
Posiadanie bardziej szczegółowych wymagań dotyczących oprogramowania na etapie testowania oznacza, że pracownicy działu QA od początku szukają wszystkich ważnych funkcji, notując miejsca, w których występują problemy w oprogramowaniu i zalecając poprawki.
Bez tego tester pracuje bez żadnych wskazówek i nie wie, czy informacje, które dostarcza, są rzeczywiście przydatne dla zespołu deweloperskiego.
3. Odpowiedni sprzęt
Testowanie oprogramowania wymaga sprzętu, który spełnia potrzeby programu, który jest uruchamiany.
Na przykład, jeśli tester szuka błędów lub problemów w nowej grze wideo, która wymaga zaawansowanego sprzętu, a posiada jedynie komputer klasy low-tier, nie będzie w stanie prawidłowo przetestować oprogramowania.
Jest to mniejszy problem dla małych aplikacji lub narzędzi internetowych. Upewnij się, że sprzęt, którego używasz, odpowiada potrzebom oprogramowania, zanim rozpoczniesz testy, wybierając sprzęt po konsultacji z zespołem programistów na temat wymagań oprogramowania.
Proces testowania ręcznego
Istnieje kilka kroków do naśladowania podczas przechodzenia przez proces testowania ręcznego, z których każdy odgrywa rolę w dostarczaniu dokładnej perspektywy twojego programu.
Czynności te obejmują:
1. Przeanalizuj wymagania
Pierwszym krokiem w procesie testowania manualnego jest analiza wymagań aplikacji. Obejmuje to konkretne wymagania wymienione w briefie aplikacji, niektóre cechy dokumentu projektowego i wszelkie inne części programu, których się spodziewasz (takie jak wymagania prawne).
Analizowanie ich na początku procesu oznacza, że wiesz, co testujesz podczas badania oprogramowania.
2. Utwórz plan testów
Gdy już wiesz, co wymaga przetestowania, stwórz plan testów. Wiąże się to z wiedzą, jakie funkcje testujesz, jak dokładnie je testujesz i kiedy w procesie kończysz te testy.
Tworząc plan testów upewniasz się, że wszystkie potrzebne testy są gotowe z wyprzedzeniem i że nie pominiesz przypadkiem żadnej funkcjonalności.
Pomaga to również w zarządzaniu siłą roboczą, ponieważ wiesz, ilu testerów manualnych potrzebujesz i kiedy.
3. Napisz przypadki testowe
Zacznijcie pisać jakieś przypadki testowe dla oprogramowania. Przypadek testowy to zestaw zdarzeń, które wypełniasz podczas testowania oprogramowania, śledząc je rygorystycznie za każdym razem, aby upewnić się, że jest to uczciwy test.
Zastanów się nad konkretnym testem manualnym, nad którym pracujesz w każdym przypadku i uwzględnij jak najwięcej szczegółów, ponieważ zmniejsza to szansę, że ktokolwiek odejdzie od pierwotnego planu.
4. Przejrzyj swoje sprawy
Po napisaniu wszystkich swoich przypadków testowych, przejdź przez dokładny proces recenzji. Polega to na przekazaniu przypadków testowych członkowi kadry zarządzającej, najlepiej kierownikowi QA.
Angażując osobę trzecią w proces korekty, zwiększasz standard przypadków testowych poprzez usunięcie wszelkich błędów, które mogą być obecne. Kierownik może zasugerować wszelkie ulepszenia, które ostatecznie sprawią, że twoje testy ręczne będą bardziej efektywne i pomogą ci znaleźć wszelkie problemy w aplikacji.
Upewnij się, że każdy pojedynczy przypadek testowy jest weryfikowany przed wykonaniem testów.
5. Wykonaj testy manualne
Gdy kierownik potwierdzi przypadek testowy, zacznij wykonywać testy. Postępuj zgodnie z nimi w kolejności, którą ustaliłeś na samym początku procesu, aby upewnić się, że ukończyłeś każdy test i upewnić się, że ludzie wypełniają testy powoli i ostrożnie.
Poprawne wykonanie testów w 100% zaoszczędzi Ci wiele czasu na popełnianiu błędów w niektórych wykonaniach i konieczności powrotu i ponownego sprawdzenia, czy wyniki są dokładne.
Zapisuj informacje w trakcie pracy, aby zmniejszyć szansę na zapomnienie kluczowych informacji.
6. Zgłoś wszelkie błędy
Po zakończeniu testów manualnych i znalezieniu ewentualnych błędów, zakończ proces raportowania.
Wiąże się to z napisaniem raportu dla zespołu programistów, w którym wymienione są wszystkie błędy, gdzie je znalazłeś i kroki, które podjąłeś, aby je odtworzyć. Uwzględnij wszystkie dane, które generujesz w swoich testach.
W bardziej jakościowych testach omów szczegółowo projekt aplikacji, wszelkie problemy, które miałeś, i kilka potencjalnych poprawek, które sprawiają, że aplikacja jest bardziej przyjazna dla użytkownika.
Pamiętaj, że to właśnie na tym etapie testowanie manualne naprawdę wyróżnia się na tle automatyzacji, ponieważ testerzy manualni mogą dostarczyć informacji jakościowych, których automatyzacja często nie może dostarczyć.
Najlepsze praktyki w zakresie testowania ręcznego
Najlepsze praktyki odnoszą się do pewnych rzeczy, które są wspólne dla wszystkich rodzajów testów manualnych, które pomagają poprawić standard procesu testowania. Postępowanie zgodnie z najlepszymi praktykami ostatecznie oznacza, że znajdziesz się z wysokiej jakości testem, który ma dokładne i wiarygodne wyniki.
Niektóre najlepsze praktyki, o których należy pamiętać, przechodząc przez proces testowania ręcznego, obejmują:
1. Skup się na jasności
Podkreślanie jasności w całym procesie testowania ręcznego jest koniecznością.
Bycie tak jasnym, jak to tylko możliwe, zmniejsza możliwość błędnej komunikacji między działami i specjalistami, pomagając utrzymać ludzi skupionych na pracy nad właściwymi obszarami oprogramowania. Jest to szczególnie ważne w testach manualnych, ponieważ istnieje większe pole do interpretacji instrukcji.
Obejmuje to pisanie jasnego przypadku testowego dla testera, notowanie wyników w prosty i zrozumiały sposób oraz pomoc wszystkim w organizacji w zrozumieniu wymagań aplikacji.
2. Stosowanie ciągłego przeglądu
Przeglądaj wszystko w procesie testowania tak często, jak tylko możesz.
Skuteczny proces przeglądu obejmuje zwrócenie uwagi na sposób, w jaki członkowie personelu wykonują swoje zadania, przeglądanie przypadków testowych w celu sprawdzenia, czy nadal działają zgodnie z oczekiwaniami, a także przegląd samego oprogramowania w celu zapewnienia postępu.
Pilnowanie jakości każdego aspektu procesu daje pewność, że standardy nie ulegną obniżeniu i że otrzymasz wystarczająco wysoki poziom produkcji od początku do końca.
3. Nie poluj tylko na błędy
Niektórzy ludzie myślą, że głównym celem testowania oprogramowania jest znalezienie błędów, ale to jest dalekie od prawdy. Proces ten polega również na upewnieniu się, że aplikacja spełnia wysokie standardy, działa w sposób przewidywalny i jest wygodna dla użytkownika.
Ta użyteczność jest w końcu głównym celem testowania manualnego, ponieważ jest prawie „nieutomatyczna”.
Jeśli znajdziesz jakieś błędy podczas wykonywania swojego przypadku testowego, to uwzględnij je w swoim raporcie, ale wychodzenie z drogi, aby znaleźć błędy, które nie są istotne dla testu, może zdezorientować deweloperów i umieścić proces za jego oczekiwaną pozycją.
Rodzaje danych wyjściowych z testu manualnego
Istnieje kilka różnych typów danych wyjściowych, które można otrzymać z testu ręcznego, z których każdy oferuje unikalny wgląd w sposób działania aplikacji.
Rodzaje danych wyjściowych, które można uzyskać z testów manualnych to:
1. Dziennik usterek
Dziennik usterek jest listą lub dokumentem zawierającym wszystkie problemy, z którymi boryka się oprogramowanie podczas testów. Im dłuższy dziennik usterek, tym więcej jest problemów, które wymagają łatania w oprogramowaniu.
Mogą one być automatyczne lub napisane ręcznie przez testera ręcznego, przy czym testerzy ręczni wykonują to zadanie w bardziej jakościowych aspektach programu, ponieważ platformy automatyzacji nie są w stanie formułować opinii na temat jakości kawałka oprogramowania i po prostu generują metryki.
2. Dane jakościowe
Odnosi się to do słownej i pisemnej informacji zwrotnej, którą tester manualny przedstawia zespołowi programistów, zazwyczaj po zakończeniu serii testów, takich jak test akceptacji użytkownika.
UAT skupia się na upewnieniu się, że przeciętny użytkownik będzie cieszył się oprogramowaniem i angażował się w nie zgodnie z oczekiwaniami, co oznacza inny nacisk w porównaniu z takimi aspektami jak testowanie funkcji.
Dane jakościowe występują w formie rozmowy z deweloperem lub pisemnego raportu o długiej formie.
3. Komunikaty o błędach
Komunikaty o błędach to krótkie ciągi tekstu, które informują, czy w pakiecie oprogramowania wystąpił błąd, a jeśli tak, to jaka jest jego natura.
Większość programistów pisze dokładny system, który opisuje, czym jest problem i dlaczego występuje, używając kodów błędów do zawężenia problemu. Notując wszelkie komunikaty o błędach w oprogramowaniu, deweloper natychmiast zna przyczynę powstałego problemu i jest świadomy potencjalnych kroków, które należy podjąć w celu jego rozwiązania.
Przykłady testów manualnych
Istnieje kilka przykładów testowania ręcznego, które należy rozważyć, gdy dowiadujemy się więcej o tym, jak przejść przez proces testowania ręcznego. Każda z nich jest specyficzną dyscypliną testową, która odbywa się w określonym punkcie cyklu rozwoju, oferując deweloperom większy wgląd i wskazówki, jak ulepszyć swój produkt.
Niektóre przykłady formatów testów manualnych to:
1. Testy jednostkowe
Testy jednostkowe to proces upewniania się, że każda pojedyncza jednostka w pakiecie oprogramowania działa tak, jak można się spodziewać. Jednostka, lub moduł, odnosi się do pojedynczej funkcji, która jest kodowana niezależnie, zanim zostanie skompilowana w jeden większy pakiet oprogramowania na końcu procesu.
Przykładem tego jest baza danych, gdzie ktoś może przetestować funkcję „SORT”, aby upewnić się, że organizuje ona dane prawidłowo przed włączeniem jej do szerszego pakietu.
Główną korzyścią z ukończenia testów jednostkowych jest fakt, że rozumiesz, że wszystkie systemy działają poprawnie samodzielnie, a wszelkie problemy, które pojawiają się na późniejszych etapach pochodzą ze sposobu, w jaki wszystkie funkcje integrują się ze sobą.
Uzupełnianie tych testów ręcznie jest równie ważne, ponieważ pozwala zaoszczędzić czas, który zostałby poświęcony na skomplikowane kodowanie przypadków testów automatyzacji.
2. Badanie typu „od końca do końca
Testowanie end-to-end to proces testowania całej aplikacji, od momentu pierwszego otwarcia programu do zakończenia wszystkich funkcji w nim zawartych.
Dobrym przykładem testowania end-to-end jest aplikacja mobilna, która oblicza, ile zarabiasz podatku, w której tester pobiera aplikację i przechodzi przez wszystkie funkcje, aby otrzymać ostateczne obliczenia. Tester notuje wszelkie problemy, które miał i przekazuje je deweloperom.
Deweloperzy korzystają z tej formy testowania, która jest głównie wykonywana przez testerów manualnych, ponieważ jest to okazja, aby zobaczyć, jak wszystkie jednostki oprogramowania działają razem, z tym późnym etapem testowania, który zapewnia, że aplikacja działa poprawnie, gdy wszystko razem.
Testy end-to-end różnią się od testów akceptacyjnych użytkownika, ponieważ end-to-end jest przede wszystkim procesem wewnętrznym, w przeciwieństwie do zewnętrznego, publicznego charakteru procesu testów akceptacyjnych użytkownika.
3. Testy akceptacyjne użytkowników
Testy akceptacyjne użytkowników są ostatnim etapem procesu testowania oprogramowania i polegają na upewnieniu się, że produkt jest odpowiedni dla zamierzonej bazy klientów produktu. Obejmuje to zapewnienie potencjalnym klientom dostępu do aplikacji, aby mogli z niej skorzystać i przekazać informacje zwrotne.
Jednym z najczęstszych przykładów testów akceptacji użytkownika w nowoczesnym oprogramowaniu są testy alfa i beta gier wideo, w których gracze grają w grę i zgłaszają wszelkie problemy, które w niej występują.
Główną korzyścią z przeprowadzania testów akceptacji użytkownika jest to, że otrzymujesz zewnętrzną perspektywę na swój produkt, zamiast polegać na perspektywie osób, które miały aktywną rolę w tworzeniu produktu, usuwając wszelkie możliwości stronniczości wpływające na testowanie. Testowanie ręczne jest koniecznością, ponieważ system automatyzacji nie jest w stanie dokładnie odwzorować odczuć klientów.
Rodzaje błędów i usterek wykrywanych przez testy ręczne, które pomijają testy automatyczne
Testowanie ręczne znajduje wszelkiego rodzaju błędy, pomyłki i problemy, podobnie jak testowanie automatyczne. Jednakże, istnieją pewne problemy w oprogramowaniu, w których testowanie ręczne wyróżnia się w odkrywaniu, gdzie automatyzacja mogłaby przegapić.
Niektóre z głównych rodzajów błędów i bugów w testach manualnych obejmują:
1. Słaby przepływ pracy
„Workflow” odnosi się do ścieżki, którą podąża użytkownik, aby dotrzeć do określonego punktu w aplikacji i zakończyć proces. Chociaż w niektórych przepływach pracy może nie być nic złego pod względem technicznym, nadal mogą być problematyczne, ponieważ ścieżka może nie mieć sensu dla laika.
W takich przypadkach tester manualny poinformuje dewelopera o problemach z projektem i zaleci zmiany, pomagając użytkownikom być bardziej wygodnym i zaznajomionym z aplikacją w sposób, którego nie uświadczą zautomatyzowane systemy.
2. Kwestie graficzne
Aplikacje internetowe działają na wielu urządzeniach, a rozdzielczości i rozmiary monitorów zmieniają się stale w zależności od telefonu, tabletu czy ekranu, którym dysponuje użytkownik.
W słabo zoptymalizowanej aplikacji może to prowadzić do rozciągnięcia aktywów i gorszego wyglądu na rzadziej używanych urządzeniach, przy czym narzędzia automatyzacji po prostu podążają za menu i nie zauważają tego.
Poprzez wdrożenie szeregu urządzeń, testerzy manualni mogą znaleźć wady graficzne, które po załataniu powodują, że użytkownicy mają lepsze doświadczenia z pakietem oprogramowania.
3. Niedokładne linki
Niektóre strony internetowe lub aplikacje łączyły się z serwisami społecznościowymi za pomocą serii przycisków i osadzonych linków. Jednak nie zawsze mogą one linkować do właściwego miejsca w wyniku literówki lub błędu w procesie rozwoju, co jest czymś, co automatyczny system niekoniecznie znajdzie.
Linki trafiające w niewłaściwe miejsce mogą powodować zamieszanie i znacząco zaszkodzić retencji. Testerzy manualni przechodzą przez wszystkie linki w programie i upewniają się, że prowadzą one do właściwego miejsca, pomagając użytkownikom końcowym dotrzeć tam, gdzie zamierzają, a nie zostać wprowadzonym w błąd przez jakiś problem.
Wspólne metryki testów manualnych
Metryka to proste i mierzalne wartości liczbowe, które wskazują na coś po zakończeniu testu. Wszystkie one mają charakter ilościowy, co ułatwia ich ocenę z perspektywy dewelopera.
Niektóre z bardziej powszechnych metryk testowania ręcznego, z których korzystają testerzy, obejmują:
1. Wady
Metryka defektów jest stosunkowo prosta i odnosi się do liczby błędów lub bugów, które są obecne w pakiecie oprogramowania. Wada to każdy przypadek, w którym oprogramowanie nie działa zgodnie z oczekiwaniami, począwszy od funkcjonalności oprogramowania po sposób działania grafiki. analiza defektów jako metryki jest stosunkowo prosta – więcej defektów to większy problem dla firmy.
Śledząc, czy liczba defektów wzrasta lub maleje z iteracji na iterację, można lepiej zrozumieć, czy jakość oprogramowania zmierza we właściwym kierunku, ponieważ nadal otrzymuje ono aktualizacje.
2. Uchybienia na godzinę badania
Defekty na godzinę testową biorą metrykę defektów i dodają trochę więcej szczegółów, dzieląc liczbę defektów przez liczbę godzin, które testerzy spędzają nad oprogramowaniem.
Na przykład proste narzędzie internetowe z pięcioma wadami, którego uruchomienie zajmuje dwie minuty, będzie wyglądać lepiej niż takie z dziesięcioma wadami, którego używasz przez godzinę z metryką bazową.
Wykonując te dalsze obliczenia, testerzy manualni uzyskują lepsze wyobrażenie o gęstości defektów, rozumiejąc, jak często użytkownik może natknąć się na defekt i czy to poważnie wpływa na jego czas spędzony z aplikacją.
Bilansowanie defektów w stosunku do wielkości aplikacji jest zawsze korzystne dla kontekstu problemów.
3. Procent pozytywnego wyniku testu
Niektóre przypadki testowe są uruchamiane z prostą podstawą pass/fail, a ta metryka zapewnia procent przypadków testowych, które przeszły. Im wyższy procent zaliczonych przypadków testowych, tym lepiej działa aplikacja.
Gdy jest to możliwe, spróbuj użyć procentu zaliczonego przypadku testowego na zasadzie feature-by-feature, a nie podczas badania całej aplikacji. Zapewnia to bardziej ziarniste informacje o tym, co działa, a co nie, pomagając programistom wprowadzać zmiany tam, gdzie są one konieczne, zamiast kończyć dalsze dochodzenie, aby zobaczyć dokładnie, gdzie jest problem. Im szybciej znajdziesz przyczynę problemu, tym lepiej.
7 błędów i pułapek we wdrażaniu testów manualnych
Istnieje kilka błędów, które są powszechne w całej branży testowania oprogramowania, z których każdy może doprowadzić do tego, że błędy nie zostaną znalezione, a testowanie potrwa dłużej niż oczekiwano przy wyższych kosztach.
Niektóre z głównych błędów i pułapek, na które należy zwrócić uwagę i których należy unikać podczas wdrażania testów manualnych w swojej pracy, obejmują:
1. Samodzielne naprawienie błędu
Na niektórych etapach procesu deweloperskiego deweloper jest osobą odpowiedzialną zarówno za testowanie kodu, jak i naprawę problemu. Może to prowadzić do tego, że będą próbowali sami rozwiązywać problemy z oprogramowaniem, mimo że mogą nie do końca rozumieć przyczynę problemu.
Tam, gdzie to możliwe, staraj się, aby istniał wyraźny podział na testera i osobę, która koduje rozwiązanie. Dokonując tego rozróżnienia, zmniejszasz szansę na to, że staniesz się zbyt skoncentrowany na naprawie konkretnego błędu, który znalazłeś, zamiast rozliczać się z resztą oprogramowania.
Zawsze rozdzielaj pracę, jeśli jest to możliwe, aby uzyskać szerszy zakres wiedzy na temat danego zagadnienia.
2. Pośpieszne przeprowadzanie testów
Niektóre programy mają bardzo napięte terminy wydania, co może powodować, że testerzy skupiają się na szybszym przejściu przez testy, aby osiągnąć docelową datę. Jest to poważny błąd, gdyż grozi to przedostaniem się istotnych błędów. Testowanie ręczne może zaostrzyć ten problem, ponieważ ludzie czują presję i aktywnie pędzą przez rzeczy.
Staraj się poświęcić jak najwięcej czasu podczas realizacji przypadków testowych, przechodząc przez każdy krok dokładnie i notując dane dokładniej. Nawet jeśli musisz nieco opóźnić wydanie, lepiej wysłać kompletny produkt niż taki, z którego użytkownicy nie będą korzystać z powodu niskich standardów.
3. Słaba komunikacja
Komunikacja w zespole ma pierwszorzędne znaczenie w każdym projekcie tworzenia oprogramowania, gdzie ludzie uzyskują jak najwięcej informacji od swoich współpracowników i wykorzystują je do ulepszania produktu. Dotyczy to prowadzenia ciągłej rozmowy pomiędzy działami, jak również w obrębie jednego działu.
Im skuteczniej zespół QA komunikuje się z deweloperami, tym lepsze wskazówki mają oni przy tworzeniu aktualizacji, a wszyscy wspólnie korzystają z wydania produktu na najwyższym poziomie.
Testowanie ręczne pozwala na lepszą komunikację, ponieważ tester ma pełne zrozumienie doświadczenia, zapewniając więcej jasności i szczegółów.
4. Badanie bez przygotowania
Przygotowanie rodzi perfekcję i jest to prawda w całym krajobrazie testowania oprogramowania. W przypadku testowania manualnego, oznacza to poświęcenie czasu na zrozumienie oprogramowania, oprócz nauczenia się briefu i stworzenia przypadków testowych, które odpowiednio wyzwolą wszystkie te cele.
Poświęcenie czasu oznacza, że twoje przypadki testowe odpowiadają twoim potrzebom jako dewelopera, a ty masz znacznie większe szanse na znalezienie wszystkich najważniejszych błędów w systemie. Pomaga to również testerom w bardziej przejrzystym czytaniu przypadków testowych i wykonywaniu ich z większą precyzją.
5. Ignorowanie swoich instynktów
Kiedy firma zaczyna testować ręcznie, robią to z kilku powodów, w tym z faktu, że chcą zdolności adaptacyjnych i instynktów ludzkiego testera. Kiedy testujesz oprogramowanie, możesz zauważyć, że coś wydaje się dziwne, mimo że nie jest aktywnie częścią przypadku testowego, co skłania Cię do nie wprowadzania żadnych zmian lub dalszego badania. To jest błąd.
Zawsze pobłażaj swojej ciekawości i słuchaj tego, co podpowiada ci instynkt, ponieważ pomaga to w znalezieniu problemów, których nie może znaleźć automatyczny przypadek testowy. Testerzy manualni są wybierani ze względu na swoją inteligencję i wiedzę, więc działanie w oparciu o te cechy to maksymalne wykorzystanie potencjału testu.
6. Obawa przed błędami
Każdy popełnia błędy, niezależnie od wykonywanej pracy. Najlepiej jest jednak przyjąć to do wiadomości, niż wchodzić w proces z obawą, że można popełnić błąd. To sprawia, że jesteś bardziej zestresowany i jest jeszcze bardziej prawdopodobne, że spowoduje to problemy z wydajnością twoich testów. Automatyka nie ma tego problemu, przy czym testerzy manualni są bardziej podatni na presję.
Podchodź do swoich zadań naturalnie, a jeśli popełnisz błąd, staraj się go jak najszybciej naprawić. Testowanie oprogramowania jest etapem, w którym odkrywasz i naprawiasz problemy, a okazjonalny problem testowy nie zrujnuje oprogramowania dla użytkownika końcowego, tak długo jak go naprawisz.
7. Nie robienie przerw
Testowanie manualne wymaga wysokiego poziomu dbałości o szczegóły na każdym pojedynczym teście, co może być męczące dla testera. Pomimo tego, niektórzy testerzy i firmy skupiają się na tym, by testerzy pracowali przez cały dzień, bez żadnych dodatkowych przerw na zmęczenie czy utratę koncentracji.
Jest to istotny błąd. Zapewnij personelowi testującemu przerwy w ciągu dnia, ponieważ zmniejsza to szansę na wystąpienie problemów i utrzymuje testy tak dokładne, jak to możliwe. Jeśli sam jesteś testerem, staraj się współpracować z personelem zarządzającym, aby aktywnie dbać o zdrowie psychiczne swoje i osób wokół ciebie.
Najlepsze narzędzia do testów manualnych
Kiedy wykonujesz testy manualne, nie musisz wykonywać każdej części pracy samodzielnie. W niektórych przypadkach użycie narzędzia może być idealne do zarządzania testami i uczynienia procesu tak gładkim, jak to tylko możliwe. Jeśli jesteś testerem myślącym o sposobach poprawy swoich standardów, spojrzenie na narzędzia może być idealnym początkiem.
5 najlepszych darmowych narzędzi do testów manualnych
Kiedy zaczynasz z jakimkolwiek nowym narzędziem w testowaniu oprogramowania, chcesz się upewnić, że otrzymujesz dobrą wartość dla swojej inwestycji. Odnosi się to do ilości czasu, który inwestujesz w oprogramowanie i ilości pieniędzy, które wydajesz, aby uzyskać licencję.
Z darmowymi narzędziami do testowania ręcznego, uzyskanie wartości za pieniądze jest o wiele prostsze i nie cierpisz z powodu wyrzutów sumienia kupującego, jeśli to nie działa.
Niektóre z najlepszych darmowych narzędzi do testowania ręcznego dostępnych dla zespołów zapewnienia jakości to:
1. JIRA
JIRA to narzędzie do tworzenia dokumentacji do testowania oprogramowania, które pozwala programistom tworzyć bilety dla wszelkich błędów, problemów lub poprawek, które wymagają wsparcia. Ta platforma pochodzi z narzędzi priorytetowych zbyt, więc zespół rozwoju może wyglądać do sortowania najważniejszych problemów najpierw podczas poprawy ich programu.
2. LoadRunner
Kompatybilny z wieloma narzędziami programistycznymi, LoadRunner pomaga w testowaniu wydajności w różnych ustawieniach, generując dane z testów wydajnościowych w zawiłych szczegółach. Narzędzie pomaga również skategoryzować niektóre z głównych przyczyn problemów z wydajnością dla dewelopera szukającego zwiększenia wydajności.
3. SonarQube
Obsługa szerokiej gamy języków programowania poprzez ręczną pracę testową, śledzenie pomiarów w czasie w celu zmniejszenia ilości raportów, które testerzy ręczni muszą wypełnić sami. Wysoka zdolność do adaptacji i skuteczna integracja z wieloma głównymi aplikacjami innych firm.
4. Trac
Opracowany w Pythonie, Trac jest narzędziem do zarządzania projektami, które zapewnia historię widoku, kod i wszelkie zmiany, dzięki czemu widzisz modyfikacje wprowadzone między testami. Debugowanie poprzez Trac wykorzystuje również system zarządzania biletami, upraszczając proces znajdowania problemu i naprawiania go dla użytkownika.
5. NUnit
Oparty na JUnit, NUnit jest całkowicie open-source’owym narzędziem, które obsługuje testy zorientowane na dane i skutecznie integruje się z wieloma platformami. Masz dostęp do danych ilościowych nawet po zakończeniu testów manualnych, co zapewnia większy wgląd dla deweloperów szukających możliwości naprawienia wszelkich problemów.
5 najlepszych darmowych narzędzi do testów automatycznych
Chociaż testowanie manualne ma wiele zalet,wdrożenie automatyzacji do procesów testowych jest czasami idealnym rozwiązaniem.
Pomaga to wyeliminować niektóre z wad skupienia się wyłącznie na testach manualnych, a jednocześnie uzyskać dobry przegląd oprogramowania. Automatyzacja wymaga pewnych narzędzi, aby rozpocząć pracę, a wielu programistów woli korzystać z darmowych narzędzi, gdy rozpoczynają pracę i zapoznają się z platformą.
Niektóre z najlepszych dostępnych darmowych narzędzi do testowania automatyzacji to:
1. ZAPTEST FREE EDITION
ZAPTEST Free Edition został zaprojektowany, aby pomóc testerom zintegrować automatyzację w ich pracy, z naciskiem na bycie wieloplatformowym i uzyskanie użytkowników do wdrożenia automatyzacji w sposób, który właściwie wspiera testowanie ręczne. Automatyzacja wszelkich zadań jest kluczową cechą, z wszystkimi aspektami oprogramowania, które mogą być zautomatyzowane poprzez ZAPTEST Free Edition.
2. Appium
Open-source’owy framework do automatyzacji testów, to szczególnie skupia się na automatyzacji urządzeń mobilnych dla aplikacji, które działają na sklepach internetowych. Appium działa z wieloma API i systemami operacyjnymi, w tym iOS, Windows, Mobile, Web i Android.
3. Platforma Katalon
Bezkodowe rozwiązanie, Katalon pomaga testerom bez doświadczenia w kodowaniu osiągnąć lepsze wyniki w pracy nad testami automatycznymi. Ta platforma ma sklep z szeregiem rozszerzeń, ale oznacza to, że aby w pełni wykorzystać oprogramowanie testujące, prawdopodobnie będziesz musiał poświęcić dużo czasu i potencjalnie pieniędzy na dostosowanie go do swoich potrzeb.
4. Robotium
Narzędzie open-source, które w szczególności ukierunkowane jest na testowanie systemu Android, umożliwiając jednocześnie akceptację użytkownika i testowanie szarej skrzynki. Chociaż ta aplikacja działa w wysokim standardzie, istnieje pewne ryzyko dla użytkowników, ponieważ aplikacje cross-platformowe nadal wymagałyby testowania na wszystkich innych platformach.
5. Loadster
Loadster to narzędzie stworzone z myślą o firmach, które pracują z aplikacjami, które mają duże bazy użytkowników. Korzystanie z tego narzędzia pomaga programistom przygotować się na większe szczyty ruchu i mieć optymalną wydajność nawet przy znacznej presji na serwery firmy. Oprócz pomocy w testowaniu ręcznym, Loadster może zautomatyzować niektóre zadania testera, takie jak odpoczynek obciążenia.
Wniosek
Podsumowując, testy manualne są atutem każdej organizacji. Testerzy mogą odkryć inaczej niewidoczne problemy i dostarczyć szczegółowych informacji zwrotnych o aplikacji, czego automatyzacja po prostu nie może zrobić.
Chociaż istnieją pewne wady testów manualnych, inteligentne firmy coraz częściej stosują hybrydowy system testów manualnych i automatycznych, pomagający uwzględnić słabości każdego z nich, jednocześnie wykorzystując zalety obu.
Testowanie ręczne jest podstawą lepszego rozwoju oprogramowania i używanie go we właściwy sposób może zrobić wielką różnicę w twoich wynikach.
FAQs i zasoby
Testowanie ręczne może być skomplikowanym tematem, więc zrozumiałe jest, że możesz mieć jeszcze kilka pytań dotyczących sposobu, w jaki to działa. Zobacz kilka często zadawanych pytań na temat testowania manualnego z kilkoma zasobami, z których możesz skorzystać, gdy uczysz się, aby stać się lepszym testerem manualnym w czasie.
1. Najlepsze kursy z zakresu automatyzacji testów manualnych
– „Podstawy automatyzacji testów” – Udemy
– „Szkolenia z automatyki testów” – NobleProg
– „Szkolenie z zakresu testów manualnych – Wielka Brytania” – Akademia Wiedzy
– „Testy manualne i automatyzacyjne” – IT Talent Hub
2. Jakie jest 5 najlepszych pytań na wywiad dotyczący Testów Manualnych?
– „Czy masz doświadczenie w testowaniu manualnym?” – Ustala, czy kandydat ma duże doświadczenie w pracy w środowiskach testowych.
– „Jaka jest różnica między testowaniem manualnym a automatyzacją testów?”. – Ustala, czy kandydat posiada podstawową wiedzę techniczną na temat procesów testowania.
– „Jak pokonałeś wyzwania w środowisku testowania oprogramowania?”. – Ocenia umiejętności rozwiązywania problemów, które kandydat posiada w przestrzeni testów manualnych.
– „Jakie jest idealne narzędzie do wspierania testów manualnych?”. – Buduje lepsze wyobrażenie o przepływach pracy, których używa kandydat i czy pasuje to do firmy.
– „Czy dobrze się czujesz pracując w zespole?” – Niech osoba prowadząca rozmowę wie, czy kandydat jest w stanie pracować w większej grupie.
3. Najlepsze tutoriale na Youtube dotyczące testów manualnych
– „Testy manualne (pełny kurs)” – SDET- QA Automation Techie
– „SOFTWARE TESTING TUTORIAL – Master Software Testing and Crack Job in Testing” – Software Testing Mentor
– „Czym jest testowanie manualne? | Samouczek Testów Manualnych dla początkujących | Edureka” – edureka!
– „Koncepcje testów manualnych (funkcjonalnych)” – Naveen AutomationLabs
– „Tutoriale o testach manualnych” – Software Testing Academy
4. Jak utrzymywać testy manualne?
Jest kilka rzeczy, które możesz zrobić, aby utrzymać testy ręczne, z których pierwszą jest dbanie o testerów. Stawiając dobrostan w centrum procesów testowych, upewniasz się, że wszyscy są w dobrej kondycji, aby poświęcić uwagę i osiągnąć szczyt swoich możliwości.
Ponadto należy skupić się na posiadaniu dobrych struktur wsparcia. Oznacza to nadzór ze strony menedżerów, którzy dbają o to, aby testy były spójne i dawały dokładne wyniki wszędzie tam, gdzie jest to możliwe.
Nie ma tu ścisłej mechanicznej czy automatycznej konserwacji jako takiej, ale opieka nad ludźmi jest formą konserwacji testów sama w sobie.