Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zasady pisania na forum Pro

Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.

> Testowanie aplikacji
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Na wniosek ActivePlayera, zakładam temat o testowaniu aplikacji. O to treść wątku:

Chciałbym porozmawiać na temat testowania aplikacji php. Czy testujecie swoje aplikacje? Jeśli tak, to jakich narzędzi używacie? Czy w firmach w których pracujecie wdrożone jest continuous integration? Jak w praktyce wygląda praca nad testowaniem aplikacji? Czy używacie testów jednostkowych? Uważam że temat testowania aplikacji to coś ciekawego, o czym stosunkowo mało w polskim internecie - mysle ze moze to byc ciekawy temat do dyskusji.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Hellz
post
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 1.01.2007

Ostrzeżenie: (0%)
-----


Obecnie w konfiguracji:
+ jednostkowe - PHPUnit
+ funkcjonalne - Selenium
+ budowanie aplikacji - Phing
+ CI - Jenkins

Zestaw sprawdza się fajnie, chociaż z wielu względów zastosowaliśmy SVN, zamiast któregoś z rozproszonych systemów kontroli wersji (git, bazaar).

Przy pracy większego zespołu przy skomplikowanym projekcie nie wyobrażam sobie pracy bez testów. Jak to powiedział jeden ze współpracowników: testy udowadniają, że w danym czasie dana funkcjonalność działała. Przy zmiennych, skomplikowanych wymaganiach biznesowych są potrzebne i nie raz ratują przed poważną wpadką.

Testy wymuszają także stosowanie pewnych dobrych wzorców np. ostatnio źle napisana, archaiczna autentykacja nie była testowana, trzeba było przepisać ten element, żeby wszystko dalej poszło zgodnie z planem i przy okazji załataliśmy poważną lukę bezpieczeństwa.

TDD jest fajne w specyficznych przypadkach np. jeżeli piszesz API albo crawlera, to nie ma nic lepszego.. jednak jestem zwolennikiem dobierania trybu pracy do zadania tzn. zaawansowany i hardkorowy debuging - XP, crawlery / API - TDD, większość projektu - Scrum, traktujący test jako integralną część realizacji zadania (bez niego nie może zostać zamknięte).

Cytat
Powoli dochodzę do wniosku że selenium jest chyba najbardziej rozsądnym rozwiązaniem, ponieważ jeśli mądrze zrobimy testy, to wszystkie błędy "po środku" w kodzie zostaną wykryte.

Testy funkcjonalne sprawdzają całość, testy jednostkowe poszczególne funkcje aplikacji. Oba są potrzebne np. freelancer do frontendu i AJAX (IMG:style_emoticons/default/wink.gif) , ale z drugiej strony crawlera nie przeklikasz.

Ważnym zagadnieniem jest pokrycie kodu testami. 100% to utopia w polskich realiach biznesowych, sztuką jest wybór elementów aplikacji, które ewidentnie muszą być testowane. CI - odkąd zacząłem z nim pracę, nie wyobrażam sobie innej opcji w większym projekcie.
Go to the top of the page
+Quote Post

Posty w temacie
- nospor   Testowanie aplikacji   26.04.2011, 08:44:53
- - wookieb   W świecie PHP mało kto używa CI (a nawet jeśli to ...   26.04.2011, 09:02:10
- - batman   Z testowaniem aplikacji PHP jest jeden problem. PH...   26.04.2011, 09:21:57
- - wookieb   Serwery CI możesz skonfigurować naprawdę na duży l...   26.04.2011, 09:26:58
- - batman   Konfiguracja konfiguracją, nie zapominaj jednak, ż...   26.04.2011, 10:02:42
- - wookieb   Nie wiem o jakiej formie builda mówisz ale można p...   26.04.2011, 10:05:29
- - pejott   Wreszcie jakiś nowy i ciekawy wątek w PRO, ale czy...   27.04.2011, 18:49:40
- - wookieb   A cóż takiego daje behat czego nie ma PHPUnit? (po...   27.04.2011, 19:06:02
- - pejott   Nie jestem ekspertem BDD, szczerze to dla mnie lek...   27.04.2011, 19:11:35
- - wookieb   Aha. Musiałbym sprawdzić czy wnosi coś nowego co j...   27.04.2011, 21:41:25
- - Zyx   Jeśli chodzi o zapotrzebowanie PHPUnit na pamięć, ...   30.04.2011, 07:36:25
- - .radex   Niestety nie testuję swoich aplikacji w takim stop...   30.04.2011, 20:51:20
|- - em1X   Cytat(.radex @ 30.04.2011, 21:51:20 )...   19.10.2013, 00:15:54
- - ActivePlayer   U mnie za każdym razem wygląda to podobnie:) Piękn...   1.06.2011, 09:22:28
- - cepa   ja uzywam CI, zarowno w domu jak i w pracy: - roz...   8.06.2011, 22:49:40
- - Ormin   Do swoich projektów w Symfony 1.4, używam wbudowan...   28.06.2011, 14:31:38
- - Hellz   Obecnie w konfiguracji: + jednostkowe - PHPUnit + ...   29.06.2011, 18:16:35
- - IceManSpy   Ostatnio trochę zainteresowałem się testami jednos...   27.08.2011, 16:02:15
|- - cepa   Cytat(IceManSpy @ 27.08.2011, 17:02:1...   27.10.2011, 08:15:46
- - LSM   Ostatnio pisałem klasę kompozytową dla "drzew...   25.09.2011, 22:37:05
- - cojack   Nie piszę testów jednostkowych jak mnie nikt do te...   4.11.2011, 16:07:32
|- - nasty   Cytat(cojack @ 4.11.2011, 17:07:32 ) ...   23.12.2011, 02:51:10
- - LSM   Ok, ale hermetyczność nie jest w stanie uchronić p...   4.12.2011, 15:36:32
- - zordon   Nikt chyba jeszcze nie wspomniał, że testy to rodz...   26.05.2014, 13:24:04
- - Matrix12   A czy BDD to nie rozszerzenie dla TDD ? Według mni...   3.08.2015, 20:42:52
- - Xelah   Bo testy jednostkowe a integracyjne czy funkcjonal...   4.08.2015, 08:13:50


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 21:21