blog.testowka.pl

Archiwum wiadomości z Sierpień, 2009

Czy testerzy są potrzebni?

opublikowany przez 29, Sie, 2009, w kategoriach Agile, Automatyzacja, Praca, Testowanie

Wiele razy słyszałem (z różnych ust), że testerzy są niepotrzebni… Muszę się z tym zgodzić… (!?)

(…teraz strzelam sobie zawodowego samobója 😉 )

Jeśli spojrzymy na współczesne metodologie wytwarzania oprogramowanie (mowa głównie o agile) możemy dostrzec zanik roli testera w projekcie. Zwykłe przeklikiwanie się przez aplikację już nie wystarcza by sprostać wymaganiom stawianym przez współczesnych klientów – aplikacje mają być w pełni modyfikowalne i rozwijalne w dowolnym kierunku (i przeważnie są wielokrotnie modyfikowane i rozwijane), popularność zyskuje nawiązanie do prototypowania, gdzie w celu sprawdzenia czy dana aplikacja/serwis zdoła przyciągnąć uwagę klientów, najpierw wypuszcza się jego okrojoną wersję w celu zdobycia informacji na temat zapotrzebowania klientów, a dopiero później rozwija się serwis w kierunku wyznaczonym przez potencjalnych klientów. Gdy w aplikacji następuje wiele częstych zmian zwykłe klikanie staje się mało opłacalne. Jeśli np. mamy  do czynienia z serwisem społecznościowym w którym zmiany są publikowane co tydzień, ilość potrzebnych testów i możliwych scenariuszy jest tak duża, że wymagane jest zatrudnianie coraz więcej testerów.

W większości zwinnych metodologi podstawą są automatyczne testy, czy to unit testy, czy testy integracyjne zasadniczo pisane przez programistów, więc gdzie tu miejsce dla testera? Oczywiście, tester przydaje się do wykonania testów akceptacyjnych, ale to tak na prawdę szybka robota w porównaniu do długości całego cyklu wytwarzania oprogramowania. Na szczęście mało kto zdaje sobie sprawę z konieczność zapewnienia odpowiedniego – maksymalnego (w granicach rozsądku) pokrycia kodu testami (o tym innym razem),  dzięki temu testerzy mają jeszcze co robić… Testy akceptacyjne, testy sprawdzające warunki odbioru produktów będą zawsze potrzebne, więc zawód testera raczej nie zaniknie, zmienią się, zostaną okrojone jedynie jego zadania i kompetencje. Może to trochę czarna wizja przyszłości niemniej jednak jest to wizja prawdopodobna.

W dobie automatyzacji w każdej dziedzinie życia, praca testera też zostanie zastąpiona przez maszyny, testy automatyczne, konkretniej funkcjonalne testy automatyczne. W przypadku aplikacji www testy mogą być wykonywane np. przy pomocy Selenium lub innych narzędzi, gdy mamy do czynienia z aplikacjami desktopowymi np. przy użyciu TestComplete…  Narzędzia tego typu jeszcze do niedawna niedoceniane coraz bardziej zyskują na popularności i zwiększa się ich ilość. Właśnie przeczytałem o czymś co nazywa się AutoIT (ale o tym też innym razem, jak już to wypróbuje). Dlatego w projektach wzrasta rola kogoś określanego mianem Iżyniera Testów, czyli osoba która potrafi programować na tyle by pisać tego typu testy i je utrzymywać, a jednocześnie posiadająca wiedzę nt testowania aplikacji na poziomie umożliwiającym projektowanie odpowiednich scenariuszy i przypadków testowych.

Jak to mówią „potrzeba matką wynalazków”, więc sygnaturka w moim firmowym mailu zmieniła się na SQA & Test Engineer.  Awans? Raczej nie, w sumie od samego początku się tym zajmowałem, ale dopiero podczas jednej z rozmów przy piwie zostało to w pewnym stopniu sprecyzowane. Cytuje Adama: „Wg mnie każdy tester powinien być także inżynierem testów” – po przemyśleniu nie pozostaje mi nic innego jak zgodzić się z tym stwierdzeniem. Podczas ciągłych zmian samo przeklikiwanie się przez aplikację już nie wystarczy, niemniej jednak same testy automatyczne nie są w stanie wszystkiego sprawdzić, a gdy ich ilość osiąga pewną krytyczna masę ich utrzymanie staje się zbyt kosztowne i „testerzy górą”, dlatego Tester i Inżynier Testów w jednym to idealne rozwiązanie.

Pozostaje mi tylko życzyć powodzenia wszystkim testerom, którzy nie zamierzają uczyć się pisania testów. Moje mroczne wizje prawdopodobnie się nie spełnią chociażby dlatego, że znacząca większość projektów nadal jest rozwijana wg. starych metodologi i pewnie jeszcze długo będzie, a metodologie zwinne mało kto potrafi i chce w pełni wykorzystywać.

1 komentarz więcej...

Jeszcze inteligentniejsze formularze.

opublikowany przez 01, Sie, 2009, w kategoriach Inne

Jakiś czas temu pisałem o usability formularzy. Jednym z tematów poruszonych przeze mnie było to, czy walidacja formularzy powinna odbywać się w czasie rzeczywistym (AJAXowo), czy dopiero po przeładowaniu strony. Spotkałem się z wieloma sprzecznymi opiniami na ten temat, począwszy od słabej wydajności i ograniczonych możliwości jeśli chodzi o walidację po stronie klienta, po chociażby to, że użytkownicy nie lubią gdy podczas pisania coś im gdzies wyskakuje. Dzisiaj znalazłem w Sieci coś co wydaje mi się pewnym kompromisem, mianowicie w formularzu składania zamówienia w sklepie internetowym sklep-presto.pl zostało zastosowane bardze ciekawe rozwiązanie przypominające użytkownikowi o zaznaczeniu zgody na warunki podane w regulaminie – po najechaniu na przycisk „Dalej” wykonuje się akcja (po stronie przeglądarki) która dodaje czerwoną ramkę wokół obszaru mówiącego o regulaminie. W ten oto prosty sposób została zastosowana walidacja po stronie klienta nie wykonywana w czasie rzeczywistym.

Uważam, że podpięcie wywołania walidacji już pod akcję najechania kursorem na przycisk zatwierdzający, a nie pod samo kliknięcie jest idealną wypadkową, która powinna przypaść do gustu większości użytkowników. Jedynym minusem takiego rozwiązania, który mi sie w chwili obecnej nasuwa jest brak tego typu rozwiązań – jest to pewnego rodzaju nowość, a jak to z nowościami bywa pomimo swojej użytecznosci może nie zostać zaakceptowana przez ogół użytkowników. Niemniej jednak sprawa jest warta przyjrzenia się i przeprowadzenia badań w tym kierunku, co postaram się w najbliższym (wolnym) czasie zrobić.

3 komentarze więcej...