zyxist
2018-04-20 21:55

Dzisiaj opublikowałem artykuł poświęcony testom automatycznym, a konkretniej jak podejść do pisania testów wykorzystujących I/O, by nie zdestabilizować środowiska testowego. Jest to temat, z którym chyba każdy się kiedyś spotkał... a jak się nie spotkał, to prędzej czy później się spotka :).

https://www.zyxist.com/blog/jak-testowac-io

#testowanie

zyxist

Hehe, problem czasu można także rozwiązać w podobny sposób - ja zawsze źródło czasu umieszczam poza logiką i po prostu wrzucam jako argument wszędzie tam, gdzie potrzeba. Właściwa aplikacja używa globalnego zegara, w testach podrzucam coś, co generuje zdefiniowany przeze mnie czas w momencie wywołania. Da się to nawet zrobić na gołej Javie 8 bez tworzenia dodatkowych fasad - jest taka klasa Clock, którą można wrzucić jako opcjonalny argument do .now()

jarekr000000

NIestety ten Clockz fixed() tak sobie się nadaje. Nie ma żadnych metod do popychania czasu. A to się przydaje. Dlatego zwykle mam swój serwis na to...i to jedyne miejsce gdzie czasem sie wkurzam, że nie mam czegoś w stylu wstrzykiwania Spring, bo ciąganie TimeSerwisu przez wszystkie warstwy jest takie sobie. W Scali ładnie ten problem rozwala się implicitem.

DevEnv
2018-03-06 15:33

Uruchamiamy na blogu nowy dział, który tworzony będzie przez doświadczoną QA.
Na początek zapraszamy na: "Smoke, sanity, regression testy"

Czy wyobrażasz sobie, że Twoja aplikacja, przekazywana jest klientowi, bez przeprowadzenia testów? Jak ustrzec się przed sytuacją, że klient dostaje nową wersję aplikacji, po czym nie potrafi jej zainstalować czy uruchomić albo nie jest w stanie zalogować się do systemu? To chyba czarny sen każdego programisty.

http://devenv.pl/smoke-sanity-regression-testy/

#blog #technicalblog #devenv #testy #testowanie #qa

Janina X

Powiem tak, to wszystko zależy. Są projekty gdzie regresja jest zautomatyzowana, są projekty gdzie nie. Czy to jest słuszne podejście czy nie to jest temat na osobną dyskusję. Należy też brac pod uwagę rozmiar projektu. Są małe projekty gdzie regresja zajmuje chwilę, a są gdzie zajmuje godziny (nawet ta automatyczna).
W sytuacji gdy regresja nie jest zautomatyzowana - to jest sprawa oczywista.
Gdy mamy smoke, sanity i regresję zautomatyzowaną możemy np. smoke testy wykonywać tuż po zbudowaniu nowej wersji. Jeśli nie przejdzie wersja w ogóle nie trafi do QA. Wyobrażasz sobie aby QA czekał na nową wersję długi czas po buildzie bo wyknuje się regresja?

anonimowy

@Janina X: No to mogliśmy od tego od razu zacząć, że przeszkodą jest technologia i architektura.

Patryk27
2017-05-15 20:02

Mieliśmy ostatnio w pracy inwentaryzację przy wykorzystaniu aplikacji, którą napisałem.

W pewnym momencie u jednej z ekip (sklep ma trochę metrów, zatem byliśmy podzieleni na cztery ekipy) zaczęły pojawiać się podejrzane stany produktów. Takie w rodzaju minus pięć miliardów sztuk :) Była to jedyna drużyna, u której ten błąd występował, a ponadto znajdował się w niej szef, zatem przewinąłem moją flanelową koszulę +64 do programowania na drugą stronę i, zakasawszy rękawy, odpaliłem PhpStorma.

Aplikacja jest stroną internetową i wykorzystuje do komunikacji oraz zapisywania danych do localStorage json (zaskoczenie), zatem moje pierwsze podejrzenie opierało się o istnienie jakiegoś bugu na linii serializacja danych - przetwarzanie.

chrome json int bug w Google (:D) nic ciekawego nie zwróciło, zatem stwierdziłem, że nie będę tak na sucho szukał sam nie wiedząc tak właściwie czego i usiadłem obok tej ekipy, przyglądając się temu, co oni takiego podejrzanego robią, że wywołują błąd.

Hehe, nikt nie zgadnie.

Raz na jakiś czas przypadkowo skanowali kod kreskowy w pole Liczba sztuk produktu :--DD

(jeden był przy komputerze, drugi latał po sklepie ze skanerem, dlatego ten ze skanerem nie widział, co się dzieje na monitorze)

A że taki kod kreskowy przeważnie jest całkiem długi (z rodzaju 314159265359), to i biedny 32-bitowy int się overflował, co przełożyło się na nieprawidłowe działanie aplikacji.

Dodałem odpowiednie zabezpieczenie i magicznie więcej błędów nie było.
Jak to szło: przychodzi tester do baru...

#programowanie #tester #testowanie #php #achciużytkownicy

Patryk27

@Azarien: ponieważ wtedy można tę aplikację bez problemu odpalić nawet i na tablecie z podpiętym czytnikiem, bez zabawy w "ooo, widzę kolega ma Maczka - cóż, nie przydasz nam się". Poza tym jestem web developerem, nie pamiętam już czasów, gdy tykałem aplikację okienkową, a w robocie jestem jednym programistą :-P

Azarien

to ludzie używali prywatnych urządzeń do pracy?

Puncher
2017-01-26 11:42

Witam wszystkich forumowiczów.
Jestem nowy na forum. Forum odkryłem przez przypadek. Lubię testować zwłaszcza manualnie. Czasami programuje wizualnie używając języka C++ lub normalnie używając C, zdarza mi się używać języka C# (pomaga mi wujek google).
#c++ #testowanie, testowanie manualne :)