Wpis z mikrobloga

#pytanie #programowanie #testowanieoprogramowania #kiciochpyta

Miruny, jest sprawa!

Jestem studentem V roku Informatyki na Politechnice Poznańskiej i chciałbym zadać Wam pytanie w kontekście mojej pracy magisterskiej.

Jak wiadomo automatyzacja testów wiąże się z kosztem wejścia oraz kasztami utrzymania testów w późniejszym okresie. W przypadku firm (zwłaszcza tych mniejszych) zastanawiających się nad wejściem w automatyzacje pojawia się dylemat czy próbować podejścia „quick & dirty” czy może zainwestować i automatyzować testy od razu w sposób „rekomendowany”.

W mojej pracy chciałbym porównać właśnie dwa takie podejścia pod kątem łatwości utrzymania testów. Chciałbym napisać testy dla wybranej aplikacji internetowej i śledzić konieczne zmiany w testach na przestrzeni kilku jej wydań dla tych dwóch podejść. Mam nadzieję, że wynikiem będą rekomendacje poparte konkretnymi przykładami i pomiarami.

Tutaj pojawia się moje pytanie do Was. Z własnego doświadczenia, jeśli mielibyście następujący kontekst: aplikacja internetowa, raczej oparta o przeładowania strony (niewielkie ilości Javascriptu i AJAX) to jakie Waszym zdaniem byłyby dwa następujące podejścia do automatyzacji testów GUI w przeglądarce (np. na Chrome czy Firefox):

A) „quick & dirty” – gdyby ktoś zapytał Was jak tanio i szybko zautomatyzować testy w przeglądarce to co byście powiedzieli?

B) „rekomendowane” – jak Waszym zdaniem należałoby to zrobić „profesjonalnie” (ale nie chodzi też o sztukę dla sztuki)?

Chciałbym, aby wybór dwóch podejść odzwierciedlał rzeczywisty dylemat jaki może stać przed firmą.

Przez podejście rozumiem zarówno sposób tworzenia testów (np. Capture & Play, programowanie), organizacji testów (skrypty liniowe, keyword-driven, data-driven, itd.), wykorzystanie dobrych wzorców (np. Page Object), konkretne narzędzia.

Bardzo wam dziękuję za pomoc, jak sie uda wybronic na czas to napijemy się razem kompotu ( ͡° ͜ʖ ͡°)

Podejścia, które bym zaproponował

  • Capture & Replay 18.8% (3)
  • Linear scripting 6.3% (1)
  • Data-driven scripting 37.5% (6)
  • Keyword-driven (table-driven) scripting 18.8% (3)
  • Structured scripting 0% (0)
  • Shared scripting 0% (0)
  • Hybrid approach (jakie?) 18.8% (3)

Oddanych głosów: 16

  • 1