poniedziałek, 13 maja 2013

Niezaplanowane koszty testowania, czyli o czym warto pomyśleć na etapie umowy

Często bywa tak, że etap testów akceptacyjnych z różnych powodów przesuwa się w czasie, wydłuża, co generuje koszty zarówno po stronie dostawców, jak też odbiorcy produktu. Jak się przed tym zabezpieczyć i też jak podzielić się tymi niezaplanowanymi kosztami?

Konstruowanie umowy

Już na etapie definiowania zakresu realizacji umowy warto doprecyzować zasady, na jakich będą przeprowadzane testy integracyjne, akceptacyjne, ze szczególnym uwzględnieniem testowania komponentów zewnętrznych, usług.

W sytuacji, kiedy jest kilku dostawców, po stronie klienta spoczywa obowiązek zapewnienia wszystkich usług w terminie. A co, jeśli któryś z dostawców się spóźni i nie będzie możliwe przetestowanie użycia usługi w procesie? Kto wtedy ponosi koszt ziszczenia się tego ryzyka?

Warto też zabezpieczyć się przed sytuacją przedłużania testów z powodu niedostępności środowiska do testów, może błędnych danych do testów, niekompetentnych testerów itp. Istnieje bardzo dużo sytuacji, które powinny być doprecyzowane na etapie umowy, co pozwoli w przyszłości wyegzekwować działanie lub poniesienie kosztów braku działania. Wtedy sytuacja jest klarowna i chroni strony przed ponoszeniem dodatkowych kosztów generowanych przez strony trzecie.

Koszt wykonywania testów
 
Czy w prosty sposób można oszacować koszt planowanych testów? Na pewno warto wziąć pod uwagę wiele czynników, poza oczywistymi, m. in.:
  1. Złożoność rozwiązania
  2. Testowalność w kontekście czasu i zakresu danych do testowania
  3. Udokumentowanie ścieżek testowych
  4. Znajomość procesów biznesowych
  5. Zależności od kontekstu, architektury i powiązania z innymi rozwiązaniami lub usługami
  6. Kompetencje zespołu testerów
  7. Umiejscowienie zespołu testerów w organizacji – zewnętrzni, wewnętrzni, rozproszeni, dedykowany zespół
  8. Dostępność testerów i ich elastyczność
  9. Narzędzia wspierające testowanie oraz obsługę zgłaszanych błędów
  10. Współpraca z dostawcą/dostawcami
Takich czynników jest bardzo dużo. Czy zatem można w miarę dokładnie oszacować koszt testów? Czy można obniżyć koszt testowania? A może wyliczyć go - post factum - proporcjonalnie to kosztu napisania kodu? To jest jakaś metoda, jeżeli zespół deweloperów jest stały i mamy dane historyczne umożliwiające dobre szacowanie.

Konkluzja

Najłatwiej oszacować dobrze zerowe koszty testów, czyli takich, których nie trzeba przeprowadzać. To jedna z metod realizacji oprogramowania - całkowite koszty testowania przerzucane są na kogoś innego. Inna opcja, to pisanie bezbłędnego oprogramowania, które nie wymaga już testowania. Idee są piękne :)


Brak komentarzy:

Prześlij komentarz

Zapraszam do komentowania