blog.testowka.pl

Archiwum wiadomości z Maj, 2012

Tester w Agile – sztuka zadawania pytań

opublikowany przez 31, Maj, 2012, w kategoriach Agile, Automatyzacja, Inne, Scrum, Testowanie, XP

Cały czas ludzie pytają mnie o to jaka jest rola testera w zespole pracującym wg Agile/Scrum? Jakie kompetencje powinien mieć taki tester? Czy wystarczy by tester w Agile tylko „klikał”? Jeśli klikanie to za mało to w jaki sposób poszerzać kompetencje testerów?

Rola testera w Agile jest niezwykle istotna! Szeroko rozumiane testowanie jest podstawą zwinnych metodyk wytwarzania oprogramowania. Przez „szeroko rozumiane” mam na myśli oczywiście nie tylko klikanie ale i automatyzację. Tak! Drodzy testerzy dobrze jeśli potraficie automatyzować testy – nie mówię tutaj o regularnym programowaniu, ale o ułatwianiu swojej i innych pracy. Oczywiście nie skreślam nigdy testerów klikających – ich wiedza i umiejętności są niewątpliwie istotne. Tester nie programujący/automatyzujący na co dzień może i powinien pełnić rolę „adwokata diabła” (klienta) – to tester potrafi najlepiej wczuć się w potencjalnego użytkownika testowanej aplikacji i spojrzeć na nią z zupełnie innej niż programiści perspektywy.

W trakcie sprintu/iteracji tester powinien poświęcać jak najwięcej czasu na… uwaga… testowanie. Testowanie to nie tylko wykonywanie scenariuszy czy też ich automatyzacja – to przede wszystkim zadawanie pytań. Pierwsze podstawowe pytanie zadawane, gdy ktoś oddaje coś do testów powinno brzmieć: „Czy to na pewno jest do testów gotowe?”, lub „Co programista rozumie poprzez zrobione?”. Ale czy moment „oddania do testów” jest pierwszą okazją do zadawania pytań? Oczywiście nie – pytać można dużo wcześniej – chociażby siadając z programistami i gdy nawet jeszcze nie przystąpią do swojej pracy zadawać pytania typu: „Jak zamierzasz to zaimplementować?”, „Czy wziąłeś pod uwagę taki scenariusz?”, „Jak to się ma do naszej Definition of Done?”. „Czy to na pewno wszystkie kryteria akceptacji jakie są wymagane by uznać tą funkcjonalność za skończoną?”. Oprócz programistów tester powinien gnębić swoimi pytaniami także klienta – doprecyzowując wymagania i eliminując wszelkie wątpliwości. Efektem ubocznym rozmów z klientem i programistami jest ciągłe poszerzanie wiedzy na temat testowanego produktu co w efekcie drastycznie podnosi jakość testów i przekłada się na produktywność całego zespołu.

Tester w Agile musi się wykazać pewną pro-aktywnością i samemu organizować swoją pracę. To tester powinien zawsze wychodzić na przeciw klientowi, użytkownikom czy programistom i aktywnie uczestniczyć w projekcie od samego początku.

Jeśli programiści korzystają z praktyk Programowania eXtremalnego (XP) takich jak programowanie w parach i Test Driven Development to nie ma lepszego miejsca dla testera niż siedzenie w parze z programistą. Oczywiście tester nie umiejący programować w kwestiach technicznych niewiele pomoże (przynajmniej na początku) ale już na przykład podczas dobierania odpowiednich przypadków testowych w TDD jego wiedza może być niezwykle przydatna. Tester w parze z programistą pełni rolę nawigatora (patrz google + pair programming). Tego typu podejście bardzo szybko sprawi, że tester poprzez najpierw zrozumienie kodu a następnie czynny udział w programowaniu będzie rozwijał swoje umiejętności potrzebne do automatyzacji testów i nie tylko.

Kolejny temat, który ostatnio ktoś poruszył to problem z testerami, którzy uważają, że naturalną ścieżką kariery testera jest w pewnym momencie zostanie (młodszym) programistą. Ogólnie uważam, że nie ma w tym nic złego – jeśli weźmiemy pod uwagę fakt że programowanie to gra zespołowa to posiadanie w zespole programisty z backgroundem testerskim niezwykle ułatwia życie. Taki programista/tester jest w stanie fachowo wspierać kolegów testerów w momencie, gdy akurat zadań dla testerów jest więcej. Ponadto bagaż doświadczeń zdobytych na stanowisku testera sprawia, że taka osoba dużo lepiej rozumie istotę i problemy związane z testowaniem więc wykorzystując swoje umiejętności programistyczne może skutecznie ułatwiać pracę testerów. Z drugiej strony kto by tam chciał być programistą gdy testowanie jest takie ciekawe! 😛

Powyższe to tylko kilka moich pomysłów, a w zasadzie zbiór prywatnych doświadczeń związanych z testowanie w zespole pracującym wg Agile/Scrum. Z chęcią posłucham o Waszych pomysłach a przede wszystkim doświadczeniach co do tego jak pracować w takim zespole – w komentarzach jest dużo miejsca…

7 komentarzy więcej...

Ekscytująca jakość

opublikowany przez 21, Maj, 2012, w kategoriach Inne

Już w najbliższą sobotę (26 Maja 2012) w Gliwicach będę miał przyjemność wziąć udział w wydarzeniu Quality Excites. Wydarzenie w całości poświęcone jest szeroko rozumianej jakości – to główny powód dlaczego warto wziąć w nim udział, kolejny to fakt, że wstęp jest darmowy!

Tego typu inicjatywy cieszą mnie niezmiernie – wreszcie ktoś dostrzega, że jakość to nie tylko testowanie ale także np. usability aplikacji. Dzięki takim wydarzeniom powoli zaczyna się głośno mówić w naszym o jakości i o tym jak jest ona ważna w dobie szybko działającej konkurencji, która tylko czeka na nasze najdrobniejsze nawet potknięcie.

Jakość oprócz sfery wizualnej to także możliwość szybkiego i łatwego rozwijania i wytwarzania oprogramowania. Czasy, gdy software pakowany był w pudełka i dostarczany do klienta pocztą (nie-elektroniczną) na kilku dyskietkach już dawno minęły – zmiana wymagań w dziedzinie oprogramowania jest czymś zupełnie naturalnym. Mało tego – to właśnie możliwość szybkiego dostosowywania się (także dostosowywania naszego oprogramowania) do rynku jest krytycznym czynnikiem sukcesu organizacji wytwarzających i korzystających z oprogramowania. O tym, a także o innych aspektach współczesnego wytwarzania oprogramowania będę miał przyjemność opowiadać na zakończenie konferencji – serdecznie zapraszam. Z pewnością będzie też wiele ciekawych rozmów w kuluarach – czekam z niecierpliwością.

Więcej informacji o wydarzeniu i formularz rejestracyjny znajdziecie na qualityexcites.pl.

1 komentarz więcej...