software test estimation techniques
Dla powodzenia każdego projektu oszacowanie i prawidłowe wykonanie testów jest równie ważne jak cykl rozwoju. Trzymanie się szacunków jest bardzo ważne, aby zbudować dobrą reputację u klienta.
Doświadczenie odgrywa główną rolę w szacowaniu „wysiłków związanych z testowaniem oprogramowania”. Praca nad różnorodnymi projektami pomaga w dokładnym oszacowaniu cyklu testowego. Oczywiście nie można po prostu ślepo poświęcić kilku dni na jakiekolwiek zadanie testowe. Oszacowanie testu powinno być realistyczne i dokładne.
W tym artykule staram się w bardzo prosty sposób ująć kilka punktów, które są pomocne w przygotowaniu dokładnego oszacowania testu.
Czego się nauczysz:
- Krótki opis procesu szacowania testów
- Przykłady szacowania testów
- 9 Ogólne wskazówki dotyczące dokładnego szacowania czasu testowania
- Wniosek
- rekomendowane lektury
Krótki opis procesu szacowania testów
„Oszacowanie to proces znajdowania oszacowania lub przybliżenia, czyli wartości, którą można wykorzystać w jakimś celu, nawet jeśli dane wejściowe mogą być niepełne, niepewne lub niestabilne”. [Odniesienie: Wikipedia ]
Wszyscy jako profesjonaliści spotykamy się z różnymi zadaniami, obowiązkami i terminami w ciągu całego naszego życia, teraz są dwa podejścia do rozwiązania problemu.
Pierwsze podejście to podejście reaktywne, w ramach którego próbujemy znaleźć rozwiązanie problemu dopiero po jego nadejściu.
W drugim podejściu, które można nazwać podejściem proaktywnym, w którym najpierw przygotowujemy się na długo przed pojawieniem się problemu z naszymi przeszłymi doświadczeniami, a następnie z naszymi przeszłymi doświadczeniami, staramy się znaleźć rozwiązanie wyzwania, gdy nadejdzie.
Oszacowanie można zatem uznać za technikę stosowaną, gdy podejmiemy proaktywne podejście do problemu.
W ten sposób oszacowanie może służyć do przewidywania, ile wysiłku w odniesieniu do czasu i kosztów wymagałoby wykonanie określonego zadania.
Gdy zespół testujący będzie w stanie oszacować problem, będzie mu łatwiej znaleźć rozwiązanie, które będzie optymalne dla danego problemu.
Praktykę szacowania można zatem zdefiniować bardziej formalnie jako przybliżone wyliczenie prawdopodobnego kosztu pracy.
Przeczytaj także=> 7 Czynniki wpływające na estymację testów projektu Selenium Automation
Podstawowe warunki wstępne procesu szacowania testów
# 1) Informacje zebrane podczas pracy z wcześniejszymi doświadczeniami : Zawsze warto poświęcić trochę czasu na przypominanie sobie poprzednich projektów, które stanowiły wyzwania podobne do obecnych.
# 2) Dostępne dokumenty lub artefakty: Plik Wchodzą narzędzia repozytorium zarządzania testami przydatne w tego typu scenariuszach, ponieważ przechowują wymagania i dokumenty wyjaśniające. Zespół testujący może odwołać się do tych dokumentów, aby jasno określić zakres projektu.
# 3) Założenia dotyczące rodzaju pracy: Wcześniejsze doświadczenie zawodowe pomaga w tworzeniu założeń dotyczących projektu. Tu właśnie zatrudnienie doświadczonych specjalistów ma największe znaczenie.
Kierownicy testów mogą podchwycić mózgi tych osób, aby uzyskać pożądane wyniki.
# 4) Obliczanie potencjalnych ryzyk i zagrożeń: Zespół testowy musi również wizualizować potencjalne ryzyko i zagrożenia oraz pułapki, które mogą napotkać zespół w przyszłości.
# 5) Ustalenie, czy dokumenty zostały określone jako podstawa: Zespół testujący musi również określić, czy wymagania zostały określone jako podstawowe, czy nie. Jeśli dokumenty nie mają planu bazowego, ważne jest, aby określić częstotliwość zmian.
# 6) Wszystkie obowiązki i zależności powinny być jasne: Organizacja powinna jasno określić role i obowiązki wszystkich osób, które będą przeprowadzać proces szacowania.
# 7) Dokumentacja i śledzenie zapisów szacunków: Wszystkie istotne informacje dotyczące procesu szacowania powinny być udokumentowane.
# 8) Czynności, które są wymagane do wykonania podczas procesu szacowania testów
- Zorganizuj zespół, który będzie dokonywał oszacowań
- Podziel projekt na fazy projektu i kolejne czynności składowe
- Oblicz oszacowanie na podstawie poprzednich projektów i doświadczenia zawodowego
- Ustal priorytety możliwych zagrożeń i opracuj metody ich ograniczania
- Przejrzyj i udokumentuj odpowiednią część pracy
- Przedstaw pracę odpowiednim interesariuszom
Najważniejsze techniki szacowania testów
Oto niektóre z najważniejszych technik estymacji testów:
- Estymacja punktu testowego
- Estymacja oparta na fazie pracy
- Szacowanie punktów przypadków użycia
Jak i gdzie używamy tych technik:
1) Oszacowanie punktu testowego to prosta i łatwo zrozumiała technika szacowania, która jest szeroko stosowana w całym spektrum testowania oprogramowania. Etapy iteracyjne i prostota to najważniejsze cechy tej konkretnej techniki.
najlepsze darmowe oprogramowanie do zegara czasu pracy
# 2) Oszacowanie oparte na fazie pracy jest techniką szacowania, która jest stosowana, podczas której dokonuje się przypuszczalnego oszacowania na określonej fazie (zwykle najkrótszej i najprostszej z faz), a następnie zespół testujący stopniowo dodaje kolejne fazy do wstępnego oszacowania i ostatecznie opracowuje odpowiednią ocenę.
# 3) Technika szacowania punktu przypadku użycia to oszacowanie przypadków użycia, w których nieskorygowane wagi aktorów i nieskorygowane wagi przypadków użycia są używane do określenia oszacowania testowania oprogramowania.
Szczegóły techniki szacowania punktu testowego
Technikę szacowania punktu testowego wykonuje się, wykonując wymienione czynności: -
(W ramach tego paradygmatu można rozważyć następujące wagi, które mogą się różnić w zależności od projektu - Niektóre z tych wag to wagi dla języka programowania oparte na złożoności kodu, wagi aplikacji oparte na typie aplikacji i wagi testowe, które są przypisane na podstawie różnych faz testowania oprogramowania).
Nieprzetworzone punkty testowe są mnożone przez CWF w celu uzyskania rozmiaru testowego w rozmiarze punktu testowego.
Współczynnik produktywności wskazuje ilość czasu, w jakim inżynier testujący może ukończyć testowanie jednego punktu testowego
Nakład testowania w godzinach pracy jest obliczany przez pomnożenie rozmiaru punktu testowego przez współczynnik produktywności.
W celu obliczenia techniki estymacji punktu testowego rozważymy następujące zmienne.
- Testuj złożoność wymagań
- Interfejs z innymi wymaganiami
- Całkowita liczba punktów weryfikacji
- Podstawowe dane z testów
Następnie musimy rozważyć wektory wag dla każdej zmiennej danych i uporządkować je w następujący sposób.
Współczynnik korygujący = średnia (iloczyn wagi złożoności i wagi czynnika) / 30
Punkt testowy regulacji dla projektu przypadku testowego = Całkowity punkt testowy X (1 + współczynnik dostosowania dla projektu przypadku testowego)
najlepsze rozszerzenie blokujące wyskakujące okienka dla Chrome
Skorygowany punkt testowy do wykonania przypadku testowego = całkowity punkt testowy X (1 + współczynnik korekty dla wykonania przypadku testowego)
Całkowity punkt testowy (znormalizowany) X (1 + współczynnik korygujący dla projektu / wykonania przypadku testowego) = skorygowany punkt testowy dla projektu / wykonania przypadku testowego
Całkowity wysiłek w godzinach pracy (PH) = liczba znormalizowanych punktów testowych / produktywność (w znormalizowanych punktach testowych na godzinę osoby)
Przykłady szacowania testów
Spróbujmy zastosować powyższe sformułowanie w innym praktycznym zastosowaniu.
Załóżmy, że otrzymamy wymaganie testowe, w którym mamy do przetestowania 5 scenariuszy testowych.
Teraz powiedzmy, że scenariusz testu 1 ma 5 oczekiwanych wyników testu, scenariusz testu 2 6 oczekiwanych wyników testu, scenariusz testu 3 tylko 2 oczekiwane wyniki testu, scenariusz testu 4 9 oczekiwane wyniki testu, scenariusz testu 5 również 9 oczekiwanych wyników testu.
Dlatego klasyfikujemy scenariusze testowe w trzech klasach, tj. Złożone, proste i umiarkowane, w oparciu o całkowitą liczbę oczekiwanych wyników występujących w tych trzech klasach.
Klasy złożone będą miały więcej niż 7 oczekiwanych wyników, podczas gdy proste będą zawierały mniej niż 5 oczekiwanych wyników, a umiarkowane scenariusze będą zawierały od 4 do 7 oczekiwanych wyników.
W ten sposób klasyfikujemy scenariusz testowy 1 i scenariusz testowy 2 jako scenariusze umiarkowane, scenariusz 5 i scenariusz 6 jako złożone, a scenariusz testowy 3 jako prosty.
Teraz zastosujemy punkty testowe do wszystkich tych scenariuszy. Stosujemy 5 punktów testowych dla klas złożonych, 3 dla umiarkowanych i 2 dla prostych scenariuszy.
Mnożymy założone punkty testowe przez całkowitą liczbę oczekiwanych wyników we wszystkich tych scenariuszach testowych. Tak więc otrzymujemy następujące przybliżenia.
Scenariusz 1: 3 punkty testowe * 5 oczekiwanych wyników testu = skorygowane punkty testowe = 25
Scenariusz 2: 3 punkty testowe * 6 oczekiwanych wyników testu = skorygowane punkty testowe = 30
Scenariusz 3: 2 punkty testowe * 2 oczekiwane wyniki testu = skorygowane punkty testowe = 4
Scenariusz 4: 5 punktów testowych * 9 oczekiwanych wyników testu = skorygowane punkty testowe = 45
Scenariusz 5: 5 punktów testowych * 9 oczekiwanych wyników testu = skorygowane punkty testowe = 45
Biorąc więc pod uwagę, że musimy złożyć podanie o 5 godzin pracy dla każdego skorygowanego punktu testowego, otrzymujemy następujący przybliżony wynik.
Scenariusz testowy 1:25 dopasowanych punktów testowych * 5 godzin = 125 godzin
Scenariusz testowy 2:30 dostosowanych punktów testowych * 5 godzin = 150 godzin
Scenariusz testowy 3: 4 dopasowane punkty testowe * 5 godzin = 20 godzin
Scenariusz testowy 4:45 dopasowanych punktów testowych * 5 godzin = 225 godzin
Scenariusz testowy 5:45 dopasowanych punktów testowych * 5 godzin = 225 godzin
Zatem całkowita przybliżona liczba osobogodzin wynosi: 745 osobogodzin
Metoda szacowania punktów przypadków użycia
Metoda punktów przypadków użycia jest oparta na przypadkach użycia, w których obliczamy całkowity wysiłek związany z estymacją testów na podstawie przypadków użycia lub wymagań.
Oto szczegółowy proces metody szacowania punktów przypadków użycia:
Przykładem tego samego jest to, że powiedzmy w konkretnym wymaganiu mamy odpowiednio 5 przypadków użycia, przypadek użycia 1, przypadek użycia 2,…, przypadek użycia 5. Rozważmy teraz, że przypadek użycia 1 składa się z 6 aktorów, przypadek użycia 2 składa się z 15 aktorów, a przypadki użycia odpowiednio 3, 4 i 5, 3, 4 i 5 aktorów.
Każdy przypadek użycia, w którym całkowita liczba aktorów wynosi mniej niż 5, jest traktowany jako ujemny, każdy przypadek użycia z całkowitą liczbą aktorów jest równy lub większy niż 5 i mniejszy lub równy 10 jako dodatni, a każdy przypadek użycia z większą ponad 10 aktorów jako wyjątkowych.
Decydujemy się przypisać 2 punkty do wyjątkowych przypadków użycia, 1 do pozytywnych i -1 do negatywnych.
W związku z tym kategoryzujemy przypadki użycia 1 i 5 jako pozytywne, przypadek użycia 2 jako wyjątkowy, a przypadek użycia 3, 4 jako negatywny, odpowiednio w oparciu o nasze wyżej wymienione założenia.
Tak więc wagi nieprzetworzonych aktorów = Przypadek użycia 1 = (całkowita liczba aktorów) 5 * 1 (przypisany punkt) = 5. Podobnie
Przypadek użycia 2 = 15 * 2 = 30.
Powtarzając ten proces dla pozostałych przypadków użycia, otrzymujemy wagi nieprzetworzonego aktora = 33
Nieprzetworzona waga przypadku użycia = całkowita liczba przypadków użycia = 5
Nieprzetworzony punkt przypadku użycia = nieskorygowane wagi aktora + nieskorygowana waga przypadku użycia = 33 + 5 = 38
Przetworzony punkt przypadku użycia = 38 * [0,65+ (0,01 * 50] = około 26,7 lub 28 godzin pracy)
Technika podziału fazy pracy
Technikę podziału na fazy pracy można opisać w następujących krokach.
- Podziel całą pracę na fazy.
- Zacznij od najprostszej fazy i przypisz jej przybliżoną wartość szacunkową.
- Następnie przejdź do identyfikacji następnej możliwej fazy, która mogłaby się rozpocząć po zakończeniu tej fazy.
- Wyprowadź możliwy zestaw wartości przybliżonych, które można zastosować do tej fazy i wybierz wartość maksymalną spośród wszystkich uzyskanych wartości przybliżonych.
- Zsumuj przybliżoną wartość oszacowania, dodając wartość oszacowania wysiłku w bieżącej fazie do już istniejącej wartości.
- Kontynuuj kroki od 3 do 5, aż wszystkie fazy zidentyfikowane w pierwszym kroku zostaną wyczerpane.
- Zaakceptuj ostateczną przybliżoną wartość szacunkową jako ostateczną.
Załóżmy, że w wymaganiu jest 5 wymaganych faz. Tak więc w początkowej fazie 1 zakładamy, że całkowity potrzebny wysiłek to 35 osobogodzin, a następnie rozpoczynamy kolejną fazę 2, dla której mamy 4 założenia porównawcze odpowiednio 35, 45, 55 i 65.
Dlatego bierzemy pod uwagę 65 osobogodzinę, która jest tutaj wartością maksymalną. W fazie 3, 4, 5 otrzymujemy odpowiednio szacunki (12, 33, 43, 54), (15, 10, 7, 8) i (2, 16, 5, 13). Stosując tę zasadę, uzyskujemy odpowiednio 185 godzin pracy.
Umieszczam informacje na temat - Jak oszacować wysiłek testowy dla dowolnego zadania testowego, czego nauczyłem się z mojego doświadczenia.
9 Ogólne wskazówki dotyczące dokładnego szacowania czasu testowania
Czynniki wpływające na szacowanie testów oprogramowania i ogólne wskazówki dotyczące dokładnego szacowania:
1) Pomyśl o jakimś czasie buforowania
Szacunek powinien obejmować pewien bufor. Ale nie dodawaj bufora, co nie jest realistyczne. Posiadanie bufora w estymacji pozwala radzić sobie z ewentualnymi opóźnieniami. Posiadanie bufora pomaga również zapewnić maksymalne pokrycie testu.
# 2) Rozważ cykl błędów
Ocena testu obejmuje również cykl błędów. Rzeczywisty cykl testowy może zająć więcej dni niż szacowano. Aby tego uniknąć, powinniśmy wziąć pod uwagę fakt, że cykl testowy zależy od stabilności konstrukcji. Jeśli kompilacja nie jest stabilna, programiści mogą potrzebować więcej czasu na naprawienie i oczywiście cykl testowania zostanie automatycznie przedłużony.
# 3) Dostępność wszystkich zasobów w przewidywanym okresie
Oszacowanie testu powinno uwzględniać wszystkie urlopy zaplanowane przez członków zespołu (zazwyczaj długie urlopy) w ciągu najbliższych kilku tygodni lub kilku następnych miesięcy. Zapewni to realistyczne oszacowanie.
Szacunek powinien uwzględniać pewną stałą liczbę zasobów na cykl testowy. Jeżeli liczba zasobów zmniejszy się, oszacowanie powinno zostać ponownie sprawdzone i odpowiednio zaktualizowane.
# 4) Czy możemy przeprowadzić testy równoległe?
Czy masz jakieś wcześniejsze wersje tego samego produktu, aby móc porównać wyniki? Jeśli tak, może to nieco ułatwić zadanie testowe. Powinieneś pomyśleć o wycenie na podstawie wersji produktu.
5) Szacunki mogą się nie udać - dlatego warto często odwiedzać szacunki na początkowych etapach, zanim je dokonasz.
Na wczesnych etapach powinniśmy często ponownie odwiedzać szacunki testowe i wprowadzać modyfikacje, jeśli to konieczne. Nie powinniśmy rozszerzać oszacowania po jego zamrożeniu, chyba że nastąpią poważne zmiany w wymaganiach.
# 6) Pomyśl o swoich przeszłych doświadczeniach, aby dokonać osądów!
Doświadczenia z poprzednich projektów odgrywają istotną rolę przy sporządzaniu szacunków czasowych. Możemy starać się unikać wszystkich trudności lub problemów, z którymi mieliśmy do czynienia w poprzednich projektach. Możemy przeanalizować, jak wyglądały poprzednie szacunki i jak bardzo pomogły w dostarczeniu produktu na czas.
# 7) Rozważ zakres projektu
Dowiedz się, jaki jest końcowy cel projektu i wymień wszystkie końcowe produkty. Czynniki, które należy wziąć pod uwagę w przypadku małych i dużych projektów, są bardzo różne.
Duży projekt zazwyczaj obejmuje utworzenie stanowiska testowego, wygenerowanie danych testowych, skryptów testowych itp. Dlatego szacunki powinny być oparte na wszystkich tych czynnikach. Podczas gdy w małych projektach zazwyczaj cykl testów obejmuje pisanie, wykonywanie i regresję przypadków testowych.
# 8) Czy zamierzasz przeprowadzić testy obciążenia?
Jeśli potrzebujesz poświęcić dużo czasu na testowanie wydajności, dokonaj odpowiedniego oszacowania. Szacunki dla projektów, które obejmują testowanie obciążenia, należy rozpatrywać inaczej.
# 9) Czy znasz swój zespół?
Jeśli znasz mocne i słabe strony osób pracujących w Twoim zespole, możesz dokładniej oszacować zadania testowe. Przy szacowaniu należy wziąć pod uwagę fakt, że wszystkie zasoby mogą nie dawać tego samego poziomu produktywności. Niektóre osoby mogą działać szybciej niż inne. Chociaż nie jest to główny czynnik, składa się na całkowite opóźnienie wyników.
Wniosek
Szacowanie testów oprogramowania to praktyka, która wymaga zaangażowania doświadczonych profesjonalistów, a także wprowadzenia najlepszych praktyk branżowych, takich jak test case point i wykorzystuje metody case point.
implementuje binarne drzewo wyszukiwania w java
Ważne jest również, aby mieć otwarty umysł w dostosowywaniu wymaganych procesów. Pomyślne wdrożenie tych procesów prowadzi do ogólnej poprawy procesu testowania.
To jest gościnny artykuł autora „N. Sandhya Rani ”.
rekomendowane lektury
- Najlepsze usługi testowania oprogramowania QA od SoftwareTestingHelp
- Przewodnik po outsourcingu QA: Testowanie oprogramowania Firmy outsourcingowe
- Testy alfa i testy beta (kompletny przewodnik)
- Doskonały przewodnik po testowaniu oprogramowania (z próbką wznowienia testera oprogramowania)
- Zadania testowania oprogramowania: kompletny przewodnik po zadaniach testowania jakości
- Zwinne techniki szacowania: prawdziwe oszacowanie w zwinnym projekcie
- 68 niezbędnych zasobów, aby odnieść sukces jako tester (nie przegap!)
- Rodzaje testowania oprogramowania: różne typy testów ze szczegółami