Grzegorz Świeć

Grzegorz Świeć QA, lider zespołu
testowania
oprogramowania

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

No wlasnie, firma w ktorej pracuje chce wprowadzic role testera w projektach prowadzonych metodologia Agile Scrum. W tytule troche nieprecyzyjnie sie wyrazilem odnosnie Unit Testow - sa one dozwolone, ale nie w formie Test Driven Design. Powstaje wiec pytanie w jaki sposob zorganizowac prace testera tak by po pierwsze byl on skuteczny, po drugie - oprocz scislej komunikacji nie obciazal dodatkowa praca developerow przy tworzeniu testow.
Chetnie przyjme jakies wskazowki, opracowania lub po prostu info jak to u Was dziala:).
Ciekawe opracowanie znalazlem pod linkiem:
http://testingreflections.com/node/view/7378

Pozdrawiam
G.
P.S. zapraszam do dyskusji tutaj jak i w watku na grupie SQA
Daniel Dąbrowski

Daniel Dąbrowski Właściciel, 42n

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Ciekawe po jakim czasie sie ta osoba zwolni z firmy.

A tak na serio ... Ta osoba ma tworzyc testy czy klikac w aplikacje na zasadzie manualnych testów ? Cos tu sobie sam zaprzeczasz.

konto usunięte

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Bez sensu.

Pierwsze słyszę o "Test Driven Design". Piszecie testy określające gdzie user najchętniej klika i tam designer ma wstawić kluczowe linki albo reklamy?

Testy jednostkowe można jak najbardziej pisać po implementacji danej funkcjonalności (czyli olać TDD, którego "lepszość" do dziś nie potrafi wyjść w badaniach).

Ale nie robi tego "tester", na Trygława i Swaroga. Unit Testy piszą programiści.
Tester, jeśli już jest (bardzo się przydaje!) powinien przeklikiwać aplikację ("w imieniu usera") i ew. pisać inne skrypty testujące (np. Selenium albo inne Webraty, symulujące "user experience"), a testowanie konkretnych fragmentów KODU (nie serwisu) zostawić koderom którzy ów kod zakodowali. :)

Tzn. w dużym skrócie: osoby odpowiedzialne za projekt powinny zostać nauczone (skoro dotychczasowa nauka skończyła się taką porażką interpretacyjną) co to znaczy Agile, co to jest TDD, co to są Unit Testy i dlaczego tester != koder unittestów.
Grzegorz Świeć

Grzegorz Świeć QA, lider zespołu
testowania
oprogramowania

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Tomasz Stachewicz:
Bez sensu.

Pierwsze słyszę o "Test Driven Design". Piszecie testy określające gdzie user najchętniej klika i tam designer ma wstawić kluczowe linki albo reklamy?

Bez urazy, ale nie wiesz do czego sluzy TDD. Poszukaj wiecej info na ten temat w sieci. Podpowiem Ci tylko ze TDD nie ma nic wspolnego z projektem interfejsu.


Testy jednostkowe można jak najbardziej pisać po implementacji danej funkcjonalności (czyli olać TDD, którego "lepszość" do dziś nie potrafi wyjść w badaniach).

Czyli nie slyszales o TDD, ale znasz wyniki badan ktore obalaja jego lepszosc - ciekawe :).
Ja nie widze sensu pisania Unit Testow po implementacji. Bo niby czemu mialby one sluzyc?
Daniel Dąbrowski

Daniel Dąbrowski Właściciel, 42n

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

o lol .. co za gosc.

Wez zastanow sie i zadaj jeszcze raz pytanie o co Ci chodzi z tym testerem bo poki co to wyglada ze nawet sam nie wiesz czego chcesz.
Grzegorz Świeć

Grzegorz Świeć QA, lider zespołu
testowania
oprogramowania

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Daniel Dąbrowski:
o lol .. co za gosc.

Daruj sobie prywate.
Co do pracy testera to poprostu staram sie zorganizowac mu prace, a ciezko znalezc opis takiej metodologii testowania w przypadku Scrumu.
Czego konkretnie nie rozumiesz w moim pytaniu "gosciu"?Grzegorz Świeć edytował(a) ten post dnia 08.07.09 o godzinie 10:32
Krystian K.

Krystian K. Agile Coach, Autor

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Grzegorz Świeć:
>
a ciezko znalezc opis takiej metodologii testowania w przypadku Scrumu.

Agile Testing: A Practical Guide for Testers and Agile Teams (Addison-Wesley Signature Series) (Paperback)
Piotr Słowik

Piotr Słowik projektowanie mobile
user experience to
jest to :]

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Tomek, nie znasz się to się nie odzywaj :P

Grzegorz, to jest bardzo ciekawy temat. Mógłbyś podrzucić jakieś linki o Test Drive Design?
Przemek T.

Przemek T. Szef Zespołu
Technologii Online

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Grzegorz, pewnie miałeś na myśli Test Driven Development albo/i Test First Design.
Jeśli dobrze zrozumiałem - Twój człowiek miałby być odpowiedzialny raczej za kreowanie testów akcpetacyjnych na podstawie historyjek użytkownika niż pisanie testów jednostkowych - bo to faktycznie zadanie dla programistów. Myślę, że pozycja polecona przez Krystiana jest ciekawa - sam postaram się ją zdobyć ;)
Zaangażowanie testera do np. smoke testów to też chyba dobry pomysł. Uważaj jednak, żeby nie poczuł się "mniej ważną częścią zespołu", bo wtedy nie będzie czuł się spełniony i szybko z niego ucieknie... Ta praca wcale nie jest mniej ważna.

Trochę na temat roli "tester" znajdziesz też w tej książce:
http://helion.magazyn.pl/Agile-Development-Filozofia-p...

Choć akurat o Scrumie tam niewiele :)

pozdrawiam!Przemek Tarczyński edytował(a) ten post dnia 08.07.09 o godzinie 21:02
Grzegorz Świeć

Grzegorz Świeć QA, lider zespołu
testowania
oprogramowania

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Przemek Tarczyński:
Jeśli dobrze zrozumiałem - Twój człowiek miałby być odpowiedzialny raczej za kreowanie testów akcpetacyjnych na podstawie historyjek użytkownika niż pisanie testów jednostkowych - bo to faktycznie zadanie dla programistów. Myślę, że pozycja polecona przez Krystiana jest ciekawa - sam
postaram się ją zdobyć ;)
Zaangażowanie testera do np. smoke testów to też chyba dobry pomysł. Uważaj jednak, żeby nie poczuł się "mniej ważną częścią zespołu", bo wtedy nie będzie czuł się spełniony i szybko z niego ucieknie... Ta praca wcale nie jest mniej ważna.


Tu sie zgodze. Faktycznie wg mnie istnieje zagrozenie wyobcowania testera z zespolu.

Trochę na temat roli "tester" znajdziesz też w tej książce:
http://helion.magazyn.pl/Agile-Development-Filozofia-p...

Dzieki.Grzegorz Świeć edytował(a) ten post dnia 08.07.09 o godzinie 23:43

konto usunięte

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Czyli nie slyszales o TDD, ale znasz wyniki badan ktore obalaja jego lepszosc - ciekawe :).

Google i Wikipedia są zgodne:
TDD == Test Driven Development.

Zresztą googlnij sobie oba terminy (test driven development, test driven design), zobacz jaka bzdura robi się z Twojego posta po podstawieniu znaczenia "Test Driven Design" (albo tego, co autor tego jednego samotnego wyniku nazwał "Test Driven Design") i przeproś ;)

I nie "obalają jego lepszość", tylko pokazują że podejścia write-test-first i write-test-after nie skutkują dużą różnicą w produktywności czy jakości kodu, a mała różnica jest na korzyść jednak write-test-after.
Ja nie widze sensu pisania Unit Testow po implementacji. Bo niby czemu mialby one sluzyc?

ROTFL :D
Mogę cytować ten fragment? :D

PS. Nikt nie wyrzuca z tej grupy za chamówę?Tomasz Stachewicz edytował(a) ten post dnia 09.07.09 o godzinie 08:41

konto usunięte

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Zazwyczaj staram się nie udzielać, ale tu pobiliście wszystkie rekordy...

Po pierwsze - nie istnieje coś takiego jak "Test Driven Design" - jeśli myślisz o tym linku to człowiek który to pisał pomylił z Test Driven Development(chociaż jeśli to jest w tytule to zaliczył fail roku - albo i 6 w tym wypadku...) Co zresztą jasno wynika z przedstawionej przez niego metodologii. </thread> więc dla tego tematu.

Dalej - pisanie testów unitowych. Tutaj albo ktoś przytrollował, albo naprawdę nie wie jak wyglądają testy. Bo niby jak napisać testy do czegoś czego nie ma?? Można napisac testy integracyjne(np. Cucumber) do opisanej funkcjonalności. Ale testy unitowe(modeli), funkcjonalne(kontrolerów) i widoków są pisane na podstawie kodu - bo to kod a nie funkcje mają te testy sprawdzać. Więc proponuję poczytać, pokontemplować i dopiero kontynuować dyskusję na ten podtemat.

I ostatnia rzecz - tester. Daj biednemu człowiekowi do napisania trochę kodu to się załamie. Tester jest od testowania a nie od klepania kodu. Więc nie - nie pisze unit testów, nie pisze testów funkcjonalnych ani nawet integracyjnych. On ma przeczesać aplikację jako użytkownik - czyli z palca jak Pan Bóg przykazał. Jeśli macie wysokiej jakości testera to dodatkowo może znać Selenium czy coś pokrewnego - wtedy to z pewnością poprawi jakość jego testów(bo może zapuścić je żeby całą aplikację objechały a w międzyczasie dać odpocząć skołatanym nerwom np. na 4chanie) ale potem i tak musi się sam przeklikać żeby sprawdzić czy się layout pod IE nie rozwala, czy JavaScript działa i flash wygląda jak przystało, a nie jak Silverlight...

Podsumowując - Panowie mniej rage'a a więcej tłumaczenia, a koledze zakładającemu topic proponuję skupiać się na sednie sprawy a nie na ozdobnikach językowych, tudzież porównywaniu długości z pozostałymi użytkownikami(ale to akurat dotyczy chyba wszystkich w tym temacie...)

EDIT: po zwróceniu mi uwagi przez jednego współpracownika muszę przyznać że unit testy do nienapisanego kodu można napisać - w teorii to również zakłada TDD. Ale IMHO jest to połowiczna prawda bo i tak potem pisząc modele dodajemy mniej lub bardziej nieplanowane metody do których będzie trzeba dodać testy. Więc pisanie unit testów przed kodowaniem jest możliwe, ale tylko w ograniczonym stopniu.Bernard Potocki edytował(a) ten post dnia 09.07.09 o godzinie 08:58

konto usunięte

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Bernard Potocki:
EDIT: po zwróceniu mi uwagi przez jednego współpracownika muszę przyznać że unit testy do nienapisanego kodu można napisać - w teorii to również zakłada TDD. Ale IMHO jest to połowiczna prawda bo i tak potem pisząc modele dodajemy mniej lub bardziej nieplanowane metody do których będzie trzeba dodać testy. Więc pisanie unit testów przed kodowaniem jest możliwe, ale tylko w ograniczonym stopniu.

Dla ewangelistów TDD (test-first) jest możliwe w 100%, ale owszem (i jak już pisałem wynika z badań) -- nie jest to wcale lepsze od pisania testów "po", a nawet wychodzi że jest trochę gorsze.

Dla zainteresowanych badaniami oraz komentarzem:
http://scruffylookingcatherder.com/post/2008/01/16/TDD...

Chociaż oczywiście ewangeliści "test-first" też mają dość mocne (chociaż niezbyt poparte badaniami) argumenty:
http://www.lispcast.com/drupal/6-Reasons-to-develop-yo...
Krystian K.

Krystian K. Agile Coach, Autor

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Bernard Potocki:
Zazwyczaj staram się nie udzielać, ale tu pobiliście wszystkie rekordy...
Też mi się nie chciało użerać z ludźmi, którzy myślą, że wiedzą dużo o testowaniu i developerce, ale cóż. Poziom Przekręceń pojęć sięga zenitu.
Po pierwsze - nie istnieje coś takiego jak "Test Driven Design" - jeśli myślisz o tym linku to człowiek który to pisał pomylił z Test Driven Development(chociaż jeśli to jest w tytule to zaliczył fail roku - albo i 6 w tym wypadku...) Co zresztą jasno wynika z przedstawionej przez niego metodologii. </thread> więc dla tego tematu.

True, nie jest to powszechnie stosowane pojęcie, raczej sztuczne. Chodzi o to, żeby na kazdym etapie projektu myśleć jak umożliwić jego łatwe przetestowanie. Jednakże w tym wątku TDD to Test Driven Development.

Dalej - pisanie testów unitowych. Tutaj albo ktoś przytrollował, albo naprawdę nie wie jak wyglądają testy. Bo niby jak napisać testy do czegoś czego nie ma??

Nie prawda. Na tym polega Test Driven Development. Piszesz test, który ma udowodnić, że nowa funkcjonalność działa. Test daje fail, dopisujesz kod i test robi się zielony.
Można napisac testy integracyjne(np. Cucumber) do opisanej funkcjonalności. Ale testy unitowe(modeli), funkcjonalne(kontrolerów) i widoków są pisane na podstawie kodu - bo to kod a nie funkcje mają te testy sprawdzać. Więc proponuję poczytać, pokontemplować i dopiero kontynuować dyskusję na ten podtemat.

Również proponuje Ci poczytać ale o testowaniu. Podział testów nie opiera się na modelu MVC.

Testy Modułowe (Unit Testy) - testy pojedynczego modułu dostarczającego określoną funkcjonalność
Testy Integracyjne - testy dwóch lub więcej modułów/systemów pracujących zależnie
Testy Systemowe - testy całego systemu, testy całego workflow od wejścia do wyjścia
Testy Akceptacyjne - na ogól podzbiór testów systemowych wykonywany na środowisku takim samym lub zbliżonym do produkcyjnego, czesto wykonywane przez inną firmę lub klienta
I ostatnia rzecz - tester. Daj biednemu człowiekowi do napisania trochę kodu to się załamie. Tester jest od testowania a nie od klepania kodu. Więc nie - nie pisze unit testów, nie pisze testów funkcjonalnych ani nawet integracyjnych. On ma przeczesać aplikację jako użytkownik - czyli z palca jak Pan Bóg przykazał. Jeśli macie wysokiej jakości testera to dodatkowo może znać Selenium czy coś pokrewnego - wtedy to z pewnością poprawi jakość jego testów(bo może zapuścić je żeby całą aplikację objechały a w międzyczasie dać odpocząć skołatanym nerwom np. na 4chanie) ale potem i tak musi się sam przeklikać żeby sprawdzić czy się layout pod IE nie rozwala, czy JavaScript działa i flash wygląda jak przystało, a nie jak Silverlight...

Wrong! Tester to osoba, która testuje, więc jeżeli kolega z zespołu pisze testy do twojego kodu to w tym momencie jest on testerem. Testerzy, którzy zajmują się White Box Testing też muszą znać się na kodzie. Żadko, ale jednak zdarza się że są w zespole osoby, które zajmują się sprawdzaniem jakości Unit Testów, albo zajmują się wyłacznie dopisywaniem Unit Testów. Są też testerzy, którzy tworzą narzędzia do testów automatycznych albo symulatory. Z Twojej wypowiedzi wynika, że widziałeś tylko pracę testera od Testów Akceptacyjnych albo monkey testing.

Podsumowując - Panowie mniej rage'a a więcej tłumaczenia, a koledze zakładającemu topic proponuję skupiać się na sednie sprawy a nie na ozdobnikach językowych, tudzież porównywaniu długości z pozostałymi użytkownikami(ale to akurat dotyczy chyba wszystkich w tym temacie...)

Fakt, poziom tematu jest niski, ale nie obarczałbym winą za to założyciela.

EDIT: po zwróceniu mi uwagi przez jednego współpracownika muszę przyznać że unit testy do nienapisanego kodu można napisać - w teorii to również zakłada TDD. Ale IMHO jest to połowiczna prawda bo i tak potem pisząc modele dodajemy mniej lub bardziej nieplanowane metody do których będzie trzeba dodać testy. Więc pisanie unit testów przed kodowaniem jest możliwe, ale tylko w ograniczonym stopniu.Bernard Potocki edytował(a) ten post dnia 09.07.09 o godzinie 08:58

Nie bądź uparty :) Byłem na szkoleniu z TDD i widziałem jak ładnie za pomocą Eclipse można tworzyć funkcjonalny kod przy okazji pisania JUnitów.

konto usunięte

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

[offtopic] Za pomocą Eclipse to w ogóle daje się w Javie programować, więc to żaden argument ;)

konto usunięte

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

@Krystian Kaczor
Ok - czuję się skarcony ;) Przyznaję się bez bicia że chyba zbytnio przyzwyczaiłem się do ideologicznego podziału testów by RoR i stąd ta tyrada(zapominam że tu również o innych językach rozmawiamy ;) a jedyny czystej wody tester jakiego znam to typowy gość od monkey-testingu... Chyba czas żebym zweryfikował swoją wiedzę ;)

EDIT: ale co do nazywania "testerem" każdego kto testuje kod to trochę mnie od tego zęby bolą - to tak jakby "programistą" nazywać gościa od HTML/CSS albo Panią Zosię z sekretariatu bo pisze raz do roku skrypt w Excelu do sumowania danych w tabelce...Bernard Potocki edytował(a) ten post dnia 09.07.09 o godzinie 11:30
Krystian K.

Krystian K. Agile Coach, Autor

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Tomasz Stachewicz:
[offtopic] Za pomocą Eclipse to w ogóle daje się w Javie programować, więc to żaden argument ;)
No cóż, są jeszcze inne języki programowania niż Ruby. Poczytaj gazety ;) [offtopic] już raczej nie może zaszkodzić w tym temacie

konto usunięte

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Pisałem zawodowo w Javie,
toć właśnie dlatego piszę, że Eclipse to w ogóle takie rewelacyjne narzędzie, dzięki któremu w Javie daje się pisać ;)

Generalnie Java jest bardzo dobrym językiem do pewnych zastosowań -- jak np. docenienie języków takich jak Python czy Ruby ;)

flamewar off: moja magisterka (tj. symulacja doń) jest napisana w Javie (kompromis pomiędzy produktywnością a wydajnością) z odrobiną Groovy'ego do oskryptowania scenariuszy symulacjiTomasz Stachewicz edytował(a) ten post dnia 09.07.09 o godzinie 11:34
Krystian K.

Krystian K. Agile Coach, Autor

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Tomasz Stachewicz:
Pisałem zawodowo w Javie,
Good :)
toć właśnie dlatego piszę, że Eclipse to w ogóle takie rewelacyjne narzędzie, dzięki któremu w Javie daje się pisać ;)
Inaczej to zrozumiałem. Małe nieporozumienie :)
Daniel Dąbrowski

Daniel Dąbrowski Właściciel, 42n

Temat: [crosspost]Jak, bez uzycia Unit Testow, zapewnic QA w...

Pisanie testów jako pierwszych moze tez pomoc przy tworzeniu dobrego API do danej klasy, biblioteki etc. Tak aby potem uzycie tej klasy bylo przyjazne i przyjemne tez dla oka.

Ale to nie to jest problemem a raczej to ze "mamy czlowieka w firmie i jakie mu zajecie znalezc, hmm ... niech testuje :)"

Następna dyskusja:

Certyfikat Professional Scr...




Wyślij zaproszenie do