<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3702877477900757254</id><updated>2011-12-28T09:28:59.141+01:00</updated><category term='Stymulowanie jakości (QA)'/><category term='Dokumentowanie'/><category term='Techniki testowania'/><category term='Eksploracja'/><category term='Środowisko'/><category term='Zarządzanie projektem'/><category term='Automatyzacja'/><category term='Websajty'/><category term='Defekty'/><category term='Recenzja'/><category term='Testowanie (QC)'/><category term='Strategia testowania'/><category term='Ogólne'/><category term='Czytanki'/><title type='text'>.:: Termometr ::.</title><subtitle type='html'>[zawieszony od 26 maja 2008 ]&lt;br&gt;&lt;br&gt;
Testowanie(QC) pokazuje jakość oprogramowania. Zapewnianie jakości(QA) jest w stanie na tej podstawie ją zmienić.&lt;br&gt;
- &lt;i&gt;Blog o testowaniu oprogramowania&lt;/i&gt; -</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-6974063637931082915</id><published>2010-09-13T17:21:00.003+02:00</published><updated>2010-09-13T17:27:50.529+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zarządzanie projektem'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>rzemiosło / umiejętność / sztuka</title><content type='html'>&lt;div&gt;&lt;div&gt;Taka myśl mi przyszła do głowy:&lt;/div&gt;&lt;blockquote&gt;&lt;i&gt;Testowanie jest rzemiosłem mówiącym jak definiować rezultaty oczekiwane. Jest umiejętnością generowania rezultatów bieżących z wykorzystaniem testowanego rozwiązania. Jest także sztuką interpretacji obydwu tych wartości w kontekście projektu rozwiązania.&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div&gt;Jeśli ktoś, gdzieś to już wcześniej widział to bardzo będę wdzięczny za wskazanie.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-6974063637931082915?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/6974063637931082915/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=6974063637931082915&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6974063637931082915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6974063637931082915'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2010/09/rzemioso-umiejetnosc-sztuka.html' title='rzemiosło / umiejętność / sztuka'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-4235465745957347644</id><published>2009-12-18T12:41:00.002+01:00</published><updated>2009-12-18T13:36:45.885+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zarządzanie projektem'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><title type='text'>wszyscy znaczy nikt</title><content type='html'>Powszechny jest nasz autostereotyp, że wszyscy znają się na polityce i medycynie. Nie jestem do końca przekonany czy tylko stereotypem – a nie faktem – jest przeświadczenie światka IT, że wszyscy znają się na testach i testowaniu. Z drugiej strony mojej doświadczenie z różnych projektów podpowiada mi nieustannie pytanie „Skoro tylu się zna to dlaczego tak niewielu potrafi to zrobić poprawnie!?”. I bynajmniej mam tutaj na myśli zarówno aspekt zarządzania, projektowania jak również implementacji testów.&lt;br /&gt;&lt;br /&gt;Na pierwszy rzut oka odpowiedź na to pytanie wydaje się prosta; „bo testy to taki bufor czasowy”, „bo testy to dobra praktyka, ale rzeczywistość wymusza co innego”, itd. Z mojego punktu widzenia wygląda to trochę inaczej.&lt;br /&gt;&lt;br /&gt;Testowanie z punktu widzenia zarządzania jest to sport dla spadochroniarzy. Z punktu widzenia zaś projektowania i implementacji (wykonanie) jest to dyscyplina przeznaczona dla jednostek specjalnych gdzie liczy się wytrwałość, dokładność szczegółowość oraz doskonałe rozpoznanie terenu.&lt;br /&gt;&lt;br /&gt;Mówiąc spadochroniarstwo mam na myśli fakt, że zaplanowanie testów jest możliwe w pełni, kiedy mamy specyfikację lub wymagania zamknięte na jakimś zasadniczym etapie oraz harmonogram całego projektu.&lt;br /&gt;&lt;br /&gt;Praktyka, z którą się spotykam w nielicznych przypadkach pozostawia jakikolwiek wpływ kierownikowi testów na termin ostateczny projektu. Jest to jedno z zasadniczych ograniczeń powodujących, że musi on szukać czasu w fazach wcześniejszych a więc musi sobie zapewnić wpływ na kolejność realizacji poszczególnych etapów projektu. Bez wpływu na etapy realizacji lub termin oddania do produkcji jedyne, co pozostaje to maksymalne wykorzystanie dostępnego czasu co oznacza potrzebę zwiększenia ekonomiczności testów (ścisła kontrola nakładów testowych względem testowanego obszaru czyli mówiąc trywialnie mało przypadków testowych testujących możliwie dużo). W tym punkcie związane jest to bezpośrednio z projektowaniem przypadków testowych, o czym pisywałem już wcześniej.&lt;br /&gt;&lt;br /&gt;W kwestii projektowania i implementacji ważne jest poznanie produktu, przeanalizowanie jego ekstremów oraz podjęcie decyzji (bardzo często biznesowej) o tym co będzie testowane a co nie. Tak czy siak, testowaną aplikację trzeba atakować systematycznie, ale nigdy metodą szerokiego natarcia. Mnóstwo informacji na ten temat można znaleźć w Internecie i prawie zawsze będą to warstwy interfejsów lub całych przepływów.&lt;br /&gt;&lt;br /&gt;Niestety większość kierowników projektów zdaje się nie dostrzegać tej ścisłej relacji czas/kwalifikacje zespołu testów odpychając to argumentem „też kiedyś testowałem”. I rzeczywiście, prawdopodobnie jest to prawdą jednak dłuższy czy krótszy angaż w zespole testów nie stanowi o tym, że jest się testerem lub nie. Znam testerów pracujących jako programiści, integratorzy, architekci a znam też testerów którzy tylko pracują w tym zawodzie.&lt;br /&gt;&lt;br /&gt;    Przyczyną, dla której użyłem powyżej porównań do wojskowości jest fakt, że testy zdają się „wybuchać” raz po raz. Na początku dla kierownika projektu ważne jest, aby po prostu zrealizować projekt. Walcząc z podstawowymi problemami w projekcie nikt nie zastanawia się nad jakością projektu. Ale nagle, kiedy data finalna projektu jest blisko a sam produkt dobrze rokuje pojawia się problem testowania. „Ktoś przecież musi to przetestować” i tutaj następuje festiwal pomysłów, w którym prym wiedzie kompletna ślepota na ograniczenia czasowe. Ci sami kierownicy projektów którzy z troską pochylali się nad zaplanowaniem poszczególnych zadań w projekcie nagle w stosunku do testów szerokim gestem stosują „czasopodwajacz” i „czasowstrzymywacz” niczym detektyw As oranżadę w „Hydrozagadce”.&lt;br /&gt;&lt;br /&gt;W takim ujęciu istotne jest, aby kierownik testów nie tylko pełnił swoją explicite opisaną rolę, lecz również niczym niewolnik powtarzający do swojego wodza „Hominem te memento” powtarzał kierownikowi testów „Testy to też czas i ludzie”.&lt;br /&gt;&lt;br /&gt;Reasumując mam wrażenie, że coraz częściej kierownicy testów zmuszani są do walki o uznanie, iż testy są integralnym etapem projektu.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-4235465745957347644?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/4235465745957347644/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=4235465745957347644&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/4235465745957347644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/4235465745957347644'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2009/12/wszyscy-znaczy-nikt.html' title='wszyscy znaczy nikt'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-6699213223402189953</id><published>2008-05-26T16:34:00.005+02:00</published><updated>2008-05-26T17:40:12.554+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Letarg</title><content type='html'>Ponieważ czuję się zobowiązany wobec cierpliwych i wytrwałych czytelników jak również tych zaglądających tutaj przypadkowo, muszę jasno i jednoznacznie stwierdzić, że obowiązki rodzinne i zawodowe uniemożliwiają mi regularne prowadzenie tego blogu, czego dowodem jest ostatnie kilka miesięcy. Nie oznacza to jednak, że nie będę tutaj pisywał. Od czasu do czasu, zapewne coś napiszę...&lt;br /&gt;&lt;br /&gt;Serdecznie dziękuję tym wszystkim, którzy mieli siłę i cierpliwość czytać teksty umieszczane tutaj jak również je komentować. Wszystkim życzę powodzenia i ciekawych projektów.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-6699213223402189953?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/6699213223402189953/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=6699213223402189953&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6699213223402189953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6699213223402189953'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2008/05/letarg.html' title='Letarg'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-6070977535426199867</id><published>2008-04-03T14:31:00.002+02:00</published><updated>2008-04-03T14:33:08.413+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Techniki testowania'/><title type='text'>Wartści graniczne - przegląd</title><content type='html'>Na http://www.stsc.hill.af.mil/crosstalk/2008/04/0804Coe.html znalazłem ciekawy artykuł na temat techniki testowania wartościami granicznymi.  Jest to przegląd zarówno samej techniki jak i sposobów w jaki można ja stosować.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-6070977535426199867?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.stsc.hill.af.mil/crosstalk/2008/04/0804Coe.html' title='Wartści graniczne - przegląd'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/6070977535426199867/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=6070977535426199867&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6070977535426199867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6070977535426199867'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2008/04/wartci-graniczne-przegld.html' title='Wartści graniczne - przegląd'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-849764459082603646</id><published>2008-02-14T09:39:00.002+01:00</published><updated>2008-02-14T09:45:19.835+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Kiedy nie przestać testować...</title><content type='html'>Kilka tygodni temu... w związku z Nowym Rokiem, tradycyjnie już postanowiłem rzucić palenie. Decyzja trudna i bolesna gdyż palić lubię nadal i sprawia mi to dużą przyjemność... ale jak to mówią albo rybka albo ...&lt;br /&gt;&lt;br /&gt;Tak więc zaparłem się i trzymam... podszedłem do tego trochę jak do testów wydajności; "ile wytrzymam bez palenia". Ale oczywiście pojawił się problem oczekiwanych rezultatów lub wskaźników wydajności. Czyli mówiąc, krótko "w którym momencie mogę stwierdzić, że rzuciłem palenie"!?&lt;br /&gt;&lt;br /&gt;Jeśli odpowiedzią jest, fakt iż już nigdy nie zapalę, to czy gdy zdarzy mi się po 20 latach zapalić dla towarzystwa 1 papierosa oznaczać to będzie, że w ogóle nie rzuciłem?&lt;br /&gt;&lt;br /&gt;A może podejść do tego relatywnie... "tak naprawdę rzucę palenie, kiedy przestanę liczyć ile czasu już nie palę"... ale czy wtedy znaczy, że mogę zapalić...&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-849764459082603646?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/849764459082603646/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=849764459082603646&amp;isPopup=true' title='Komentarze (4)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/849764459082603646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/849764459082603646'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2008/02/kiedy-nie-przesta-testowa.html' title='Kiedy nie przestać testować...'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-3436345414999459024</id><published>2007-12-23T19:32:00.000+01:00</published><updated>2007-12-23T19:36:45.652+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Wesołych Świąt i szczęśliwego Nowego Roku</title><content type='html'>Wszystkim tym, którzy mają cierpliwość czytać tego bloga - bez względu na to czy się ze mną zgadzają czy nie - życzę wszystkiego najlepszego, dużo radości, ciekawych prezentów i miłych chwil.&lt;br /&gt;&lt;br /&gt;A na nadchodzący 2008 rok, pełnej dokumentacji :-), ciekawych defektów oraz przede wszystkim zdrowia.&lt;br /&gt;&lt;br /&gt;Wszystkiego najlepszego.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-3436345414999459024?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/3436345414999459024/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=3436345414999459024&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3436345414999459024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3436345414999459024'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/12/wesoych-wit-i-szczliwego-nowego-roku.html' title='Wesołych Świąt i szczęśliwego Nowego Roku'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-8965772646953900766</id><published>2007-12-07T17:31:00.000+01:00</published><updated>2007-12-07T17:31:30.843+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Środowisko'/><category scheme='http://www.blogger.com/atom/ns#' term='Stymulowanie jakości (QA)'/><title type='text'>Procesowość procesu</title><content type='html'>Na rynku dostępne są całe lasy literatury poświęconej procesom. Można je sobie oglądać z punktu widzenia zapewniania jakości, zarządzania projektem, &lt;a href="http://en.wikipedia.org/wiki/Software_configuration_management"&gt;SCM&lt;/a&gt;, czy testów.&lt;br /&gt;&lt;br /&gt;Nie chcę tutaj pochylać się nad oczywistościami. Z całą pewnością dobrze zdefiniowany proces ułatwia skupienie się na samym projekcie, minimalizując elementy niezaplanowane i nieoczekiwane. Z drugiej strony każdy proces jest pewną generalizacją dokonywaną na podstawie przypadków konkretnych i reprezentatywnych. Oznacza to, że rzeczywistość jest bardziej ciekawa niż to może się wydawać krojniczym takiego procesu. Zawsze!&lt;br /&gt;&lt;br /&gt;Bardzo często, mechanizmami obronnymi takiego procesu jest rozrost administracji w skrajnych wypadkach prowadzący do jakiejś formy tego, co &lt;a href="http://pl.wikipedia.org/wiki/Max_Weber"&gt;Max Weber&lt;/a&gt; nazwał "złotą klatką racjonalizmu". W skrajnych przypadkach dla małych projektów, większa część czasu jest przeznaczona na obsługę samego procesu a nie na obsługę projektu.&lt;br /&gt;&lt;br /&gt;Nie wchodząc w szczegóły poczyniłem następujące spostrzeżenia:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Działanie procesu w dużej mierze nie zależy na konstrukcji samego procesu ale na procesie zarządzania nim (np. zmuszanie programistów do pisania dokumentacji).&lt;/li&gt;&lt;li&gt;Każdy proces powinien być definiowany na potrzeby konkretnej organizacji. Kopiowanie na wprost w tym zakresie zawsze się zemści!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Każdy proces opracowany na potrzeby konkretnej organizacji musi być skalowalny (mini dla małych projektów, midi dla średnich projektów i maxi dla dużych projektów&lt;/li&gt;&lt;li&gt;każdy proces musi mieć określony cel i powinien być wykorzystywany tylko w kierunku realizacji tylko tego celu. Każde nadużycie tej zasady może prowadzić do zmiany działającego procesu. W myśl zasady "lepsze" jest wrogiem "dobrego" efekt wcale nie musi być zachwycający.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Materiał wyjściowy i wejściowy z i do procesu powinien być generowany możliwie najczęściej automatycznie minimalizując nakład ręcznego przygotowywania dokumentów&lt;/li&gt;&lt;li&gt;Potrzebny jest miernik na jakim poziomie projekt powinien być opisany. Dla projektów run-and-forget powinien być to minimalny opis natomiast dla projektów o szerokim horyzoncie utrzymaniowym taki opis powinien być możliwie szczegółowy&lt;/li&gt;&lt;li&gt;Role powinny być odseparowane. Developer woli programować niż pisać a technical writter woli pisać niż programować&lt;/li&gt;&lt;li&gt;Jeden wspólny język dla całego procesu&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-8965772646953900766?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/8965772646953900766/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=8965772646953900766&amp;isPopup=true' title='Komentarze (6)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8965772646953900766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8965772646953900766'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/12/procesowo-procesu.html' title='Procesowość procesu'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-5516542198221718673</id><published>2007-11-07T15:00:00.000+01:00</published><updated>2007-11-07T14:53:51.970+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Automatyzacja'/><title type='text'>Oczywiste oczywistości czyli o podstawach kompletnych testów</title><content type='html'>Tym razem chciałbym napisać o rzeczach, które uważam za kompletne podstawy... . Chciałem zdanie dokończyć 'testowania oprogramowania' ale uzmysłowiłem sobie, że to nie dotyczy wyłącznie testowania. A więc... chcę napisać o kompletnych i podstawowych zabiegach, stosowanych w szeroko pojętej inżynierii w mocnym kontekście testów oprogramowania, odchylonych - z kolei - mocno w stronę automatyzacji i/lub powtarzalności.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Parametryzacja - separacja danych od logiki ich przetwarzania. Duża część testów polega na mnipulacji samymi danych (klasy równoważności, wartość graniczne, dziedziny itd). W związku z tym o wiele łatwiej jest zarządzać tymi danymi mając je "na zewnątrz" skryptu.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Atomizacja - rozbijanie złożonych problemów na proste. Informatyka jest pod tym kątem szczególnie łaskawą dziedziną. Praktycznie każdy złożony problem składa się z mniejszych i prostszych. Trzeba tylko umieć wyłowić powiązania prostych problemów w kontekście złożonego. Dodatkowo, "testowo" obsłużone proste problemy mogą być re-używalne.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Logika - nie testować w oparciu o nazwy kontrolek ale w oparciu o logiczne przepływy danych. Każde oprogramowanie składa się z warstwy prezentacyjnej (interfejs użytkownika), warstwy przetwarzania (middleware) i warstwy sterowania (sterowniki). Dobrze napisane oprogramowania ma te warstwy mocno odseparowane co pozwala na wydajne testowanie logiki w oderwaniu od kontrolek i zasilaniu logiki bezpośrednio z zestawów danych testowych np. poprzez API.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Narzędzia - co może za nas zrobić narzędzie to niech to zrobi. Pytanie tylko czy potrafimy tym narzędziem się posłużyć. Narzędzi jest całe mnóstwo i nie problem znaleźć takie, które wydaje się przydatne ale wcześniej trzeba wiedzieć do czego chce się wykorzystać takie narzędzie.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Abstrakcja - nie związywanie procedur testowych z konkretną wersją (wyglądem) testowanego oprogramowania ale raczej z jego przeznaczeniem. Np. przypadki testowe odwołujące się do konkretnych nazw kontrolek muszą być aktualizowane gdy zmieni się wersja GUI. A z drugiej strony, skoro przypadki już są gotowe to po co czekać i nie uruchomić procedur testowych od razu. Przecież kontrolki na interfejsie użytkownika można potraktować jako swojego rodzaju dane, które się weryfikuje (czy kontrolka jest, wartości kontrolki, funkcjonalności kontrolki).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Elastyczność - łatwość rozbudowywania i dostosowywania do konkretnych potrzeb. W przypadku automatyzacji chodzi np. o możliwość zestawiania poszczególnych skryptów czy przypadków testowych w różnych sekwencjach.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Generowalność - generowanie scenariuszy i generowanie rezultatów testów. Wybudowanie środowiska testowego pozwalającego na swobodne generowanie scenariuszy testowych o jasno określonym celu jest bardzo trudne jeśli wręcz nie możliwe. Jakkolwiek, należy budować przypadki testowe w taki sposób aby na ich podstawie móc generować scenariusze. Drugą stroną jest możliwość generowania wyników z testów. Każdy przeprowadzony test kończy się określonym wynikiem. Dobrze jest jeśli takie wyniki odnotowywane są automatycznie w sposób umożliwiający ich dalszą weryfikację.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-5516542198221718673?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/5516542198221718673/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=5516542198221718673&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/5516542198221718673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/5516542198221718673'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/11/oczywiste-oczywistoci-czyli-o.html' title='Oczywiste oczywistości czyli o podstawach kompletnych testów'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-2732780871972637304</id><published>2007-10-24T09:37:00.000+02:00</published><updated>2007-10-24T09:45:50.236+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Websajty'/><category scheme='http://www.blogger.com/atom/ns#' term='Czytanki'/><title type='text'>Portal MS o testowaniu</title><content type='html'>Firma &lt;a href="http://www.microsoft.com/"&gt;Microsoft&lt;/a&gt; uruchomiła na &lt;a href="http://msdn2.microsoft.com/en-us/default.aspx"&gt;MSDN&lt;/a&gt;ie "Tester Center", które można znaleźć pod adresem &lt;a href="http://msdn2.microsoft.com/en-us/testing/default.aspx"&gt;http://msdn2.microsoft.com/en-us/testing/default.aspx&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Interesujące jest to, że to przedsięwzięcie firmują takie nazwiska jak James A. Whittaker czy Michael "The Braidy Tester" Hunter co jest gwarancją zachowania wysokiego poziomu merytorycznego.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-2732780871972637304?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn2.microsoft.com/en-us/testing/default.aspx' title='Portal MS o testowaniu'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/2732780871972637304/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=2732780871972637304&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2732780871972637304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2732780871972637304'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/10/portal-ms-o-testowaniu.html' title='Portal MS o testowaniu'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-8121131950621890736</id><published>2007-09-11T16:07:00.000+02:00</published><updated>2007-09-11T16:06:52.573+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><category scheme='http://www.blogger.com/atom/ns#' term='Środowisko'/><title type='text'>Pytać czy nie pytać eksperta!?</title><content type='html'>W życiu każdego testera następuje chwila, w której musi sobie odpowiedzieć na pytanie "zapytać o 'to' czy nie zapytać?". Po przełamaniu pierwszych lodów i odkryciu jak potężnym jest to narzędziem, sięgamy po nie coraz częściej. Chyba, że napotykamy na mur deadlocków... to znaczy, kiedy częściej uzyskujemy odpowiedź "nie teraz", "za chwilę", "teraz nie mam czasu" niż tą o którą nam chodziło.&lt;br /&gt;&lt;br /&gt;Z drugiej strony zauważyłem, że istnieje wielu testerów, którzy wolą po prostu grzebać samemu "na czuja" niż zasięgnąć porady u eksperta. Wynika to, zapewne z wcześniejszych doświadczeń typu "nie mam czasu" jak i obietnicy ogromnej satysfakcji, "że sam odkryłem".&lt;br /&gt;&lt;br /&gt;Oczywiście wybór drogi należy do każdego testera osobiście. Ja chciałem się tylko podzielić swoimi spostrzeżeniami na ten temat.&lt;br /&gt;&lt;br /&gt;Bezpośrednia rozmowa z ekspertem ma niewątpliwie tę ogromną zaletę, że uczy bardzo szybko wielu rzeczy związanych z testowanym systemem. Z drugiej jednak strony ma tę ogromną wadę, że w sposób zasadniczy zależy od 'interfejsu' eksperta. Po prostu, kiedy spotykamy człowieka otwartego i gotowego do pomocy to pracuje się nam z nim przyjemniej niż z człowiekiem, którego trzeba wiecznie "błagać" o skrawek wiedzy. Powoduje to, że 'user-friendly' eksperci są bardziej oblegani niż Ci 'z konsolą znakową'. Często sami eksperci, przeciążeni pracą, zaczynają ograniczać swoją uprzejmość bo po prostu zajęci są swoimi obowiązkami.&lt;br /&gt;&lt;br /&gt;Aby rozmowa z ekspertem była owocna, należy przede wszystkim się do niej przygotować (nas też denerwuje jak ktoś ciągle przychodzi do nas i zadaje pytania na które swobodnie możemy odpowiedzieć sławetnym "RTFM").  A jak się przygotować? Przede wszystkim przeczytać dostępna dokumentację aby upewnić się, ze mamy doczynienia  z prawdziwym problemem&lt;br /&gt;(zasada taka sama jak przy zgłaszaniu incydentów), następnie sprawdzić logi. Bardzo często ten krok jest pomijany a on tymczasem dostarcza w wielu wypadkach odpowiedzi na nasze pytania. Po to przecież logi są implementowane aby odpowiadać na pytania co poszło źle.&lt;br /&gt;&lt;br /&gt;Jeśli pójdziemy do eksperta z pytaniem "dlaczego to nie działa" to jest to tak samo jakbyśmy zgłosili incydent "system nie działa". Zadając pytanie ekspertowi trzeba wiedzieć co konkretnie nie działa, umieć to nazwać. A jeśli nie potrafimy - bo n.p. jesteś w nowej organizacji - to należy zaznaczyć to na wstępie, że nie umiemy tego nazwać ale utknęliśmy na takim to a takim kroku (określić punkt w procesie).&lt;br /&gt;&lt;br /&gt;Inną pomocną rzeczą są koledzy obok. Jeśli jest to zespół doświadczonych testerów to na pewno tam znajdziemy odpowiedź a jeśli nie to i tak warto zapytać bo prawdopodobnie, ktoś wcześniej trafił na podobny problem. Przynajmniej powie nam do kogo powinniśmy udać się z podobnym problemem.&lt;br /&gt;&lt;br /&gt;Pozostaje jeszcze problem "wydłubywania" czegoś samodzielnie. Testerzy - chyba z natury rzeczy - są ludźmi uwielbiającymi dłubać. Jeśli napotykają problem n.p. z uruchomieniem jakiegoś procesu, to próbują na wszelkie znane im sposoby, uruchomić go. Problem polega na tym że:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;nawet jeśli uda nam się uruchomić taki proces to i tak nie wiemy do końca czy jest to poprawny sposób uruchamiania&lt;/li&gt;&lt;li&gt;często po prostu nie udaje nam się go uruchomić bo brakuje nam wiedzy o jednym, małym, sekretnym parametrze&lt;/li&gt;&lt;/ul&gt;W obydwu wypadkach może to być stratą czasu co jest luksusem, na który rzadko można sobie pozwolić. Oczywiście, z drugiej strony jest to czas, w którym tester uczy się generalnie systemu co nie jest czasem straconym i dlatego nie jestem i nie potępiam tego sposobu w czambuł. Jakkolwiek, w sytuacjach, w których jest mało czasu polecam konsultacje u ekspertów zamiast dłubaniny jako bardziej pewnej drogi.&lt;br /&gt;&lt;br /&gt;Tutaj jednak problemami, które przełamywać powinien przede wszystkim kierownik testów są:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;zwykła, naturalna nieśmiałość członków zespołu&lt;/li&gt;&lt;li&gt;nieznajomość organizacji&lt;/li&gt;&lt;li&gt;obawa przed dyskredytacją lub odsłonięciem naszej niewiedzy*&lt;/li&gt;&lt;li&gt;przeszkody fizyczne, n.p. oddzielne lokalizacjae testerów i ekspertów&lt;/li&gt;&lt;li&gt;postawa osoby odpowiedzialnej za testy&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Działy IT nie należą do 'zagłębia' ludzi komunikatywnych. Większość z członków tych zespołów woli trójkąt 'ja - problem - komputer' zamiast czworokąta 'ja - problem - inni - komputer'. Zasada ta dotyczy także testerów co w znaczny sposób przekłada się na komunikację z innymi zespołami.&lt;br /&gt;&lt;br /&gt;Czasami problemem bywa nieznajomość organizacji.&lt;span style="font-weight: bold;"&gt;&lt;/span&gt; Tester po prostu nie wie do kogo się udać. A nawet jak zdobędzie nazwisko danej osoby to nie wie gdzie może ją znaleźć. Jest to zasadnicze pole działania dla osoby kierującej testami. To ona powinna w takich sytuacjach przejmować obowiązek 'biura matrymonialnego' komunikując testera z odpowiednim ekspertem.&lt;br /&gt;&lt;br /&gt;Testerzy nie są wszechwiedzący. Część funkcjonalności systemu znają lepiej na niskim poziomie a część - zwłaszcza tą której nie testowali bezpośrednio - znają na wyższym poziomie. Większość problemów przeważnie dotyczy tego wysokiego poziomu. Mamy więc sytuację kiedy człowiek z oględną wiedza na temat danej dziedziny usiłuje skonsultować się z ekspertem. Powoduje to, ze 'ekspert' czasami wykorzystuje sytuację dając do zrozumienia, ze pytanie jest głupie. Dzieje się tak gdyż 'ekspert' nie potrafi wyobrazić sobie świata bez swojego poletka, któremu przypisuje najprawdopodobniej mistyczne niemal przymioty. Jest to smutna sytuacja, która &lt;span style="font-style: italic;"&gt;de facto&lt;/span&gt; obróci się przeciw 'ekspertowi'. W efekcie ekspert otrzyma gorzej przetestowany system, co wynika z reglamentowanie informacji.&lt;br /&gt;&lt;br /&gt;Rozdzielenie lokalizacji ekspertów i testerów, jest w mojej opinii jednym z najpoważniejszych błędów. Pracowałem w projekcie, w którym testerzy siedzieli w lokacji oddalonej od ekspertów o setki kilometrów. Żadna telefonia, komunikatory ani maile nie są w stanie tego skompensować. Duża porcja informacji ginie co odbija się na jakości systemu.&lt;br /&gt;&lt;br /&gt;Jeśli kierownik testów lub inna osoba odpowiedzialna za działa kontrolujące jakość systemów informatycznych jest mało komunikatywna powoduje to, ze i członkowie zespołu nie będą się komunikować z innymi zespołami. W skrajnych przypadkach kierownicy testów budują mit o jakości oprogramowania którą rujnują niedouczeni, niekompetentni, leniwi i gnuśni programiści. Jest to odwrócenie sytuacji eksperta z nieprzyjaznym 'interfejsem'. Skoro testerzy wykorzystują byle pretekst do pomstowania na ekspercie i jego rodzinie 7 pokoleń wstecz to dlaczego tenże ekspert ma być otwarty i uprzejmy. Posunę się nawet do twierdzenia, iż zarząd firmy w której funkcjonuje taki kierownik testów, powinien niezwłocznie usunąć taką osobę zanim ta choroba rozprzestrzeni się na cały zespól testów.&lt;br /&gt;&lt;br /&gt;Reasumując chciałem powiedzieć, że wszyscy uczestnicy projektu powinni traktować się z szacunkiem bez względu na zajmowane w nim pozycje. Kierownictwo i zarząd firmy powinny dbać o kreowanie i rozwijanie takich postaw a napiętnować postawy zamknięte.&lt;br /&gt;&lt;br /&gt;* &lt;span style="font-size:78%;"&gt;Zdarzyło mi się pracować w środowisku, w którym tak zwani eksperci wykorzystywali niedoświadczenie testerów, drwiąc z nich. Zakończyło się to prawie całkowitym zerwaniem komunikacji testerzy - eksperci co z kolei - w mojej ocenie - było jedną z zasadniczych przyczyn niskiej jakości dostarczanego rozwiązania.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-8121131950621890736?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/8121131950621890736/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=8121131950621890736&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8121131950621890736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8121131950621890736'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/09/pyta-czy-nie-pyta-eksperta.html' title='Pytać czy nie pytać eksperta!?'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-7934651659852264531</id><published>2007-09-10T08:33:00.000+02:00</published><updated>2007-09-10T08:44:07.193+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Websajty'/><title type='text'>Polski blog o testowaniu</title><content type='html'>Dzisiaj znalazłem w sieci polski blog o testowaniu oprogramowania. Można go znaleźć pod &lt;a href="http://testerzy.org/"&gt;http://testerzy.org/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Z kilkoma artykułami umieszczonymi tam nie zgadzam się z innymi się zgadzam ale to tak naprawdę nie jest istotne... istotne jest, że powstaje kolejna strona o testowaniu w języku polskim.&lt;br /&gt;&lt;br /&gt;Oby tak dalej&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-7934651659852264531?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://testerzy.org/' title='Polski blog o testowaniu'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/7934651659852264531/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=7934651659852264531&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/7934651659852264531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/7934651659852264531'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/09/polski-blog-o-testowaniu.html' title='Polski blog o testowaniu'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-573450883398048169</id><published>2007-07-27T08:51:00.000+02:00</published><updated>2007-07-27T09:01:02.823+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Czytanki'/><title type='text'>Wakacje</title><content type='html'>No i sezon ogórkowy! Ale niestety nie u mnie. Mam mnóstwo pracy co niestety powoduje, że trochę zaniedbałem bloga ale mam nadzieję, że niedługo się wykaraskam z opałów i znowu będę mógł coś napisać.&lt;br /&gt;&lt;br /&gt;Tym czasem chciałem polecić dwie książki - niestety po angielsku - odnośnie testowania:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Rick D. Craig, Stefan P. Jaskiel&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;, &lt;/span&gt;&lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/1580535089/ref=ord_cart_shr/105-8875395-4714868?%5Fencoding=UTF8&amp;m=ATVPDKIKX0DER&amp;amp;v=glance"&gt;Systematic Software Testing&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;Marnie L. Hutcheson, &lt;span style="font-style: italic;"&gt;Software &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/047143020X/ref=ord_cart_shr/105-8875395-4714868?%5Fencoding=UTF8&amp;m=ATVPDKIKX0DER&amp;amp;v=glance"&gt;Testing Fundamentals: Methods and Metrics&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;Niestety nie są to tanie książki, więc może porozmawiać z pracodawcą czy nie udzielił by dotacji!?&lt;br /&gt;&lt;br /&gt;Zaletą tych książek jest to, że opisują proces testowania od A do Z i współdzielą doświadczenie testowe.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-573450883398048169?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/573450883398048169/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=573450883398048169&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/573450883398048169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/573450883398048169'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/07/wakacje.html' title='Wakacje'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-3635957573767423581</id><published>2007-05-24T06:00:00.000+02:00</published><updated>2007-05-24T12:40:16.953+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><category scheme='http://www.blogger.com/atom/ns#' term='Websajty'/><category scheme='http://www.blogger.com/atom/ns#' term='Czytanki'/><title type='text'>Guide to the SWEBOK</title><content type='html'>Celem projektu Guide to the Software Engineering Body of Knowledge jest (jak wskazują autorzy):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;opisanie treści dokumentu "Software Engineering Body of Knowledge";&lt;/li&gt;&lt;li&gt;umożliwienie dostępu tematycznego do dokumentu "Software Engineering Body of Knowledge";&lt;/li&gt;&lt;li&gt;promowanie spójnego spojrzenia na inżynierię oprogramowania;&lt;/li&gt;&lt;li&gt;wyjaśnienie miejsca oraz ustalenie granic inżynierii oprogramowania w stosunku do innych dyscyplin takich jako informatyka, zarządzanie projektem, inżynieria informatyczna czy matematyka;&lt;/li&gt;&lt;li&gt;utworzenie podstaw rozwoju materiałów szkoleniowych, certyfikacyjnych i licencyjnych&lt;/li&gt;&lt;/ul&gt;Z punktu widzenia testów szczególnie interesujących jest rozdział 5 zatytułowany "Software Testing". Można w nim znaleźć podstawowe informacje na temat testowania oraz definicji rozróżnianych przez SWBOK poziomów testowania. Dla doświadczonych testerów może on służyć jako materiał referencyjny a dla początkujących jako bardzo dobry pakiet startowy :-).&lt;br /&gt;&lt;br /&gt;Ale oczywiście zachęcam do poznania całego dokumentu. Pozwala on na poznanie podstaw takich gałęzi inżynierii oprogramowania jak zarządzanie wymaganiami, projektowanie i konstruowanie oprogramowania, utrzymanie czy zarządzanie konfiguracją lub jakością.&lt;br /&gt;&lt;br /&gt;A wszystko to dostępne pod adresem: &lt;a href="http://www.swebok.org/index.html"&gt;Guide to the SWEBOK&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-3635957573767423581?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.swebok.org/index.html' title='Guide to the SWEBOK'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/3635957573767423581/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=3635957573767423581&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3635957573767423581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3635957573767423581'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/05/guide-to-swebok.html' title='Guide to the SWEBOK'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-6529736149986317546</id><published>2007-05-17T12:06:00.000+02:00</published><updated>2007-05-24T11:45:32.036+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Środowisko'/><category scheme='http://www.blogger.com/atom/ns#' term='Automatyzacja'/><category scheme='http://www.blogger.com/atom/ns#' term='Websajty'/><category scheme='http://www.blogger.com/atom/ns#' term='Techniki testowania'/><title type='text'>Data Driven Test Automation Frameworks</title><content type='html'>Zaczynając budowę automatycznego środowiska testowego, bardzo pomocne jest zdefiniowanie podstaw. Pozwala to na późniejsze uniknięcie błędów związanych z utrzymaniem i rozwojem takiego środowiska co jest jednym z największych zagrożeń związanych z taką architekturą testów. "&lt;a href="http://safsdev.sourceforge.net/FRAMESDataDrivenTestAutomationFrameworks.htm"&gt;Data Driven Test Automation Frameworks&lt;/a&gt;" jest to dokument zawierający kilka propozycji w jaki sposób można zorganizować sobie to środowisko w sposób pozwalający zminimalizować te zagrożenia. Niestety opis ten zawiera tylko rozwiązania oparte o dane.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-6529736149986317546?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://safsdev.sourceforge.net/FRAMESDataDrivenTestAutomationFrameworks.htm' title='Data Driven Test Automation Frameworks'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/6529736149986317546/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=6529736149986317546&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6529736149986317546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6529736149986317546'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/05/data-driven-test-automation-frameworks.html' title='Data Driven Test Automation Frameworks'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-3538878100590722883</id><published>2007-05-16T22:00:00.000+02:00</published><updated>2007-05-16T18:32:46.388+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Prywatne EuroSTAR :-)</title><content type='html'>Oprócz amerykańskich konferencji poświęconych jakości oprogramowania &lt;a href="http://www.sqe.com/StarEast/" title="STAREAST"&gt;STAR&lt;span style="font-style: italic;"&gt;EAST&lt;/span&gt;&lt;/a&gt; i &lt;a href="http://www.sqe.com/StarWest/" title="STARWEST"&gt;STAR&lt;span style="font-style: italic;"&gt;WEST&lt;/span&gt;&lt;/a&gt; funkcjonuje ich europejska wersja pod nazwą &lt;a href="http://www.qualtechconferences.com/content.asp?id=2" title="EuroSTAR"&gt;EuroSTAR&lt;/a&gt;. Najbliższa odbywa się pod hasłem "&lt;a href="http://www.qualtechconferences.com/content.asp?id=17" title="Defining the Profession"&gt;Defining the Profession&lt;/a&gt;". Organizatorzy uważają, że do rozwikłania zagadki tego hasła prowadzą odpowiedzi na poniższe pytania:&lt;br /&gt;&lt;blockquote&gt; &lt;ul&gt;   &lt;li&gt;     Czy uważasz siebie za testera i profesjonalistę? Czy inni uważają Cię za takiego?   &lt;/li&gt;   &lt;li&gt;     Co pozwala Ci na takie stwierdzenie?   &lt;/li&gt;   &lt;li&gt;     Czy istnieje podstawowy zbiór umiejętności? Czy są to umiejętności techniczne czy społeczne, a może dwojakie?   &lt;/li&gt;   &lt;li&gt;     Jaka jest Twoja jedna, najbardziej cenna umiejętność? Czy potrafisz ją objaśnić innym?   &lt;/li&gt;   &lt;li&gt;     Czy kwalifikacje mogą określać profesjonalnego testera?   &lt;/li&gt;   &lt;li&gt;     Czy Twoja organizacja wnosi dobre praktyki do profesji?   &lt;/li&gt; &lt;/ul&gt; &lt;/blockquote&gt;Ponieważ próba odpowiedzi na te pytania wydała mi się wyzwaniem, postanowiłem zmierzyć się z nim. Ale postanowiłem to zrobić na ogólnym poziomie nie wchodząc w szczegóły, chyba że jest to uzasadnione.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Czy uważasz siebie za testera i profesjonalistę?&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Kto może nazwać siebie testerem...? Czasami jako testera określa się osobę zawodowo zajmującą się weryfikowaniem czy to co miało być zrobione zostało rzeczywiście zrobione! Jednak w mojej opinii nie jest to definicja kompletna. Tester bowiem, to osoba, która nie tyle zajmuje się weryfikowaniem czy to co zaplanowane zostało zaimplementowane - jest to produkt bardzo ważny ale pośredni pracy testera. Tester to osoba, która z pełną świadomością przepuszcza oprogramowanie przez specjalnie w tym celu zaprojektowane procedury, których celem jest weryfikacja czy został osiągnięty określony i zdefiniowany poziom jakości i która to osoba do projektowania procedur testowych korzysta w wielu technik! Gdy poziom jakości nie jest określony i zdefiniowany formalnie to i tak bardzo pomocne jest nieformalne określenie tego parametru.&lt;br /&gt;&lt;br /&gt;Mówi się, że dobry tester jest w stanie przetestować wszystko... i rzeczywiście kilka lat pracy w zawodzie formułuje specyficzne podejście charakteryzujące się "testowaniem" otoczenia. Jak słusznie zauważył James Bach, istotne jest umiejętne posługiwanie się sceptycyzmem i krytycyzmem co w mojej ocenie jest wyższym stopniem wtajemniczenia w ten zawód. Łatwo jest bowiem popaść w bezproduktywne narzekanie, że system nie jest doskonałej jakości a bardzo trudno jest ustrzec się przed domniemaniem pewnych oczywistości. I tak np. łatwo jest powiedzieć, że &lt;span style="text-decoration: line-through;"&gt;&lt;/span&gt;dany obszar funkcjonalny jest źle napisany bo zostało do niego zaraportowanych dużo defektów ale dużo trudniej jest tak skonstruować testy aby przy minimalnym, potrzebnym nakładzie pracy (w sensie czasu i zasobów) przetestować dokładnie ten obszar a następnie efektywnie zweryfikować efekt prac naprawczych.&lt;br /&gt;&lt;br /&gt;Jak można zdefiniować profesjonalistę...? Uważam, że profesjonalista to człowiek skupiony na celach, potrafiący je osiągać korzystając z dostępnych środków oraz dobierać nowe środki w sposób optymalny. Ale jednocześnie profesjonalista to taki ktoś, kto dążąc do realizacji tych celów, potrafi dać swój wkład w środowisko pracy... to np. taka osoba, która widzi szerszy kontekst swojej działalności. Osoba, która biorąc cokolwiek od innej osoby (wiedzę, informację, zasoby, czas, itp) potrafi uczynić to we właściwy sposób i jednocześnie dać coś w zamian. To ktoś w towarzystwie kogo przebywając jednocześnie uczymy się, ktoś do kogo ma się zaufanie. To ktoś kto ma misję!&lt;br /&gt;&lt;br /&gt;Dla mnie taką misją jest "&lt;span style="font-style: italic;"&gt;minimalizowanie ryzyka związanego z realizowany&lt;span style="font-style: italic;"&gt;m&lt;/span&gt; produktem/projektem&lt;/span&gt;". To minimalizowanie realizuję poprzez dostarczanie innym uczestnikom procesu, z jednej strony informacji na temat jak można przy zastanych zasobach i historii projektu zrealizować efektywnie testy a z drugiej strony wiarygodną informację na temat poziomu jakości tego produktu w odniesieniu do czynników zewnętrznych takich jak jakościowe oczekiwania klienta, otoczenie biznesowe, przeznaczenie systemu, itp. W ten sposób chronię zarówno swojego pracodawcę przed utratą renomy a z drugiej strony chronię odbiorcę przed stratami spowodowanymi wadliwym działaniem systemu.&lt;br /&gt;&lt;br /&gt;Często spotykam się z mniej lub bardziej jawny antagonizowaniem testera i programisty. Dla mnie takie ujęcie jest zupełnie bezprzedmiotowe. Nie ma znaczenia tak naprawdę kto "bardziej zbawia świat". Znaczenie ma jaki się ma stosunek do wykonywanego zawodu. Testowanie dla osoby zainteresowanej tym zawodem i świadomej możliwości jest takim samym wyzwaniem jak zaprogramowanie testowanego systemu.&lt;span style="font-style: italic;"&gt;&lt;/span&gt; Co więcej, antagonizowanie działu testów z działem rozwoju w poważny sposób zakłóca komunikację między tymi dwoma działami co w konsekwencji najczęściej powoduje z jednej strony reglamentację wiedzy na temat stosowanych rozwiązań a z drugiej strony nadmierny nakład pracy związanej z testami oraz zbyt detaliczne raportowanie defektów.&lt;br /&gt;&lt;br /&gt;Testowanie jako odrębna dziedzina daje duże możliwości wielokierunkowego rozwoju i zdobywania wiedzy weźmy choćby pod uwagę automatyzację testów, projektowanie testów, standaryzację testów, itp.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Czy inni uważają Cię za takiego?&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Nie jestem w stanie odpowiedzieć na to pytanie! Nie znam myśli innych ludzi. Ale mogę odwrócić to pytanie i sformułować je tak "co powoduje, że myślisz o innych jak o profesjonalnych testerach?" Jako profesjonalnego testera określam taką osobę, która potrafi pomóc kierownikowi projektu lub innej osobie odpowiedzialnej za realizację przedsięwzięcia określając, jak i które obszary powinny być testowane w zależności od takich czynników jak czas, historia produktu/projektu oraz historia testów, dostępne zasoby, jakość tych zasobów, itd. Jednym zdaniem, według mnie &lt;span style="font-weight: bold;"&gt;profesjonalny tester to taki, który potrafi trafnie i wiarygodnie odpowiedzieć na pytanie "jak powinien być przetestowany" system, program, moduł czy jednostka&lt;/span&gt;. "Trafnie" oznacza tutaj sposób pozwalający w świadomy sposób wyeliminować ryzyko czyli taki, który umożliwi znalezienie istotnych defektów. Wymaga to z kolei umiejętności klasyfikowania defektów nie tylko z punktu widzenia systemu ale także całego projektu.&lt;br /&gt;&lt;br /&gt;Do znajdowania, opisywania i klasyfikowania defektów, dysponuje jednocześnie całym wachlarzem narzędzi takich jak techniki testowania, znajomość kontekstu biznesowego, historii system oraz samego systemu.&lt;br /&gt;&lt;br /&gt;Nie chcę przez to powiedzieć, że tester jest odpowiedzialny za całość przedsięwzięcia a jedynie chcę podkreślić fakt, iż do obowiązków testera nie należy tylko samo testowanie ale także osadzanie wiedzy o testowanym systemie w jego kontekście w takim zakresie w jakim jest to dla niego osiągalne w zależności od jakości komunikacji w projekcie, zakresu odpowiedzialności (analityk testów, wykonawca testów, lider/manager testów, lider/manager do spraw jakości procesów).&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt; Co pozwala Ci na takie stwierdzenie?&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Przystępując do nowego projektu, jako jeden z moich "prywatnych" celów wyznaczam sobie rolę źródła pomocy kierownikowi projektu w realizacji zadań projektowych. Nie każdy kierownik projektu, jest świadom tego, że "oszczędzając czas i zasoby" na testach tak naprawdę oszczędza na zapobieganiu ryzyka. Dostarczenie oprogramowania z dużym opóźnieniem do testów i następnie wymaganie zrealizowania pierwotnego planu testów, w żaden sposób nie zaowocuje dobrymi rezultatami. W najgorszym wypadku, raport z testów może pokazywać, że wszystkie funkcjonalności zostały przetestowane. Ale żaden raport nie pokaże jakiej jakości były te testy. Nie odpowie na pytanie czy mała liczba defektów jest wynikiem znakomitej pracy programistów, czy testów dokonywanych w pośpiechu i pobieżnie. Dlatego uważam, ze każdy odpowiedzialny kierownik testów dużo uwagi powinien poświęcać monitorowaniu realizacji harmonogramu projektu aby wcześnie reagować na ograniczanie czasu przeznaczonego na testy jak najwcześniej. Jednocześnie powinien być świadom, iż skracanie czasu testów oznacza w swojej istocie zmniejszenie zakresu testów a więc zwiększenie ryzyka związanego z produktem.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt; Czy istnieje podstawowy zbiór umiejętności? Czy są to umiejętności techniczne czy społeczne, a może dwojakie?&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;a href="http://en.wikiquote.org/wiki/Groucho_Marx" target="_blank" title="Wikipedia: Groucho Marx"&gt;Groucho Marx&lt;/a&gt; powiedział kiedyś "Zamierzam żyć wiecznie lub umrzeć próbując". Z całą pewnością istnieje podstawowy zbiór umiejętności wyróżniający testera spośród innych inżynierów. Przede wszystkim - u dojrzałego testera - jest to świadomość "że świat nie jest taki piękny jak się wydaje a nawet jeśli jest to należy to sprawdzić".&lt;br /&gt;&lt;br /&gt;Same umiejętności podzieliłbym na kilka poziomów: warsztatowe, produktowe techniczne, produktowe nietechniczne oraz społeczne.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Umiejętności warsztatowe&lt;/span&gt; to przede wszystkim biegła znajomość technik projektowania przypadków testowych. To jest warunek &lt;span style="font-style: italic;"&gt;sine qua non&lt;/span&gt; bycia testerem. To właśnie od tego zależy to czy wykonujemy testy w sposób kontrolowalny, wiarygodny, weryfikowalny i jednoznaczny. Skonstruowanie i uruchomienie przypadku testowego bez jednej z tych cech często okazuje się pracą bezcelową, nie przynoszącą odpowiedzi na podstawowe pytanie.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Umiejętności produktowe techniczne&lt;/span&gt; to wszystkie te informacje, które są związane ze sposobem w jaki dany produkt powstaje. Mam na myśli tutaj technologię, sposób implementacji danych funkcjonalności, znajomość ograniczeń technicznych systemu, itp.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Umiejętności produktowe nietechniczne&lt;/span&gt; to generalnie znajomość i zrozumienie celu, dla którego powstaje produkt. Innych funkcji oczekujemy przecież od sytemu księgowego a innych od systemu przetwarzania sygnału telewizji cyfrowej, inaczej będzie działał wygaszacz ekranu na komputerze a zupełnie inaczej na dekoderze telewizji cyfrowej. Bez znajomości kontekstu w jakim osadzony jest produkt trudno jest mówić o "dobrym testowaniu".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Umiejętności społeczne&lt;/span&gt; to przede wszystkim umiejętności komunikacji i współpracy. Bardzo istotne jest z punktu widzenia testera zrozumienie chociażby tak prostego faktu, że defekty w oprogramowaniu nie wynikają ze złej woli programisty lub uporu architekta ale z faktu, że każdy z nas jest człowiekiem i popełnia błędy. I oczywiście odwrotnie, ważne jest aby osoba odpowiedzialna za całość przedsięwzięcia była świadoma, że testowanie jest sztuką szacowania opartym na krytycznym podejściu do oprogramowania dostarczonego do testów oraz na sceptycznym podejściu do deklarowanej jakości tego systemu, zakresu zmian, możliwych efektów pobocznych, itp.. (Nad wyraz często spotykam się z sytuacją, w której raporty defektów są po prostu ignorowane lub przetwarzane wsadowo co tak naprawdę przynosi gorszy efekt niż po prostu pozostały by one w statusie początkowym).&lt;br /&gt;&lt;br /&gt;Te cztery warstwy "zanurzone" są w czymś co nazwałbym "intuicją testera". Rodzi się ona i rozwija się z czasem i doświadczeniem (udziałem w różnych projektach, w różnych organizacjach, w różnych kontekstach biznesowych itp.). Pozwala ona testerowi na wydajne czerpanie z wszystkich czterech warstw w zależności od etapu procesu testowego (analizy wymagań, projektowania przypadków testowych, wykonywania testów lub raportowania defektów, oraz od etapu produkcji oprogramowania.&lt;br /&gt;&lt;br /&gt;Jest ona również bardzo istotna w procesie wyjaśniania wszelkich niejasności jakie powstają w trakcie czytania dokumentacji. Warto tutaj dodać, iż w sytuacji kiedy reputacja testerów jest umniejszana jako "tych co nie programują" to wtedy, bardzo skuteczną bronią jest stawianie odpowiednich pytań przez testerów. Jeśli charakter zadawanych pytań będzie zdradzał ignorancję testera lub niezrozumienie działania i celu systemu, negatywna postawa programisty utrwali się. Jeśli natomiast pytania testera przyniosą tę korzyść programiście, że zwrócą mu lub jej uwagę na szczegóły, które są istotne a nie zostały uwzględnione w analizie, bardzo szybko testerzy staną się ośrodkiem wiedzy na temat całościowego działa testowanego systemu. Testerzy - w naturalny niejako sposób - stają się jedynym ośrodkiem w procesie wytwarzania oprogramowania, który posiada w miarę całościową wiedzę na temat rzeczywistego działania produktu. Wynika to właśnie z faktu konieczności zrozumienia zasady działa i celowości całego systemu a nie tylko jej fragmentu. Konieczność ta, z kolei jest warunkiem istotnym do prawidłowego przetestowania systemu.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt; Jaka jest Twoja jedna, najbardziej cenna umiejętność? Czy potrafisz ją objaśnić innym?&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;James Bach w jednej ze swoich &lt;a href="http://video.google.com/videoplay?docid=6852841264192883219" target="blank_" title="Google video: &amp;quot;Becoming a Software Testing Expert&amp;quot;"&gt;prezentacji&lt;/a&gt; zadaje pytanie; "jaka jest Twoja misja?", "Czy potrafisz opisać ją w 5 minut?" Moją misję zdefiniowałbym jako; "&lt;span style="font-style: italic;"&gt;wsparcie kierownictwa projektu w zakresie określania i eliminowania zagrożeń związanych z dostarczeniem wadliwego oprogramowania&lt;/span&gt;". Chodzi o to aby mieć świadomość, że kiedy kierownik projektu przychodzi do nas z pytaniem "&lt;span style="font-style: italic;"&gt;na kiedy mogę mieć to przetestowane&lt;/span&gt;", to tak naprawdę zadaje on pytanie "&lt;span style="font-style: italic;"&gt;w jaki sposób - mając do dyspozycji określony czas i zasoby - mogę się dowiedzieć jak najszybciej jakie ryzyko niesie ze sobą wyprodukowane oprogramowanie&lt;/span&gt;". To tester musi wiedzieć co, jak długo i w jaki sposób przetestować tak samo jak programista musi wiedzieć co, jak  i jak długo będzie programował.&lt;br /&gt;&lt;br /&gt;Na tej podstawie, jako swoją najbardziej cenną umiejętność w tym zawodzie określiłbym otwartość. Otwartość rozumianą jako rozumienie zarówno potrzeb projektu jak i klienta oraz znajdowanie kompromisu pomiędzy tymi dwoma żywiołami.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt; Czy kwalifikacje mogą określać profesjonalnego testera?&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Na tak postawione pytanie nie da się chyba odpowiedzieć... wszystko zależy od ludzi. Posiadanie certyfikatów nie dowodzi niczego choć na pewno jest pomocą w poszukiwaniu pracy oraz w zdobywaniu zawodowej pewności siebie, co także jest istotne. Czy tester z kilkuletnim doświadczeniem powinien robić certyfikat z testowania? Jeśli chce "ulepszyć" swoje CV to na pewno tak, ale jeśli chce się czegoś nauczyć to nie ma to sensu bo dowie się o podstawowym zakresie stosowania technik, które zna biegle (a jeśli ich nie zna to nie wykonywał pracy testera).&lt;br /&gt;&lt;br /&gt;Na pewno doświadczenie jest tym co bardzo pomaga w realizacji zadań testowych. Ale to nie jest, żadna myśl odkrywcza gdyż doświadczenie jest wszędzie przydatne. Jeśli natomiast jest to pytanie o profil wykształcenia oraz wynikającego w konsekwencji doświadczenia zawodowego to nie potrafię na to odpowiedzieć. Spotykałem wielu testerów. Byli wśród nich i absolwenci filozofii jak i absolwenci fizyki czy informatyki. Ale nie umiem powiedzieć czy wykształcenie ma jakikolwiek wpływ na to czy jest się dobrym lub złym testerem. Z całą pewnością znajomość i wiedza z zakresu inżynierii oprogramowania, programowania, czy generalnie informatyki jest czymś niezbędnym. Z moich obserwacji wynika, że testerzy o informatycznym profilu wykształcenia doskonale sobie radzą z problemami czysto technicznymi takimi jak zrozumienie działania skomplikowanej funkcjonalności ale z drugiej strony często spotykałem tutaj tendencje do poprawiania a nie testowania tej funkcjonalności co zżerało czas i zasoby. I nie chodzi mi tutaj o to, że doszukiwali się źródeł problemu ale o to, że często zamiast poświęcać czas na identyfikację defektów poświęcali czasz na poszukiwanie odpowiedzi na pytanie "jak to naprawić" co jest powinnością programisty.&lt;br /&gt;&lt;br /&gt;Ludzie o wykształceniu nie technicznym są znacznie bardziej wyczuleni na defekty. Powoduje to, że czasami przesadzają z oceną wagi defektu oraz zajmują sztywniejsze stanowisko w procesie weryfikacji naprawionych defektów. Często także - powodowani swoją niepewnością wynikającą ze świadomości braku wykształcenia informatycznego - komplikują zagadnienia w fazie analizy co utrudnia im znacznie zrozumienie podstawowych kwestii.&lt;br /&gt;&lt;br /&gt;Nie wiem, która opcja jest lepsza... Ale wiem, że za każdym razem kiedy pracowałem w zespole testerów, to tworzył się inny niż u programistów świat... świat, w którym ludzie otwarci są na wiedzę i dzielenie się nią, w którym czują się spojeni misją, którą mam nadzieję każdy z nich potrafi sobie zdefiniować. Świat który jest jednak mocno sceptyczny. Z drugiej jednak strony powstaje wiele patologii takich jak tworzenie "mitycznej jakości" lub zbyt szczegółowe podejście do zagadnień testowych co powoduje niepotrzebne wydłużenie cyklu testowego.&lt;br /&gt;&lt;br /&gt;Reasumując, definiowanie profesji testera z całą pewności jest pożądane. Dobrze, że powstają firmy certyfikujące i standaryzujące. Dobrze, że jest mnóstwo wolnych strzelców i ludzi pracujących na własnymi metodykami. Taka dychotomia jest symptomem tego, że jest to jeszcze bardzo młoda dziedzina. Ale bez względu na to czy pracujemy w środowisku extreme, agaile, V, W, iteracyjnym czy w modelu kaskadowym, z całą pewnością powinniśmy w naszych codziennych obowiązkach testera zapewniać spełnienie podstawowych warunków takich jak kontrolowalność, wiarygodność, weryfikowalność i jednoznaczność przy optymalnym stosowaniu technik testowych.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-3538878100590722883?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/3538878100590722883/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=3538878100590722883&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3538878100590722883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3538878100590722883'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/05/oprcz-amerykaskich-konferencji.html' title='Prywatne EuroSTAR :-)'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-1948917462259753112</id><published>2007-04-23T22:00:00.000+02:00</published><updated>2007-04-23T17:00:46.442+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Defekty'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><title type='text'>Czarne scenariusze</title><content type='html'>Pamiętam kiedy w Polsce telefonia komórkowa dopiero kiełkowała i powstawały pierwsze maszty, a ja byłem na studiach. Rozmawiałem wtedy z  jednym z moich znajomych na temat przypuszczalnej szkodliwości spowodowanej emisją fal z aparatu telefonicznego (były to czasy, kiedy dość dobrze szła sprzedaż nalepek ochronnych przed promieniowaniem emitowanym przez telefony komórkowe :-) ). Ponieważ znajomy zajmował się profesjonalnym montażem stacji "trafo" wytłumaczył mi to bardzo ładnie, że fale są o niskiej częstotliwości, i że nie groźne dla ludzi itd, itp.&lt;br /&gt;&lt;br /&gt;Podszedłem do tego sceptycznie. Jednak sceptycyzm mój został zweryfikowany przez postęp technologii. Dzisiaj jestem zwykłym użytkownikiem telefonii komórkowej i nawet nie rozważam jej w kategoriach "zwolennik - przeciwnik".&lt;br /&gt;&lt;br /&gt;Zdziwiłem się, kiedy kilka dni temu przeczytałem &lt;a href="http://di.com.pl/news/16308,1.html"&gt;informację&lt;/a&gt; na temat &lt;a href="http://news.independent.co.uk/environment/wildlife/article2449968.ece"&gt;teorii&lt;/a&gt; mówiącej o szkodliwym wpływie telefonii komórkowej na człowieka.&lt;br /&gt;&lt;br /&gt;Rozmawiając z moim znajomym na temat szkodliwości telefonu komórkowego popełniłem klasyczny błąd skupiając się jedynie na relacji telefon-człowiek a nie na relacji "system telefonii komórkowej" - "ekosystem człowieka"... czyli spłaszczyłem zagadnienie do jednego przypadku a nie uwzględniałem całej klasy. Defekt, który w tamtym czasie był do przewidzenia, wydawał się prawdopodobnie mało istotny, że nikt nim się nie przejmował (mi i mojemu rozmówcy nawet nie przemknęło to przez myśl). Korzyści płynące z nowej technologii wydawały się tak ogromne, że - jak przypuszczam - nikt tak naprawdę nawet nie chciał się zajmować sceptycznym ujęciem problemu.&lt;br /&gt;&lt;br /&gt;Telefony komórkowe i inne elektroniczne zabawki mogą stać się przyczyną wielkiego głodu na świecie. A w tym wszystkich - jak donoszą naukowcy - chodzi o pszczoły, które nie potrafią znaleźć powrotnej drogi do domu gdyż fale emitowane przez telefony komórkowe zaburzają system nawigacyjny pszczół. Nie potrafiąc znaleźć drogi powrotnej do ula, daleko od swoich rojów pojedyncze pszczoły giną. A jeśli nie ma pszczół to nie ma zapylania i klęska głodu gotowa... Zjawisko nazywa się &lt;a href="http://pl.wikipedia.org/wiki/Colony_Collapse_Disorder"&gt;Colony Collapse Disorder&lt;/a&gt; (CCD)&lt;br /&gt;&lt;br /&gt;Powyższa teoria jest jedną z wielu, próbujących wyjaśnić zjawisko CCD. Mnie jednak zastanawia,  jakie szanse mieli ludzie testujący system telefonii komórkowej zbudować podobny scenariusz testowy... wydaje mi się, że nie wielkie, jeśli nie postał specjalny zbiór przypadków testowych mający testować potencjalne "czarne scenariusze". I przyszło mi do głowy, że przynajmniej utrzymywanie listy potencjalnie "czarnych scenariuszy" i korygowanie jej wraz z rozwojem produktu może niespodziewanie przynieść bardzo dobre rezultaty odnośnie generalnie rozumianej jakości poprzez umożliwienie szybkiej reakcji na negatywne efekty niezaprojektowane przez architektów, których w innych okolicznościach nie da się wykluczyć.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-1948917462259753112?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/1948917462259753112/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=1948917462259753112&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/1948917462259753112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/1948917462259753112'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/04/czarne-scenariusze.html' title='Czarne scenariusze'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-593779586735020967</id><published>2007-04-11T20:31:00.000+02:00</published><updated>2007-04-11T20:42:22.957+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Nieznane niewiadome</title><content type='html'>Zostałem kiedyś poproszony przez moją firmę o zrobienie prezentacji dla wszystkich pracowników na temat jakości. Generalnie.., w jaki sposób widziałbym podejście do planowania projektów względem testów i co tak naprawdę oznacza "jakość" dla naszej organizacji.&lt;br /&gt;&lt;br /&gt;Ponieważ zawsze uważałem, że obopólne porozumienie na linii programiści - testerzy jest kluczem do sukcesu, zacząłem zastanawiać się jak wyjaśnić programistom co to jest "czarna skrzynka" i jak myśli o niej i w niej tester.&lt;br /&gt;&lt;br /&gt;Najfajniej byłoby - pomyślałem sobie - znaleźć jakiś błyskotliwy cytat opisujący czarną skrzynkę. Zacząłem grzebać po Internecie poszukując czegoś ciekawego. Odwiedziłem "&lt;a title="Wikicytaty" target="blank_" href="http://docs.google.com/?action=newdoc&amp;title="&gt;Wikicytaty&lt;/a&gt;" i rozpocząłem poszukiwania od haseł typu "&lt;a title="Wyniki wyszukiwania wikicytatów pod hasłem &amp;quot;czarna skrzynka&amp;quot;" target="blank_" href="http://pl.wikiquote.org/w/index.php?title=Special%3ASearch&amp;search=czarma+skrzynka&amp;amp;fulltext=Szukaj"&gt;czarna skrzynka&lt;/a&gt;" lub "&lt;a title="Wyniki wyszukiwania wikicytatów pod hasłem &amp;quot;skrzynka&amp;quot;" target="blank_" href="http://pl.wikiquote.org/wiki/Specjalna:Szukaj?search=skrzynka&amp;go=Przejd%C5%BA"&gt;skrzynka&lt;/a&gt;". Jednak nie mogłem trafić na nic naprawdę mocnego.&lt;br /&gt;&lt;br /&gt;"To musi być coś" - powtarzałem sobie - " co pobudzi ich wyobraźnie a jednocześnie da im do myślenia". I wtedy przypomniałem sobie dyskusję jaką przeprowadziłem pracując w zupełnie innym miejscu z jednym z testerów. Cytat pochodził od Donalda Rumsfelda i brzmiał:&lt;br /&gt;&lt;blockquote&gt;"[…] wiemy, że - jak wiadomo - są rzeczy, o których wiemy, że o nich wiemy. Wiemy też, że są znane niewiadome, to znaczy, że są rzeczy, o których wiemy, że nic o nich nie wiemy. Ale są również nieznane niewiadome - takie, o których nie wiemy, że o nich nie wiemy […]"(1)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;"Skoro ja to zapamiętałem to i oni przyswoją to na jakiś czas" pomyślałem sobie. Tak przy okazji to uważam te słowa za w dużej mierze oddające świat, horyzont wiedzy oraz oczekiwania i przeczucia testera testującego czarną skrzynką.&lt;br /&gt;&lt;br /&gt;Rzeczy "o których wiemy, że o nich wiemy" to wymagania, specyfikacja i historia systemu oraz wszelkie inne informacje bardziej lub mniej oficjalne.&lt;br /&gt;&lt;br /&gt;Rzeczy niewiadome to chociażby defekty, zmiany do wymagań lub specyfikacji i te wszystkie informacje, które do nas nie dotarły. Każdy tester jest świadom, że jego zasób wiedzy na temat testowanego systemu jest ograniczony.&lt;br /&gt;&lt;br /&gt;Na przykład we wczesnych fazach projektu bardzo często pojawiają się rzeczy, które w żaden sposób nie są zdefiniowane przez architekta lub programistę. Dowiadujemy się o ich istnieniu przy projektowaniu testów, kiedy schodzimy na bardzo niski poziom. Fazą, która wprost obfituje w odkrywanie rzeczy, o których wiemy, że nic o nich nie wiemy jest testowanie dokumentacji. Nie wiemy także jakie defekty spotkamy po drodze ale wiemy, że one są.&lt;br /&gt;&lt;br /&gt;Ten punkt jest także bardzo dobry do rozpoczęcia testów eksploracyjnych. Jeśli jesteśmy w stanie zdefiniować obszary, o których wiem, że nic nie wiemy i rozpoczniemy ich eksplorację testową to otrzymamy w większości przypadków bardzo ciekawe wyniki.&lt;br /&gt;&lt;br /&gt;"Nieznane niewiadome" to wszystkie te rzeczy, za które tester się wstydzi (głównie "oczywiste" defekty wychodzące w testach polowych lub akceptacyjnych). To także te wszystkie zmiany w projekcie (bardzo często spontaniczne i nie do końca przemyślane), które powodują zmianę architektury co tak naprawdę powinno oznaczać rozpoczęcie testów od samego początku. Świadomość że nie wiemy o tym o czym nie wiemy bywa czasami przyczyną powtarzania testów.&lt;br /&gt;&lt;br /&gt;(1)&lt;span style="font-size:78%;"&gt;D. Rumsfeld, Departament Obrony USA, 12 lutego 2002 roku, "&lt;span style="font-style: italic;"&gt;[...]as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns - the ones we don't know we don't know[...]&lt;/span&gt;"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-593779586735020967?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/593779586735020967/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=593779586735020967&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/593779586735020967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/593779586735020967'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/04/nieznane-niewiadome.html' title='Nieznane niewiadome'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-6081607026998644365</id><published>2007-04-06T20:49:00.000+02:00</published><updated>2007-04-06T16:56:32.566+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Testowanie rzeczywistości</title><content type='html'>Dzisiaj przekonałem się na własnej skórze, że (czasami) warto jest testować rzeczywistość. Przez wiele lat chodziłem do jednego i tego samego dentysty. Fachowiec powtarzał, że "&lt;span style="font-style: italic;"&gt;aby wyleczyć to musi boleć&lt;/span&gt;". Więc bolało jak cholera! Do tego stopnia, że zacząłem unikać dentysty jak tylko mogłem. Ergo, nastąpił paraliż projektu, bo chodziłem tylko wtedy, kiedy rzeczywiście ząb bolał na maksa a to generalnie oznaczało leczonko kanałowe. A to z kolei jeszcze bardziej zwiększało moją niechęć i obawy.&lt;br /&gt;&lt;br /&gt;I tak przez lata, wmawiając sobie, że ten dentysta mnie zna, robi co może aby jak najmniej bolało chodziłem do niego. Jednak ostatnio - całkiem przypadkowo - w nagłej potrzebie zmieniłem lekarza. I oczywiście świat się zmienił. Borowanie nie boli, stres jest mniejszy, generalnie jest luks malina.&lt;br /&gt;&lt;br /&gt;Tylko ja trochę żałuję, że wcześniej nie rozpocząłem testów lekarzy dentystów. Ale z drugiej strony - jeśli leczenie zębów i obawę przed bólem uznać za system krytyczny - to była to decyzja o podstawach jak najbardziej racjonalnych...&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-6081607026998644365?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/6081607026998644365/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=6081607026998644365&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6081607026998644365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6081607026998644365'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/04/testowanie-rzeczywistoci.html' title='Testowanie rzeczywistości'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-9004427199547654580</id><published>2007-04-03T21:30:00.000+02:00</published><updated>2007-05-24T11:45:59.761+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Websajty'/><title type='text'>The Braidy Tester : Did I Remember To</title><content type='html'>&lt;a href="http://blogs.msdn.com/micahel/articles/175571.aspx"&gt;The Braidy Tester : Did I Remember To&lt;/a&gt; - lista heurystyk do wykorzystania w trakcie testowania eksploracyjnego&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-9004427199547654580?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/micahel/articles/175571.aspx' title='The Braidy Tester : Did I Remember To'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/9004427199547654580/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=9004427199547654580&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/9004427199547654580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/9004427199547654580'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/04/braidy-tester-did-i-remember-to.html' title='The Braidy Tester : Did I Remember To'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-3766293713927090627</id><published>2007-04-03T21:00:00.000+02:00</published><updated>2007-05-24T11:46:18.581+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eksploracja'/><category scheme='http://www.blogger.com/atom/ns#' term='Recenzja'/><category scheme='http://www.blogger.com/atom/ns#' term='Websajty'/><category scheme='http://www.blogger.com/atom/ns#' term='Czytanki'/><title type='text'>Testy eksploracyjne - czytanka</title><content type='html'>Polecam bardzo artykuł (lub rozdział książki) Jamesa Shorea "&lt;a href="http://jamesshore.com/Agile-Book/exploratory_testing.html"&gt;Exploratory testing&lt;/a&gt;". Bardzo mi się spodobał sposób w jaki wyjaśnił zastosowanie heurystyk w testach eksploracyjnych.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-3766293713927090627?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://jamesshore.com/Agile-Book/exploratory_testing.html' title='Testy eksploracyjne - czytanka'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/3766293713927090627/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=3766293713927090627&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3766293713927090627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3766293713927090627'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/04/testy-eksploracyjne-czytanka.html' title='Testy eksploracyjne - czytanka'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-8224681814396668552</id><published>2007-04-03T20:53:00.000+02:00</published><updated>2007-04-03T20:59:45.650+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><category scheme='http://www.blogger.com/atom/ns#' term='Środowisko'/><title type='text'>Moda na jakość</title><content type='html'>Mam wrażenie,  że na rynku pojawia się mocno niezdrowy trend w kontekście jakości oprogramowania. Firmy zmuszone zajmować jak najwcześniej dany sektor rynku, decydują się na wypuszczanie oprogramowanie o znacznie zaniżonej jakości.&lt;br /&gt;&lt;br /&gt;Z jednej strony jest to pokierowane rozsądną przesłanką, że wczesne zajęcie rynku pozwoli na opanowanie go w dużej ilości a ewentualne defekty można bardzo szybko naprawić aktualizacją. Z drugiej jednak strony powstaje problem, który nazwałbym "mitem wczesnego zajęcia rynku".&lt;br /&gt;&lt;br /&gt;Nie jestem specjalistą od marketingu ale zastanawiam się na ile słaba jakość tych produktów ogranicza rynek...? Zastanawiam się czy klient - słysząc od znajomych lub czytając w Internecie o słabej jakości danego produktu - zrezygnuje z nowoczesnej technologii i postanawia przeczekać aż nowinka "dojrzeje"?&lt;br /&gt;&lt;br /&gt;Najgorszy scenariusz to taki, że klient zapamięta nazwę firmy i po pewnym czasie zakupi implementację u innego dostawcy, "tak na wszelki wypadek". W najlepszym wypadku - po prostu wstrzyma się o zakupu bo uzna to za naciąganie. Taki paradoks musi w efekcie przynieść ogromną presję na działy testów. Firmy chcąc zajmować rynki bardzo wcześnie będą wymuszały skracanie harmonogramów testów.&lt;br /&gt;&lt;br /&gt;Ekstremalnie krótki czas dostarczenia systemu na rynek musi - domyślam się - obarczać ogromnym obciążeniem zespoły jakości mające szansę na sprawdzenie jedynie podstawowych funkcjonalności (pomijam przypadki kiedy testowanie jest zupełnie eliminowane z harmonogramów). Rodzi to poważne konsekwencje... np. skupienie się tylko na funkcjach technicznych (np. odpowiedzialnych za możliwość przeprowadzenia przyszłej aktualizacji), pozostawia pod znakiem zapytania sensowność produkowania czegoś co nawet w minimalnej nawet mierze po prostu nie działa.&lt;br /&gt;&lt;br /&gt;Znowu prowadzi mnie to do paradoksu opisanego powyżej. Klient jest wściekły bo nie działa zasadnicza funkcja lub działa bardzo niepoprawnie a z drugiej strony ma zupełnie w nosie to że mechanizm zapewniający mu możliwość aktualizacji jest w pełni bezpieczny i niezawodny.&lt;br /&gt;&lt;br /&gt;Częściowo problem czasu poświęcanego na "bezproduktywne" testy (rozumiane także jako proces utylizowania produktów testów a więc implementowanie poprawek w oprogramowaniu) można rozwiązać poprzez XT. Ale choć nie wiem jak lekkich metodyk użyjemy i tak potrzebny jest okres czasu po zakończeniu produkcji oprogramowania, który sprawdzi czy dostarczony efekt jest zgodny z oczekiwanym.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-8224681814396668552?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/8224681814396668552/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=8224681814396668552&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8224681814396668552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8224681814396668552'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/04/moda-na-jako.html' title='Moda na jakość'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-8783934620804454372</id><published>2007-03-30T07:00:00.000+02:00</published><updated>2007-03-30T13:20:17.507+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Recenzja na SJSI</title><content type='html'>Na stronach &lt;a href="http://www.sjsi.org/?m=14"&gt;SJSI&lt;/a&gt; pojawiła się moja recenzja książki "Teoria i praktyka testowania programów". Jest to dokładanie ta sama recenzja, którą można przeczytać na tym blogu (&lt;a href="http://termometr.blogspot.com/2007/03/lektura-obowzkowa-czyli-o-praktykach.html"&gt;tutaj&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-8783934620804454372?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.sjsi.org/?m=14' title='Recenzja na SJSI'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/8783934620804454372/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=8783934620804454372&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8783934620804454372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8783934620804454372'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/03/recenzja-na-sjsi.html' title='Recenzja na SJSI'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-2960222239317814838</id><published>2007-03-29T22:00:00.000+02:00</published><updated>2007-12-10T12:15:15.047+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Defekty'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Ranking defektów</title><content type='html'>Postanowiłem dzisiaj sprawdzić czy da się znaleźć w Internecie listę lub ranking najbardziej ciekawych defektów. Niestety nic takiego nie znalazłem, ale przyszło mi do głowy, że można by taką listę dzielić na kilka kategorii. Oto te które przyszły mi do głowy (oczywiście chodzi o defekty zaraportowane):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;nieistniejący defekt&lt;/li&gt;&lt;li&gt;defekt związany z czasem&lt;/li&gt;&lt;li&gt;UI defekt&lt;/li&gt;&lt;li&gt;najgroźniejszy defekt (showstoppers)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;nic nie znaczący defekt&lt;/li&gt;&lt;li&gt;defekt bezpieczeństwa&lt;/li&gt;&lt;li&gt;najgłupszy defekt&lt;/li&gt;&lt;li&gt;najtrudniejszy defekt do znalezienia&lt;/li&gt;&lt;li&gt;znaleziony, nienaprawiony defekt&lt;/li&gt;&lt;/ul&gt;Może ktoś ma więcej pomysłów...&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-2960222239317814838?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/2960222239317814838/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=2960222239317814838&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2960222239317814838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2960222239317814838'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/03/ranking-defektw.html' title='Ranking defektów'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-3956302675114955256</id><published>2007-03-20T20:58:00.000+01:00</published><updated>2007-03-20T21:00:05.210+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Techniki testowania'/><title type='text'>Szara skrzynka pełna plusów i minusów</title><content type='html'>Termin "szara skrzynka" pojawia się mniej lub bardziej formalnie na stronach książek, w internecie lub pismach branżowych. Z moich obserwacji nie istnieje żadna zestandaryzowana definicja tej techniki. To bardzo dobrze! Dla mnie oznacza to mniej więcej następujący proces: &lt;ol&gt;&lt;li&gt;Analiza dostępnej dokumentacji i danych historycznych (jeśli istnieją)&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Wszelka dokumentacja zaczynając od wymagań, poprzez dokumenty techniczne a na rozmowach z architektami kończąc&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Jeśli jest to kolejna wersja systemu lub projekt integracyjny to nie powinno być problemów z uzyskaniem takich danych. W przypadku nowego projektu, warto jest poczytać o podobnych rozwiązaniach.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Weryfikacja statusu implementacji rozwiązania&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Jeśli faza kodowania jest bardzo wczesna to nie ma nawet sensu zaglądać do kodu bo zmieni się on jeszcze wiele razy. Warto natomiast obserwować rewizje komitowane do systemu kontroli wersji... mówi to bardzo dużo o łatwych i trudnych implementacyjnie obszarach&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;"Przejście" po kodzie i zidentyfikowanie fragmentów ryzykownych&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Na tym etapie - jeśli oczywiście kod jest wystarczająco "dojrzały" - wystarczy po prostu przeglądać go i identyfikować takie elementy jak: "duże" w sensie linii kodu funkcje, nieuporządkowane fragmenty (gdzie stosuje się np. różne konwencje standardu kodowania), "dużo" wykomentowanego kodu, "dziwne" nazwy zmiennych, wartości wpisywane na stałe (tzw. hardkodowanie), itp. (Warto jest utrzymywać plik z listą kontrolną takich "gadżetów").&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Porównanie znalezisk z wymaganiami&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Należy dokładnie wiedzieć, jakich funkcjonalności dotyczą potencjalnie niebezpieczne obszary i w jaki sposób widoczne są w "runtime".&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span style="font-style: italic;"&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Pierwsze podejście do testów - plan ogólny&lt;br /&gt;&lt;span&gt;&lt;span style="font-style: italic;"&gt;Spisanie sobie ogólnego planu zawierającego także wstępną listę przypadków testowych&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Analiza dokumentów z procesu produkcji oprogramowania&lt;span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Chodzi tutaj generalnie o analizę raportów z testów jednostkowych, inspekcji kodu, jak również obserwację częstotliwości komitów do repozytorium.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Uszczegółowienie planu testów&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Dopisanie brakujących przypadków testowych.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Dokładna analiza "trudnych" fragmentów&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Ten etap znajduje zastosowanie przeważnie w kolejnych cyklach testowania, kiedy okazuje się, że klasyczne podejście do testów jest niewystarczające. Chodzi o zidentyfikowanie - na podstawie defektów - obszarów najbardziej "zarobaczonych" i przyjrzenie się sposobowi w jaki jest on zaimplementowany w kodzie. Następnie należy zaprojektować przypadki testowe odpowiadającemu zastanemu stanowi. Najczęściej oznacza to duże obłożenie warunków brzegowych oraz zagęszczanie klas równoważności.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;Ponowne uszczegółowienie planu testów&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Tak naprawdę to dotarcie do punktu nr. 5 daje bardzo duże efekty. Ale np. korzystanie z takiej dokumentacji jak raporty z testów jednostkowych lub protokoły z inspekcji kodu nadwyraz wydajnie pozwalają sprytnemu testerowi identyfikować groźne obszary (ale to temat na całą książkę) i wcale nie muszą być wykorzystywane w sekwencji przedstawionej powyżej.&lt;br /&gt;&lt;br /&gt;Zastanawiając się na wadami i zaletami takiego podejścia, następujące punkty przyszły mi do głowy:&lt;br /&gt;&lt;h2&gt;Plusy&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;T&lt;/span&gt;estowanie czarną skrzynką opiera się na domniemaniu, że kod napisany jest zgodnie z zasadami inżynierii oprogramowania a praktyka pokazuje, że tak jest często ale nie zawsze i nie w pełnym zakresie.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Termin "inżynieria oprogramowania" nie oznacza z punktu widzenia testów absolutnie nic. Przysłowiowe "Hello world" może być zakodowane w jednym języku na milion sposobów i każdy z nich będzie spełniał różne wymagania co pociąga za sobą różne podejścia przy projektowaniu testów.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Analiza kodu pozwala na identyfikację potencjalnie ryzykownych miejsc. Oczywiście ma to swoje ograniczenia. W przypadku systemów czasu rzeczywistego nie zidentyfikuje się w ten sposób defektów związanych z zależnościami czasowymi ale na pewno pozwoli zaoszczędzić czas na "walcowaniu" całości poprzez większy nacisk na miejsca ryzykowne.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Pozwoli inżynierowi do spraw testów zrozumieć architekturę samego rozwiązania (z mojego doświadczenia wynika, iż wewnętrzne szkolenia poświęcone implementowanej architekturze są naprawdę rzadkością!?) co w sposób znakomity usprawnia proces projektowania testów poprzez uprzednie dostarczenie wiedzy na temat wysokopoziomowej struktury testowanego rozwiązania.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Nie ma konieczności czytania całego kodu. Ponieważ nie sprawdzamy poprawności działania każdej struktury/obiektu/klasy czy usługi. Na potrzeby testów behawioralnych potrzebne są nam fragmenty przetwarzające logikę biznesową.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;W sytuacji gdy zmuszeni jesteśmy zatrudniać ludzi, którzy testowanie widzą jedynie jako etap pozwalający przejść do programowania, może być to doskonałe narzędzie do wykorzystania ich potencjału jak również motywowania.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Eliminuje ryzyko testowania rozwiązania wbrew jego logice. To znaczy gdy nasze przypuszczenia co do implementacji są drastyczne różne od założeń implementatora. To ryzyko może być groźne w sytuacji kiedy mamy czas tylko na pobieżne testy w celu określenia jak bardzo jest dany obszar niebezpieczny. Po testach dymnych może wyglądać, że rozwiązanie działa dobrze a w środowisku rzeczywistym pojawi się katastrofa.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;Minusy&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Praca nad kodem może łatwo przerodzić się w zabawę z kodem trwającą bez końca. Może to prowadzić do kompletnej indolencji testowej przy jednoczesnym ogromnym obłożeniu zespołu pracą&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Kod bardzo często jest w postaci &lt;span style="font-style: italic;"&gt;sote &lt;/span&gt;a wiec bez komentarzy. Dodatkowo, jeśli w danym środowisku wykorzystuje się komponenty dostawców zewnętrznych, komponenty generyczne lub inne kompleksy integrowane, których implementacja poprzez interfejs jest skomplikowana to czytanie takiego kodu staje się niemożliwe bez głębszej wiedzy.&lt;br /&gt;Ten problem jest częściowo niwelowany przez "Plus" nr. 5&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Osoby zatrudniane na stanowisko testera często nie posiadają kompetencji rozumienia kodu - "bo przecież nie potrzeba". Ale zawsze w zespole testowym znajdzie się osoba, która trochę programowała lub ma zacięcie w tym kierunku. Należy to wykorzystać, zlecając jej analizę kodu pod względem identyfikacji potencjalnych ryzyk. Czasami wystarczą pobieżne oględziny i odrazu widać miejsca, z którymi programista strasznie ciężko walczył. Pomocą tutaj mogą być raporty z przeglądu kodu - jeśli takie praktyki są prowadzone.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Rozpoczęcie projektowania testów jest możliwe tylko gdy faza kodowania jest mocno rozwinięta i można korzystać zarówno z kodu jak i z raportu o zmianach wersji (co często bywa pomocne przy identyfikowaniu "kłopotliwych" obszarów).&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Istotnym ograniczenie jest znajomość języków. Jeśli trafimy na projekt napisany w zupełnie obcej nam technologii to nie jesteśmy w stanie efektywnie korzystać z tej techniki.&lt;/li&gt;&lt;/ol&gt;Powyższy opis procesu nie stanowi całości ale to chyba punkty, które mnie najbardziej interesują i których usystematyzowania odczuwałem potrzebę.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-3956302675114955256?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/3956302675114955256/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=3956302675114955256&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3956302675114955256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3956302675114955256'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/03/szara-skrzynka-pena-plusw-i-minusw.html' title='Szara skrzynka pełna plusów i minusów'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-1401751707643605162</id><published>2007-03-14T21:19:00.000+01:00</published><updated>2007-03-14T21:23:16.243+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Słownik testowy</title><content type='html'>Kiedyś na starych stronach &lt;a href="http://www.sjsi.org/"&gt;SJSI&lt;/a&gt; dostępny był słownik testowy. Wersja, do której się odnoszę nosiła numer 1.0. Zaskoczyło mnie w niej, że brakuje polskiego tłumaczenia definicji takich angielskich terminów jak "pass/fail", "evaluate", "valid/invalid", "input", "release notes" czy "severity". A przecież są to zupełnie podstawowe terminy z dziedziny testowania. Ale nawet przy tych brakach było on bardzo pomocny! Ciekawe dlaczego został zdjęty?&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-1401751707643605162?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/1401751707643605162/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=1401751707643605162&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/1401751707643605162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/1401751707643605162'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/sownik-testowy.html' title='Słownik testowy'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-2487064395218363914</id><published>2007-03-11T21:22:00.000+01:00</published><updated>2007-03-12T19:59:01.612+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Recenzja'/><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><title type='text'>Lektura obowązkowa czyli o praktykach teoretycznych</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;a href="http://www.pwn.pl/"&gt;Państwowe Wydawnictwo Naukowe&lt;/a&gt; wespół z wydawnictwem &lt;a href="http://mikom.pwn.pl/"&gt;MIKOM&lt;/a&gt; wydało w 2006 książkę "&lt;i&gt;Teoria i praktyka testowania programów&lt;/i&gt;" autorstwa Bogdana Wiszniewskiego i Bogdana Berezy-Jarocińskiego. Pozycja wyszła w serii "Biblioteka Programisty".&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;h4&gt;Wydanie&lt;o:p&gt;&lt;/o:p&gt;&lt;/h4&gt;  &lt;p class="MsoNormal"&gt;Wydanie nie zaskakuje niczym szczególnym. Biały papier, naćkany drobną czarną czcionką z wąziutkimi marginesami. Gęsto poszatkowane rozdziały. Na 460 stronach zamieszczono &lt;st1:metricconverter productid="10 a" st="on"&gt;10 a&lt;/st1:metricconverter&gt; właściwie 12 rozdziałów plus bibliografia i skorowidz. Całość zamknięta tekturowymi, polakierowanymi okładkami i sklejona jedynie klejem. Standard estetyki poligraficznej na polskim rynku wydawniczym.&lt;br /&gt;&lt;br /&gt;Zaskoczyło mnie - chyba nie mile - to, że prace pani Anny Bobkowskiej, pana Łukasza Garsteckiego i pani Magdaleny Sławińskiej zostały niejawnie wplecione do książki. Ale cóż, skoro zgodzili się sami twórcy to rozumiem, że autorzy wymieni pod tytułem książki mieli w tym jakiś cel, który niestety dla mnie pozostanie nieodgadniony.&lt;br /&gt;&lt;br /&gt;Co od ilustracji to jakość nie jest porażająca ale nie odbiega od standardu wydania. I chyba dobrze bo jak mniemam oszczędności na jakości pozwoliły - w opinii zarządu wydawnictwa - wydać książkę w przystępnej cenie.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;h4&gt;Treść&lt;o:p&gt;&lt;/o:p&gt;&lt;/h4&gt;          &lt;p class="MsoNormal"&gt;Właściwie są to dwie książki, których rozdziały zostały poprzekładane! Jedna napisana przez postać znaną mi jako weteran szkoleń o tematyce związanej z inżynierią oprogramowania oraz tłumacz książki Rona Pattona "&lt;span style="font-style: italic;"&gt;Testowanie oprogramowania&lt;/span&gt;". Druga to napisana bez polotu, przeładowana akademickim żargonem opowieść o tym na ile sposobów można zastosować narzędzie &lt;i&gt;gdb&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Sami autorzy stwierdzają, że książka jest pisana z myślą o "[...] &lt;i&gt;studentach informatyki, którzy zgłębiają zagadnienia jakości &lt;/i&gt;[...] &lt;i&gt;zawodowych informatykach &lt;/i&gt;[...], &lt;i&gt;planistach przedsięwzięć informatycznych &lt;/i&gt;[...], &lt;i&gt;kierownikach projektów&lt;/i&gt;". Niestety szkoda, że adresatem nie są ludzie profesjonalnie zajmujący się kontrolą jakości oprogramowania. Nie jestem również przekonany czy znani mi kierownicy projektów mieliby cierpliwość przeczytać ten miks. A ponieważ książka jest skierowana do tak szerokiego grona, efektem ubocznym jest np. autorytatywnie brzmiące zdanie:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;"Praktycznie wytworzenie jakiegokolwiek programu bez testowania jest działaniem jałowym, ćwiczeniem wykonywanym na papierze (strona19)."&lt;/blockquote&gt;Z punktu widzenia teorii można się z tym zgodzić. Jednak z punktu widzenia rzeczywistego przedsiębiorstwa testowanie jest taką samą aktywnością jak każda inna i podlega takim samym procesom i prawidłom (przede wszystkim zasadność, celowość i ekonomiczności). Zdanie to zdziwiło mnie w świetle wcześniej przeczytanej definicji głównej przyczyny macoszego traktowania jakości:&lt;br /&gt;&lt;blockquote&gt;"Kontrola jakości - w tym także test - również sporo kosztuje, jednak sama z siebie nie tworzy produktów, za które ktokolwiek jest gotów zapłacić. Właśnie z tego powodu pokusa oszczędzania na testowaniu jest tak silna i tak rozpowszechniona (strona 14)."&lt;/blockquote&gt;... zastrzegając, że w mojej opinii jakość jest tym produktem. To że firmy mają problem z jej mierzeniem (postrzeganiem) to już zupełnie inne zagadnienie. Które zręczni kierownicy testów mogą wykorzystać uwzględniając zasadę, że zmierzone jest to co się mierzy.&lt;br /&gt;&lt;br /&gt;Nie zgadzam się także z autorami w kwestii definicji celu testowania. Takich definicji może być wiele natomiast autorzy książki informują tylko o jednym i to w sposób jakby to był cel jedyny.&lt;o:p&gt;&lt;/o:p&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;blockquote&gt;"Testując, usiłujemy wywołać awarie systemu, aby umożliwić znalezienie i usunięcie powodujących je błędów[...] (strona 14)."&lt;/blockquote&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Traktowanie błędu jako wskaźnika jakości nie jest dobrą miarą, kiedy staje się jedyną. Raport z defektu to tylko jeden z produktów testowania.&lt;br /&gt;&lt;br /&gt;Rozdział pierwszy książki autorstwa obydwu panów traktuje przekrojowo problematykę procesów i systematyki testów. Na początku następuje ogólnikowy w zamierzeniu opis czynności rozciągający się od konfiguracji środowiska po opis weryfikacji wyników wykonanych testów. Następnie autorzy przechodzą do zgrabnego opisu zasadności i natury procesu w cyklu wytwarzania oprogramowania.&lt;br /&gt;&lt;br /&gt;Po opisie modeli kaskadowego, V, W, ewolucyjnego i przyrostowego autorzy przechodzą do budowania świata idealnego, w którym następuje weryfikacja wymagań, projektu i ocena kodu. Następnie wspominają dokładniej o systematykach testów od jednostkowych do akceptacyjnych i od obciążeniowych do funkcjonalnych.&lt;br /&gt;&lt;br /&gt;Wszystko to kończą próbą zdefiniowania co to jest defekt oraz opisem modelu testowania, moim zdaniem nie wnoszącego kompletnie nic nowego do prezentowanej treści.&lt;br /&gt;&lt;br /&gt;To, czego mi zabrakło to zaprezentowanie kilku wybranych podejść do jakości z omówieniem różnic. Autorzy mogli np. wykorzystać poziomy świadomości organizacyjnej zdefiniowane przez Beizera (którego wymieniają w bibliografii) lub wykazać te różnice opisując różne konteksty testowania (outsourcing, oddzielne zespoły, kontrola i zapewnianie jakości, itd).&lt;br /&gt;&lt;br /&gt;Skoro książka jest zaadresowana do studentów, zabrakło mi tutaj informacji o celach i zasadach klasyfikacji defektów czyli tak zwanych taksonomiach.&lt;br /&gt;&lt;br /&gt;Nie należy zapominać w tym miejscu o rozdziale "Literatura", który jest bardzo ciekawy i pouczający.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;h5&gt;Książka naukowca&lt;o:p&gt;&lt;/o:p&gt;&lt;/h5&gt;  &lt;p class="MsoNormal"&gt;Zacznijmy od części trudniejszej autorstwa pana Wiszniewskiego. Szczerze mówiąc dużo nerwów i cierpliwości kosztowało mnie przedzieranie się przez liczne wzory i formuły, których armia studentów będzie musiała nauczyć się na pamięć. Dodatkowo zadanie utrudnione było poprzez - moim zdaniem - nadużywanie terminologii naukowej, ale rozumiem, że celem było uzyskanie jak największej precyzji pojęć!? Dla mnie jednak nazbyt często brzmiało to niejasno.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt; Na początku autor opisuje liczne modele (działania programu, błędu czy środowiska). Następnie przechodzi do opisu implementacji testu (dodam iż chodzi o testy, które powszechnie nazwalibyśmy testami "białej skrzynki") wykorzystując jako przykład narzędzie &lt;i&gt;gdb&lt;/i&gt;. I choć wcześniej książka prezentuje nam modele V i W, w tym miejscu – nie wiem dlaczego – autor postanowił oprzeć się o model kaskadowy!?&lt;br /&gt;&lt;br /&gt;Omawiając czarną i białą skrzynkę autor sprawia wrażenie jak by namawiał to generowania jak największej liczby przypadków testowych nie wspominając ani razu jak zarządzać efektywnie tak dużymi zbiorami. Z drugiej strony brakowało mi opisu technik pozwalających minimalizować zasoby procedur testowych.&lt;br /&gt;&lt;br /&gt;Wśród zawieruchy słownictwa i wzorów pan Wiszniewski zwraca uwagę na - moim zdaniem - bardzo ważną kwestię kontekstów użycia danych. Jednak nie wiązałbym jej tylko z testami na kodzie – tak jak uczynił autor – ale także w testach behawioralnych.&lt;br /&gt;&lt;br /&gt;Na koniec mamy rozdział 8, którego zadaniem jest pokazanie czytelnikom jak wygląda praktyczne zastosowanie omawianych wcześniej problemów. Ten rozdział jest praktycznie w całości napisany przez niejawnych autorów książki wymienionych wyżej w tym tekście.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;h5&gt;Książka szkoleniowca&lt;o:p&gt;&lt;/o:p&gt;&lt;/h5&gt;  &lt;p class="MsoNormal"&gt;Część napisana przez pana Berezę-Jarocińskiego nie jest przesiąknięta precyzyjnym językiem nauki, co zdecydowanie ułatwia czytanie i jednocześnie nie generuje strat na precyzyjności. Autor stara się opisać różne aspekty projektu informatycznego takie jak różnice pomiędzy zapewnianiem a kontrolowaniem jakości, zarządzanie testowaniem, kierowanie projektem, narzędzia wspierające testerów i kierowników testów. Dosyć szczegółowo opisuje proces planowania testów wraz z opisem ról i organizacji oraz głównych prawideł rządzących zespołem ludzi (nie tylko testerów). Poświęca także, kilkanaście akapitów motywacji testerów, co jest chyba unikalne pośród polskiej literatury fachowej.&lt;br /&gt;&lt;br /&gt;Zabrakło mi tutaj informacji o zagrożeniach jakie niesie niedodefiniowanie roli zespołu testów. Owszem autor wspomina tu i tam, że taka lub inna czynność czy odpowiedzialność powinna być jasno zdefiniowana. Ale brakuje mi tutaj wskazówek czysto praktycznych na temat komunikacji z kierownikami projektów czy zarządem, próby wytworzenia własnego systemu kryteriów wypuszczenia produktów, gdy nie istnieją oficjalne, definiowania misji i celów zespołu testowego, itd., itp.&lt;br /&gt;&lt;br /&gt;Przy opisie problematyki defektów zabrakło rozróżnienia na defekty i incydenty. Przy zastosowaniu czarnej skrzynki - gdzie źródło problemu często nie jest możliwe do zidentyfikowania - możemy mówić o incydentach, które następnie mogą, ale nie muszą być zaklasyfikowane jako defekty. Trudno jest czasami stwierdzić czy dany symptom jest objawem defektu czy objawem funkcji zaimplementowanej zgodnie z wymaganiami. Konsekwentnie, incydenty powinny podlegać regularnym przeglądom, co z kolei staje się problematyczne w środowiskach wielo-projektowych.&lt;br /&gt;&lt;br /&gt;Następnie autor dostarcza nam kilka metryk. Większość z nich jest jednak oparta o defekty, co jak zostało powiedziane wyżej, nie jest jedyną miarą jakości.&lt;span style="color: rgb(255, 102, 102);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Rozdział 9 to opis narzędzi typu &lt;a href="http://en.wikipedia.org/wiki/CAST_tool"&gt;CAST&lt;/a&gt;. Tutaj wszystko szło dobrze do momentu, gdy zacząłem czytać fragment poświęcony automatyzacji testów. Uderzył mnie fakt, iż najistotniejszy element automatyzacji testów, jakim jest automatyzacja weryfikacji wyników testów została zupełnie pominięta. A to właśnie ten aspekt automatyzacji jest najbardziej zapalny i jednocześnie owocny. To przecież możliwość uzależniania wykonania przypadku TC1a lub TC1b od wyniku wykonania przypadku TC1 daje dopiero potężne narzędzie do ręki analityka testów. Bez takiego wsparcia testy automatyczne to tylko automatyczny generator danych, które następnie i tak muszą być przetworzone ręcznie.&lt;br /&gt;&lt;br /&gt;Ostatni rozdział merytoryczny poświęcony jest standardom, normom i certyfikacji. Można się z niego dowiedzieć kilku ciekawych rzeczy na temat konferencji branżowych organizowanych w Polsce i Europie co chyba szczególnie interesujące powinno być dla studentów oraz osób rozpoczynających swoją przygodę z testowaniem oprogramowania.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;h4&gt;Uwagi końcowe&lt;o:p&gt;&lt;/o:p&gt;&lt;/h4&gt;  &lt;p class="MsoNormal"&gt;Uważam, że ta książka - mimo swych oczywistych wad - jest cenna. Po pierwsze, dlatego że jest jedną z nielicznych. Po drugie, dlatego że napisana została przez polskich autorów uwzględniających polskie realia prowadzenia projektów. A po trzecie, dlatego że napisanie książki o tematyce jakości oprogramowania oraz wydanie jej jest dla mnie symbolem i potwierdzeniem rozwoju tej branży w Polsce.&lt;br /&gt;&lt;br /&gt;Książce można oczywiście wiele zarzucić jednak "&lt;i style=""&gt;jak się nie ma, co się lubi to się lubi, co się ma&lt;/i&gt;". Być może wśród czytelników znajdzie się ktoś, kto spróbuje napisać to lepiej, przejrzyściej i prościej. Jednak w jakiś tam sposób będzie to zasługa tej właśnie książki.&lt;br /&gt;&lt;br /&gt;Brakowało czegoś, co nazwałbym "bardziej przyjaznym interfejsem". Porównując tą pracę do podobnych anglojęzycznych robi mi się smutno. Używanie wzorów powinno być naprawdę uzasadnione, słownictwo powinno ułatwiać a nie utrudniać zrozumienie treści tym bardziej, iż książka traktuje o jakości... jakości odbioru także.&lt;br /&gt;&lt;br /&gt;Choć zaciemnia pewne terminy (np. przy opisie technik czarnej skrzynki przez domniemanie zakłada dostęp do kodu (sic!)) i rozmywa znaczenie innych, książkę tę poleciłbym dokładnie temu gronu, do którego zaadresowali ją autorzy. Doświadczonym inżynierom testów radziłbym traktować to jako swojego rodzaju "lekturę obowiązkową" bo "nie wypada" a nie jako źródło nowych i świeżych idei.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-2487064395218363914?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/2487064395218363914/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=2487064395218363914&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2487064395218363914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2487064395218363914'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/03/lektura-obowzkowa-czyli-o-praktykach.html' title='Lektura obowązkowa czyli o praktykach teoretycznych'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-3601035258817885487</id><published>2007-03-05T20:12:00.000+01:00</published><updated>2007-03-05T20:19:25.719+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Środowisko'/><title type='text'>TiddlyWiki - notes i encyklopedia</title><content type='html'>Od dawna brakowało mi narzędzia do zarządzania notatkami. Typowe pliki tekstowe nie są zbyt atrakcyjne zwłaszcza gdy mówimy o kategoryzowaniu (a przecież drzewo kategorii nigdy nie jest zafiksowane).&lt;br /&gt;&lt;br /&gt;A dzisiaj chyba znalazłem odpowiedź. Narzędzie nazywa się &lt;a href="http://www.tiddlywiki.com/"&gt;TiddlyWiki&lt;/a&gt; (http://www.tiddlywiki.com/) i działa tak jak system "Wiki" włącznie z tagowaniem. Wykonałem dzisiaj parę prób i naprawdę zapowiada się super tym bardziej, że jest to po prostu plik w JavaScripcie więc można go sobie zmodyfikować do własnych potrzeb.&lt;br /&gt;&lt;br /&gt;Pomoc do tego narzędzia (nie jest wcale fantastyczna ale na początek wystarczy) znajduje się na stronach &lt;a href="http://danielbaird.com/tiddlywikiguides/userguide-sample.html"&gt;http://danielbaird.com/tiddlywikiguides/userguide-sample.html&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-3601035258817885487?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.tiddlywiki.com/' title='TiddlyWiki - notes i encyklopedia'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/3601035258817885487/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=3601035258817885487&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3601035258817885487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3601035258817885487'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/03/tiddlywiki-notes-i-encyklopedia.html' title='TiddlyWiki - notes i encyklopedia'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-2928881265823167304</id><published>2007-02-28T21:44:00.000+01:00</published><updated>2007-02-28T22:01:15.470+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><category scheme='http://www.blogger.com/atom/ns#' term='Techniki testowania'/><title type='text'>Ciąg Fibonacciego a klasy równoważności</title><content type='html'>Parę dni temu przyszło mi do głowy pytanie czy &lt;a href="http://pl.wikipedia.org/wiki/Ci%C4%85g_Fibonacciego"&gt;ciąg Fibonacciego&lt;/a&gt; jest dyskretną czy ciągłą klasą równoważności? Jeśli potraktujemy do dosłownie to jest dyskretną klasą równoważności. Ale jeżeli jako jednostkę w tym ciągu zdefiniujemy dynamicznie wynik obliczenia kolejnej wartości to czy otrzymamy wtedy klasę ciągłą...?&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-2928881265823167304?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/2928881265823167304/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=2928881265823167304&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2928881265823167304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2928881265823167304'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/cig-fibonacciego-klasy-rwnowanoci.html' title='Ciąg Fibonacciego a klasy równoważności'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-8116525880758707666</id><published>2007-02-27T12:05:00.000+01:00</published><updated>2007-02-27T12:07:29.958+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Środowisko'/><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><title type='text'>Testowalność - lista kontrolna</title><content type='html'>Testowalność (testability) jest dosyć dziwnym pojęciem oznaczającym generalnie łatwość bycia testowanym. Jeśli ktoś jest zainteresowany, &lt;a href="http://www.ninjatactics.com/blog/?p=146"&gt;tutaj znajduje się lista rzeczy&lt;/a&gt; które ułatwiają testowanie.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-8116525880758707666?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ninjatactics.com/blog/?p=146' title='Testowalność - lista kontrolna'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/8116525880758707666/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=8116525880758707666&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8116525880758707666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8116525880758707666'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/testowalno-lista-kontrolna.html' title='Testowalność - lista kontrolna'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-5834583830115539192</id><published>2007-02-26T20:30:00.000+01:00</published><updated>2007-02-26T21:09:03.877+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Techniki testowania'/><title type='text'>Czy czarna skrzynka jest taka czarna?</title><content type='html'>Czy rzeczywiście czarna skrzynka jest taka czarna? Określenie "czarna skrzynka" jest używane  jako metafora testów nie wymagających znajomości wewnętrznych struktur i konstrukcji oprogramowania. Kompetencja czytania i rozumienia kodu nie jest potrzebna.&lt;br /&gt;&lt;br /&gt;Założenie jest następujące: wystarczy mieć wymagania klienta, skonstruować na tej podstawie przypadki testowe, sformułować oczekiwane rezultaty i na końcu porównać wyniki testu ze zdefiniowanymi rezultatami.&lt;br /&gt;&lt;br /&gt;Tutaj pojawia się moja wątpliwość... Ponieważ testowanie wszystkich przypadków jest niemożliwe, korzystamy z różnych technik celem ograniczenia ich liczby do rozsądnych rozmiarów. Jedną z takich technik jest "klasa równoważności", ale równie dobrze może być tutaj podstawiona każda inna.&lt;br /&gt;&lt;br /&gt;Przy stosowaniu klas równoważności (generalizując pewne zbiory parametrów), &lt;span style="font-weight: bold;"&gt;automatycznie zakładamy&lt;/span&gt; (&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;na jakiej podstawie?&lt;/span&gt;), że kod jest zaimplementowany zgodnie z założeniami tzw. "dobrych praktyk"...&lt;br /&gt;&lt;br /&gt;A co jeśli nie? A co jeśli kod jest pisany przez programistę, który nie ma doświadczenia lub inaczej niż my rozumie to wymaganie? Prawdopodobieństwo popełnienia błędu jest bardzo duże, tak samo jak prawdopodobieństwo, że utworzony w tym miejscu defekt nie zostanie wykryty.&lt;br /&gt;&lt;br /&gt;W tej sytuacji istnieją dwie możliwości:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;dopisujemy dodatkowe przypadki testowe&lt;/li&gt;&lt;li&gt;zaglądamy do kodu&lt;/li&gt;&lt;/ul&gt;Pierwszy punkt zdaje się być bardzo atrakcyjny. Ale jest niezgodny z "tao" projektowania przypadków testowych!? Przecież po to zastosowaliśmy np. "klasy równoważności" aby zredukować liczbę przypadków. A teraz, &lt;span style="font-weight: bold;"&gt;ponieważ zastosowaliśmy klasy równoważności, musimy zwiększyć liczbę przypadków&lt;/span&gt;!? Absurd!&lt;br /&gt;&lt;br /&gt;Drugi przypadek także eliminuje czarną skrzynkę, bo przecież zaglądamy do kodu. Ale uważam, że to podejście jest lepsze!&lt;br /&gt;&lt;br /&gt;Na przykład:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Programista implementując zestaw wymagań obmyślił sobie, że jego podstawowym bytem będą szklanki. Z góry było wiadomo, że oprócz szklanek potrzebne będą także słoiki i dzbanki. Ale nasz inżynier sobie pomyślał: &gt;&gt;przecież słoiki i dzbanki to to samo co szklanka (służą do przechowywania cieczy) tylko inaczej skonfigurowane. Tak więc słoik i dzbanek to po prostu specjalne przypadki szklanki&lt;&lt;. Niestety... zespół testowy - ze względu na zupełnie inną obsługę dzbanków, inną obsługę szklanek i inną obsługę słoików - potraktował to jako zupełnie osobne byty. Testy zakończyły się pomyślnie a defekty pojawiły się dopiero w produkcji. Gdyby zespól testowy miał świadomość tego jak wygląda implementacja kodu, testy zostałyby dobrze skrojone.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Po pierwsze znając kod wiemy jak go "otestować" przypadkami, po drugie rozumiemy nie tylko jak program ma działać ale także jak działa przez co jesteśmy w stanie identyfikować łatwiej źródła defektów.&lt;br /&gt;&lt;br /&gt;Oczywiście wadą jest fakt, iż czasami dostęp do kodu nic nie da bo ze względu na "włoski makaron" lub rozproszenie źródeł, zrozumienie go zajmie więcej czasu niż czas potrzebny na "czarną skrzynkę" plus dodatki. W takim wypadku jednak można zorganizować spotkanie z szefem architektów aby wyjaśnił zamierzenia architektoniczne oraz spotkanie z szefem programistów aby wyjaśnił jak te zamierzenia zostały zaimplementowane.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-5834583830115539192?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/5834583830115539192/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=5834583830115539192&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/5834583830115539192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/5834583830115539192'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/czy-czarna-skrzynka-jest-taka-czarna.html' title='Czy czarna skrzynka jest taka czarna?'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-1866862416188357482</id><published>2007-02-22T22:55:00.000+01:00</published><updated>2007-02-22T20:24:15.233+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Przyszłość testów wg. Bacha</title><content type='html'>Niedawno na amerykańskich stronach "&lt;a href="http://www.ddj.com/"&gt;Dr. Dobb's Portal&lt;/a&gt;" z cyklu "&lt;a href="http://www.ddj.com/blog/debugblog/archives/freelancer_blog/index.html;jsessionid=N1LN1FPDQ4XDIQSNDLRSKHSCJUNN2JVN"&gt;The book of testing&lt;/a&gt;" w ramach bloga &lt;a href="http://blogs.msdn.com/micahel/"&gt;Michaela Huntera&lt;/a&gt; pojawił się wywiad zatytułowany "&lt;a href="http://www.ddj.com/blog/debugblog/archives/2007/01/five_questions_5.html"&gt;Five Questions With James Bach&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;W tym krótkim tekście "ojciec założyciel" &lt;a href="http://www.satisfice.com/articles.shtml"&gt;testów eksploracyjnych&lt;/a&gt; zawiera wiele zdań, które mogą być szokujące ale jednocześnie spójne z koncepcją metodyk lekkich. Np. na pytanie co jest najbardziej zaskakujące w testowaniu odpowiada&lt;br /&gt;&lt;blockquote&gt;"[...] zaskakuje mnie, iż prawie cały światek testowy bezwarunkowo akceptuje fakt, iż większość testów powinna być spisana w formie procedury."&lt;/blockquote&gt;&lt;br /&gt;Dodając wcześniej - muszę przyznać dosyć trywialnie - że:&lt;br /&gt;&lt;blockquote&gt;"[...] testowanie głównie jest procesem myślenia i wyobrażania sobie [...]"&lt;/blockquote&gt;&lt;br /&gt;Jako swoją najcenniejszą lekcję, &lt;a href="http://www.satisfice.com/aboutjames.shtml"&gt;Bach&lt;/a&gt; wspomina defekt - znaleziony przez niego w jego własnym programie - który poprzez nieprawidłową obsługę pamięci powodował przesunięcie wyświetlanej grafiki w prawo. Defekt, zignorowany przez niego na początku, okazał się lekcją trącącą trochę filozofią &lt;a href="http://pl.wikipedia.org/wiki/George_Berkeley"&gt;Georgea Berkeleya&lt;/a&gt;, że wszystko jest wrażeniem. Sam Bach streszcza ją w następujący sposób:&lt;br /&gt;&lt;blockquote&gt;"[...] relacja pomiędzy przyczyną i skutkiem w komputerze może być do tego stopnia pogmatwana i skomplikowana, że nigdy nie możemy być pewni, że wiemy na co patrzymy kiedy obserwujemy uruchomiony program."&lt;/blockquote&gt;&lt;br /&gt;Zdanie to wydaje mi się bardzo znamienne w dzisiejszych czasach, kiedy coraz częściej zaczyna liczyć się czas dostarczenia produktu na rynek a nie jego jakość, kiedy najczęstszym kryterium wypuszczenia oprogramowania nie są &lt;span style="font-style: italic;"&gt;nomen omen&lt;/span&gt; inżynierskie kryteria ale po prostu polecenie zarządu. W kontekście tego stwierdzenia może się okazać, że zaczną pojawiać się na rynku produkty-zombie. Produkty, które w zamierzeniach producentów miały być ulepszone jak tylko "zdobędą" rynek, a nie da się ich ulepszyć ze względu na tą niepewność, omyłkowo wziętą przez zarząd za pewność i w rzeczywistości objawiającą się jako defekt krytyczny.&lt;br /&gt;&lt;br /&gt;Dla polskiego czytelnika - gdzie tak naprawdę standaryzacja&lt;a href="http://www.sjsi.org/?m=35"&gt;&lt;/a&gt; branży &lt;a href="http://www.sjsi.org/?m=35"&gt;rodzi się&lt;/a&gt; dopiero w bólach - szczególnie interesujące może być zdanie:&lt;br /&gt;&lt;blockquote&gt;"Myślę, że programy certyfikacji ISEB czy ISTQB są pomyłką. Mam nadzieję, że nikt nie przykłada do nich większej wagi."&lt;/blockquote&gt;&lt;br /&gt;Osoby głębiej zainteresowane zapewne spotkały się z podobną &lt;a href="http://www.satisfice.com/kaner/?p=12"&gt;opinią Kema Kanera&lt;/a&gt; na temat certyfikacji i uzasadnienia dlaczego komercyjni "certyfikatorzy" nie spełniają do końca swojej roli sygnatariuszy kompetencji. W polskich i europejskich warunkach wygląda to znacznie bardziej skomplikowanie. Firmy poszukując podstawowego przynajmniej zapewnienia sobie, że zatrudniona osoba jest kompetentna pytają o certyfikaty. Czy jednak otrzymując pozytywną odpowiedź na to pytanie, otrzymują także odpowiedź na swoje pytanie?&lt;br /&gt;&lt;br /&gt;Na koniec Bach zapytany o największe wyzwanie stojące przed dziedziną testów w okresie 5 najbliższych lat, wymienia trzy:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;naukę jak testować&lt;/li&gt;&lt;li&gt;naukę jak szkolić testerów&lt;/li&gt;&lt;li&gt;odrzucenie fałszywych profetów certyfikacji&lt;/li&gt;&lt;/ul&gt;Pierwsze wyjaśnia się chyba samo przez się. Tutaj naprawdę jest jeszcze mnóstwo do zrobienia a uwzględniając polskie warunki - zwłaszcza brak własnego słownictwa - zadanie jest naprawdę ambitne.&lt;br /&gt;&lt;br /&gt;Drugie nie wymaga nawet komentarza... Mizeria na tym polu na polskim rynku jest &lt;a href="http://termometr.blogspot.com/2006/12/testowanie-jako-oddzielna-dyscyplina.html"&gt;porażająca&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Natomiast co do trzeciego wyzwania to mam mieszane uczucia. Zdaje się, że otwarta forma certyfikacji mogłaby rzeczywiście zapewnić wiedzę "jak testować" na minimalnym poziomie. Lecz tutaj podjęte są słabe &lt;a href="http://www.freetestingcertification.com/"&gt;próby&lt;/a&gt;. Z drugiej strony... tak jak napisałem wyżej, firmy oczekują jakiegoś zaświadczenia, że jesteś testerem i umiesz testować.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-1866862416188357482?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ddj.com/blog/debugblog/archives/2007/01/five_questions_5.html' title='Przyszłość testów wg. Bacha'/><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/1866862416188357482/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=1866862416188357482&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/1866862416188357482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/1866862416188357482'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/przyszo-testw-wg-bacha.html' title='Przyszłość testów wg. Bacha'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-6079391585948203495</id><published>2007-02-21T21:32:00.000+01:00</published><updated>2007-02-21T21:36:58.741+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Czy dane testowe są już test casem i dlaczego nie</title><content type='html'>Czy szklanka jest od połowy pusta czy do połowy pełna? Tak samo chyba jest z pytaniem czy dane testowe stanowią same w sobie przypadek testowy...?&lt;br /&gt;&lt;br /&gt;W codziennej pracy, pisząc przypadki testowe, bardzo często piszemy jedną procedurę a do niej wybieramy kilka zestawów danych. Czy w takim wypadku każdy z tych zestawów jest przypadkiem testowym czy dopiero w połączeniu z procedurą testową stanowią takowy?&lt;br /&gt;&lt;br /&gt;Z punktu widzenia kierownika testów oraz projektanta przypadków skłaniałbym się raczej do tego, że jest to jeden przypadek testowy (a raczej jego szczególny przypadek).&lt;br /&gt;&lt;br /&gt;Z punktu widzenia inżyniera uruchamiającego testy skłaniałbym się do pierwszej definicji. Każdy zestaw danych wymusza uruchomienie jednej i tej samej procedury ale kilkakrotnie z różnymi danymi więc i wyniki mogą być różne. Do tego możemy jeszcze - w niektórych przypadkach - doliczyć czas potrzebny na czyszczenie środowiska.&lt;br /&gt;&lt;br /&gt;Ogólnie rzecz biorąc jest to bardzo częsty przykład stosowania "&lt;a href="http://pl.wikipedia.org/wiki/Brzytwa_Ockhama"&gt;brztwy Ockhama&lt;/a&gt;" w testach. Jakież było moje zdziwienie gdy okazało się, iż żaden z czołowych produktów do zarządzania testami nie wspiera tej prostej funkcjonalności? Okazuje się, iż próba wygenerowania w "run-time" wielu przypadków testowych na podstawie jednej procedury i kilku zestawów danych definiowanych w "design-time" dla tej procedury jest niemożliwe.&lt;br /&gt;&lt;br /&gt;Czyli... zamiast ułatwiać utrzymywalność zasobów przypadków testowych poprzez minimalizowanie ich liczby jesteśmy skazani - korzystając z tych narzędzi - na większe nakłady pracy związane z utrzymywaniem środowiska testowego.&lt;br /&gt;&lt;br /&gt;A przecież korzyść z takiej implementacji była by oczywista; mniej przypadków testowych do utrzymania.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-6079391585948203495?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/6079391585948203495/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=6079391585948203495&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6079391585948203495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6079391585948203495'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/czy-dane-testowe-s-ju-test-casem-i.html' title='Czy dane testowe są już test casem i dlaczego nie'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-4746968023079779604</id><published>2007-02-15T23:15:00.000+01:00</published><updated>2007-02-15T23:25:59.751+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dokumentowanie'/><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><title type='text'>Wyrocznia w miarę... czyli testowanie dokumentacji</title><content type='html'>Wielu testerów myśląc o swoim zawodzie myśli o oprogramowaniu, choć rzeczywistość wymaga od nich znacznie więcej. Rzeczywistość wymaga przede wszystkim zrozumienia celu, dla którego oprogramowanie zostało stworzone i dla jakiego działa.&lt;br /&gt;&lt;br /&gt;Zaczynając naszą pracę machinalnie rzucamy się na dostępną dokumentację. W moim przypadku najczęściej są to wymagania i wysokopoziomowy opis architektury, rzadziej dokumenty funkcjonalne lub dokumentacja niskopoziomowa... gdyż ona z reguły (złej) jest tworzona &lt;span style="font-style: italic;"&gt;post factum&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Ale skąd wiemy że ta dokumentacja jest poprawna? Dlaczego zakładamy - my testerzy - że nie ma ona błędów. Przecież dokumentacja:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;tak jak testowana aplikacja tworzona jest przez wielu ludzi&lt;/li&gt;&lt;li&gt;tak jak testowana aplikacja musi mieć problemy z interfejsami&lt;/li&gt;&lt;li&gt;inaczej niż testowana aplikacja nie podlega formalnej weryfikacji merytorycznej (kompilacji) ponieważ nie ma kompilatorów rozumiejących ludzki język&lt;/li&gt;&lt;/ul&gt;Dlaczego w związku z tym traktujemy ten byt projektu jako wyrocznię? Odpowiedzi jest wiele ale wszystkie one sprowadzają się do podstawowego problemu: &lt;span style="font-style: italic; font-weight: bold;"&gt;jest to jedyne w miarę pełne, źródło naszej wiedzy o systemie &lt;/span&gt;(drugim takim źródłem są oczywiście rozmowy z zainteresowanymi uczestnikami projektu).&lt;br /&gt;&lt;br /&gt;Ale skoro jest ono "w miarę" to dlaczego go nie przetestować aby określić tę miarę? Wielu testerów robi to automatycznie, czytając i sporządzając notatki, które następnie klarują z programistami. Jednak moje doświadczenie pokazuje, że w znacznej mierze dokumentacja traktowana jest jak pismo objawione. A jeśli nawet testerzy próbują testować dokumentację to tak naprawdę większość standardowych procesów realizacji projektu kompletnie nie wie co zrobić z raportowanymi incydentami.&lt;br /&gt;&lt;br /&gt;Główny problem z testowaniem dokumentacji polega na tym, że weryfikujemy stronę merytoryczną a nie logiczną jak to zazwyczaj ma miejsce w przypadku testowania samego oprogramowania. W tym miejscu bardzo często podnosi się argumenty, że testerzy nie są architektami, nie znają się na programowaniu itd, itp. Nie ma znaczenia czy to jest prawda czy nie! Faktem jest, że dokumentację można przetestować przyjmując "na wejściu" konkretne kryteria.&lt;br /&gt;&lt;br /&gt;Według mnie lista 5 kryteriów jest zupełnie wystarczająca do osiągnięcia celu testowania dokumentacji:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;spójność&lt;/li&gt;&lt;li&gt;mierzalność&lt;/li&gt;&lt;li&gt;jednoznaczność&lt;/li&gt;&lt;li&gt;łatwość implementacji&lt;/li&gt;&lt;li&gt;testowalność&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;table style="width: 678px; height: 183px;" border="0" cellpadding="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="font-weight: bold;"&gt;Spójność&lt;/span&gt;:&lt;/td&gt;&lt;td valign="top"&gt;Jest to kryterium, które ma nam udzielić odpowiedzi na pytanie czy tester czytając tą dokumentację nie natrafił na oczywiste niespójności na poziomie interfejsów (np. przekazywanie boolina do wskaźnika typu integer), na poziomie logiki (np. tworzenie dodatkowego indeksu sztucznie dla jednej transakcji)  lub na poziomie interfejsu użytkownika (np. przetwarzanie danej, która nie jest wymagana przez GUI).&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="font-weight: bold;"&gt;Mierzalność&lt;/span&gt;:&lt;/td&gt;&lt;td valign="top"&gt;To kryterium ma odpowiedzieć na pytanie czy w trakcie wykonywania testów będziemy w stanie weryfikować otrzymane wyniki. Przykładem defektów w tej kategorii będą zdania typu "&lt;span style="font-style: italic;"&gt;system ma działać niezawodnie"&lt;/span&gt; lub "&lt;span style="font-style: italic;"&gt;system ma obsługiwać wielu użytkowników&lt;/span&gt;".&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="font-weight: bold;"&gt;Jednoznaczność&lt;/span&gt;:&lt;/td&gt;&lt;td valign="top"&gt;To kryterium pozwoli na "przefiltrowanie" treści dokumentacji pod względem wszelkich opisów mogących generować jedno lub więcej rozwiązanie lub pozostawiają opracowanie rozwiązania na barkach programisty, np. "&lt;span style="font-style: italic;"&gt;akceptacja danych następuje po wypełnieniu pól na formatce&lt;/span&gt;".&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="font-weight: bold;"&gt;Łatwość implementacji&lt;/span&gt;:&lt;/td&gt;&lt;td valign="top"&gt;To kryterium identyfikuje potencjalnie niebezpieczne i ryzykowne obszary. "Wyłapuje" wszelkie opisy, które są zagmatwane, napisane skomplikowanym językiem lub po prostu nie zrozumiałe dla testera.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;span style="font-weight: bold;"&gt;Testowalność&lt;/span&gt;:&lt;/td&gt;&lt;td valign="top"&gt;Ostatnie kryterium odnosi się do tzw "pozostałych". Jego celem jest zgrupowanie wszelkich "dziwnych", "podejrzanych", "pokręconych" fragmentów w stosunku do których odpowiedź na pytanie "jak to przetestować" nie jest oczywista i prosta.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Ta lista kryteriów w sposób oczywisty nie nadaje się do testowania podręczników użytkownika czy innych materiałów wchodzących w zakres gotowego produktu.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Jaki jest cel testowania dokumentacji?&lt;/span&gt; To co zwykle..., zidentyfikowanie ryzykownych obszarów i wyeliminowanie ich zanim jeszcze projekt przejdzie do fazy implementacji. Oznacza to, że praca testerów w tym zakresie powinna zacząć się jak tylko powstanie finalna wersja wymagań i powinna obejmować przynajmniej wymagania i dokumentację wysokiego poziomu.&lt;br /&gt;&lt;br /&gt;No dobrze..., ale co zyskamy inwestując czas i zasoby w takie przedsięwzięcie. Do głowy przychodzi mi poniższa lista:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;testerzy uzyskują przekrojową wiedzę nt. projektu i produktu oraz natury tych dwóch bytów&lt;br /&gt;&lt;/li&gt;&lt;li&gt;testerzy poznają z góry o wiele więcej tak zwanych "ryzykownych" obszarów&lt;/li&gt;&lt;li&gt;architekci uzyskują pierwszą opinię i uwagi, których naprawa kosztuje czas poświęcony na przeredagowanie kilku paragrafów (czasami kilkuset)&lt;/li&gt;&lt;li&gt;programiści po prostu dostają lepszą dokumentację&lt;/li&gt;&lt;li&gt;zarząd minimalizuje koszty bo zmiany są bardzo tanie (no dobra tu się można kłócić) oraz sam produkt ma szansę na znaczenie lepszą jakość już od samego startu&lt;br /&gt;&lt;/li&gt;&lt;li&gt;kierownictwo projektu wiedzę pozwalającą lepiej szacować kolejne etapy projektu oraz identyfikować wąskie gardła już teraz, gdy daty w projekcie zdają się być jeszcze odległe&lt;/li&gt;&lt;li&gt;utrzymanie gdyż projekt posiada mniej defektów związanych z architekturą&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Dodam dla równowagi, że wady to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;konieczność zatrudnienia zespołu testerów znacznie wcześniej niż standardowo&lt;br /&gt;&lt;/li&gt;&lt;li&gt;konieczność wypracowania sposobu obsługiwania incydentów tego typu&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;W jaki sposób testować dokumentację? Jedynym znanym mi sposobem jest lektura dokumentacji, spisanie uwag a następnie dyskusja wewnętrzna w zespole testów. To jednak jest ideał. W rzeczywistości wygląda to w sposób bardzo nieformalny; specjalista od jakości nie rozumie fragmentu, więc znajduje autora i wyjaśnia z nim te kwestie. Oczywiście w takim wypadku cała wiedza pozostaje na linii tester - autor i prawdopodobnie nikt więcej nie będzie o tym wiedział.&lt;br /&gt;&lt;br /&gt;Osobiście testy dokumentacji wykonywałem gdy oprogramowanie znajdowało się już w fazie implementacji. Robiłem to we własnym zakresie gdyż nikt nie był zainteresowany tym zagadnieniem. 90% defektów zgłoszonych do dokumentacji zostało zamkniętych bez konkretnego komentarza (chyba, że komentarzem uznamy "brak czasu"). Ale z drugiej strony gdy przeszedłem do testowania samego oprogramowania, lista obszary określonych przeze mnie jako "ryzykowne" w większości wypadków okazywała się wielką pomocą w znajdowaniu siedlisk defektów i szczerze mówiąc szkoda, że nikt nie pomyślał, że mogły być tańsze.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-4746968023079779604?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/4746968023079779604/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=4746968023079779604&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/4746968023079779604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/4746968023079779604'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/wyrocznia-w-miar-czyli-testowanie.html' title='Wyrocznia w miarę... czyli testowanie dokumentacji'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-10852060641546101</id><published>2007-02-13T16:39:00.000+01:00</published><updated>2007-02-13T16:45:29.016+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>BetaBlog</title><content type='html'>Ponieważ zdałem sobie ostatnio sprawę, że tak naprawdę zupełnie nie wiem co wypali z tego przedsięwzięcia jakim jest ten blog. Postanowiłem dopisać mu w tytule "Beta" i dać pół roku na rozwinięcie się.&lt;br /&gt;&lt;br /&gt;Jako cel lub raczej zasadność istnienia tego blogu widzę generalnie pojętą wymianę doświadczeń związanych z testowaniem oprogramowania. Przy czym chciałbym aby działo się to w języku polskim. Mnóstwo jest miejsc w Internecie, w których zawarte są informacje o testowaniu w języku angielskim natomiast moje próby znalezienia sensownych informacji na ten temat w języku polskim spełzły na nic nie znaczących ogólnikach.&lt;br /&gt;&lt;br /&gt;Tak więc jeśli ktoś czyta "tutejsze" teksty i ma ochotę skomentować to lub owo, to bardzo zachęcam. Wymiana myśli, spostrzeżeń i doświadczeń zawsze poszerza horyzonty.&lt;br /&gt;&lt;br /&gt;Jeśli natomiast nikt tego nie czyta oprócz mnie to pól roku to chyba dostatecznie dużo aby zostać znalezionym w Internecie!? Przekonajmy się...&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-10852060641546101?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/10852060641546101/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=10852060641546101&amp;isPopup=true' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/10852060641546101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/10852060641546101'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/betablog.html' title='BetaBlog'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-6437733185105516350</id><published>2007-02-13T16:31:00.000+01:00</published><updated>2007-02-13T15:35:52.271+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><category scheme='http://www.blogger.com/atom/ns#' term='Środowisko'/><title type='text'>Filozofia testowania</title><content type='html'>No to teraz będzie chyba z grubej rury. Większość poznanych przeze mnie ludzi kształconych w naukach ścisłych, słysząc o filozofii czy historii lub sztuce mówi w sposób, który dobrze określa słowo "uczłowieczacz". Czyli generalnie jest to coś co ma być dodatkiem do głównego nurtu wykształcenia...&lt;br /&gt;&lt;br /&gt;W tym kontekście polecam wpis James'a Bacha na jego blogu "&lt;a href="http://www.satisfice.com/blog/archives/80"&gt;Philosophers of testing&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Najmocniejsze dwa zdania - oczywiście według mojej oceny to:&lt;br /&gt;&lt;blockquote&gt;Philosophy doesn’t find bugs for me, but it improves my ability to search for them. I have more patience for the search because philosophy has taught me tolerance for ambiguity, an appreciation for complexity, and a mistrust of appearances.&lt;br /&gt;[...]&lt;br /&gt;Philosophy doesn’t evaluate or report my bugs, but it does make my evaluations and reports better.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-6437733185105516350?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/6437733185105516350/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=6437733185105516350&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6437733185105516350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6437733185105516350'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/filozofia-testowania.html' title='Filozofia testowania'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-2058851427283891727</id><published>2007-02-12T19:48:00.001+01:00</published><updated>2007-02-12T19:47:32.310+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Techniki testowania'/><title type='text'>Czarna szkrzynka +/- biała skrzynka = szara skrzynka</title><content type='html'>Coraz częściej - chyba dlatego, że programiści zabierają się za testowanie ;-) - można spotkać się z rozumieniem zagadnienia testowania w kontekście rywalizacji pomiędzy białą skrzynką a czarną skrzynką. Trudno jest udowodnić taką tezę! Jest to problem typu "kura czy jajko"!&lt;br /&gt;&lt;br /&gt;Przykładem tego jest artykuł "&lt;a href="http://www-128.ibm.com/developerworks/library/j-test.html"&gt;Testing, fun? Really&lt;/a&gt;?"! Sam artykuł nie wnika subtelne różnice pomiędzy testami czarnej skrzynki a testami białej skrzynki. I chyba rzeczywiście tak powinno być. Test to test! Dobry tester powinien radzić sobie zarówno z kodem jak i z binarką. Na pewno nie powiem nic nowego stwierdzając, że czarna i biała skrzynka to uzupełniające się sposoby na przetestowanie oprogramowania. Problem polega na tym, że czarna skrzynka znajduje innego typu błędy niż biała skrzynka. Oznacza to oczywiście, że nie znajdziemy pewnych błędów stosując dajmy na to tylko test czarnej skrzynki.&lt;br /&gt;&lt;br /&gt;Czy biała skrzynka oznacza konieczność stosowania testów jednostkowych? Według mnie nie! To co jest potrzebne to na pewno znajomość architektury danego rozwiązania oraz generalną strukturę organizacji kodu. W mojej opinii doskonałym rozwiązaniem jest korzystanie z kodu jak z podpowiedzi lub swojego rodzaju przewodnika. Na tej podstawie można w łatwy sposób zlokalizować potencjalne obszary ryzyka. Dodatkowo można spróbować określić techniczną naturę tego ryzyka i w zależności od tego zastosować techniki biało lub czarno skrzynkowe.&lt;br /&gt;&lt;br /&gt;Testy jednostkowe to tylko jedno z zastosowań testów przeprowadzanych bezpośrednio na kodzie źródłowym i powinny być wykonywane przez autorów tego kodu. Testerzy natomiast nie powinni być odcinani od kodu. Obcując z nim, czytając, poznając architekturę rozumieją w jaki sposób system działa, są w stanie w łatwiejszy sposób zidentyfikować obszary wymagające bardziej intensywnych testów.&lt;br /&gt;&lt;br /&gt;Nie pamiętam kto, powiedział, że prawdziwy haker to taki człowiek, który potrafi - mając zdefiniowane zadanie - określić, który język programowania będzie pasował najlepiej do realizacji tego zadania. Podobnie jest z testerami. Posiadając wiedzę na temat systemu, sposobu jego działania, sposobu w jaki jest budowany, architektury, itp. jest w stanie określić, które metody testowe będą najbardziej wydajne w stosunku do których obszarów (typów defektów).&lt;br /&gt;&lt;br /&gt;Oczywiście dostęp do kodu powinien być przeznaczony dla osób, które posiadają odpowiednie kompetencje. Ale czy trzeba być programistycznym guru aby to robić? I znowu, wg. mnie wystarczy podstawowa wiedza dotycząca konkretnego języka, sposobu budowania funkcji, deklarowania i rzutowania zmiennych, tzw. "best practices". Podręcznik do C jest chyba inaczej czytany przez programistę a inaczej przez testera. Programista skupiony jest na zagadnieniu "jak coś zrobić" (przynajmniej tak mi się wydaje), tester natomiast skupiony jest na "obszarach potencjalnie niebezpiecznych".&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-2058851427283891727?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/2058851427283891727/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=2058851427283891727&amp;isPopup=true' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2058851427283891727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2058851427283891727'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/czarna-szkrzynka-biaa-skrzynka-szara.html' title='Czarna szkrzynka +/- biała skrzynka = szara skrzynka'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-6491509075820889326</id><published>2007-02-10T22:39:00.000+01:00</published><updated>2007-02-10T22:22:14.882+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Środowisko'/><title type='text'>Generyczne przypadki testowe</title><content type='html'>Każda firma produkująca oprogramowanie dąży do stworzenia zasobów generycznych pozwalających na szybkie i elastyczne generowanie nowych produktów - przynajmniej ich dużą część. W ten sposób powstają przeróżne biblioteki, repozytoria, snippety, interfejsy i inne takie. Po krótkim czasie okazuje się, że tak naprawdę jest to osobny projekt wymagający osobnego kierownika, planu, zdefiniowanych celów itd. Czy automatycznie rzutuje to na dział testów?&lt;br /&gt;&lt;br /&gt;Zdecydowanie tak! I to na wielu płaszczyznach które chyba najlepiej wyrazić pytaniami.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;co to znaczy generyczność?&lt;/li&gt;&lt;li&gt;jak przetestować projekt generyczny?&lt;/li&gt;&lt;li&gt;czy do generycznego projektu powinny powstać generyczne przypadki testowe?&lt;/li&gt;&lt;li&gt;co to znaczy, że przypadek testowy jest generyczny?&lt;/li&gt;&lt;li&gt;do kiedy jest generyczny a od kiedy już nie?&lt;/li&gt;&lt;/ul&gt;Roztrząsając pewne techniczne zagadnienia związane z integracją TestDirectora z CQ, wraz z kilkoma osobami z działu zajmującego się zarządzaniem konfiguracją i integracją środowiska, doszliśmy do zaskakującego wniosku:&lt;br /&gt;&lt;blockquote&gt;"&lt;span style="font-style: italic;"&gt;I&lt;span style="font-style: italic;"&gt;s&lt;/span&gt;tnieje na rynku wiele narzędzi do zarządzania artefaktami projektu takimi jak defekty, przypadki testowe, kod źródłowy, wymagania, specyfikacja czy dokumentacja projektowa. Większość z nich - biorąc pod uwagę przydatność biznesową szeroko rozumianą - kosztuje bardzo drogo. Każdy producent wychwala jak to jest elastyczne i integrowalne ale w rzeczywistości brakuje tym systemom wsparcia generyczności co prawdopodobnie spowodowane jest architekturą opartą o projekt.&lt;/span&gt;"&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;Większość architektur takich rozwiązań przewiduje projekt jako kontekst projektu*. Z kolei projekt zdefiniowany jest jako jednotorowy - na ogólnym poziomie - proces wytwarzania oprogramowania. I tutaj pojawia się pierwszy problem! W środowiskach wieloprojektowych rozumienie generyczności jest inne niż w środowisku dużego projektu. W pierwszym przypadku oznacza to "zakres" kodu, możliwy do użycia przy założeniu prac konfiguracyjnych do różnych projektów. Natomiast w środowisku dużego projektu lub - dla jasności nazwijmy go jednoprojektowym - generyczność oznacza reużywalność ale nie względem projektów tylko modułów (stąd chyba bliżej do czystej obiektowości!?)&lt;br /&gt;&lt;br /&gt;Oto prosty przykład: programiści pracują w kontekście projektu specyficznego i generycznego równocześnie, testerzy natomiast pracują tylko w kontekście konkretnego projektu (z przyczyn oczywistych). Tak więc defekty zgłoszone przez testerów do projektu "S" są potem przekierowywane przez programistów do projektu "G", kiedy natura defektu okazuje się generyczna. Następnie naprawione defekty wracają do testerów w celu weryfikacji i weryfikacja wszystkich defektów - nawet tych z projektu "G" - odbywa się na projekcie "S". Wystarczy teraz dodać, że testerzy pracują w swoim środowisku a programiści w swoim. Z systemu zarządzania testami raportowane są defekty do zintegrowanego systemu rejestracji defektów. Problem pojawia się w momencie przepisania defektu z projektu "S" do projektu "G". Po prostu w systemie do zarządzania przypadkami widoczne są defekty tylko dla konkretnego projektu. Więc analityk do spraw jakości nie ma dostępu do pełnej informacji tylko do jej części.&lt;br /&gt;&lt;br /&gt;Chciałbym podkreślić w tym miejscu, że opisywany przeze mnie tutaj problem chyba w mniejszym zakresie dotyczy środowisk jednoprojektowych. A przynajmniej w środowisku wieloprojektowym objawia się znacznie intensywniej.&lt;br /&gt;&lt;br /&gt;Skoro istnieje już projekt generyczny z generycznym kodem, który prawdopodobnie nie da się skompilować w łatwy sposób, to przed testerem powstaje poważne zagadnienie: "&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;jak przetestować tą generyczność zawartą w generycznym projekcie?&lt;/span&gt;&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Odpowiedzi oczywiście jest kilka i pewnie poniższe nie pokrywają całości:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Testować niejawnie poprzez implementację fragmentów generycznych w modułach/projektach.&lt;/li&gt;&lt;li&gt;Zbudować sztuczne projekty - najlepiej na początku fazy stabilizacji kiedy kod jest już gotowy - wygenerowane w głównych mutacjach użycia i przetestować je. Następnie przeprowadzić analizę porównawczą wyników dla poszczególnych projektów. Tam gdzie pokrywają się i wynik jest pozytywny, generyczność jest zaimplementowana.&lt;/li&gt;&lt;li&gt;Określić wszystkie możliwe konfiguracje modułu/projektu, wygenerować je w postaci binarki i poddać moduły testom integracyjnym a projekty testom systemowym (oczywiście w ograniczonym zakresie) . Oczywiście procedura jest jednakowa dla wszystkich mutacji.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Innym podejściem do testowania generyczności może buć przygotowanie generycznych przypadków testowych. Tutaj jednak powstaje nasze czwarte pytanie (na trzecie odpowiedziałem w poprzednim zdaniu) "&lt;span style="font-style: italic;"&gt;co to znaczy, że przypadek testowy jest generyczny&lt;/span&gt;?":&lt;br /&gt;&lt;blockquote&gt;&lt;ol&gt;&lt;li&gt;da się go uruchomić na każdym projekcie z rodziny "G"?&lt;/li&gt;&lt;li&gt;da się go uruchomić bez zmiany parametrów?&lt;/li&gt;&lt;li&gt;jest reużywalny jako zamknięta część - bez konieczności zmian?&lt;/li&gt;&lt;li&gt;wskazuje jedynie co powinno być przetestowane?&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;Pierwsze pytanie sugeruje szansę sukcesu ale tak naprawdę poważnie ogranicza zakres pokrycia testami. Oznacza to, sukces ale bardzo maleńki.&lt;br /&gt;&lt;br /&gt;Drugie pytanie dotyczy tak naprawdę zagadnienia; co określa przypadek testowy jako generyczny? Ja jestem gorącym zwolennikiem oddzielenia danych testowych od procedury. Pozwoliło by to na bardzo dużą elastyczność:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;dynamiczne generowanie przypadków testowych w oparciu o jedną procedurę i wiele zestawów danych, co pokryłoby w łatwy sposób:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;klasy równoważności&lt;br /&gt;&lt;/li&gt;&lt;li&gt;dziedziny&lt;/li&gt;&lt;li&gt;wartość graniczne&lt;/li&gt;&lt;li&gt;przepływ danych&lt;/li&gt;&lt;li&gt;przepływ sterowania&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;kontrolę potrzebną głównie na poziomie danych&lt;/li&gt;&lt;li&gt;dużą przenaszalność samych procedur.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Pytania 3 i 4 wskazują chyba na zasadniczy konflikt. Mowa jest o tym, iż albo mamy bardzo szczegółową procedurę, która powinna mieć wynik pozytywny na każdym projekcie z rodziny albo nie mamy właściwie nic oprócz listy kontrolnej, którą następnie uzupełniamy jako implementację instancji przypadku testowego na konkretnym projekcie. Pierwsze wyjście powoduje, ze nasze zasoby generycznych przypadków testowych są bardzo ograniczone i tak naprawdę testują tylko standardowe funkcjonalności lub przypadki użycia. Ale za to uzyskujemy krótki czas przygotowania testów.&lt;br /&gt;&lt;br /&gt;Drugie rozwiązanie pozwala na znacznie szerszy zakres testów ale czas do uruchomienia jest znacznie dłuższy.&lt;br /&gt;&lt;br /&gt;Odpowiedź na ostanie pytanie: "&lt;span style="font-style: italic;"&gt;do kiedy przypadek jest generyczny a od kiedy już nie&lt;/span&gt;" jest mocno uzależniona od tego jak zdefiniowana zostanie sama generyczność. Ja po prostu polecałbym zdrowy rozsądek i metodę drobnych kroczków. Najpierw należy zbudować zbiór przypadków, które udowodnią swoją generyczność (przy naprawdę minimalnych zmianach wykorzystywane będą na szeroką skalę). Każdy w miarę doświadczony tester ma podręczny zestaw takich przypadków (obsługujących takie obszary jak logowanie, wylogowywanie, walidowanie danych, itd). Następnie na tej podstawie należy spróbować określić co oznacza w danym wypadku "generyczność" i skorzystać z tego jako z kryterium przy wybieraniu następnych przypadków testowych. Jednak definicja generyczności powinna być nieustannie weryfikowana.&lt;br /&gt;&lt;br /&gt;* &lt;span style="font-style: italic;font-size:85%;" &gt;Właściwie to nie znam systemu przeznaczonego do opisanych zastosowań, który nie używał by projektu jako kontekstu opisującego całość.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-6491509075820889326?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/6491509075820889326/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=6491509075820889326&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6491509075820889326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6491509075820889326'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/01/generyczne-przypadki-testowe.html' title='Generyczne przypadki testowe'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-4237608165034949757</id><published>2007-02-01T22:34:00.000+01:00</published><updated>2007-02-01T22:37:18.995+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Książka o testowaniu po polsku</title><content type='html'>Wyszła książka napisana przez Berezę i Wiszniewskiego zatytułowana "&lt;span style="font-style: italic;"&gt;Teoria i praktyka testowania oprogramowania&lt;/span&gt;" nakładem wydawnictwa PWN (Mikom). Link do księgarni to: &lt;a href="http://mikom.pwn.pl/4776_pozycja.html"&gt;http://mikom.pwn.pl/4776_pozycja.html&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Jeszcze nie czytałem więc trudno mi cokolwiek powiedzieć...&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-4237608165034949757?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/4237608165034949757/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=4237608165034949757&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/4237608165034949757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/4237608165034949757'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/ksika-o-testowaniu-po-polsku.html' title='Książka o testowaniu po polsku'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-6728914983495962956</id><published>2007-02-01T22:17:00.000+01:00</published><updated>2007-02-01T22:23:33.696+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eksploracja'/><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><category scheme='http://www.blogger.com/atom/ns#' term='Techniki testowania'/><title type='text'>Jak zostać ekspertem od testowania czyli "Becoming a Software Testing Expert" na Google Video</title><content type='html'>Świetny wykład Jamesa Bacha na temat &lt;span style="font-style: italic;"&gt;jak się stać ekspertem od testów.&lt;/span&gt; Rzeczywiście zawiera kilka wskazówek, których warto posłuchać.&lt;br /&gt;&lt;br /&gt;"&lt;a href="http://video.google.com/videoplay?docid=6852841264192883219&amp;pr=goog-sl"&gt;Becoming a Software Testing Expert&lt;/a&gt;" na Google Video&lt;span style="color:gray;"&gt;&lt;/span&gt;&lt;b&gt;&lt;br /&gt;Opis:&lt;/b&gt; Google TechTalks, 13 Lipca 2006,  James Bach&lt;p&gt;"&lt;span style="font-style: italic;"&gt;Pracuję z zespołami projektowymi i poszczególnymi inżynierami aby pomóc im zaplanować proces zapewniania jakości oprogramowania (SQA), kontrolowania zmian oraz procesów testowych pozwalającym im zrozumieć i kontrolować ryzyka związane z niedziałaniem produktu. Większa część mojego doświadczenia związana jest z firmami nastawionymi na rynek z Doliny Krzemowej takimi jak Apple Computer czy Borland, więc techniki, których się nauczyłem i rozwinąłem zostały zaprojektowane tak aby korzystać z nich w warunkach napiętych harmonogramów, wysokiego wskaźnika zmian, technologii opartej na komponentach lub ubogiej specyfikacji.&lt;/span&gt;"&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight: bold;"&gt;STRESZCZENIE:&lt;/span&gt; "&lt;span style="font-style: italic;"&gt;Jesteście doświadczonymi testerami. Wiecie jak zaprojektować testy i raportować defekty. A teraz co? Czujecie się ekspertami? Na nieszczęście, jeśli chcecie stać się bardzo dobrymi w testowaniu, to nie macie wielu kursów lub programów do wyboru, które by wam pomogły. Oznacza to, że musicie edukować się sami. Ten przewodnik jest o tym jak znaleźć przejście z doświadczenia do bycia ekspertem. Bazuje on na szkole metodologii testowania "kierowania się kontekstem" (context-driven). Skupia się na tym co oznacza myśleć jak tester i jak projektować i krytykować praktyki testerskie (bardziej niż na tym aby po prostu kopiować co mówią wam "guru"). Pokażę wam także strategie samouczenia się i metody rozwoju sieci koleżeńskich. Jest to idealny kurs jeśli testowanie jest waszą karierą i zamierzacie się w nim doskonalić&lt;/span&gt;."&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Bezpośredni link: &lt;span style="font-size:85%;"&gt;&lt;a href="http://video.google.com/videoplay?docid=6852841264192883219&amp;pr=goog-sl"&gt;http://video.google.com/videoplay?docid=6852841264192883219&amp;amp;pr=goog-sl&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-6728914983495962956?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/6728914983495962956/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=6728914983495962956&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6728914983495962956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/6728914983495962956'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/02/jak-zosta-ekspertem-od-testowania-czyli.html' title='Jak zostać ekspertem od testowania czyli &quot;Becoming a Software Testing Expert&quot; na Google Video'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-8810546058212688025</id><published>2007-01-22T21:22:00.000+01:00</published><updated>2007-04-23T17:03:28.129+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Defekty'/><category scheme='http://www.blogger.com/atom/ns#' term='Stymulowanie jakości (QA)'/><title type='text'>Kiedy incydent staje się defektem</title><content type='html'>Co robią testerzy? Każdy machinalnie odpowie, że zgłaszają defekty... ale czy to jest prawda?! A jeśli nie zgłaszają defektów...&lt;br /&gt;&lt;br /&gt;Oczywiście wszystko zależy od definicji, których jest mnóstwo w literaturze i internecie. Ale tak czy siak każdy kto choć trochę testował jest w stanie defekt określić jako mniej więcej "podejrzane zachowanie systemu" (&lt;a title="Definicja wg. Kopalińskiego" target="blank_" href="http://www.slownik-online.pl/kopalinski/166899A9C982BCF2412565B7003B32D6.php"&gt;1&lt;/a&gt;). Problem zaczyna się kiedy zaczniemy wnikać w szczegóły - gdzie zwykle diabeł nocuje.&lt;br /&gt;&lt;br /&gt;Mnie zawsze interesowało co oznacza "podejrzane". Na jakiej podstawie stwierdzamy, że to konkretne działanie jest podejrzane a inne nie... oczywiście, że dużo zależy od doświadczenia, wiedzy, rozumienia systemu i reguł biznesowych nim rządzących ale i tak w każdym porządnym systemie ewidencji defektów istnieje flaga "To nie defekt" ("Not a bug") albo "Działa OK" ("Work as designed") lub inne temu podobne.&lt;br /&gt;&lt;br /&gt;Wskazuje to na fakt, iż w jakiejś mierze jest to zgadywanie poparte bardziej (większe prawdopodobieństwo) lub mniej (mniejsze prawdopodobieństwo), iż poprzez proces intelektualny &lt;span style="font-weight: bold;"&gt;opisane przez nas symptomy będą rzeczywiście wskazywać na defekt&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Oznacza to, iż nie można tak zwanych raportów z defektów pozostawić samych sobie czyli systemowi ewidencji i zaszytemu w nim procesowi przetwarzania cyklu życia defektu. Według mnie takie systemy - a zwłaszcza cykle - nie obejmują tylko defektu obejmują także &lt;a title="Definicja wg. Kopalińskiego" target="blank_" href="http://www.slownik-online.pl/kopalinski/1E04170406FFE5C2C12565E1007E985D.php"&gt;incydent&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Incydent staje się defektem dopiero po potwierdzeniu (czy to przez architekta, szefa działu rozwoju oprogramowania, lub biura do spraw jakości lub kogokolwiek innego władnego w tym zakresie) staje się on defektem. W ten sposób można oszczędzić wiele pracy i czasu przy naprawianiu nieistniejących defektów (efekt "brzydkiego kaczątka") lub poprawianiu funkcjonalności, która działa zgodnie ze specyfikacją.&lt;br /&gt;&lt;br /&gt;Niestety, większość firm, z którymi ja miałem doczynienia podchodzi do zarządzania incydentami dosyć spolegliwie. Jedynym wyjątkiem są sytuacje, w których odbiorca zastrzega sobie kontrolę nad procesem dostawy.&lt;br /&gt;&lt;br /&gt;Nie będę tutaj przytaczał konkretnych przykładów jednak chciałbym wymienić kilka zagrożeń związanych z takim macoszym traktowaniem defektów:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Naprawa nieistniejących defektów&lt;/li&gt;&lt;li&gt;Poprawa funkcjonalności nie wymagających takowej poprawy&lt;/li&gt;&lt;li&gt;Strata czasu inżynierów rozwoju oprogramowania&lt;/li&gt;&lt;li&gt;Komplikowanie rozwiązań&lt;/li&gt;&lt;li&gt;Utrata świadomości lub raczej wyczucia systemu&lt;/li&gt;&lt;li&gt;Brak zrozumienia natury procesu rozwoju konkretnego produktu&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AD #1&lt;/span&gt;&lt;br /&gt;To chyba jest oczywiste więc nie będę się rozpisywał. Chodzi po prostu o naprawianie czegoś co nie wymaga naprawy, a co naprawione niepotrzebnie na 100% wygeneruje więcej błędów. Następnie w czasie pomiędzy naprawianiem tego czegoś a wycofaniem tej naprawy, te "wirtualne" defekty zostaną naprawione co w sytuacji wycofania zmiany pierwotnej wygeneruje kolejny poziom defektów... taka baba w babie... a ponieważ nie zawsze da się utrzymać ścisły związek pomiędzy defektami a zmianami w kodzie... to mamy gotowy duży problem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AD #2&lt;/span&gt;&lt;br /&gt;Sytuacja podobna do poprzedniej... choć chyba ma większy wpływ na systemy wbudowane niż serwerowe. Czasami wyżyłowanie jednego parametru może spowodować kolosalne szkody.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AD #3&lt;/span&gt;&lt;br /&gt;To chyba też oczywistość... nie chodzi tylko o czas zużyty na naprawę ale potem czas zużyty na "odkręcanie" tego...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AD #4&lt;/span&gt;&lt;br /&gt;Jeśli w porę nie zostanie określone czy dany incydent jest, czy nie jest defektem, bardzo często dokonuje się tak zwanej "aktualizacji dokumentacji" poprzez np. żądania zmian (change requests). Jeśli taka nielegalna zmiana zostanie uznana za oficjalną to może się okazać, że implementuje się funkcjonalność do której system nie jest w ogóle przeznaczony... a konsekwencją tego jest oczywiście lawina defektów...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AD #5&lt;/span&gt;&lt;br /&gt;Tutaj mam na myśli raczej fakt, wiele zmian "ułatwia" zapomnienie o końcowym celu projektu i "szatkowania" go poprzez problemy bieżące. Choć może z drugiej strony może to pozwala zrozumieć lepiej naturę problemu!?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AD #6&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;Tutaj chcę podkreślić tezę, że "brak uczestnictwa kierownictwa projektu w takim wydarzeniu jak przegląd defektów pozbawia go wyczucia natury projektu", jego problemów, ograniczeń oraz możliwości rozwoju. Jest to po prostu spolegliwe pozbywanie się ogromnych zasobów wiedzy... wiedzy która nie wynika tylko z raportów o incydentach ale także z komentarzy różnych stron uczestniczących w projekcie. Dodatkowo pozwala w łatwy sposób dystrybuować specyficzną dla danej strony projektu (np. testerów) wiedzę na całą populację projektu co znakomicie ułatwia rozwijanie łańcuchów komunikacyjnych w obrębie projektu.&lt;br /&gt;&lt;br /&gt;Reasumując, uważam że raporty zgłaszane przez testerów powinny być traktowane jako raporty z incydentów a dopiero po potwierdzeniu i weryfikacji u programistów, architektów lub innych kompetentnych osób powinien być akceptowany jako bug. Następnym natomiast krokiem powinno być zdecydowanie czy dany defekt naprawiać czy nie... ale to już inna historia.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-8810546058212688025?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/8810546058212688025/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=8810546058212688025&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8810546058212688025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/8810546058212688025'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2006/12/kiedy-incydent-staje-si-defektem.html' title='Kiedy incydent staje się defektem'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-3243835505796185273</id><published>2007-01-05T22:09:00.000+01:00</published><updated>2007-01-13T22:10:15.685+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eksploracja'/><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Strategia testowania'/><title type='text'>Testy eksploracyjne  wyjaśnione??</title><content type='html'>James Bach w swoim artykule "&lt;a href="http://www.satisfice.com/articles/et-article.pdf"&gt;Exploratory testing explained&lt;/a&gt;" stara się wytłumaczyć czym dokładnie są testy eksploracyjne. I rzeczywiście o ile z punktu widzenia testera wydaje się to bardzo interesującą ideą o tyle z punktu praktycznego narodziło mi się kilka wątpliwości:&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Pytanie #1&lt;/h4&gt;W opisie karty testów eksploracyjnych (ang. testing charter) Bach zakłada istnienie podręcznika użytkownika.&lt;br /&gt;&lt;hr /&gt;    O ile spotykałem wiele projektów - o wiele więcej niż to zwykło się narzekać w literaturze - z całkiem przyzwoitą dokumentacją o tyle nie spotkałem jeszcze projektu, który wyprodukowałby podręcznik użytkownika przed wyprodukowaniem samego systemu. Powoływanie się na podręcznik użytkownika, w zbudza moją wielką wątpliwość. Ale to nawet nie jest istotne... tak czy siak ET potrzebuje jakiejkolwiek dokumentacji aby móc przygotować sobie tą kartę testów. Oczywiście w tej chwili można dyskutować na temat użyteczności takiej karty. Według mnie im skromniejsze rozmiary - w sensie merytorycznym - tym silniejsze będą następujące problemy:&lt;br /&gt;&lt;ol&gt;&lt;ol&gt;&lt;li&gt;trudności z zatrudnianiem studentów&lt;/li&gt;&lt;li&gt;trudności z zatrudnianiem zewnętrznych konsultantów&lt;/li&gt;&lt;li&gt;trudności z raportowaniem&lt;/li&gt;&lt;li&gt;brak wymienności wykonawców testów&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;AD1:&lt;/span&gt; W dużych firmach często stosuje się metodę zatrudniania studentów do prostych prac. Np. do wykonywania testów. Ta czynność przestaje być opłacalna gdyż przy pomocy karty testów, testy wykonać może tylko doświadczony tester znający zagadnienia z dziedziny testowania.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AD2&lt;/span&gt;: Ten problem nie jest znaczny - zakładając ze zatrudniamy profesjonalistów - ale zawsze należy doliczyć czas potrzebny na tzw. "rozruch" względem karty.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AD3&lt;/span&gt;: Bardzo często w dużych firmach wykonanie czegoś równa się dostarczenie raportu z wykonania tego czegoś. Tak samo jest z testami... bardzo często raport z testów stanowi integralną cześć dokumentacji projektowej przedstawianej kierownikowi projektu, zarządowi czy klientom. Bardzo często od tego dokumentu uzależnione są dalsze kroki w projekcie.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AD4:&lt;/span&gt; Ten punkt łączy się z pierwszym. W razie rotacji w zespole ucieka także cała wiedza i nic nie pozostaje na miejscu oprócz karty testów i raportów z defektów.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Pytanie #2&lt;/h4&gt;Wydaje się, że znaczna część karty testów może powstać na podstawie dokumentacji (nawet jeśli sama karta jest skromnych rozmiarów).&lt;hr /&gt;To jest coś co jest napisane między wierszami ale zdziwiło mnie powoływanie się na chociażby wyżej wymieniony podręcznik użytkownika.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Pytanie #3&lt;/h4&gt;Testowanie obsługi błędów - skąd wiadomo, kiedy i jakie te błędy mają się pojawić. Mocno związane z zagadnieniem weryfikowalności poprawności wyników.&lt;hr /&gt;Obiekcja, która rodzi się tutaj jest związana z weryfikowalnością wyników, np. skąd wiemy, że wygenerowaliśmy wszystkie scenariusze obsługi błedów? Dodatkowo skąd wiemy, że akurat ten a nie inny komunikat powinien się pojawić w danym miejscu?&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Pytanie #4&lt;/h4&gt;"&lt;span style="font-style: italic;"&gt;In freestyle exploratory testing, the only official result that comes from a session of ET is a set of bug reports&lt;/span&gt;."&lt;br /&gt;Można to przetłumaczyć jako "&lt;span style="font-style: italic;"&gt;W swobodnym stylu testów eksploracyjnych, jedynym oficjalnym rezultatem testów jest zbiór raportów defektów"&lt;/span&gt;&lt;hr /&gt;Idea całkiem słuszna. Jednak z praktycznego punktu widzenia mało realizowalna. W dużych firmach istnieje silny nacisk na udokumentowywanie i powtarzalność wykonywanych testów. Jest to pośrednio związane z rotacją kadry ale przede wszystkim z faktem, że firmy świadczą usługi na rzecz innych firm - swoich klientów. Bardzo często klienci zainteresowani są sposobem w jaki dana funkcjonalność zostąła przetestowana. Co więcej bardzo często procedura testów akceptacyjnych przygotowywana przez dostawcę jest częścią produktu przekazywanego klientowi i wchodząca w zakres testów akceptacyjnych wykonywanych przez klienta przy odbiorze produktu.&lt;br /&gt;Tak więc w mojej opinii praktyczne zastosowanie tej zasady jest możliwe przy małych projektach lub przy projektach wewnętrznych gdzie odbiorcą jest rynek a firma jest pewna swoich procesów stymulowania jakości.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Pytanie #5&lt;/h4&gt;&lt;span style="font-style: italic;"&gt;Tester uprawiający testy eksploracyjne jest zawsze i przede wszystkim projektantem testów. Kazdy może przypadkowo zaprojektować test, jednak profesjonalny tester eksploacyjny jest w stanie zmajstrować testy systematycznie eksplorujące produkt. Wymaga to takich umiejętności jak, zdolność analizowania produktu, szacowanie ryzyka, wykorzystanie narzędzi oraz przede wszystkim krytycznego myślenia&lt;/span&gt;"&lt;br /&gt;[oryg.] "&lt;span style="font-style: italic;"&gt;An exploratory tester is first and foremost a test designer. Anyone can &lt;/span&gt;&lt;span style="font-style: italic;"&gt;design a test accidentally, the excellent exploratory tester is able to craft tests that &lt;/span&gt;&lt;span style="font-style: italic;"&gt;systematically explore the product. That requires skills such as the ability to analyze a &lt;/span&gt;&lt;span style="font-style: italic;"&gt;product, evaluate risk, use tools, and think critically, among others.&lt;/span&gt;" &lt;hr /&gt;Nic dodać, nic ująć... w pełni zgadzam się z tym twierdzeniem! To czego nie rozumiem, to dlaczego jest ono adresowane tylko do testerów uprawiających testy eksploracyjne. Dokładnie takie same przymioty potrzebne są testerom uprawiającym inne metodyki. Zaprojektowanie przypadku testowego wymaga wiedzy o produkcie. Wymaga takrze umiejętności oszacowania w którym miejscu można znaleźć defekty szczególnie groźne dla produktu. Następnie trzeba posiadać wiedzę na temat narzędzi z jakich można skorzystać w trakcie projektowania i/lub wykonywania tego przypadku testowego. A to wszystko jest możliwe kiedy jesteśmy krytycznie nastawieni od testowanego systemu ale potrafimy odrzucić te sugestie krytycyzmu, które nie wnoszą do jakości produktu nieczego oprócz naszej satysfakcji ze znalezienia buga.&lt;br /&gt;Formalne zapisanie przypadku testowego to tylko opcja. I dlatego nie zgodzę sie, że takie ujęcie dotyczy tylko testerów od ET.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Pytanie #6&lt;/h4&gt;&lt;span style="font-style: italic;"&gt;W praktyce, konkretny tester jest często permanentnie przypisany od jednego zbioru komponentów, aby projekt korzystał z regularnej krzywej uczenia [oryg.]&lt;/span&gt; "&lt;span style="font-style: italic;"&gt;In practice, a particular tester is often permanently assigned to one set of components, so that the project benefits from an &lt;/span&gt;&lt;span style="font-style: italic;"&gt;uninterrupted learning curve&lt;/span&gt;"&lt;hr /&gt;Biorąc pod uwagę słowa "permanentnie" i "często" trudno się tutaj ustosunkować bardzo zasadniczo. Ale uważam, że niezbędne jest tutaj słowo komentarza. Po pierwsze chyba każdy - nawet nie bardzo doświadczony manager testów - zdaje sobie sprawę, że komponent testowany w kółko przez tą samą osobą jest narażony na mutację syndromu pestycydów. Wynika to ze zwykłego znudzenia. Jeśli nie bierze tego pod uwagę to ma problemy i to duże bo będzie to rzutowało na morale całego zespołu. Znudzenie bardzo szybo się rozprzestrzenia.&lt;br /&gt;Drugim aspektem tego zagadnienia jest to, że tworzenie unikalnych specjalistów nie jest dobrym sposobem na budowanie zespołu. Wiedza w takim zespole przyrasta znacznie wolniej.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Pytanie #7&lt;/h4&gt;[...] &lt;span style="font-style: italic;"&gt;regularne spotkania z testerami w celu omówienia postępów, przynajmniej raz w tygodniu [oryg/] "regular meetings with testers to discuss test progress, at least once per week.&lt;/span&gt;"&lt;hr /&gt;Bardzo szlachetna idea i na pewno daje doskonałe wyniki w środowisku jednego dużego projektu. Natomiast jest to kompletna klapa w środowisku wieloprojektowym gdzie kierownik projektu prowadzi na raz kilka projektów, a w strukturze projektu istnieje kilka grup (np. integracja, migracja, testy, logika biznesowa, GUI, itp). W takim przypadku nie jest to możliwe. Natomiast tutaj doskonale sprawdzają się raporty omawiające status, wcześniej uzgodnione z kierownikiem projektu.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Pytanie #8&lt;/h4&gt;&lt;span style="font-style: italic;"&gt;Tester jako samotny lider&lt;hr /&gt;&lt;/span&gt;Nie wiem skąd to się wzięło ale jest to pomyłka i to straszna. Każdy tester działa w środowisku biznesowym i jego "meta-kontekstem" to właśnie środowisko. Ale jednocześnie, aby móc wykonywać swoje zadania sumiennie, nie bada pulsu tego środowiska. Robi to za niego jego kierownik, kierownik projektu, itd. A więc w sytuacji, w której środowisko biznesowe ulegnie zmianie, należy natychmiast zmienić kierunek testowania bez względu na to jak słuszna jest idea testów prowadzonych w chwili obecnej.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-3243835505796185273?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/3243835505796185273/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=3243835505796185273&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3243835505796185273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3243835505796185273'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/01/testy-eksploracyjne-dokumentacja-cz-ii.html' title='Testy eksploracyjne  wyjaśnione??'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-2782236221938867724</id><published>2007-01-05T11:12:00.000+01:00</published><updated>2007-01-06T17:52:02.124+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Recenzja'/><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Techniki testowania'/><title type='text'>Przewodnik dla praktyków</title><content type='html'>&lt;div style="text-align: left;"&gt;    W 2003 roku, po raz pierwszy ukazała się drukiem książka Lee Copelanda, "&lt;a href="http://www.amazon.com/Practitioners-Guide-Software-Test-Design/dp/158053791X/sr=8-1/qid=1167988887/ref=pd_bbs_sr_1/104-2776432-3763939?ie=UTF8&amp;s=books" target="_new"&gt;&lt;span style="font-style: italic;"&gt;A Practitioner's Guide to Software Test Design&lt;/span&gt;&lt;/a&gt;" nakładem wydawnictwa &lt;a href="http://www.artechhouse.com/default.asp?frame=book.asp&amp;book=1-58053-791-X&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;Country=&amp;Continent=EU&amp;amp;State="&gt;Artech House Publishing&lt;/a&gt;. Niestety książka wydana jest w języku angielskim co stanowi duże ograniczenie dla polskiego odbiorcy... ale mam nadzieję  nie jest to ograniczenie niedopokonania (w chwili obecnej pracuję nad tłumaczeniem tej książki).&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Wydanie&lt;/h4&gt;&lt;div style="text-align: left;"&gt;    Książka wydana została w twardej oprawie, z foliowaną okładką. Układ druku jest przejrzysty i  dosyć duży co na pewno ułatwia czytanie i korzystanie z niej. Każdy rozdział stosuje tą samą strukturę: wstęp, opis techniki, przykłady, opis zastosowania i ograniczeń, podsumowanie, ćwiczenia oraz literaturę referencyjną.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Dodatkowo, najważniejsze treści umieszczone zostały na zewnętrznych marginesach jako punkty kluczowe pozwalające w łatwy sposób znaleźć interesującą czytelnika treść. Ilustracje niestety są czarno-białe i dość kiepskiej jakości ale nie przeszkadza to w ogólnym odbiorze.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Wydawca wyposażył książkę w indeks a autor jako dodatek przygotował spis literatury pomocnej w dalszym zgłębianiu opisywanych zagadnień. Dodatkowo, umieszczono dwa załączniki zawierające studium przypadku: jeden to firma brokerska a druki to internetowy system rejestracji. Większość ćwiczeń zaproponowanych w tej książce odnosi się do tych studiów co w miarę łatwy sposób pozwala na ich wykonanie.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Książka prezentuje 7 technik testowania czarną skrzynką oraz dwie techniki testowania białą skrzynką.&lt;br /&gt;&lt;/div&gt;&lt;h4&gt;Treść&lt;/h4&gt;    Struktura książki nominalnie podzielona jest na 5 sekcji, jednak w rzeczywistości zawiera tych sekcji 6 plus dwa załączniki.&lt;br /&gt;&lt;br /&gt;Sekcja pierwsza zawiera podziękowania autora dla osób, które przyczyniły się do powstania tej książki. Czytelnik znajdzie tutaj również rozdział poświęcony procesowi testowania wraz z próbą diagnozy współczesnych wyzwań w stosunku do testowania oprogramowania oraz opisem poziomów testowania zapożyczonym od Beizera.&lt;br /&gt;&lt;br /&gt; Nominalna sekcja I skupia się na czarnoskrzynkowych technikach testowania i opisuje w kolejności:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;testowanie w oparciu o klasy równoważności&lt;/li&gt;&lt;li&gt;testowanie wartości granicznych&lt;/li&gt;&lt;li&gt;testowanie tabelami decyzyjnymi&lt;/li&gt;&lt;li&gt;testowanie parami&lt;/li&gt;&lt;li&gt;testowanie przejść stanów&lt;/li&gt;&lt;li&gt;testowanie analizą dziedzin&lt;/li&gt;&lt;li&gt;testowanie przypadków użycia&lt;/li&gt;&lt;/ul&gt;Każda z tych technik opatrzona jest komentarzem metodologicznym oraz rozważaniami związanymi z ich ograniczeniami i wykorzystaniem. W trakcie lektury czytelnik ma możliwość śledzenia całego procesu danego podejścia poprzez wplatanie wielu drobnych przykładów oraz objaśnień. Aczkolwiek, nie pozostawia to niedomówień, których jest mnóstwo ale z którym czytelnik będzie sobie musiał poradzić sam.&lt;br /&gt;&lt;br /&gt; Nominalna sekcja II opisuje techniki testowania białą skrzynką. Autor tutaj wymienia tylko dwie:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;testowanie kontroli przepływu&lt;/li&gt;&lt;li&gt;testowanie przepływu danych&lt;/li&gt;&lt;/ul&gt;Znakomitą część opisu tych technik stanowi synteza książek Myersa "&lt;a href="http://helion.pl/ksiazki/artteo.htm"&gt;&lt;span style="font-style: italic;"&gt;Sztuka testowania oprogramowania&lt;/span&gt;&lt;/a&gt;" oraz Bindera "&lt;a href="http://www.wnt.pl/product.php?action=0&amp;prod_id=399&amp;amp;hot=1"&gt;&lt;span style="font-style: italic;"&gt;Testowanie systemów obiektowych&lt;/span&gt;&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt; Sekcja III zajmuje się opisem paradygmatów testowych. Tutaj najciekawszym fragmentem określiłbym rozdział 13 opisujący testy eksploracyjne porównując je do &lt;a href="http://en.wikipedia.org/wiki/20_questions"&gt;gry w 20 pytań&lt;/a&gt; (ciekawostkę na gruncie polskim można znaleźć &lt;a href="http://pl.wikipedia.org/wiki/20_pyta%C5%84"&gt;tutaj&lt;/a&gt;). Znalazło się tutaj także miejsce aby naświetlić problem planowania testów.&lt;br /&gt;&lt;br /&gt; Sekcja IV zajmująca się technologiami wspomagającymi, w rzeczywistości skupia się na taksonomiach defektów oraz kryteriach zakończenia całego procesu testowania.&lt;br /&gt;&lt;h4&gt;Uwagi końcowe&lt;/h4&gt;    Całość napisana jest w stylu, który określiłbym jako "synkretyczny"... w tym znaczeniu, że autor nie potrafi się zdecydować czy adresuje wypowiedź do jednej osoby, liczniejszej publiczności czy też bez osobowo.&lt;br /&gt;&lt;br /&gt;W kilku miejscach miałem wrażenie, że autor przedobrzył z upraszczaniem zagadnienia wprowadzając niedomówienia ale z całą pewnością nie jest to błąd poważny. Jednym słowem uważam, że jest to bardzo interesująca pozycja z punktu widzenia czytelnika zajmującego się kontrolą jakości oprogramowania. Pozwala ona zweryfikować dotychczas posiadaną wiedzę oraz poszerzyć ją tam gdzie tego wymaga.&lt;br /&gt;&lt;br /&gt;Dodatkowo, książka zawiera wiele odnośników do narzędzi lub stron internetowych wyjaśniających dogłębniej niektóre, bardziej skomplikowane kwestii.&lt;br /&gt;&lt;br /&gt;Z pewnością zaliczyłbym tą pozycję do lektur obowiązkowych dla każdego, kto uważa się za profesjonalnego testera.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-2782236221938867724?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/2782236221938867724/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=2782236221938867724&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2782236221938867724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/2782236221938867724'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2007/01/przewodnik-dla-praktykw.html' title='Przewodnik dla praktyków'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-7521292978229108924</id><published>2006-12-19T10:10:00.000+01:00</published><updated>2007-01-06T12:46:41.193+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><title type='text'>Testowanie jako oddzielna dyscyplina</title><content type='html'>&lt;span style="font-size:100%;"&gt;W&lt;/span&gt;ygląda na to, że w aspekcie szkoleń, testowanie oprogramowania nie jest samodzielną dziedziną ale raczej "przyczepką" do procesu wytwarzania oprogramowania. Nie spotkałem jeszcze szkolenia (może oprócz programu &lt;a href="http://www.istqb.org/"&gt;ISTQB&lt;/a&gt; a i to przy dużym nakładzie dobrej woli) , które mówiłoby tylko o testowaniu w kontekście testowania. Przeważnie są to szkolenia w dużej mierze o cyklu wytwarzania oprogramowania. Dużo mówi się o technikach kodowania i jako dodatek do tego naświetla się  testowanie.&lt;br /&gt;&lt;br /&gt;Z jednej strony jest to usprawiedliwione gdyż testowanie oprogramowania nie istnieje w oderwaniu od cyklu wytwarzania oprogramowania. Testowanie zajmuje się produktem programistów. Ale to jest chyba jedyny związek, który według mnie wcale nie usprawiedliwia takiego macoszego traktowania.&lt;br /&gt;&lt;br /&gt;Powstaje coraz więcej firm, zajmujących się testowaniem oprogramowania na zasadzie outsourceingu. Nawet sami guru testów tacy jak &lt;a href="http://www.rexblackconsulting.com/Pages/aboutus.htm"&gt;Rex Black&lt;/a&gt; twierdzą, że &lt;a href="http://www.rexblackconsulting.com/publications/Five%20Trends.pdf"&gt;outsourceowanie&lt;/a&gt; jest przyszłością testów. Ergo, wydaje się logiczną konsekwencją, że testowanie będzie musiało stać się bardziej niezależną dziedziną... niezależną od procesu rozwoju oprogramowania.&lt;br /&gt;&lt;br /&gt;Ja jestem przekonany, że już się tak jest! Nawet w dużych korporacjach jest możliwe wydzielenie niezależnego działu posiadającego własną metodologię, własne procesy i własny harmonogram realizującego  zadania testowe w  sposób bardzo efektywny.  Paradoksalnie - w mojej opinii - powinno się to przyczynić do podniesienia jakości testów i jakości samego oprogramowania. Wyznaczając sobie samemu termin, dział testów nie będzie mógł tłumaczyć się, że czasu było za mało... ale to na inną dyskusję.&lt;br /&gt;&lt;br /&gt;Wracając do głównego wątku..., firmy oferujące szkolenia z zakresu testowania oprogramowania czynią to nie zwracając uwagi na aspekt opisany powyżej, czego konsekwencją jest konsumowanie znakomitej części czasu na opisywanie procesów zarządzania zmianą, tworzenia wymagań, itp. zamiast opisywać meritum czyli na samych testach.&lt;br /&gt;&lt;br /&gt;W związku z tym wydaje mi się, że o wiele bardziej wydajną metodą szkolenia własnych testerów jest wdrożenie własnego programu szkoleń opracowanych na podstawie doświadczeń konkretnego zespołu, kompetencji w zespole. Jednak do tego celu niezbędna jest inwestycja w samodzielne poszukiwanie informacji (książki, internet, konferencje, itp.) W takim przypadku uzyskuje się podwójny efekt: poszerzanie kompetencji oraz analizę własnych braków kompetencyjnych w zespole.&lt;br /&gt;&lt;br /&gt;Każdy, nawet najbardziej niedoświadczony zespół testerski posiada wyobrażenia związane z kształtem swoich zadań. Dodatkowo każdy inżynier poszukuje sposobów sposobów na rozwijanie własnej wiedzy i własnego warsztatu. Należy wykorzystać te dwa prądy w celu realizacji takiego przedsięwzięcia.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-7521292978229108924?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/7521292978229108924/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=7521292978229108924&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/7521292978229108924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/7521292978229108924'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2006/12/testowanie-jako-oddzielna-dyscyplina.html' title='Testowanie jako oddzielna dyscyplina'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-3393550833940545022</id><published>2006-12-12T22:58:00.000+01:00</published><updated>2007-01-03T13:48:31.285+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><title type='text'>Testy eksploracyjne - dokumentacja</title><content type='html'>Istnieje na rynku wiele narzędzi pozwalających dokumentować - w jakikolwiek sposób - testy eksploracyjne. Mają one jednak zasadniczą wadę... generalnie dotyczą tylko wybranego lub kilku wybranych systemów operacyjnych a przecież testy robi się na różnych systemach, różnych urządzeniach (np. tzw. systemy osadzone), w różnych warunkach. Czy istnieje możliwość udokumentowania testów eksploracyjnych w oderwaniu od systemu operacyjnego?&lt;br /&gt;&lt;br /&gt;Pierwsze co mi przychodzi do głowy to zwykły magnetofon... ale z drugiej strony nie wyobrażam sobie takiego miejsca pracy gdzie wszyscy siedzą i nagrywają "&lt;span style="font-style: italic;"&gt;a teraz klikam guzik "x" na oknie "y"&lt;/span&gt;". Poza tym nie wielki byłby zysk z tego bo nie znany byłby ogólny stan testowanego systemu. Powstanie takiego narzędzia to byłoby by wyzwanie...&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-3393550833940545022?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/3393550833940545022/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=3393550833940545022&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3393550833940545022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3393550833940545022'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2006/12/testy-eksploracyjne-dokumentacja.html' title='Testy eksploracyjne - dokumentacja'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-3831104284659105476</id><published>2006-12-04T18:46:00.000+01:00</published><updated>2007-01-06T19:45:03.808+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Testowanie (QC)'/><category scheme='http://www.blogger.com/atom/ns#' term='Stymulowanie jakości (QA)'/><title type='text'>QA czy QC</title><content type='html'>&lt;span style=""&gt;Problem, z którym borykam się praktycznie od początku swojego życia zawodowego jest nazewnictwo. Czy „testowanie oprogramowania” to jest &lt;i&gt;Quality Assurance&lt;/i&gt; czy &lt;i&gt;Quality Control. &lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Chciałbym z góry zaznaczyć, że jeśli mówimy tylko o testach oprogramowania (bez znaczenia czy mówimy o białej czy o czarnej skrzynce, czy też o krzyżówce tych dwóch) to jestem zwolennikiem &lt;i&gt;Quality Control&lt;/i&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style=""&gt;Quality Control&lt;/span&gt;&lt;/i&gt;&lt;span style=""&gt; czyli po polsku „kontrola jakości” jest procesem kontrolowania jakości oprogramowania (bo o takim kontekście mówimy). W żaden sposób nie wpływa ten proces nie wpływa na jakość a jedynie kontroluje ją, w znaczeniu mierzy poprzez wykonywanie procedur testowych na danym oprogramowaniu.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style=""&gt;Quality Assurance&lt;/span&gt;&lt;/i&gt;&lt;span style=""&gt; czyli po polsku “zapewnienie jakości”, zapewnia tą jakość poprzez implementację rozmaitych rozwiązań, narzędzi czy procesów. QA ma o wiele większy wpływ na „zwiększanie” lub „zmniejszanie” jakości poprzez nakładanie miar, dokonywanie audytów. Czyli &lt;i&gt;Zapewnianie jakości &lt;/i&gt;określa &lt;i&gt;kontrolę jakości&lt;/i&gt; ale nie odwrotnie.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Szukając porównania do tych dwóch aktywności doszedłem do takiego wniosku:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;span style=""&gt;            &lt;/span&gt;„&lt;i style="font-weight: bold;"&gt;Zapewnianie jakości ma się do kontroli jakości tak jak klimatyzacja do termometru. Termometrem możemy jedynie zmierzyć temperaturę powietrza natomiast na podstawie tego pomiaru klimatyzacja może podwyższyć lub obniżyć temperaturę powietrza.&lt;/i&gt;”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Oczywiście nie wiem czy jest to do końca słuszne spostrzeżenie. Jakkolwiek istotne dla mnie jest aby kierownicy projektów zrozumieli, iż testy w żaden sposób nie „dodadzą” lub nie „dostarczą” jakości do testowanego oprogramowanie. Testy jedynie zmierzą tą jakość przy pomocy miar zdefiniowanych przez dział testów (w mojej opinii gorsze wyjście ale bardziej popularne) lub stworzonych w oparciu o firmowe kryteria i narzucone przez dział „Zapewniania jakości”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Przy tworzeniu działów testów – co wydaje się pierwszym krokiem w kierunku jakości – w firmach, naturalnym wydaje się wybranie ścieżki „czarnej skrzynki”. Dzieje się tak z różnych względów, których nie będę tutaj omawiał. Ja uważam, ze o wiele elastyczniejszym rozwiązaniem byłoby wprowadzenie działu zapewniania jakości – nawet w postaci komórki jednoosobowej.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Odpowiedź na pytanie „dlaczego” jest bardzo prosta. Jeśli wyposażymy tą komórkę w odpowiednie upoważnienia na poziomie organizacji, będzie ona w stanie wykreować „zachowania testujące” nawet bez konkretnego działu testów. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Nazywanie działów testujących oprogramowanie jest niepoprawne – moim zdaniem – z wielu względów (wymienię tutaj tylko trzy):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0cm;" type="square"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=""&gt;zamazuje to rzeczywistą potrzebę stworzenia      takiego działu w organizacji&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=""&gt;powoduje, iż osoby wykonujące testy skupiają      się na „mitologicznej jakość idealnej” gubiąc w swoich obowiązkach      kontekst biznesowy&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style=""&gt;po pewnym czasie zgłaszają aspiracje do kompetencji      do których tak naprawdę nie posiadają zdolności.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style=""&gt;Niebezpieczeństwo zamazanie prawdziwej potrzeby takiego działu w organizacji&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt; objawia się z reguły zwiększonymi oczekiwaniami do działu testów względem „dodawania” jakości. Taki uproszczony schemat, że im więcej testów tym więcej jakości. Wydaje się przy tym pojawiać fenomen przypisywania działowi testów umiejętności, których on nie posiada (np. wpływanie na kształt developmentu, wpływanie na jakość produktów developmentu) co prowadzi o zaostrzania metryk przyjmowania oprogramowania do testów tworzonych przez samych testerów co finalnie spowalnia proces wytwarzania oprogramowania.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style=""&gt;Niebezpieczeństwo mitologicznej jakości idealnej&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt; objawia się w tym, iż testerzy zaczynają fantazjować na temat cudownych procesów (których nota bene nigdy nie zbudują) zapewniających im komfort spędzania czasu przy projektowaniu bardzo wyrafinowanych i chytrych przypadków testowych, znajdujących głęboko ukryte i bardzo poważne defekty. Powoduje to, odwrócenie ich uwagi od rzeczywistych zadań związanych z projektowaniem i wykonywaniem przypadków testowych w pierwszym rzędzie sprawdzających czy system spełnia wymagania i w drugim rzędzie czy system spełnia normy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style=""&gt;Niebezpieczeństwo zgłaszania nieuprawnionych aspiracji do kompetencji&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt; objawia się zaostrzaniem oczekiwań co do jakości oprogramowania, próba kreowania sztucznych procesów w żaden sposób nie sprzęgniętych z logiką biznesową organizacji ani jej potrzebami. Skutkuje to „wyorbitowaniem” zespołu testów poza kontekst biznesowy.&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-3831104284659105476?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/3831104284659105476/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=3831104284659105476&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3831104284659105476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/3831104284659105476'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2006/12/qa-czy-qc.html' title='QA czy QC'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-7712747597806293915</id><published>2006-12-03T00:00:00.003+01:00</published><updated>2010-10-21T14:10:08.927+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Historia zmian</title><content type='html'>Ten wpis jest sztuczny i został utworzony 18 maja 2007 roku. Ma on służyć jedynie jako zapis zmian dokonywanych w tym blogu.&lt;br /&gt;&lt;br /&gt;22 października 2010&lt;div&gt;&lt;ul&gt;&lt;li&gt;drobne zmiany związane z wyglądem&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;18 grudnia 2009&lt;br /&gt;&lt;ul&gt;&lt;li&gt;dodanie elementu umożliwiającego przeszukiwanie bloga&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;22 lutego 2008&lt;br /&gt;&lt;ul&gt;&lt;li&gt;dodanie elementu "Komentarze" pokazującego 5 ostatnio dodanych komentarzy&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;07 grudnia 2007&lt;br /&gt;&lt;ul&gt;&lt;li&gt;zmiana wersji z 0.6 na 1.0&lt;/li&gt;&lt;li&gt;usunięcie oznaczeń wersji beta&lt;/li&gt;&lt;li&gt;zmiana szablonu układu graficznego&lt;/li&gt;&lt;li&gt;zmiana celu bloga&lt;/li&gt;&lt;li&gt;zmiana nagłówka  z "Polski blog o testowaniu oprogramowania" na "Blog o testowaniu oprogramowania"&lt;/li&gt;&lt;li&gt;generalnie zmiana charakteru na bardziej osobisty bo taki był w rzeczywistości&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;18 maja 2007&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Dodanie Google "Custom Search Engine". Wyszukiwarka, przeszukująca strony poświęcone testowaniu napisane po angielsku.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-7712747597806293915?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/7712747597806293915/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=7712747597806293915&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/7712747597806293915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/7712747597806293915'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2006/12/change-log.html' title='Historia zmian'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3702877477900757254.post-4156949033803306168</id><published>2006-12-02T20:56:00.000+01:00</published><updated>2006-12-27T20:32:13.938+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ogólne'/><title type='text'>Na początek</title><content type='html'>Na początek to nie mam za wiele do powiedzenia... generalnie to chciałem tylko zrobić pierwszy wpis.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://termometr.blogspot.com/"&gt;.::Termometr::.&lt;/a&gt;
&lt;i&gt;Polski blog o testowaniu oprogramowania&lt;/i&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3702877477900757254-4156949033803306168?l=termometr.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://termometr.blogspot.com/feeds/4156949033803306168/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3702877477900757254&amp;postID=4156949033803306168&amp;isPopup=true' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/4156949033803306168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3702877477900757254/posts/default/4156949033803306168'/><link rel='alternate' type='text/html' href='http://termometr.blogspot.com/2006/12/na-pocztek.html' title='Na początek'/><author><name>Tomasz Zdanowicz</name><uri>http://www.blogger.com/profile/13494249265720541011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
