Tester testerowi nierówny

Mało kto zdaje sobie sprawę, że należy wyraźnie oddzielić betatestowanie programów od oceniania jakości gotowych produktów, czym np. zajmuje się software’owa część CHIP-owego Labu. W tym drugim wypadku ocenia się ogólną przydatność i użyteczność aplikacji, zwraca uwagę na jej intuicyjność, rewolucyjne technologie, ewentualne braki względem produktów konkurencji oraz stosunek ceny do jakości. W trakcie procesu betatestowania programów tester skupia się na błędach, niedociągnięciach, elementach nielogicznych lub mało praktycznych, koncentruje się na detalach. Jego uwagę zwracają np. szczegóły działania jednej z opcji, zachowanie się wybranego okna dialogowego itp.

Dwa grzechy główne

W reakcji na moje artykuły o charakterze “betatestowym” (patrz:

CHIP 5/2005

i

7/2005

) nadeszły od Czytelników listy, w których powtarzały się dwa błędy dotyczące braku zrozumienia, na czym polega praca betatestera.

Pierwszym, często powracającym w dyskusji argumentem jest: “u mnie tak się nie dzieje”. Jeden z Czytelników zarzucił mi, że opisany błąd tak naprawdę nie jest błędem, bo jemu nie udało się go odtworzyć. Tymczasem w świecie betatesterów dowolny błąd istnieje tak długo, jak długo można go wykazać na przynajmniej jednym komputerze. Owszem, należy zwracać uwagę na to, czy problem nie stanowi efektu specyficznej konfiguracji oraz czy testowany pakiet przeniesiony bez jakichkolwiek modyfikacji na komputer ze świeżo zainstalowanym systemem operacyjnym również zachowa się w taki sposób. Niemniej programiści mają za zadanie tak długo “wiercić” tworzony przez siebie kod źródłowy, aż na żadnym komputerze zgłoszony błąd nie wystąpi.

Drugi “grzech ciężki” to myślenie typu: “a program YYY też tak ma”. Być może wyda się to komuś śmieszne, ale jeden z Czytelników naprawdę próbował mi sugerować, że opisany w pakiecie OpenOffice błąd nie jest błędem dlatego, że… Word zachowuje się tak samo. Tymczasem betatester zajmuje się tylko zleconym programem i to, co się dzieje z produktami konkurencji, absolutnie go nie interesuje. Nie zajmuje się on tym, w jakim stopniu dany pakiet jest lepszy od drugiego, a jedynie jak duże sprawia problemy.

Testować (nie) każdy może

O dobrego kandydata na betatestera nie jest łatwo – nie tylko z powodu opisanych powyżej popularnych nieporozumień. To stanowisko o bardzo różnej intratności (od darmowych pełnych wersji programów po wysoką pensję w firmie za nieustanne wyszukiwanie błędów) wymaga od kandydata nieco więcej niż doskonałej znajomości komputerów. Oprócz wiedzy i cech względnie łatwych do wyuczenia wymagane są też predyspozycje, które albo ma się wrodzone, albo… nie ma się szans stać się dobrym betatesterem.

Pierwszym z owych wymagań jest wytrwałość w dążeniu do celu, czyli nieustępliwość w tropieniu jak największej liczby błędów. Celowo używam określenia “jak największej liczby”, a nie “wszystkich”, gdyż jest to zarazem determinanta uporu. Jeżeli kiedykolwiek podczas testowania programu powiesz sobie: “prawdopodobnie ten program nie ma już żadnych błędów”, będzie to pierwszy i zarazem najwyraźniejszy sygnał, że coś jest nie tak. Dobry tester wie, że nie ma programów bez błędów, są tylko źle sprawdzone.

Druga cecha to nieugiętość wobec opinii innych użytkowników (np. członków forum dyskusyjnego) bądź… samego autora danego programu. Trzeba być nieustępliwym mimo zarzutów: “czepiasz się!”, nawet gdy pochodzą one z ust pracodawcy. Inaczej nie unikniemy pokusy ignorowania drobnych błędów, które mogą stać się gwoździem do trumny programu po jego premierze rynkowej.

Co by tu jeszcze zepsuć?

Bardzo ważnym aspektem jest zmysł poszukiwacza. Objawia się on np. poprzez symulowanie różnych, niekoniecznie oczywistych, sytuacji, zachowywanie się na przekór zamysłowi twórcy pakietu oraz nieustanne eksperymentowanie pod hasłem: “co by było, gdybym…”. Bardzo pożądana jest tu nie tylko orientacja w informatyce, ale również szczegółowa wiedza z wybranego zagadnienia. To oczywiste, że dużo trudniej testuje się program muzyczny specjaliście od grafiki komputerowej.

I na koniec cecha najważniejsza – niestety, niemożliwa do zdobycia w szkole czy na kursach. Aby być dobrym betatesterem, trzeba po prostu mieć odpowiednią dozę szczęścia do znajdywania (bądź wywoływania) sytuacji, w których ujawniają się błędy w programie. Dla przykładu – testując kompleksowo program IrfanView, zgłosiłem jego autorowi ponad sto błędów. W odpowiedzi na większość z nich otrzymywałem informację, że jestem jedynym lub jednym z niewielu użytkowników (całkowita ich liczba w przypadku tego programu to kilkadziesiąt milionów!), którzy zwrócili uwagę na te problemy.

Tylko dla orłów

Choć oglądanie programów i sprawdzanie, czy działają one poprawnie, może się wydawać łatwym kawałkiem chleba, jest to zawód, w którym nie sprawdziłaby się większość nawet bardzo doświadczonych i wykształconych użytkowników komputerów. Nawet wyższe wykształcenie informatyczne nie stanowi gwarancji przydatności do tego zawodu. Marudzić, że coś nie działa, każdy potrafi. Znalezienie dziury w całym wymaga nie tylko wiedzy, ale także iskry bożej.

Więcej:bezcatnews