W środowisku testerskim, które, jak do tej pory, nie doczekało się pełnej standaryzacji, funkcjonuje wiele nazw stanowisk oraz pozycji w projekcie. Kryją się pod nimi konkretne zadania testowe. Zawody to testerzy, analitycy testów, inżynierowie testów, konsultanci testów, specjaliści testów akceptacyjnych oraz menadżerowie testów. Nie należy zapomnieć, iż można wyróżnić bardzo wiele innych nazw w zależności od specyfiki metod testowych czy samych zatrudniających firm.
W poniższym artykule spróbujemy określić obowiązki i umiejętności kryjące się za konkretnymi rolami.
Opieramy nasze opracowanie na rozproszonych standardach i aktualnie funkcjonujących w środowisku trendach. Menedżer testów (z ang. Test Manager - słowem komentarza, angielskie słowo Manager w języku polski funkcjonuje już bez tłumaczenia, jednak naszym zdaniem dużo lepiej wygląda i brzmi menedżer lub menadżer (obie formy są dopuszczalne).
W drabince stanowisk osoba piastująca pozycję menedżera testów to najważniejszy gracz wśród testerów. To on zajmuje się planowaniem, szacowaniem i kontrolą testów. Powiedzmy sobie szczerze, to on powinien mieć decydujące zdanie w temacie co i jak testować oraz zajmować się organizowaniem prac grupy testowej.
Czego wymaga się obecnie na rynku pracy od menedżerów testów? Ogólne obowiązki to:
- koordynowanie procesów testowych w ramach projektów
- zbieranie wymagań
- przygotowywanie przypadków, scenariuszy i skryptów testowych
- tworzenie planów testów.
- organizowanie konfiguracji środowiska testowego i zasobów do testowania.
- zarządzanie procesem rejestracji i usuwania defektów
- przygotowywanie raportów z wyników testowania.
Tak wyglądałby zasadniczo zakres prac menadżera w projekcie gdzie nie byłoby doświadczonych testerów i gdzie pracują jedynie technicy testów, których zadaniem byłoby wykonywanie przypadków testowych zaprojektowanych przez menadżera. Należy wyróżnić tu te zadania, które opisane są szeroko pojętą koordynacją, zbieraniem i rewidowaniem wymagań, tworzeniem planów testów (zarówno tych globalnych jak i jednostkowych), wsparciem tworzenia środowiska testowego i procesu rejestracji oraz usuwaniem defektów. Reszta, wraz z samą egzekucją testów, powinna trafić w ręce inżynierów testów.
Ważne jest aby manager miał bezpośredni dostęp do decydentów projektowych i mógł podczas spotkań informować ich o wynikach i postępach testów.
Jakie menedżer testów powinien mieć umiejętności i przygotowanie?
Zazwyczaj wymagania są następujące:
- wykształcenie wyższe
- znajomość metodyk prowadzenia projektów
- doświadczenie w testowaniu
- znajomość metodyk prowadzenia testów, zasad testowania, procedur testowych, typów testów, umiejętność tworzenia dokumentacji testowej
- znajomość narzędzi do testowania
- zdolności analityczne, komunikacyjne, negocjacyjne i prezentacyjne
Dobrze jest gdy kandydat na managera zna również cykle tworzenia oprogramowania tzn. model wodospadowy, model V, metody iteracyjne czy metody Agile. Umiejętności czerpania z doświadczeń innych są niezwykle poszukiwaną umiejętnością, taki więc benchmarking oraz najlepsze praktyki nie
mogą być mu obce.
Kursy dokształcające oprócz podstaw testów uczą zarządzania środowiskiem testowym i podstawowych, tzw. miękkich umiejętności menadżerskich. W planach takich kursów możemy znaleźć jak planować prace i szacować pracochłonność. Pokazywana jest struktura dokumentacji testowej oraz zasady rejestrowania wyników testów. Jako jedne z najważniejszych umiejętności występują tu kontrola postępu prac, zarządzanie zgłoszeniami problemów i zmian oraz testowanie wymagań.
W część szkolenia dotyczącego zarządzania wchodzą następujące tematy:
- Zarządzanie procesem testowym
- Zarządzanie wersjami oprogramowania i danych
- Definiowanie testaliów (od ang. testware)
- Zarządzanie środowiskami, struktura środowiska testowego, testy w projekcie rozproszonym
- Jakość procesu testowego
- Kryteria oceny jakości systemu informatycznego.
Co na to standardy?
Niestety nie za wiele. Poważną definicję znajdziemy jedynie w RUP (ang. Rational Unified Process). Od managera testów w tej iteracyjnej metodzie tworzenia oprogramowania wymaga się:
- planowania i logistyki
- współtworzenie misji testów
- identyfikowanie motywatorów
- zatrudnienie odpowiednich specjalistów
- raportowanie do kierownictwa
- zajmowanie się tematem testowania (dosłownie bycie adwokatem testów)
- sprawdzanie efektywności testów.