{"id":31819,"date":"2019-08-27T06:57:24","date_gmt":"2019-08-27T04:57:24","guid":{"rendered":"https:\/\/nearshore-it.eu\/artykuly\/testerze-eksploruj\/"},"modified":"2024-11-07T15:45:35","modified_gmt":"2024-11-07T14:45:35","slug":"testerze-eksploruj","status":"publish","type":"post","link":"https:\/\/nearshore-it.eu\/pl\/artykuly\/testerze-eksploruj\/","title":{"rendered":"Testerze, eksploruj"},"content":{"rendered":"\n<div class=\"table-of-contents\">\n    <p class=\"title\">Przejd\u017a do:<\/p>\n    <ol>\n                    <li><a href=\"#Kiedy-warto-pomyslec-o-eksploracji\">1.  Kiedy warto pomy\u015ble\u0107 o eksploracji?<\/a><\/li>\n                    <li><a href=\"#Testy-eksploracyjne-a-kompetencje\">2.  Testy eksploracyjne a kompetencje<\/a><\/li>\n                    <li><a href=\"#Podsumowanie\">3.  Podsumowanie<\/a><\/li>\n            <\/ol>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>To by\u0142o wiele lat temu. Moja pierwsza praca, pierwszy system. Dokumentacji brak, wymagania spisane na kartkach przy kawie z kierownikiem dzia\u0142u. System wspomaga\u0142 inwestycje, tworzony by\u0142 dla konkretnego odbiorcy przez jednego developera, kt\u00f3ry by\u0142 dodatkowo jednocze\u015bnie analitykiem, wykonawc\u0105 i testerem. Gdy przysz\u0142am pierwszego dnia do pracy, us\u0142ysza\u0142am \u201eSiadaj i testuj\u2019. My\u015bl\u0119, \u017ce to by\u0142y moje pierwsze testy \u2013 i do tego by\u0142y to testy eksploracyjne (sic!). Min\u0119\u0142o wiele czasu, testy eksploracyjne zyska\u0142y na wa\u017cno\u015bci, zosta\u0142y sformalizowane, opisane w fachowej literaturze.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Kiedy-warto-pomyslec-o-eksploracji\">Kiedy warto pomy\u015ble\u0107 o eksploracji?<\/h2>\n\n\n\n<p>Wed\u0142ug s\u0142ownika International Software Testing Qualifications Board, a konkretnie Jamesa Bacha, testy eksploracyjne to: <strong>\u201eNieformalna technika projektowania test\u00f3w, w kt\u00f3rej tester projektuje testy podczas ich wykonywania oraz wykorzystuje informacje zdobyte podczas testowania do projektowania nowych i lepszych test\u00f3w\u201d.<\/strong> Polemizuj\u0105c z ISTQB, dla mnie wa\u017cniejszym czynnikiem jest poznawanie aplikacji \u2013 szczeg\u00f3lnie w przypadku, gdy nie dysponujemy dokumentacj\u0105. Testy eksploracyjne oraz rozmowy z developerami i uczestnikami projektu daj\u0105 bowiem mo\u017cliwo\u015b\u0107 do\u015b\u0107 szybkiego poznania ka\u017cdego systemu. Z definicji nie potrzebujemy do test\u00f3w eksploracyjnych \u017cadnej dokumentacji. Potrzebny jest z kolei cel i okre\u015blone ramy czasowe. Kiedy zatem warto pomy\u015ble\u0107 o eksploracji?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pierwsze spotkanie testera z aplikacj\u0105<\/h3>\n\n\n\n<p>Zaczynamy prac\u0119 przy nowym projekcie zupe\u0142nie zieloni, maj\u0105c nadziej\u0119 na prac\u0119 z &nbsp;dokumentacj\u0105 i mo\u017cliwo\u015b\u0107 szybkiego zdobycia wiedzy. Jednak cz\u0119sto zdarza si\u0119, \u017ce dokumentacji nie ma. S\u0105 za to jakie\u015b cz\u0119sto szcz\u0105tkowe informacje w formie tekstu, najcz\u0119\u015bciej ju\u017c nieaktualnego, a reszta zamkni\u0119ta jest w g\u0142owach developer\u00f3w. Z tak\u0105 w\u0142a\u015bnie sytuacj\u0105 przysz\u0142o mi si\u0119 zmierzy\u0107 w pierwszym moim projekcie \u2013 by\u0142 to projekt na kasy fiskalne, na kt\u00f3rych opr\u00f3cz sprzeda\u017cy mia\u0142o by\u0107 mo\u017cliwe \u0142adowanie telefon\u00f3w kom\u00f3rkowych, przyjmowanie paczek itp. Dodam, \u017ce firma, dla kt\u00f3rej przygotowywany by\u0142 projekt, to jedna ze sp\u00f3\u0142ek wielkiej organizacji. W jej sk\u0142ad wchodzi\u0142y dwa giganty, je\u015bli chodzi o kasy fiskalne na polskim rynku.<\/p>\n\n\n\n<p>Projekt by\u0142 w\u0142a\u015bnie wznawiany po raz kolejny. Dotychczasowa praca nad nim wygl\u0105da\u0142a w ten spos\u00f3b, \u017ce dorabiano funkcjonalno\u015bci i porzucano dalsze prace. To, co ju\u017c powsta\u0142o, to panel klienta, produkty na kasy fiskalne mia\u0142y w\u0142a\u015bnie by\u0107 tworzone. Zatrudniono project managera, analityka, dodatkowych developer\u00f3w i test managera. M\u00f3j pierwszy dzie\u0144, a pami\u0119tam go doskonale, we wszystkim przypomina\u0142 pierwszy dzie\u0144 w mojej starej firmie wiele lat temu. I tak historia zatoczy\u0142a ko\u0142o. Zasta\u0142am aplikacj\u0119 dla klienta bez dokumentacji, za\u0142o\u017ce\u0144, wymaga\u0144, a mia\u0142am tworzy\u0107 plan test\u00f3w, strategie testowania, przypadki testowe itd. Pozosta\u0142o usi\u0105\u015b\u0107 do eksploracji. Da\u0142am sobie dwa pe\u0142ne dni. Cel \u2013 zapoznanie z aplikacj\u0105. Raport z test\u00f3w zawiera\u0142 kilkadziesi\u0105t b\u0142\u0119d\u00f3w i usterek wraz ze zrzutami ekran\u00f3w. Na jego podstawie powsta\u0142y zadania w JIRA dotycz\u0105ce b\u0142\u0119d\u00f3w, a p\u00f3\u017aniej zaprojektowane zosta\u0142y przypadki testowe. Sporym problemem by\u0142 tu brak jakichkolwiek wymaga\u0144, wszystko by\u0142o robione intuicyjnie przez developer\u00f3w. <strong>Testy eksploracyjne w tej sytuacji nie tylko pomog\u0142y mi jako testerowi, ale te\u017c przys\u0142u\u017cy\u0142y si\u0119 rozwojowi aplikacji. Zacz\u0119li\u015bmy dyskutowa\u0107 o tym, czy aplikacja jest \u201euser friendly\u201d, i rozmawia\u0107 o ergonomii w systemie. <\/strong>Tak testy eksploracji spe\u0142ni\u0142y swoje zadanie.<\/p>\n\n\n\n<p><strong>Przeczytaj tak\u017ce: <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/dlaczego-testy-oprogramowania-sa-wazne\/\">Dlaczego testy oprogramowania s\u0105 wa\u017cne<\/a><\/strong><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/minimalistyczny-przypadek-testowy\/\">Minimalistyczny przypadek testowy<\/a><\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Gdy ko\u0144czy si\u0119 czas\u2026<\/h3>\n\n\n\n<p>Testy eksploracyjne mog\u0105 by\u0107 wykorzystane r\u00f3wnie\u017c pod koniec projektu, gdy b\u0142\u0119d\u00f3w do naprawy jest ca\u0142e mn\u00f3stwo. Napr\u0119dce dok\u0142adane s\u0105 nowe funkcjonalno\u015bci, a co za tym idzie \u2013 nowe wersje wychodz\u0105 prawie codziennie i pojawia si\u0119 konieczno\u015b\u0107 bie\u017c\u0105cego testowania wraz z regresj\u0105. Kt\u00f3ry tester tego nie zna? To moment, kiedy wielu kierownikom czy project managerom przychodzi do g\u0142owy ograniczanie test\u00f3w. Nigdy na to nie pozwalajmy. To prosta droga do zako\u0144czenia projektu niepowodzeniem. By\u0107 mo\u017ce warto zaproponowa\u0107 wtedy w\u0142a\u015bnie testy eksploracji. W literaturze fachowej zdania s\u0105 podzielone: spotkacie si\u0119 albo z absolutnym \u201enie\u201d, je\u015bli chodzi o eksploracj\u0119 w momencie, gdy prowadzone s\u0105 testy regresji, albo wr\u0119cz przeciwnie. <a href=\"https:\/\/simonsaysnomore.wordpress.com\/?s=exploratory\" target=\"_blank\" rel=\"noopener\">Zwolennikiem zastosowania test\u00f3w eksploracji w czasie regresji jest Simon Schrijver<\/a>. Zgadzam si\u0119 z tym podej\u015bciem, gdy\u017c testy eksploracyjne wykonane pod koniec projektu to liczne plusy, mi\u0119dzy innymi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zyskujemy na czasie. Je\u015bli go brakuje, zamiast ogranicza\u0107 testy, pozw\u00f3lmy testerom pracowa\u0107 w oparciu o wiedz\u0119 i do\u015bwiadczenie eksploracyjnie (czyli prac\u0119 bez formalno\u015bci).<\/li>\n\n\n\n<li>Testy eksploracyjne pozwalaj\u0105 zidentyfikowa\u0107 b\u0142\u0119dy w przyj\u0119tej strategii testowania.<\/li>\n\n\n\n<li>Po sesji mo\u017ce okaza\u0107 si\u0119, \u017ce konieczna jest weryfikacja naszych priorytet\u00f3w i powinni\u015bmy zaj\u0105\u0107 si\u0119 w pierwszej kolejno\u015bci innymi obszarami.<\/li>\n\n\n\n<li>Dzi\u0119ki spisywaniu wszystkiego i dzieleniu si\u0119 wiedz\u0105 z innymi cz\u0142onkami zespo\u0142u wzrasta og\u00f3lna wiedza o aplikacji, co jest bardzo cenne w sytuacjach krytycznych.<\/li>\n<\/ul>\n\n\n\n<p><strong>Przeczytaj tak\u017ce: <a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/organizacja-data-driven-strategia\">Czy\u00a0warto stosowa\u0107 BDD?<\/a><\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Gdy brakuje testera\u2026<\/h3>\n\n\n\n<p>Jeszcze jeden przyk\u0142ad wykorzystania test\u00f3w eksploracyjnych <a href=\"https:\/\/simonsaysnomore.wordpress.com\/2011\/09\/04\/paired-exploratory\/\" target=\"_blank\" rel=\"noopener\">opisuje wspomniany ju\u017c Simon Schrijver.<\/a> Pisze o sytuacji, gdy tester projektowy idzie na urlop, nie ko\u0144cz\u0105c swojej pracy. Maj\u0105c do dyspozycji innego testera (niemaj\u0105cego jednak wiedzy projektowej), kierownik poprosi\u0142 go o pomoc, jednocze\u015bnie proponuj\u0105c prac\u0119 z analitykiem biznesowym w parze. Takie \u201etestowanie w parze\u201d. Analityk biznesowy mia\u0142 wiedz\u0119 dotycz\u0105c\u0105 projektu i instruowa\u0142 testera. Tester z kolei, jako osoba wykonuj\u0105ca testy na bazie swojego do\u015bwiadczenia, m\u00f3g\u0142 odpowiednio zarz\u0105dza\u0107 swoimi testami dzi\u0119ki analitykowi. Moim zdaniem to bardzo ciekawy pomys\u0142.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Testy-eksploracyjne-a-kompetencje\">Testy eksploracyjne a kompetencje<\/h2>\n\n\n\n<p>Na koniec chcia\u0142abym jeszcze zwr\u00f3ci\u0107 uwag\u0119 na jeden wa\u017cny aspekt. Tego typu testy powinny by\u0107 wykonywane przez do\u015bwiadczonych tester\u00f3w. Nie dajmy si\u0119 zwie\u015b\u0107 temu, \u017ce niekt\u00f3rzy nazywaj\u0105 testy eksploracyjne \u201etestami na wariata\u201d (czyli testami, kt\u00f3re wszyscy, bez wzgl\u0119du na do\u015bwiadczenie, mog\u0105 wykona\u0107). Mo\u017cna si\u0119 te\u017c spotka\u0107 z przekonaniem, \u017ce \u201etestowa\u0107 ka\u017cdy mo\u017ce\u201d. Nigdy nie zgadza\u0142am si\u0119 z tym powiedzeniem i b\u0119d\u0119 z nim polemizowa\u0107. <strong>Z mojego do\u015bwiadczenia wynika, \u017ce tylko tester do\u015bwiadczony, kt\u00f3ry zdoby\u0142 do\u015bwiadczenie w wielu projektach i zmierzy\u0142 si\u0119 z wieloma sytuacjami krytycznymi, wygra\u0142 lub przegra\u0142 wiele bitew (zar\u00f3wno z kierownictwem, jak i developerami) jest w stanie, dr\u0105\u017c\u0105c do upad\u0142ego, trafi\u0107 w sedno.<\/strong> W naszej testerskiej naturze jest to, \u017ce d\u0105\u017cymy do destrukcji. W\u0142a\u015bnie taki tester nastawiony na destrukcj\u0119, z baga\u017cem wy\u017cej opisanych sytuacji, b\u0119dzie m\u00f3g\u0142 znale\u017a\u0107 szybko luki, kt\u00f3rych naprawa by\u0107 mo\u017ce b\u0119dzie kluczowa dla uratowania projektu.<\/p>\n\n\n\n<p>Wielk\u0105 warto\u015bci\u0105 by\u0142oby umo\u017cliwienie uczenia si\u0119 w czasie sesji test\u00f3w eksploracyjnych praktykantowi, sta\u017cy\u015bcie czy juniorowi. Oni w\u0142a\u015bnie nabieraj\u0105 do\u015bwiadczenia i je\u015bli mamy mo\u017cliwo\u015b\u0107, aby kszta\u0142towa\u0107 kolejne pokolenia dobrych tester\u00f3w \u2013 r\u00f3bmy to.<\/p>\n\n\n\n<p><strong>Przeczytaj tak\u017ce: <a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/testy-bdd-czy-naprawde-sa-potrzebne\/\">Czy testy BD s\u0105 naprawd\u0119 potrzebne?<\/a><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Podsumowanie\">Podsumowanie<\/h2>\n\n\n\n<p>Mam nadziej\u0119, \u017ce uda\u0142o mi si\u0119 pokaza\u0107, jak wiele zalet maj\u0105 testy eksploracyjne. Opisa\u0142am co prawda jedynie wybrane zastosowania technik eksploracyjnych, ale mo\u017cliwo\u015bci i korzy\u015bci jest znacznie wi\u0119cej. Osobi\u015bcie ch\u0119tnie wykorzystywa\u0142am i wykorzystuj\u0119 testy eksploracyjne w mojej pracy. Je\u015bli maj\u0105 doprowadzi\u0107 do powstania jeszcze lepszego produktu, to zach\u0119cam: korzystajmy z nich! Zatem, drogi testerze \u2013 eksploruj, bo warto.<\/p>\n\n\n\n<p>\u0179r\u00f3d\u0142a:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Adam Roman, &#8222;Testowanie i jako\u015b\u0107 oprogramowania, Modele, techniki, narz\u0119dzia&#8221;. Wydawnictwo Naukowe PWN SA, Warszawa 2015<\/strong><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Podej\u015bcie do eksploracji w ostatnich latach zmieni\u0142o si\u0119 i coraz bardziej dostrzega si\u0119 jej potencja\u0142 oraz korzy\u015bci zar\u00f3wno dla testowanej aplikacji, jak i samego testera. W jakich sytuacjach warto zastosowa\u0107 testy eksploracyjne i jakie s\u0105 plusy tego rozwi\u0105zania?<\/p>\n","protected":false},"author":182,"featured_media":31820,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"iawp_total_views":26,"footnotes":""},"categories":[1,582],"tags":[562],"offering":[513],"class_list":["post-31819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artykuly","category-technologie","tag-qa","offering-application-development"],"acf":[],"_links":{"self":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/31819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/users\/182"}],"replies":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/comments?post=31819"}],"version-history":[{"count":3,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/31819\/revisions"}],"predecessor-version":[{"id":33975,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/31819\/revisions\/33975"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/media\/31820"}],"wp:attachment":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/media?parent=31819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/categories?post=31819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/tags?post=31819"},{"taxonomy":"offering","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/offering?post=31819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}