Piotr Tomasz Piotrowski

Piotr Tomasz Piotrowski Inżynier Testów,
Analityk Danych,
Menedżer, Działacz
społ...

Temat: Strategia testów regresywnych

Cześć,
Czy macie strategię dla testów regresyjnych? Jakie są Wasze doświadczenia? Jakie są założenia Waszych tego typu strategii? Używacie przykładowo danych historycznych i statystyk w tym przypadku?
Pozdrawiam,
Piotrek
Dariusz P.

Dariusz P. Wdrażanie i
zarządzanie
innowacją w
korporacjach, m.in.
R...

Temat: Strategia testów regresywnych

Piotr Tomasz Piotrowski:
Cześć,
Czy macie strategię dla testów regresyjnych? Jakie są Wasze doświadczenia? Jakie są założenia Waszych tego typu strategii? Używacie przykładowo danych historycznych i statystyk w tym przypadku?

Cześć,

ja może trochę nie na temat ale wiadomo jak jest - ciekawość zabiła kota ;)

Jesteś starszym inżynierem testów a zadajesz pytania na poziomie początkującego testera. O co chodzi? :)

Pozdr,
DP.
Piotr Tomasz Piotrowski

Piotr Tomasz Piotrowski Inżynier Testów,
Analityk Danych,
Menedżer, Działacz
społ...

Temat: Strategia testów regresywnych

Dariusz P.:
Piotr Tomasz Piotrowski:
Cześć,
Czy macie strategię dla testów regresyjnych? Jakie są Wasze doświadczenia? Jakie są założenia Waszych tego typu strategii? Używacie przykładowo danych historycznych i statystyk w tym przypadku?

Cześć,

ja może trochę nie na temat ale wiadomo jak jest - ciekawość zabiła kota ;)

Jesteś starszym inżynierem testów a zadajesz pytania na poziomie początkującego testera. O co chodzi? :)

Pozdr,
DP.
Twoja wypowiedź mnie zaintrygowała. Jeśli chodzi o wiedzę rzadko zarzuca mi się że formalnie mam za wysoki poziom stanowiska. Jednak działa to na mnie pozytywnie, bo już zacząłem osiadać powoli na laurach. Pytanie wiązało się z tym że w moim środowisku nie ma zgody co do tego kiedy i w jakiej ilości prowadzić testy regresywne. Druga kwestia jest taka że pojęcie strategii zaliczam do podstaw, jej rozwinięcie do poziomu zaawansowanego, a używanie statystyki do poziomu ekspert - idąc według standardów ISTQB.
Pozdrawiam
Piotrek
Krystian K.

Krystian K. Agile Coach, Autor

Temat: Strategia testów regresywnych

Piotr Tomasz Piotrowski:
Cześć,
Czy macie strategię dla testów regresyjnych? Jakie są Wasze doświadczenia? Jakie są założenia Waszych tego typu strategii? Używacie przykładowo danych historycznych i statystyk w tym przypadku?
Pozdrawiam,
Piotrek

Automatycznie z Selenium w Continuous Integration.
Dariusz P.

Dariusz P. Wdrażanie i
zarządzanie
innowacją w
korporacjach, m.in.
R...

Temat: Strategia testów regresywnych

Piotr Tomasz Piotrowski:
Pytanie wiązało się z tym że w moim środowisku nie
ma zgody co do tego kiedy i w jakiej ilości prowadzić
testy regresywne. Druga kwestia jest taka że pojęcie
strategii zaliczam do podstaw, jej rozwinięcie do poziomu zaawansowanego, a używanie statystyki do poziomu ekspert - idąc według standardów ISTQB.

Ech, Piotr - może moja uwaga wynika z tego, że Twoje pytania są masakrycznie ogólne podczas kiedy interesuje Cię jakiś konkretny temat. Tzn. mam wrażenie, że pytasz się o "zwyczaje godowe dużych zwierząt z trąbą" podczas gdy w rzeczywistości chodzi Ci o "zwyczaje godowe słonia afrykańskiego hodowanego w ZOO".

Nie wiem co rozumiesz przez to, że strategię testów regresyjnych/regresywnych zaliczasz do podstaw a jej rozwinięcie do poziomu zaawansowanego.

Wracając do tematu: chyba wszyscy zgadzamy się z tym, że istotą testów regresji jest weryfikacja tego, że przy wprowadzaniu zmian do oprogramowania to co już działało nie uległo regresowi. Oczywiste jest zatem, że regresja ma kluczowe znaczenie w przypadku kiedy oprogramowanie podlega wielu zmianom - czyli w modelach przyrostowych (a już szczególnie w "zwinnym" podejściu do wytwarzania oprogramowania). Czy to jest Twój przypadek? Jeżeli tak to chyba sytuacja jest prosta - automatyzujesz tyle ile możesz i masz to w procesie ;)

Kolejna "oczywista oczywistość" to to, że przy regresji zazwyczaj nie wytwarzasz nowych przypadków testowych tylko wybierasz jakieś podzestawy z tych, które wykonywałeś wcześniej (oczywiście warto to połączyć z jakimiś eksperckimi testami ad-hoc). Tak więc istotą regresji jest wybór odpowiedniego podzestawu z tego czym dysponujesz. Jeżeli chodzi Ci o jakiś "wodospadowy" model wytwarzania oprogramowania kiedy po przejściu testów nowych funkcjonalności chcesz sprawdzić czy nic się nie zepsuło to polecam nie zastanawiać się nad statystyką tylko zastosować bardziej praktyczne podejście:

1) co się zmieniło i na co mogą mieć wpływ te zmiany? czyli jakaś analiza wpływu - czy oprogramowanie jest modułowe czy nie? Ile funkcji jest współdzielonych? Gdzie wykorzystywane są dane, które dostarczają zmodyfikowane procedury, etc.

2) jakie ryzyka niosą ze sobą te zmiany - tzn. jeżeli zmienił się moduł logowania i moduł rysowania wykresów to czy będę je testować równie intensywnie? Czy w module logowania jest dla mnie ważniejsze, żeby ktoś mógł zalogować się prawidłowo czy może najpierw muszę sprawdzić 100 przypadków kiedy ktoś nie powinien móc się zalogować? A może z tych 100 interesuje mnie tylko 30 bo pozostałe 70 zdarza się raz na 100.000 logowań? Tutaj oczywiście musisz wiedzieć z czego i w jakim stopniu korzystają klienci - fajnie, żeby Twój system w jakiś sposób udostępniał te dane (czasem chociażby logi z serwera WWW mogą Ci sporo powiedzieć ;)).

3) dane historyczne - jasne, fajnie wiedzieć gdzie znajdowane były błędy (w trakcie testów) a gdzie wychodziły dopiero na produkcji. Fajnie wiedzieć ile czasu zajęła poprzednio regresja... to wszystko może pomóc Ci lepiej zaplanować swoje działania.

Kontynuując cykl "oczywistych oczywistości" - kiedy przeprowadzać regresję? Kiedy się coś zmienia:

- dochodzi Ci nowa funkcjonalność
- wprowadzane są poprawki błędów
- zmienia się środowisko:
- nowy system operacyjny
- nowa baza danych
- nowa przeglądarka
- nowa wersja bibliotek
- nowa wersja javy/flash playera, etc

Oczywiście do każdej z tych zmian możesz mieć inne zestawy testów regresji - chyba nie ma co testować logiki biznesowej w momencie kiedy pojawiła się nowa wersja przeglądarki i chcesz tylko sprawdzić czy Twoja aplikacja "ogólnie" działa dobrze i czy prawidłowo działają pewne krytyczne obszary (to tak nawiązując do tego, że zastanawiacie się kiedy i ile testować).

Automatyzacja? Na pewno trzeba się nad tym zastanowić ale nie należy zakładać, że opłaca się automatyzować oraz, że automatyzacja załatwi wszystkie Twoje problemy... zdaje się, że było o tym pisane w innych wątkach.

Nie wiem na jakim poziomie testujesz: white box, black box czy oba. Jeżeli masz dostęp do kodu i kogoś kto potrafi prześledzić i zrozumieć wpływ zmian to na pewno masz możliwość przeprowadzenia lepszej/szerszej regresji.

Czy potrzeba do tego statystyki? Nie wiem - może w jakichś dziwnych przypadkach tak ale mnie wewnętrznie to nie przekonuje, mam wrażenie, że to taka "sztuka dla sztuki". Można oczywiście obliczać szacowaną ilość błędów i próbować wykryć jak najwięcej z nich ale nie zawsze jest taka możliwość. Ze swojej strony będę testował tyle ile według mnie należy, żeby się upewnić, że oprogramowanie będzie działało zgodnie z moimi oczekiwaniami (tutaj pojawia się kwestia dostępnego czasu/zasobów i ryzyka, które mogę wziąć na klatę). Moja strategia przy regresji jest prosta: zrobić jak najmniej, żeby być pewnym, że nie będę musiał się później tłumaczyć z 200 reklamacji dziennie ;)

Nie wiem na ile odpowiada to na Twoje pytania - tak jak pisałem mam wrażenie, że rozmawiamy tu o "oczywistych oczywistościach" ale może po prostu strzeliłem niepotrzebny elaborat bo nie do końca Cię zrozumiałem ;)

Ogólna rada na przyszłość: precyzuj proszę swoje pytania ;]

Pozdr,
DP.
Dariusz P.

Dariusz P. Wdrażanie i
zarządzanie
innowacją w
korporacjach, m.in.
R...

Temat: Strategia testów regresywnych

Ach, taki off topic, zapomnałem: nie fiksuj się tak na tym, że "rozwinięcie tematu regresji należy do poziomu zaawansowanego - idąc według standardów ISTQB"... bo aż mi się ciśnie na usta "jak będziesz robił wszystko według standardów ISTQB to będziesz w zimie w klapkach chodził" ;)

Jak Ci się zrąbie coś na produkcji to nikt nie przyjmie wytłumaczenia "a, tego to nie musiałem wiedzieć bo to jest dopiero na poziomie ekspert a z tego to jeszcze certyfikatu nie mam" ;)

Cytując Piratów z Karaibów: And thirdly, the code is more what you'd call "guidelines" than actual rules... ;)

Pozdr,
DP.
Piotr Tomasz Piotrowski

Piotr Tomasz Piotrowski Inżynier Testów,
Analityk Danych,
Menedżer, Działacz
społ...

Temat: Strategia testów regresywnych

Wasze odpowiedzi są przydatne i dobrze że Darek rozwinął swoje. Nie znam się jednak na tym "Selenium". Poczytam, ale jak chce się Krystianowi coś dopisać na ten temat, to chętnie przeczytam.
Piotr D.

Piotr D. Tester
Oprogramowania

Temat: Strategia testów regresywnych

Dariusz P.:
Jesteś starszym inżynierem testów a zadajesz pytania na poziomie początkującego testera. O co chodzi? :)

A ja odnoszę wrażenie, że Piotr próbuje - po prostu - między innymi ożywić to ciche i spokojne Forum :)

Krystian K.:
Automatycznie z Selenium w Continuous Integration.

A jeżeli mogę podpytać, czy i ew. jak zmierzyleś się z kwestią 'data driven testing' w tej konfiguracji ? Mnie nie przyszło do głowy nic innego jak ręczne "uogólnianie" nagranych skryptów (w formacie HTML - najłatwiejszy do parsowania) i potem ich parametryzacja struganym właśnie narzędziem.
Piotr Tomasz Piotrowski:
Nie znam się jednak na tym "Selenium".

...ryzykując lincz, stwierdzę że niewiele tracisz ;O)
http://seleniumhq.org/ - w nadchodzącej wersji 2.0 zostanie zepsute całkowitą przebudową.

Osobiście jestem ciekaw informacji od Krystiana, jak zamienił ten wielofunkcyjny nożyk dla ręcznego testera czy programisty w maszynkę do masowego mielenia miesa :)Piotr D. edytował(a) ten post dnia 13.06.10 o godzinie 23:22

konto usunięte

Temat: Strategia testów regresywnych

Piotr Tomasz Piotrowski:
Wasze odpowiedzi są przydatne i dobrze że Darek rozwinął swoje. Nie znam się jednak na tym "Selenium". Poczytam, ale jak chce się Krystianowi coś dopisać na ten temat, to chętnie przeczytam.

Cześć Piotr

Zerknij na http://blog.testowka.pl/selenium/

Pod tym linkiem dostępny jest mini kurs selenium (wprowadzenie raczej, ale daje podstawy):

1. Czym jest Selenium?
2. Instalacja Selenium.
3. Struktura Testów.

Próbowałam używać Selenium - jakieś możliwości daje, jednak nie takie, o które mi akurat chodziło. Podstawowe ograniczenie (w przypadku moich projektów) - nie da się zastosować pod IE.

Pozdrawiam,
K.

konto usunięte

Temat: Strategia testów regresywnych

Karolina Zmitrowicz:
Piotr Tomasz Piotrowski:
Wasze odpowiedzi są przydatne i dobrze że Darek rozwinął swoje. Nie znam się jednak na tym "Selenium". Poczytam, ale jak chce się Krystianowi coś dopisać na ten temat, to chętnie przeczytam.

Cześć Piotr

Zerknij na http://blog.testowka.pl/selenium/

Pod tym linkiem dostępny jest mini kurs selenium (wprowadzenie raczej, ale daje podstawy):

1. Czym jest Selenium?
2. Instalacja Selenium.
3. Struktura Testów.

Próbowałam używać Selenium - jakieś możliwości daje, jednak nie takie, o które mi akurat chodziło. Podstawowe ograniczenie (w przypadku moich projektów) - nie da się zastosować pod IE.

Pozdrawiam,
K.

Testy da się uruchomić pod IE, choć faktem jest, że nagranie testu (o ile ktoś nie klepie tego bezpośrednio w Eclipsie czy innym narzędziu) można zrobić tylko pod Firefoxem.

konto usunięte

Temat: Strategia testów regresywnych

Piotr Tomasz Piotrowski:
Cześć,
Czy macie strategię dla testów regresyjnych? Jakie są Wasze doświadczenia? Jakie są założenia Waszych tego typu strategii? Używacie przykładowo danych historycznych i statystyk w tym przypadku?
Pozdrawiam,
Piotrek
Pod koniec tygodnia:
1) przegląd zmian wprowadzonych w kodzie (nowa funkcjonalność, naprawa błędów) i ewentualny wpływ tych zmian na pozostałe części aplikacji
2) określenie 'cut line' czyli tego, co pomijamy w testach regresji (zwykle mamy bardzo mało czasu na to)
3) wybór testów
4) testowanie ... ręczne :(

Wszystko na poziomie black-box. Póki co to mało efektywny sposób; badamy jak zaprząc do tego automatyzację w taki sposób, żeby jej koszt nie przewyższył kosztów testów manualnych oraz szukamy sposobu na szacowanie testów regresji.
Krystian K.

Krystian K. Agile Coach, Autor

Temat: Strategia testów regresywnych

Karolina Zmitrowicz:

Próbowałam używać Selenium - jakieś możliwości daje, jednak nie takie, o które mi akurat chodziło. Podstawowe ograniczenie (w przypadku moich projektów) - nie da się zastosować pod IE.

Odpalamy od czasu do czasu na IE od wersji IE6. Testy zwykle są PASSED. Jedynym problemem jest niesamowicie powolna interpretacja JavaScript przez IE i czasem trzeba specjalnie na tą okazję zmienić timeout (w jednym miejscu ;)).
Krystian K.

Krystian K. Agile Coach, Autor

Temat: Strategia testów regresywnych

Piotr D.:

A jeżeli mogę podpytać, czy i ew. jak zmierzyleś się z kwestią 'data driven testing' w tej konfiguracji ? Mnie nie przyszło do głowy nic innego jak ręczne "uogólnianie" nagranych skryptów (w formacie HTML - najłatwiejszy do parsowania) i potem ich parametryzacja struganym właśnie narzędziem.

Piszemy testy Selenium w Javie, jako testy TestNG. Drivery do danych wrzuciliśmy do biblioteki. Używamy arkuszy Excela, żeby business też mógł dorzucać TCsy jeśli chce. Pierwszy wiersz oznacza nazwy parametrów, kolejne wartości jakie należy podstawić.

...ryzykując lincz, stwierdzę że niewiele tracisz ;O)
http://seleniumhq.org/ - w nadchodzącej wersji 2.0 zostanie zepsute całkowitą przebudową.

Osobiście jestem ciekaw informacji od Krystiana, jak zamienił ten wielofunkcyjny nożyk dla ręcznego testera czy programisty w maszynkę do masowego mielenia miesa :)

Opletliśmy Selenium frameworkiem TestNG. Zastosowaliśmy Domain Specific Language, więc zamiast kilku komend Selenium mamy np.: QuickSearch(query) i ścieżkę XPath, czy selektor CSS zmieniamy tylko w jednym miejscu w razie potrzeby. Do tego mamy całą bibliotekę driverów i innych tooli potrzebnych nam, jak na przykład sprawdzanie maili na serwerze testowym. W sumie mamy trzy pakiety kody: główny kod Selenium, Test Case'y, bibliotekę narzędziową.

Podpięliśmy też EMMA do kodu, więc wiemy jakie mamy pokrycie kodu. Po 3 tygodniach pracy mieliśmy 56% kodu pokryte. Do tego oczywiście swoją drogą idą JUnity. Początek był trudny, ale potem kolejne testy poszły z górki. Oczywiście jak to w Agile, zrobiliśmy single steel thread, czyli jeden konkretny Proof of Concept z podłączeniem tego pod Hudsona w pierwszym sprincie.

Mamy nawet expected failures, czyli testy które są FAILED przez zgłoszone bugi ale została podjęta decyzja o naprawieniu ich później, ze względu na niższy priorytet. W ten sposób nie mamy potrzeby usuwania testów, czy blokowania ich uruchamiania.

Przymierzam się do opisania tego na łamach c0re ;)
Przemysław Nojman

Przemysław Nojman JIT Solutions
Konsultant ds.
testowania
oprogramowania

Temat: Strategia testów regresywnych

Krystian K.:
Automatycznie z Selenium w Continuous Integration.

Cześć Krystian, ja w tym temacie też mam do Ciebie pytanie. Zgodnie z procesem ciągłej integracji po każdym commit uruchamiane są automatyczne testy. Gdy commity wykonywane są kilka razy dziennie wówczas jestem w stanie wyobrazić sobie uruchomienie testów jednostkowych (junit,testNG) lub usług (soapui) bo to nie trwa zbyt długo. Dzięki temu możemy zweryfikować, który commit spowodował wypuszczenie błędów. Selenium kojarzy mi się bardziej z automatyzacją testów funkcjonalnych. Jak często uruchamiacie tego typu testy ? Pytam, bo częsty commit może spowodować, że długotrwałe testy funkcjonalne nie będą nadążały za zmianami.
Z góry dzięki za odpowiedź.
Przemek
Krystian K.

Krystian K. Agile Coach, Autor

Temat: Strategia testów regresywnych

Przemysław Nojman:
Krystian K.:
Automatycznie z Selenium w Continuous Integration.

Cześć Krystian, ja w tym temacie też mam do Ciebie pytanie. Zgodnie z procesem ciągłej integracji po każdym commit uruchamiane są automatyczne testy. Gdy commity wykonywane są kilka razy dziennie wówczas jestem w stanie wyobrazić sobie uruchomienie testów jednostkowych (junit,testNG) lub usług (soapui) bo to nie trwa zbyt długo. Dzięki temu możemy zweryfikować, który commit spowodował wypuszczenie błędów. Selenium kojarzy mi się bardziej z automatyzacją testów funkcjonalnych. Jak często uruchamiacie tego typu testy ? Pytam, bo częsty commit może spowodować, że długotrwałe testy funkcjonalne nie będą nadążały za zmianami.
Z góry dzięki za odpowiedź.
Przemek

Cześć Przemek,
Mamy skonfigurowane dwa projekty w Hudsonie dla produktu. Pierwszy projekt to kompilacja, javadoc, checkstyle, junit, coverage i tworzenie paczek.
Build jest uruchamiany co pół godziny w dni robocze, w czasie godzin pracy, pod warunkiem, ze w repozytorium są zmiany. Czyli wtedy kiedy jest w pobliżu ktoś, kto w razie potrzeby naprawi błędy. Oczywiście nadal mamy możliwość uruchomienia ręcznego, jeżeli ktoś uważa, że jest taka potrzeba. Całość zajmuje około 30 minut.
Drugi build to Selenium, które czerpie z tego samego repozytorium. Ten build jest uruchamiany jako downstream project pierwszego buildu. W ten sposób nie musimy czekać na wyniki JUnitów do końca testów funkcjonalnych. Drugi build nie zostanie odpalony, jeżeli pierwszy nie zakończył się pozytywnie. Build Selenium robi deploy nowej paczki, restartuje Tomcata, uruchamia testy, zbiera wyniki pokrycia z EMMA. Jeżeli w testach Selenium zostały znalezione błędy, wystarczy kliknąć w link builda pierwszego, który odpalił projekt Selenium.

Kiedy projekt Selenium jest nadal w trakcie testów, pierwszy projekt może uruchamiać nowe buildy i kolejkować Selenium.

Stosujemy też notację id tasków z Jira przy commitach, więc bardzo łatwo możemy prześledzić jakie zmiany weszły w skład builda.
Jednym z warunków wypuszczenia produktu live jest pozytywny status obu projektów.
Adam Mach

Adam Mach VICSOFT właściciel -
mobile solutions

Temat: Strategia testów regresywnych

Swego czasu również stworzyliśmy podobne rozwiązanie - przy czym w trochę innej konfiguracji. Testy podzieliliśmy na DAY TESTS, NIGHT TESTS, PERFORMANCE TESTS. Do testów z kategorii DAY włożyliśmy "smoke" testy (WebTest + Fitnesse) - czyli jedynie przypadki pozytywne dające ogólny obraz działania aplikacji. Uruchamiane podobnie jak u Krystiana, kilka razy dziennie, jeśli były zmiany. Po godzinie 20 uruchamiały się testy nocne (wszystkie przypadki) w oparciu o ostatnią wersję builda, która przeszła testy dzienne. I na koniec testy wydajnościowe, które analogicznie odpalane były w piątek wieczorem w oparciu o ostatnią działającą wersję testów nocnych.Adam Mach edytował(a) ten post dnia 15.06.10 o godzinie 07:58
Piotr D.

Piotr D. Tester
Oprogramowania

Temat: Strategia testów regresywnych

Krystian K.:
[..] Piszemy testy Selenium w Javie, jako testy TestNG. [..]
Przymierzam się do opisania tego na łamach c0re ;) [..]

Dziękuję za odpowiedź i czekam z niecierpliwością na ewentualny artykuł.

--
Pozdrawiam,
Piotr

Temat: Strategia testów regresywnych

Krystian szeroko opisał jak zorganizowane jest to u nich, wszystko pięknie ale to jest WEB. Czy ktoś z was ma doświadczenia z automatami na zwykłych aplikacjach?

W moim przypadku testy automatyczne oparte są o TestComplete 6. Mamy napisany framework do obsługi kontrolek (standardowych jak i devexpres), można to potraktować jako jedną część kodu.

Druga część kodu wprowadza inteligencję do obsługi plików w excelu. Czyli wywoływanie klikania na komponencie, zaznaczanie opcji, wyszukiwanie na listach poprzez słowa kluczowe.

Na samym końcu w pliku excela mamy zapisaną logikę biznesową. Na podstawie pliku wiadomo co powinno się wykonać w aplikacji i jaki powinien być wynik poszczególnego przypadku.

Jeśli był czas przeprowadzaliśmy testy całej aplikacji rozpoczynaliśmy od pustej bazy i wprowadzane były wszystkie słowniki, przez generowanie danych na ich podstawie aż do fakturowania. Backup bazy był robiony co 1 arkusz. W ten sposób łatwo wciągnąć konkretny stan bazy w którym występuje błąd.
Takie testy trwały powyżej 24h przy działaniu non stop.

Gdy czasu mniej.. (czyli ta standardowa opcja ;P) rozpoczynaliśmy testy po słownikach lub wciągany był konkretny backup pod konkretne miejsce do przetestowania.

Testy cząstkowe wykonywane były zawsze, testy całości przy większych zmianach w aplikacji. Oczywiście do tego jakieś mniejsze rzeczy - manualne.
Piotr D.

Piotr D. Tester
Oprogramowania

Temat: Strategia testów regresywnych

Dominik Jeziorski:
Krystian szeroko opisał jak zorganizowane jest to u nich, wszystko pięknie ale to jest WEB. Czy ktoś z was ma doświadczenia z automatami na zwykłych aplikacjach?

Ze względu na skalę, doświadczeniem bym tego nie nazwał...
... ale, o co chodziło właściwie w sformułowaniu "wszystko pięknie, ale to jest WEB" ?

Moim zdaniem, jeżeli aplikacja webowa nie jest od początku ślicznie zaprojektowana i programowana z zamordystycznie przestrzeganym "designed for testability" to użeranie się z czymś takiem jest dopiero cierniem w...boku, przynajmniej w kwestii automatyzacji. A już szczególnie z takim specyficznym narzędziem jak Selenium...

W klasycznym oprogramowaniu można się jeszcze od biedy ratować narzędziami które dosłownie klikają we wskazane miejsca na ekranie, zaś kolejne wydania danego systemu operacyjnego są ze sobą zazwyczaj bardziej zgodne niż zbudowane teoretycznie z myślą o tych samych standardach przeglądarki, zresztą obecne na rynku w większej liczbie i częściej aktualizowane.
Tzn. nie twierdzę, że problemu nie ma na zwykłych "lokalnych" aplikacjach, ale mając wybór, zdecydowanie wolałbym automatyzować właśnie testy aplikacji "lokalnych" niż webowych - tj. przynajmniej takich z GUI.Piotr D. edytował(a) ten post dnia 25.06.10 o godzinie 22:28

Temat: Strategia testów regresywnych

Właśnie ze względu na różnice które wymieniłeś uważam, że testowanie wszystkiego co ma działać pod przeglądarką przebiega całkiem inaczej niż testy aplikacji lokalnych.

Mam teraz "przyjemność" testować fragment systemu przygotowany pod web. Szczerze mówiąc to w porównaniu z aplikacjami które do tej pory testowałem, testy pod WEB to jest jedna wielka masakra. Firefox - działa wszystko, IE7/IE8 co krok to problem. Przy okazji jakieś drobne błędy na Chrome czy Operze. Właściwie to wypadało by na każdej z tych przeglądarek puszczać całość testów ze zrzutem ekranu co stronę (na operę chyba nie ma darmowego narzędzia). I nie dość, że sprawdzać czy logika biznesowa działa prawidłowo to czy strona przypadkiem gdzieś się nie rozjechała. Nie wspominam już to o testach strony w różnych rozdzielczościach bo tutaj to już momentami ręce mi opadają.

Generalnie uważam, że testy WEB są o wiele bardziej czasochłonne niż testy aplikacji lokalnej. Dużo bardziej podatne na błędy związane z wersją przeglądarki, zainstalowanych dodatków, rozdzielczością ekranu itp. Zdarza się, że błąd pojawia się na 1 konkretnym komputerze, na 3 innych z tą samą wersją przeglądarki wszystko działa prawidłowo.

Dlatego testy regresji w tym przypadku wg mnie powinny być puszczane znacznie częściej niż przy aplikacjach lokalnych. Im więcej poświęcam czasu przeglądarkom tym bardziej jestem przekonany, że znajdę błąd na którejś z nich przy jakiejkolwiek większej zmianie strony.

Być może moje odczucia są takie bo nasi programiści słabo się starają, staram się jednak myśleć, że to jest jednak problem braku jednolitych standardów. Jeśli u was jest tak samo to wszystkim pracującym w tej gałęzi szczerze współczuję. Ja na ten moment z WEB chciał bym mieć jak najmniej wspólnego i jak najszybciej przejść do kolejnego projektu który nie będzie z WEB'em związany.



Wyślij zaproszenie do