Techniki szacowania testów oprogramowania: przewodnik krok po kroku

Co to jest szacowanie testów oprogramowania?

Szacowanie testu to czynność zarządcza, która określa w przybliżeniu, ile czasu zajmie wykonanie zadania. Szacowanie wysiłku związanego z testem jest jednym z głównych i ważnych zadań w zarządzaniu testami.

Dlaczego warto testować oszacowanie?

Dwa pytania, których możesz oczekiwać od swoich klientów, omawiając potencjalne zlecenia testowe, to

W przypadku małych projektów odpowiedzi na te pytania są stosunkowo łatwe. Ale w przypadku dużego projektu, takiego jak strona internetowa Testing Guru99 Bank, musisz mocno pomyśleć, aby odpowiedzieć na te pytania.

W tym samouczku nauczysz się:

  • Co to jest szacowanie testów oprogramowania?
  • Dlaczego warto testować oszacowanie?
  • Co oszacować?
  • Jak wycenić?
    • Krok 1) Podziel całe zadanie projektowe na podzadania
    • Krok 2) Przydziel każde zadanie członkowi zespołu
    • Krok 3) Szacowanie nakładu pracy dla zadań
      • Metoda 1) Metoda punktów funkcyjnych
      • Metoda 2) Trzypunktowe oszacowanie
    • Krok 4) Zatwierdź oszacowanie
  • Najlepsze praktyki w zakresie szacowania testów
  • Inne techniki

Co oszacować?

  • Zasoby: zasoby są wymagane do wykonywania wszelkich zadań projektowych. Mogą to być ludzie, sprzęt, obiekty, fundusze lub cokolwiek innego, co można zdefiniować w celu ukończenia działania projektowego.
  • Czasy: Czas jest najcenniejszym zasobem w projekcie. Każdy projekt ma określony termin dostawy.
  • Umiejętności ludzkie: Umiejętności ludzkie to wiedza i doświadczenie członków Zespołu. Wpływają na twoją ocenę. Na przykład zespół, którego członkowie mają niskie umiejętności testowania, zajmie więcej czasu na ukończenie projektu niż zespół, który ma wysokie umiejętności testowania.
  • Koszt: Koszt to budżet projektu . Ogólnie rzecz biorąc, oznacza to, ile pieniędzy potrzeba na ukończenie projektu.

Jak wycenić?

Lista technik szacowania testów oprogramowania

  • Struktura podziału pracy
  • Technika 3-punktowego testowania oprogramowania
  • Technika szerokopasmowa Delphi
  • Analiza punktu funkcyjnego / punktu testowego
  • Użycie - metoda punktowa
  • Rozkład procentowy
  • Metoda ad-hoc

Poniżej przedstawiono 4-etapowy proces szacowania

Dowiesz się, jak połączyć te techniki, aby znaleźć oszacowanie dla studium przypadku Guru99 Bank.

Krok 1) Podziel całe zadanie projektowe na podzadania

Zadanie to praca, która została komuś powierzona. Aby to zrobić, możesz użyć techniki struktury podziału pracy .

W tej technice złożony projekt jest podzielony na moduły. Moduły są podzielone na podmoduły. Każdy podmoduł jest dalej podzielony na funkcje. Oznacza to podzielenie całego zadania projektowego na najmniejsze zadania.

Użyj struktury podziału pracy, aby rozbić projekt banku Guru99 na 5 mniejszych zadań:

Następnie możesz podzielić każde zadanie na podzadanie. Celem tego działania jest stworzenie zadania tak szczegółowego, jak to tylko możliwe .

Zadanie Podzadanie
Przeanalizuj specyfikację wymagań oprogramowania Zbadaj specyfikacje wymagań miękkich
Wywiad z deweloperem i innymi zainteresowanymi stronami, aby dowiedzieć się więcej o witrynie
Utwórz specyfikację testu Zaprojektuj scenariusze testów
Twórz przypadki testowe
Przejrzyj i popraw przypadki testowe
Wykonaj przypadki testowe Zbuduj środowisko testowe
Wykonaj przypadki testowe
Przejrzyj wyniki wykonania testów
Zgłoś wady
Utwórz raporty defektów
Zgłoś wady

Krok 2) Przydziel każde zadanie członkowi zespołu

Na tym etapie każde zadanie jest przypisywane do odpowiedniego członka zespołu projektowego. Możesz przydzielić zadanie w następujący sposób

Zadanie Członkowie
Przeanalizuj specyfikację wymagań oprogramowania Wszyscy członkowie
Utwórz specyfikację testu Tester / Analityk Testów
Zbuduj środowisko testowe Administrator testów
Wykonaj przypadki testowe Tester, Administrator Testów
Zgłoś usterki Próbnik

Krok 3) Szacowanie nakładu pracy dla zadań

Istnieją 2 techniki, które można zastosować, aby oszacować nakład pracy związany z zadaniami

  1. Metoda punktów funkcjonalnych
  2. Szacowanie w trzech punktach

Metoda 1) Metoda punktów funkcyjnych

W tej metodzie Menedżer testów szacuje rozmiar, czas trwania i koszt zadań

Krok A) Oszacuj wielkość zadania

W kroku 1 już podzieliłeś całe zadanie projektowe na małe zadanie za pomocą metody WBS. Teraz szacujesz rozmiar tych zadań. Poćwiczmy z konkretnym zadaniem „ Utwórz specyfikację testu

Rozmiar tego zadania zależy od rozmiaru funkcjonalnego testowanego systemu. Rozmiar funkcjonalny odzwierciedla ilość funkcji, które są istotne dla użytkownika. Im więcej liczba funkcjonalności, im bardziej skomplikowany system.

Przed rozpoczęciem faktycznego szacowania nakładu pracy punkty funkcjonalne są podzielone na trzy grupy, takie jak Złożone , Średnie proste w następujący sposób:

Opierając się na kompleksie funkcji oprogramowania, Kierownik Testów musi nadać odpowiednią wagę każdemu punktowi funkcjonalnemu. Na przykład

Grupa Waga
Złożony 5
Średni 3
Prosty 1

Weźmy proste przykładowe ćwiczenie, aby było jaśniej:

Spójrz na specyfikację oprogramowania strony internetowej Guru99 Bank tutaj, inżynier oprogramowania już szczegółowo opisał moduły oprogramowania, czy możesz określić złożoność funkcji strony internetowej, podając wagę dla każdego modułu?

Im bardziej złożony jest punkt funkcyjny, tym większy jest wysiłek, aby go przetestować. Witryna jest podzielona na 12 punktów funkcyjnych , możesz określić złożoność każdego punktu funkcyjnego w następujący sposób:

Nie. Nazwa modułu Odpowiednie role Opis Waga
1. Zapytanie o saldo Kierownik klienta Klient: klient może mieć wiele kont bankowych. Może przeglądać saldo swoich kont tylko. Menedżer: menedżer może przeglądać saldo wszystkich klientów, którzy podlegają jego nadzorowi 3
2. Transfer środków Kierownik klienta Klient: Klient może przesłać środki ze swojego „własnego” konta na dowolne konto docelowe. Menedżer: menedżer może przelać środki z dowolnego źródłowego konta bankowego na konto docelowe 5
3. Mini Statement Kierownik klienta Mini wyciąg pokaże 5 ostatnich transakcji na rachunku Klient: Klient może zobaczyć mini-wyciąg z tylko swoich „własnych” rachunków Menedżer: Menadżer może zobaczyć mini-wyciąg z dowolnego rachunku 3
4. Indywidualne oświadczenie Kierownik klienta Wyciąg niestandardowy umożliwia filtrowanie i wyświetlanie transakcji na koncie w oparciu o datę i wartość transakcji Klient: Klient może zobaczyć Indywidualne zestawienie tylko swoich „własnych” rachunków Menedżer: Menedżer może zobaczyć spersonalizowane zestawienie dowolnego rachunku 5
5. Zmień hasło Kierownik klienta Klient: Klient może zmienić hasło tylko do swojego konta. Menedżer: menedżer może zmienić hasło tylko do swojego konta. Nie może zmieniać haseł swoich klientów 1
6. Nowy klient Menedżer Menedżer: menedżer może dodać nowego klienta. Menedżer: menedżer może edytować szczegóły, takie jak adres, e-mail, telefon klienta. 3
7. Nowe konto Menedżer Obecnie system udostępnia 2 rodzaje kont
  • Oszczędność
  • obecny
Klient może mieć wiele rachunków oszczędnościowych (jeden na swoje nazwisko, drugi na wspólne nazwisko itp.). Może mieć wiele rachunków bieżących dla różnych firm, których jest właścicielem. Lub może mieć wiele rachunków bieżących i oszczędnościowych. Menedżer: menedżer może dodać nowe konto dla istniejącego klienta.
5
8. Edytuj konto Menedżer Menedżer: menedżer może dodać edycję szczegółów konta dla istniejącego konta 1
9. Usuń konto Menedżer Menedżer: menedżer może dodać usunąć konto klienta. 1
10. Usuń klienta Menedżer Klient może zostać usunięty tylko wtedy, gdy nie ma aktywnych rachunków bieżących lub oszczędnościowych. Menedżer: Menedżer może usunąć klienta. 1
11. Kaucja Menedżer Menedżer: menedżer może wpłacić pieniądze na dowolne konto. Zwykle odbywa się przy wpłacie gotówki w oddziale banku. 3
12. Wycofanie Menedżer Menedżer: menedżer może wypłacić pieniądze z dowolnego konta. Zwykle odbywa się przy wypłacie gotówki w oddziale banku. 3

KROK B) Oszacuj czas trwania zadania

Po sklasyfikowaniu złożoności punktów funkcyjnych musisz oszacować czas ich testowania. Czas trwania oznacza, ile czasu potrzeba na wykonanie zadania.

  • Total Effort : Wysiłek polegający na całkowitym przetestowaniu wszystkich funkcji witryny
  • Suma punktów funkcyjnych : Całkowita liczba modułów witryny
  • Szacunek określony na punkty funkcyjne : średni wysiłek potrzebny do wykonania jednego punktu funkcyjnego. Wartość ta zależy od produktywności członka, który podejmie się tego zadania.

Załóżmy, że Twój zespół projektowy oszacował zdefiniowane punkty funkcyjne na 5 godzin / punkty . Możesz oszacować całkowity wysiłek, aby przetestować wszystkie funkcje strony internetowej Guru99 Bank w następujący sposób:

Waga Liczba punktów funkcyjnych Całkowity
Złożony 5 3 15
Średni 3 5 15
Prosty 1 4 4
Funkcja suma punktów 34
Szacunek zdefiniować za punkt 5
Całkowity szacowany wysiłek (godziny pracy) 170

Zatem całkowity wysiłek potrzebny do wykonania zadania „Stworzenie specyfikacji testów” Guru99 Bank to około 170 roboczogodzin

Po zrozumieniu wymaganego wysiłku możesz przydzielić zasoby, aby określić, jak długo zajmie zadanie (czas trwania), a następnie możesz oszacować koszty robocizny i inne.

Powyższy przykład pokazuje również znaczenie członka w Twoim zespole. Jeśli masz utalentowanych i doświadczonych członków, możesz zakończyć powierzone zadanie w krótkim czasie, a Twój projekt zakończy się w terminie lub wcześniej.

KROK C) Oszacuj koszt zadań

Ten krok pomoże Ci odpowiedzieć na ostatnie pytanie klienta „ Ile to kosztuje?”

Załóżmy, że średnia pensja zespołu wynosi 5 dolarów za godzinę. Czas potrzebny na zadanie „Tworzenie specyfikacji testów” to 170 godzin. W związku z tym koszt zadania wynosi 5 * 170 = 850 USD. Teraz możesz obliczyć budżet dla innych działań w WBS i uzyskać całkowity budżet projektu.

Jako kierownik projektu musisz zdecydować, jak uzyskać największy zwrot z inwestycji swojej firmy. Im dokładniejsze jest oszacowanie kosztu projektu, tym lepiej będziesz w stanie zarządzać budżetem projektu.

METODA 2) Szacowanie w trzech punktach

Szacowanie trzypunktowe jest jedną z technik, które można wykorzystać do oszacowania zadania. Prostota trójpunktowego oszacowania sprawia, że ​​jest to bardzo przydatne narzędzie dla Kierownika Projektu, który chce szacować.

W szacunkach trzypunktowych początkowo generowane są trzy wartości dla każdego zadania w oparciu o wcześniejsze doświadczenie lub najlepsze domysły, jak poniżej

Podczas szacowania zadania Kierownik Testów musi podać trzy wartości, jak określono powyżej. Zidentyfikowane trzy wartości szacują, co dzieje się w stanie optymalnym , co jest najbardziej prawdopodobne lub co naszym zdaniem byłby najgorszym scenariuszem.

Zobaczmy, jak użyć powyższych trzech wartości w poniższym przykładzie

Czy możesz oszacować nakład pracy związany z zadaniem „ Utwórz specyfikację testu ”? Pamiętaj, że musisz omówić wszystkie moduły strony internetowej Guru99 Bank, tak jak zostało to zrobione w metodzie punktów funkcyjnych

Możesz oszacować w następujący sposób

  • Najlepszym wypadku do wykonania tego zadania wynosi 120 osobo-godzin (około 15 dni). W takim przypadku masz utalentowany zespół, który może wykonać zadanie w najkrótszym czasie.
  • Najprawdopodobniej sprawa do wykonania tego zadania wynosi 170 osobo-godzin (około 21 dni). To normalny przypadek, masz wystarczające zasoby i możliwości, aby wykonać zadanie
  • Najgorszym przypadku do wykonania tego zadania wynosi 200 osobo-godzin (około 25 dni). Musisz wykonać znacznie więcej pracy, ponieważ członkowie Twojego zespołu nie mają doświadczenia.

Teraz przypisz wartość do każdego parametru, jak poniżej

Wysiłek potrzebny do wykonania zadania można obliczyć za pomocą wzoru na rozkład podwójnego trójkąta w następujący sposób:

W powyższym wzorze parametr E jest znany jako średnia ważona . Jest to ocena zadania „Utwórz specyfikację testu”.

Ale twój szef może cię zapytać

W powyższym oszacowaniu wystarczy określić możliwą, a nie pewną wartość, musimy wiedzieć o prawdopodobieństwie, że oszacowanie jest prawidłowe. Możesz użyć innej formuły:

W powyższym wzorze, średnie odchylenie standardowe SD, wartość ta może dostarczyć informacji o prawdopodobieństwie, że oszacowanie jest poprawne.

Teraz możesz zakończyć oszacowanie dla zadania „Utwórz specyfikację testu”

Aby wykonać zadanie „Utwórz specyfikację testu” w witrynie Guru99 Bank, potrzebujesz 166,6 ± 13,33 Roboczogodziny (153,33 do 179,99 roboczogodzin)

Krok 4) Zatwierdź oszacowanie

Po utworzeniu łączną szacunkową dla wszystkich zadań wymienionych w WBS, należy przekazać go do zarządu , który będzie przeglądu i zatwierdzenia go.

Członek zarządu mógłby składać się z dyrektora generalnego, kierownika projektu i innych interesariuszy.

Zarząd zweryfikuje i omówi z Tobą Twój plan wyceny. Możesz wyjaśnić im swoje oszacowanie w sposób logiczny i rozsądny , aby mogli zatwierdzić Twój plan oszacowania.

Najlepsze praktyki w zakresie szacowania testów

W tym temacie przedstawiono ogólne wskazówki dotyczące szacowania dokładności testowania.

  • Dodaj trochę czasu buforowego: wiele nieprzewidywalnych rzeczy może się wydarzyć w Twoim projekcie, np. Utalentowany członek zespołu nagle rezygnuje z pracy, testowanie zajmuje więcej czasu niż zakładano, aby zakończyć… itd. Dlatego w oszacowaniu należy uwzględnić bufor. Posiadanie bufora w estymacji pozwala poradzić sobie z ewentualnymi opóźnieniami.
  • Szacowanie planowania zasobów konta: co należy zrobić, jeśli niektórzy członkowie zespołu biorą długie urlopy? Może to opóźnić realizację projektu, a planowanie zasobów w estymacji odgrywa kluczową rolę. Dostępność zasobów pomoże upewnić się, że szacunki są realistyczne. Tutaj musisz wziąć pod uwagę urlopy dla członka zespołu, zazwyczaj długie.
  • Wykorzystaj doświadczenia z przeszłości jako odniesienie: Doświadczenia z poprzednich projektów odgrywają istotną rolę podczas przygotowywania szacunków czasowych. Ponieważ niektóre projekty mogą wykazywać pewne podobieństwa, możesz ponownie wykorzystać wcześniejsze oszacowanie. Na przykład, jeśli wykonujesz projekt, taki jak testowanie strony internetowej, możesz wyciągnąć wnioski z tego doświadczenia, spróbować uniknąć wszystkich trudności lub problemów, które napotkano w poprzednich projektach.
  • Trzymaj się swoich szacunków: oszacowanie to tylko oszacowanie, ponieważ może się nie udać. Na wczesnych etapach projektu należy często ponownie sprawdzać szacunki testowe i wprowadzać modyfikacje w razie potrzeby. Nie powinniśmy przedłużać oszacowania po tym, jak go naprawimy, chyba że nastąpią poważne zmiany w wymaganiach lub musisz negocjować z klientem w sprawie ponownej wyceny

Szablon szacowania testów oprogramowania

Pobierz program Excel Test Estimation (.xlsx)

Inne techniki

Szerokopasmowa technika Delphi, metoda użycia - punktowy, rozkład procentowy, metoda ad-hoc to inne techniki szacowania w inżynierii oprogramowania.

Kliknij tutaj, jeśli wideo nie jest dostępne

Transkrypcja wideo
  • Zróbmy ćwiczenie - dla aplikacji Flight Reservation przygotuj strukturę podziału pracy
  • różne zadania testowe, takie jak - Sprawdź funkcjonalność logowania, Sprawdź nowe funkcje zamówienia, Sprawdź funkcjonalność faksu i inne podobne funkcje oraz oszacuj wysiłek wymagany do przetestowania tych funkcji
  • Na przykład funkcjonalność logowania można przetestować w ciągu 2 godzin. Podobnie przygotuj listę wszystkich zadań i odpowiadającego im wysiłku. Zatrzymaj samouczek i zakończ ćwiczenie. Mam nadzieję, że mądrze odgadłeś wymagany wysiłek
  • To jest oddolna strategia szacowania testów. Technika ta nosi nazwę oddolnego, ponieważ na podstawie zadań znajdujących się na najniższym poziomie hierarchii podziału pracy szacuje się czas trwania, zależności i zasoby.
  • W strategii oddolnej szacunki nie są dokonywane przez jedną osobę, ale przez wszystkich interesariuszy, indywidualnych współpracowników, ekspertów i doświadczonych pracowników łącznie. Chodzi o to, aby wykorzystać wspólną mądrość członków zespołu, aby uzyskać dokładne szacunki testowe
  • Teraz, ponieważ masz duże doświadczenie w systemie rezerwacji lotów. Skorzystaj z tego doświadczenia, aby oszacować nakład pracy wymagany do pełnego testowania funkcjonalnego witryny internetowej. - http://newtours.demoaut.com/
  • Ta strona funkcjonalnie jest identyczna z aplikacją rezerwacji lotów, tyle że jest oparta na sieci. Zatrzymaj samouczek i wykonaj ćwiczenie teraz
  • Mam nadzieję, że opierając się na swoim doświadczeniu, dobrze oszacowałeś wysiłek wymagany do przetestowania strony
    • Jest to podejście odgórne do szacowania, które opiera się na doświadczeniu.
    • Inną techniką jest klasyfikowanie projektów na podstawie ich wielkości i złożoności, a następnie sprawdzanie, ile czasu zajmował projekt o określonej wielkości i złożoności w przeszłości.
    • Innym podejściem jest określenie średniego wysiłku na przypadek testowy w przeszłości dla podobnych projektów, a następnie wykorzystanie szacunkowych przypadków testowych bieżącego projektu i osiągnięcie całkowitego wysiłku
    • Bardziej zaawansowane modele estymacji obejmują złożone modele matematyczne. W praktyce większość projektów do szacowania stosuje podejście odgórne.
    • Na szacunki testów może wpływać wiele czynników, takich jak presja czasowa, czynniki związane z ludźmi, geograficzne rozmieszczenie zespołu testowego i tak dalej

Interesujące artykuły...