Testowanie ręczne to proces testowania oprogramowania, w którym przypadki testowe są wykonywane ręcznie, bez użycia żadnego zautomatyzowanego narzędzia. Wszystkie przypadki testowe wykonywane przez testera ręcznie, zgodnie z perspektywą użytkownika końcowego. Zapewnia, czy aplikacja działa, jak wspomniano w dokumencie wymagań, czy nie. Przypadki testowe są planowane i wdrażane tak, aby ukończyć prawie 100 procent aplikacji. Raporty przypadków testowych są również generowane ręcznie.
Testowanie ręczne jest jednym z najbardziej podstawowych procesów testowania, ponieważ pozwala wykryć zarówno widoczne, jak i ukryte defekty oprogramowania. Różnica pomiędzy oczekiwaną wydajnością a wydajnością podaną przez oprogramowanie jest definiowana jako defekt. Deweloper naprawił defekty i przekazał testerowi do ponownego przetestowania.
Testowanie ręczne jest obowiązkowe dla każdego nowo opracowanego oprogramowania przed testowaniem automatycznym. Testowanie to wymaga dużego wysiłku i czasu, ale daje pewność, że oprogramowanie jest wolne od błędów. Testowanie ręczne wymaga znajomości technik testowania ręcznego, ale nie znajomości jakichkolwiek narzędzi do testowania automatycznego.
Testowanie ręczne jest niezbędne, ponieważ jeden z Testowanie oprogramowania podstawowa zasada brzmi: „100% automatyzacja nie jest możliwa”.
Dlaczego potrzebujemy testów ręcznych
Zawsze, gdy aplikacja pojawia się na rynku i jest niestabilna, zawiera błąd lub problemy, lub stwarza problem podczas korzystania z niej przez użytkowników końcowych.
Jeśli nie chcemy mierzyć się z tego typu problemami, musimy przeprowadzić jedną rundę testów, aby aplikacja była wolna od błędów i stabilna oraz aby dostarczyć klientowi produkt wysokiej jakości, ponieważ jeśli aplikacja jest wolna od błędów, użytkownik końcowy będzie wygodniej korzystać z aplikacji.
Jeśli inżynier testowy przeprowadzi testy ręczne, może przetestować aplikację z perspektywy użytkownika końcowego i lepiej zapoznać się z produktem, co pomoże mu napisać prawidłowe przypadki testowe aplikacji i szybko uzyskać informację zwrotną na temat aplikacji.
Rodzaje testów manualnych
Do testowania ręcznego stosuje się różne metody. Każdą technikę stosuje się zgodnie z kryteriami testowania. Poniżej podano rodzaje testów ręcznych:
- Testowanie białej skrzynki
- Testowanie czarnej skrzynki
- Testowanie szarej skrzynki
Testowanie białej skrzynki
Testowanie białej skrzynki przeprowadzane jest przez Dewelopera, podczas którego sprawdza każdą linię kodu przed przekazaniem go Inżynierowi Testów. Ponieważ kod jest widoczny dla Programisty podczas testowania, dlatego nazywa się to testowaniem białej skrzynki.
Więcej informacji na temat testów białej skrzynki można znaleźć pod poniższym linkiem:
https://www.javatpoint.com/white-box-testing
Testowanie czarnej skrzynki
Testowanie czarnej skrzynki przeprowadza Inżynier Testów, podczas którego może sprawdzić funkcjonalność aplikacji lub oprogramowania zgodnie z potrzebami klienta. W tym przypadku kod nie jest widoczny podczas wykonywania testów; dlatego nazywa się to testowaniem czarnej skrzynki.
Więcej informacji na temat testów czarnej skrzynki można znaleźć pod poniższym linkiem:
https://www.javatpoint.com/black-box-testing
Testowanie szarej skrzynki
Testowanie szarej skrzynki to połączenie testów białej skrzynki i czarnej skrzynki. Może to wykonać osoba znająca się zarówno na kodowaniu, jak i testowaniu. A jeśli pojedyncza osoba przeprowadza dla aplikacji testy białej skrzynki i czarnej skrzynki, nazywa się to testowaniem szarej skrzynki.
Aby uzyskać więcej informacji na temat testowania szarej skrzynki, skorzystaj z poniższego łącza:
https://www.javatpoint.com/grey-box-testing
Jak przeprowadzić testowanie ręczne
- Najpierw tester obserwuje wszystkie dokumenty związane z oprogramowaniem, aby wybrać obszary testowe.
- Tester analizuje dokumenty wymagań pod kątem wszystkich wymagań określonych przez klienta.
- Tester opracowuje przypadki testowe zgodnie z dokumentem wymagań.
- Wszystkie przypadki testowe są wykonywane ręcznie przy użyciu testów czarnej skrzynki i testów białej skrzynki.
- Jeśli wystąpiły błędy, zespół testowy informuje zespół programistów.
- Zespół programistów naprawia błędy i przekazuje oprogramowanie zespołowi testującemu do ponownego przetestowania.
Proces tworzenia oprogramowania
- Po zebraniu wymagań zostaną one udostępnione dwóm różnym zespołom zajmującym się rozwojem i testowaniem zespołu.
- Po otrzymaniu wymagań odpowiedni programista rozpocznie pisanie kodu.
- W międzyczasie inżynier testowy rozumie wymagania i przygotowuje wymagane dokumenty, do tej pory programista może uzupełnić kod i zapisać go w Narzędzie Wersja kontrolna .
- Następnie kod zmienia się w interfejsie użytkownika, a zmianami tymi zajmuje się jeden oddzielny zespół, znany jako zbudować zespół .
- Ten zespół kompilacji pobierze kod i rozpocznie kompilację oraz kompresję kodu za pomocą narzędzia do kompilacji. Gdy otrzymamy dane wyjściowe, dane wyjściowe trafiają do pliku ZIP, który jest znany jako Zbudować (aplikacja lub oprogramowanie). Każda kompilacja będzie miała jakiś unikalny numer, np. (B001, B002).
- Następnie ta konkretna kompilacja zostanie zainstalowana na serwerze testowym. Następnie inżynier testowy uzyska dostęp do tego serwera testowego za pomocą testowego adresu URL i rozpocznie testowanie aplikacji.
- Jeśli inżynier testowy znajdzie jakiś błąd, zostanie zgłoszony zainteresowanemu programiście.
- Następnie programista odtworzy błąd na serwerze testowym i naprawi błąd, a następnie ponownie zapisze kod w narzędziu wersji kontrolnej, a następnie zainstaluje nowy zaktualizowany plik i usunie stary plik; proces ten jest kontynuowany aż do uzyskania stabilnej kompilacji.
- Gdy otrzymamy stabilną kompilację, zostanie ona przekazana klientowi.
Notatka 1
- Kiedy już pobierzemy plik z narzędzia wersji kontrolnej, użyjemy narzędzia do kompilacji, aby skompilować kod z języka wysokiego poziomu na język poziomu maszynowego. Jeśli po kompilacji rozmiar pliku wzrośnie, skompresujemy ten konkretny plik i zrzucimy go na serwer testowy.
- Proces ten jest wykonywany przez Zbuduj zespół , deweloper (jeśli nie ma zespołu budującego, może to zrobić programista) lub przewód (jeśli zespół budujący bezpośrednio zajmie się zipem i zainstaluje aplikację na serwerze testowym i poinformuje inżyniera testowego).
- Ogólnie rzecz biorąc, nie jesteśmy w stanie stworzyć nowej kompilacji dla każdego błędu; w przeciwnym razie większość czasu zostanie zmarnowana jedynie na tworzenie kompilacji.
Uwaga 2
Zbuduj zespół
Głównym zadaniem zespołu budującego jest stworzenie aplikacji lub kompilacji i konwersja języka wysokiego poziomu na język niskiego poziomu.
Zbudować
Jest to oprogramowanie służące do konwersji kodu do formatu aplikacji. Składa się z pewnego zestawu funkcji i poprawek błędów, które są przekazywane inżynierowi testowemu do celów testowych, dopóki nie stanie się stabilny.
Narzędzie do kontroli wersji
Jest to oprogramowanie lub aplikacja używana w następującym celu:
- W tym narzędziu możemy zapisywać różne typy plików.
- Jest zawsze zabezpieczony, ponieważ uzyskujemy dostęp do pliku z narzędzi przy użyciu tych samych danych logowania.
- Podstawowym celem narzędzi jest śledzenie zmian dokonanych w istniejących plikach.
Przykład procesu kompilacji
Zobaczmy jeden przykład, aby zrozumieć, jak budować pracę procesową na rzeczywistych scenariuszach:
Gdy tylko inżynier testowy otrzyma błąd, wyśle go programistom, a oni potrzebują trochę czasu na analizę; potem naprawia tylko błąd (inżynier testowy nie może zbierać błędów).
Deweloper decyduje, ile błędów może naprawić w zależności od swojego czasu. Inżynier testowy decyduje, który błąd powinien zostać naprawiony w pierwszej kolejności, zgodnie z jego potrzebami, ponieważ inżynierowie testowi nie mogą sobie pozwolić na przerwanie testowania.
Inżynier testowy otrzymujący pocztę może jedynie wiedzieć, który błąd został naprawiony lista poprawek błędów .
Czas się wydłuży, ponieważ przy pierwszym Buildzie programiści powinni napisać kod w różnych funkcjach. Na koniec może jedynie naprawiać błędy, a liczba dni zostanie zmniejszona.
Uwaga 3
Cykl testowy
Cykl testowy to czas dany inżynierowi testowemu na przetestowanie każdej kompilacji.
Różnice między tymi dwoma kompilacjami
Błędy znalezione w jednej kompilacji i można je naprawić w dowolnej przyszłej kompilacji, w zależności od wymagań inżyniera testowego. Każda nowa kompilacja jest zmodyfikowaną wersją starej i te modyfikacje mogą polegać na naprawie błędów lub dodaniu nowych funkcji.
Jak często otrzymywaliśmy nowy plik Build
Na początku otrzymywaliśmy kompilacje co tydzień, ale w ostatnim etapie testów, gdy aplikacja stawała się stabilna, nową kompilację otrzymywaliśmy raz na 3 dni, dwa dni lub codziennie.
Ile buildów otrzymamy
Jeśli weźmiemy pod uwagę rok trwania dowolnego projektu, otrzymamy 22–26 kompilacji.
Kiedy otrzymamy poprawki błędów
Ogólnie rzecz biorąc, poprawki błędów rozumiemy dopiero po zakończeniu cyklu testowego lub po naprawieniu zbioru błędów w jednej kompilacji i przekazaniu ich w kolejnych kompilacjach.
Zalety testów ręcznych
- Nie wymaga wiedzy programistycznej przy wykorzystaniu metody czarnej skrzynki.
- Służy do testowania dynamicznie zmieniających się projektów GUI.
- Tester wchodzi w interakcję z oprogramowaniem jako prawdziwy użytkownik, dzięki czemu jest w stanie wykryć problemy z użytecznością i interfejsem użytkownika.
- Zapewnia, że oprogramowanie jest w stu procentach wolne od błędów.
- Jest to opłacalne.
- Łatwy do nauczenia się dla nowych testerów.
Wady testów ręcznych
- Wymaga dużej liczby zasobów ludzkich.
- Jest to bardzo czasochłonne.
- Tester tworzy przypadki testowe w oparciu o swoje umiejętności i doświadczenie. Nie ma dowodów na to, że objęły one wszystkie funkcje, czy nie.
- Przypadków testowych nie można używać ponownie. Należy opracować osobne przypadki testowe dla każdego nowego oprogramowania.
- Nie zapewnia testowania wszystkich aspektów testowania.
- Ponieważ dwa zespoły współpracują ze sobą, czasami trudno jest zrozumieć wzajemne motywy, co może wprowadzić w błąd cały proces.
Ręczne narzędzia do testowania
Do testów ręcznych, różnych rodzajów testów, takich jak jednostkowe, integracyjne, bezpieczeństwa, wydajnościowe i śledzenie błędów, mamy różne narzędzia, takie jak Jira, Bugzilla, Mantis, Zap, NUnit, Tessy, LoadRunner, Citrus, SonarQube itp. dostępne w rynek. Niektóre narzędzia mają charakter open source, inne są komercyjne.
Więcej informacji na temat narzędzi testowych można znaleźć pod poniższym linkiem:
https://www.javatpoint.com/software-testing-tools
Rozumiemy je jeden po drugim:
Linux zmień nazwę folderu
LoadRunner
Jest to najczęściej używane narzędzie do testowania wydajności. LoadRunner służy głównie do wspierania testów wydajności dla szerokiego zakresu procedur, liczby podejść i środowisk aplikacji.
Głównym celem wykonania narzędzia LoadRunner jest szybka klasyfikacja najczęstszych źródeł problemów z wydajnością.
Funkcje LoadRunnera
- Narzędzie LoadRunner zawiera n-liczbę aplikacji, co skraca czas zrozumienia i opisu raportów.
- Dokładne raporty z testów wydajności możemy uzyskać za pomocą narzędzia LoadRunner.
- Zmniejszy to koszty testowania obciążenia rozproszonego, a także zaoferuje narzędzie operacyjne do śledzenia wdrożenia.
Cytrus
Citrus to narzędzie do testowania integracyjnego, które jest najczęściej używanym frameworkiem testowym. Jest wpisane Programowanie w Javie język. Jest używany głównie do żądania i odpowiadania po stronie serwera i klienta oraz sprawdzania poprawności plików XML JSON.
Aby przeprowadzić kompleksowe testowanie przypadków użycia, citrus obsługuje kilka protokołów HTTP, JMS i SOAP.
Charakterystyka cytrusów
Oto niektóre z ważnych funkcji narzędzia Citrus:
- Służy do wysyłania i odbierania wiadomości.
- Citrus jest dostępny zarówno jako oprogramowanie typu open source, jak i licencjonowane na rynku.
- Zapewnia niedrogie rozwiązanie.
- Bazę danych możemy uwierzytelnić za pomocą narzędzia cytrusowego.
- Opisze sekwencję komunikatów, zaproponuje plan testów i udokumentuje zasięg testów.
- Tworzy komunikat i weryfikuje odpowiedzi.
ZASTRZELIĆ
ZAP to skaner bezpieczeństwa aplikacji internetowych typu open source. To oznacza Pełnomocnik ataku Zeda . Podobnie jak niektóre inne narzędzia, jest również napisany w formacie Język programowania JAVA . Jest najbardziej skuteczny Otwórz projekty zabezpieczeń aplikacji internetowych [OWASP].
Cechy ZAP-u
- Obsługuje wiele systemów operacyjnych, takich jak Windows, Linux, OS X.
- Ma architekturę opartą na wtyczkach.
- Zawiera rynek internetowy, który pozwala nam dodawać nowe lub aktualizowane funkcje.
- Panel sterowania GUI ZAP jest łatwy w obsłudze.
Siostra zakonna
NUnit to jedno z najczęściej używanych narzędzi do testów jednostkowych. Jest to narzędzie typu open source, wywodzące się głównie z JUnit .
Całość została napisana w Język programowania C# i odpowiedni dla wszystkich Języki .Netu .
Innymi słowy, możemy powiedzieć, że narzędzie NUnit zostało całkowicie przeprojektowane, aby stało się zaletą wielu cech języka .Net. Na przykład:
Charakterystyka NUnit
- Pozwala na twierdzenia jako metodę statyczną klasy przewagi.
- Podtrzymuje testy oparte na danych.
- Obsługuje kilka platform, takich jak .NET core Xamarin mobile, Silverlight i wydajne środowisko.
- Zdolność NUnit pomaga nam w jednoczesnym wykonywaniu testów.
- Używa modułu uruchamiającego konsolę do ładowania i wykonywania testów.
JIRA
Najczęściej używanym narzędziem do śledzenia błędów jest JIRA , które jest narzędziem typu open source. Służy do śledzenia błędów, zarządzania projektami i śledzenia problemów.
Za pomocą tego narzędzia możemy łatwo prześledzić wszelkiego rodzaju błędy czy defekty związane z oprogramowaniem, a wytworzone przez inżynierów testujących.
Cechy Jiry
- Jest to narzędzie oszczędzające czas.
- Jira służy do śledzenia defektów i problemów.
- Służy do ustalenia zadań dokumentacyjnych.
- Jira jest bardzo przydatnym narzędziem do śledzenia udoskonaleń naszej dokumentacji.
Pełne informacje na temat narzędzia Jira znajdziesz pod linkiem: https://www.javatpoint.com/jira-tutorial.
SonarQube
Kolejnym narzędziem do testowania ręcznego jest SonarQube, który usprawnia nasz przepływ pracy dzięki ciągłej jakości kodu i bezpieczeństwu kodu. Jest elastyczny dzięki zastosowaniu wtyczek.
Jest w całości napisany w języku programowania JAVA. Oferuje w pełni zautomatyzowaną ocenę i integrację z Ant, Maven, Gradle, MSBuild i narzędziami stałej integracji. SonarQube ma możliwość rejestrowania historii metryk i przedstawia wykres ewolucji.
Funkcje Sonarqube
Poniżej znajdują się niektóre istotne funkcje narzędzia SonarQube:
- Obsługuje kilka języków programowania, takich jak C, C++, Python, JAVA, HTML, CSS, VB.NET, PHP, COBOL, PL/SQL itp.
- Na podstawie Mniejszej Powszechnej Licencji Publicznej GNU Sonarqube jest ogólnodostępny.
- SonarQube jest powiązany z kilkoma ważnymi narzędziami zewnętrznymi, takimi jak GitHub, Active Directory, LDAP i inne.
- SonarQube połączył się ze środowiskami programistycznymi Visual Studio, Eclipse i IntelliJ IDEA ze względu na SonarLint wtyczki.
JMeter
JMeter to narzędzie typu open source, które służy do testowania wydajności zarówno zasobów statycznych, jak i dynamicznych oraz dynamicznych aplikacji internetowych.
Jest w całości zaprojektowany w aplikacji JAVA, aby załadować zachowanie testu funkcjonalnego i zmierzyć wydajność aplikacji.
Ułatwia użytkownikom lub programistom wykorzystanie kodu źródłowego do tworzenia innych aplikacji.
Funkcje JMetera
Poniżej znajdują się niektóre z podstawowych cech JMeter:
- Jest niezależny od platformy i akceptuje JVM Windows, Mac i Linux itp.
- Obsługuje przyjazny dla użytkownika interfejs GUI, który jest interaktywny i prosty.
- Załadowanie testu wydajności na wielu typach serwerów jest niezwykle rozszerzalne.
Więcej informacji na temat JMeter można znaleźć pod poniższym linkiem:
https://www.javatpoint.com/jmeter-tutorial.
Z Bugzem
Innym narzędziem do śledzenia błędów używanym w testach ręcznych jest Z Bugzem .
Jest najczęściej używany przez wiele organizacji do śledzenia różnych błędów aplikacji.
Bugzilla to narzędzie typu open source, które pomaga klientowi i klientowi śledzić defekty. Bugzilla jest również uważana za narzędzie do zarządzania testami, ponieważ dzięki niemu możemy łatwo połączyć inne narzędzia do zarządzania przypadkami testowymi, takie jak ALM, Centrum Jakości itp.
Funkcje Bugzilli
Bugzilla ma kilka dodatkowych funkcji, które pomagają nam łatwo zgłosić błąd:
- Obsługuje różne systemy operacyjne, takie jak Windows, Linux i Mac.
- Za pomocą Bugzilli możemy wyświetlić listę błędów w kilku formatach.
- Preferencje użytkownika mogą mierzyć powiadomienia e-mailowe.
- Bugzilla posiada zaawansowane możliwości wyszukiwania.
Modliszka
Mantis to internetowy system śledzenia błędów. ManitsBT oznacza Narzędzie do śledzenia błędów Mantis . Służy do śledzenia usterek oprogramowania i jest wykonywany w języku programowania PHP. Jest to również narzędzie typu open source.
Cechy Mantisa
Niektóre ze standardowych funkcji danego narzędzia są następujące:
- Za pomocą tego narzędzia mamy możliwość wyszukiwania pełnotekstowego.
- Ścieżki audytu zmian wprowadzonych w problemach.
- Zapewnia integrację systemu kontroli wersji.
- Kontrola wersji pól tekstowych i notatek
Aby uzyskać więcej informacji na temat narzędzi do śledzenia błędów, skorzystaj z poniższego łącza: https://www.javatpoint.com/defect-or-bug-tracking-tool .
Tessy
Kolejnym narzędziem do testowania integracji jest Tessy , który służy do przeprowadzania integracji i testów jednostkowych wbudowanego oprogramowania. Pomaga nam to również odkryć pokrycie kodu oprogramowania lub aplikacji.
Może z łatwością zarządzać całą organizacją testową, w tym potrzebami biznesowymi, zarządzaniem testami, wielkością pokrycia i identyfikowalnością.
Tessy zawiera trzy podstawowe funkcje, które są następujące:
jak usunąć kolumnę w postgresql
- Edytor interfejsu testowego (TIE)
- Edytor danych testowych (TDE)
- Obszar roboczy.
Funkcje TESSY
Standardowe cechy TESSY są następujące:
- Tworzy raport z wyników wykonania testu.
- Obsługuje różne języki programowania, takie jak C i C++.
- Tessy służy do oceny interfejsu funkcji i opisuje zmienną używaną przez tę funkcję.
Więcej informacji na temat narzędzi do testowania integracji można znaleźć pod następującym linkiem: https://www.javatpoint.com/integration-testing-tools.
Przegląd
W tym artykule widzieliśmy szczegółowe informacje na temat Testowanie ręczne, które obejmuje definicję testowania ręcznego, potrzebę testowania ręcznego, rodzaj testowania ręcznego, narzędzia do testowania ręcznego, proces testowania ręcznego oraz niektóre ważne zalety i wady tego testowania.
Na koniec możemy powiedzieć, że jest to proces, w którym inżynier testowy musi wykazywać się dużą wytrwałością, innowacyjnością i responsywnością.
Podczas testowania ręcznego inżynier testowy musi myśleć i działać w taki sam sposób, jak interpretacja użytkownika końcowego.
Aby wdrożyć testy ręczne, inżynier testowy potrzebuje produktywnych umiejętności i wyobraźni. Muszą także przemyśleć wiele sytuacji lub scenariuszy, aby przetestować konkretną aplikację.
Chociaż obecnie możemy przetestować prawie wszystkie aplikacje za pomocą testów automatycznych, nadal konieczne jest testowanie ręczne, ponieważ jest to podstawa testowania oprogramowania.