Ale mockowanie i to całkiem zaawansowane - wszelkich systemów zewnętrznych to podstawa. Bez tego straty na "czekaniu" (bo ktoś coś spierd... ) są zbyt duże.
To jest mnie niż minuta czekania, bo tyle trwa przywracanie poprzedniej wersji z panelu TeamCity.
Zresztą nie muszą to być stricte mocki, jak zapewnisz mi jednoklikowe postawienie całej infrastruktury na moim kompie to jestem jak najbardziej na tak.
Ty chyba w ogóle nie czytasz tego, co ja piszę. Zupełnie nie chodzi mi o to, żeby mieć wszystko łatwo postawione u siebie.
Ale większe użycie sieci i potencjalnych problemów z tym związanych. (np. paskudnie wolne działanie lokalnej aplikacji).
Ok, tak się czasem może stać. Akurat nie u mnie, bo straty na transferze przez sieć nadrabia przetwarzanie na nieco lepszych niż developerska maszynkach w chmurze.
I potem się okazuje, że tester bawił się z uprawnieniami, zasymulował śmierć babci - i twój pracowicie zrobiony przypadek testowy poszedł się rypać. Akurat na demo. (coś podobnego miałem).
No, ale jak pisałem, to jest jakiś problem albo z testerem albo z tym, że macie jedną babcię do testów. Nie wiem, kto zarządza babciami do testów, ale może da się ich załatwić więcej... babcie nie są drogie. Ale ok, rozumiem, że w jakimś tam specyficznym przypadku u Ciebie tak to nie może działać. Ja mam o tyle łatwiej, że po prostu sam sobie klientów tworzę.
Nie rozumiem tylko czemu brak testowych użytkowników wymusza stosowanie mocków. Jak na moje proste rozumowanie, to są to niezależne kwestie.
To jest najlepsze. Jakie testy wydajnościowe, jak wszyscy korzystają w tym czasie ze wspólnej infrastruktury. To jak robienie odcinka specjalnego WRC w centrum Warszawy w godzinach szczytu. Co te testy mierzą? Jak można porównywać ich wyniki?
Dlatego napisałem "w pewnym zakresie". Nie chodzi mi o mierzenie szybkości przetwarzania requestów, ale np. o to, że jeśli na naszym środowisku user na którym chodzą testy integracyjne ma zrealizowanych 100 tys zamówień i da się bez problemu przeglądać ich historię, to znaczy, że z typowym klientem na produkcji też nie będzie problemu.
Przeważnie kończy się to raczej: panowie dziś miedzy 13:00-15:00 nikt nic nie tyka, bo beda robione testy wydajnościowe (autentyk).
Ja też - ale tylko tam, gdzie były mocki. Po zgaszeniu pożarów po big-bang deploymencie można było dopiero zacząć testowanie wydajnościowe.
Mcoki nic to przecież nie mają wspólnego z big bang deployment? WTF?
Skoro mocki stosuje się po to, aby móc pisać kod dla nieistniejącej zależności, to gdy ona w końcu powstanie, to zostanie na raz wdrożona w całej swej okazałości. To jest big-bang deployment.
I z tym przede wszystkim kojarzą mi się mocki, bo coś takiego przeżyłem kilka lat temu. Przez 1,5 roku soft był tworzony w oparciu o mocki, a potem przyszedł faktyczny system i wszystko stanęło w miejscu, bo okazało się, że poza standardowymi rzeczami takimi jak niezgodność formatów danych po serializacji, to autoryzacja trwa 5 minut.
To było 3 lata temu, na produkcję wyszli jakoś na wiosnę tego roku. Tyle w temacie braku chorób bez mocków.
Raczej jest stałe gaszenie pożarów, bo wrzucenie drobnej, experymentalnej zmiany na DEV kończy się krzykiem z sąsienich zespołów, że im nie działa....
Nie ma żadnego DEV. Są środowiska zespołów: Dev1, Dev2 ... Dev150. Na każdym środowisku zespół rozwija swój soft i ma zainstalowane zależności innych zespołów. Nikt z drugiego zespołu swoimi eksperymentami nie zepsuje mi mojego środowiska. Może się to stać dopiero, gdy my sobie zainstalujemy nową wersję oficjalnie stabilnej zależności. Wtedy trzeba przywrócić poprzednią wersję, a autorom zgłosić buga.
Nie możesz np. przetestować kawałka infrastruktury z nowymi serwisami itp.
Mogę - robię Dev151, albo raczej korzystam z jakiegoś porzuconego środowiska.
Ja to przerabiałem i to był continuues desintegration. Testy e2e były wywalone przez pół roku - zawsze coś było nie tak i nie dawało się ustabilizować (przy 150 developerach i 120 aplikacjach zawsze ktos coś grzebie).
A u nas jest 350 developerów, 200 serwisów oraz 800 narzędzi pomocniczych, do tego kilkanaście stron www i jakoś wszystkie testy działają. W ogóle wszystko jest stabilne, na produkcji także.