Zawody w środowisku testowym
Artykuł oparto na:
IEEE Standard for Software Test Documentation
The Test Manager at the Project Status Meeting - Brian Marick, ,Steve Stukenborg
RUP documentation
W środowisku testerskim, które, jak do tej pory, nie doczekało się pełnej standaryzacji, funkcjonuje wiele nazw stanowisk oraz roli w projekcie. Kryją się pod nimi konkretne zadania testowe. Zawody te 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 znaleźć bardzo wiele innych nazw w zależności od specyfiki metod testowych czy samych zatrudniających testerów firm.
W poniższym artykule spróbujemy określić obowiązki i umiejętności kryjące się pod konkretnymi rolami. Opieramy nasze opracowanie na rozproszonych standardach i aktualnie obowiązujących w środowisku trendach.
Tester
Najważniejszym elementem każdej grupy testowej jest tester. Trybik w wielkiej maszynie testów, bez którego jakość byłaby jedynie nieosiągalnym szczytem. Patos? Może i tak, ale to prawda.
Sami testerzy nie lubią gdy ich stanowisko nazywa się tester, choć w prywatnych rozmowach tak na siebie mówią. Preferują gdy wyróżnia się ich wiedzę lub rolę w projekcie poprzez specjalną nazwę pozycji. Młody, niedoświadczony i zazwyczaj niewykształcony tester będzie po prostu technikiem testów. Człowiek po skończonych studiach będzie już inżynierem testów lub specjalistą ds. testów (tu może pojawić się precyzyjniejsze określenie typu: ds. testów akceptacyjnych, integracyjnych, oprogramowania itp.). Metodyka RUP poszła jeszcze dalej rozróżniając testerów od analityków testów i projektantów testów. Gdy tester nie rozwija się w jednej z specyficznej gałęzi testowania typu automatyzacja czy testy komponentów jego naturalną ścieżką rozwoju staje się pozycja lidera grupy testowej.
Czego wymaga się obecnie na rynku pracy od testerów?
Są dwie podstawowe cechy osobowości, które powinny wyróżniać testerów: rzetelność i dociekliwość.
Można powiedzieć, że takie zalety mogą przebić nawet techniczne przygotowanie jeśli łączą się również z ciekawością poznania.
Ogólne obowiązki to:
•
realizowanie testów systemów zgodnie z dokumentacją
•
przygotowanie własnych scenariuszy testowych
•
tworzenie skryptów testowych
•
wykonywanie testów i opracowywanie raportów
Wyłączne prawa autorskie do tego dokumentu posiadają „testerzy.pl”. Rozpowszechnianie dla celów komercyjnych jak i niekomercyjnych jest dozwolone tylko pod warunkiem podania ich źródła.
•
współpraca z innymi działami testowymi firmy
•
współpraca z działem programistycznym.
Zakres działań testerów jest ogólnie znany w branży i nie wymaga szerokiego komentarza, jednak w zależności od stosowanej metodyki lub po prostu specyfiki firmy zadania stawiane przed testerami mogą się różnić.
Jakie tester powinien mieć umiejętności i przygotowanie?
Wymagania co do testera nie są wysokie. Proszę się jednak nie dać zmylić, bycie testerem nie jest takie łatwe jak bycie na przykład ministrem. Wymaga lat pracy i chęci samodzielnego uczenia gdyż polskie uczelnie nie uczą jak testować. Tester musi posiadać:
•
Wiedzę z zakresu testowania oprogramowania,
•
Doświadczenie w testowaniu oprogramowania,
• Wykształcenie wyższe (informatyczne, techniczne lub ekonomiczne) - preferowane
• Umiejętność pracy w zespole.
Jednakże dobrze widziane jest aby tester cechował się kilkoma dodatkowymi zaletami:
-
potrafił pracować pomimo braku wszystkich informacji
-
potrafił szybko się uczyć
-
potrafił dobrze się komunikować słownie i pisemnie
-
potrafił ustalać priorytety
-
potrafił dobrze się zorganizować.
Szkolenia z zakresu testowanie w większości są takie same:
* Zasady testowania (terminologia, dlaczego testowanie jest konieczne?, podstawy procesu testowania, psychologia testowania, testowanie regresyjne, wyniki testów)
* Test w różnych fazach procesu wytwarzania oprogramowania (modele procesu wytwarzania oprogramowania, ekonomika testowania, planowanie testowania, testowanie komponentów, testowanie integracyjne, testowanie systemu, testowanie własności, testowanie akceptacyjne, testowanie pielęgnacyjne)
* Dynamiczne techniki testowania (techniki "czarnej skrzynki", techniki "szklanej skrzynki", zgadywanie błędów)
* Statyczne techniki testowania (udział przeglądów w procesie testowania, rodzaje przeglądów i inspekcji, analiza statyczna)
* Zarządzanie testowaniem (organizacja, zarządzanie konfiguracja, kontrolowanie testowania, śledzenie błędów, standardy w dziedzinie testowania)
* Narzędzia wspomagające testowanie (rodzaje narzędzi, wybór i wdrożenia narzędzi wspomagających testowanie)
Jest to standardowa oferta jednej z polskich firm szkoleniowych.
Co na to standardy?
Standardy są mocno ogólne kiedy opisują wymagania, rolę czy obowiązki testera. Z pomocą przychodzi niezawodny RUP (ang. Rational Unified Process). W tej iteracyjnej metodzie tworzenia oprogramowania przed testerem stawia się następujące wymagania:
-
implementacja i wykonanie testów
-
zapisywanie wyników testów
-
analiza wykrytych błędów
-
dokumentowanie przypadków (rozumianych jako zachowanie sprzeczne z doświadczeniem, ale nie z dokumentacją).
Wyłączne prawa autorskie do tego dokumentu posiadają „testerzy.pl”. Rozpowszechnianie dla celów komercyjnych jak i niekomercyjnych jest dozwolone tylko pod warunkiem podania ich źródła.