You are on page 1of 39

OD REDAKCJI

Drodzy Czytelnicy! ści niniejszego wydania – mówi o tym, jak ważny i istotny jest
Z początkiem marca oddajemy dla Was w całości za darmo ma- odpowiednio przeprowadzony proces testowy, czyli o tym, co
gazyn SoftQA, poświęcony testowaniu oprogramowania. Znaj- powinno być najważniejsze dla solidnego testera – rzetelność
dziecie w nim artykuły dotyczące kontroli jakości w procesie i profesjonalizm w indywidualnym podejściu do każdego no-
wytwarzania oprogramowania oraz zasad współpracy pomię- wego projektu.
dzy testerem, a designerem systemu. Możecie również zapo- Zapraszam i życzę ciekawej, inspirującej lektury!
znać się z aktualnymi ofertami pracy dla testerów i nie tylko.
Polecamy też teksty o Scrum, outsourcingu testów oraz o szko- Pozdrawiam serdecznie,
leniach dla testerów. Ciekawy felieton „Jak zrazić użytkowni- Bartosz Gardocki
ków...” podsumowuje jednocześnie myśl przewodnią całej tre- Redaktor prowadzący

SPIS TREŚCI
4 TWORZYMY TECHNOLOGIE JUTRA tach prowadzonych według tradycyjnych metodologii (np. w mo-
delu kaskadowym) w porównaniu do wyżej wymienionych.
T. Gibas, M. Sapieszko, J. Szymańska
Skandynawska marka Tieto, znana w branży informatycznej dzię-
ki stosowaniu nowoczesnych technologii, oferująca usługi IT, R&D
oraz doradcze, obecna w prawie 30 krajach na całym świecie, ma 15 TEST JAKO NAJWYŻSZA FORMA
swoją siedzibę również w Polsce. DESIGNU
Marek Głowacki
Tytułowe stwierdzenie dla jednych może być niezrozumiałe, dla
7 TESTY OPROGRAMOWANIA innych tylko przewrotne, ale jest też niemała grupa osób, dla któ-
I ICH RODZAJE rych jest… oczywiste. I nie chodzi tu o miłośników metody Test
Driven Development, ale o testerów w tradycyjnym rozumieniu
Mirosław Dąbrowski tego słowa.
Systemy informatyczne odgrywają kluczową rolę w środowisku
biznesowym. Złożoność tych systemów stale rośnie, a nacisk kła-
dziony na branżę IT dąży w kierunku dostarczania w krótszym
czasie, przy mniejszym budżecie - usług najwyższej jakości. 17 TESTOWANIE OPARTE NA DANYCH
Anna Piaskowy, Radosław Smilgin
Dane testowe są nierozerwalnie związane z testowaniem opro-
gramowania. W kluczowej dla dokumentacji testerskiej normie IE-
9 TESTER CERTYFIKOWANY EE 829 Standard for Software Test Documentation jest określone,
Kamila Dec że informacja wejściowa jest ważną składową specyfikacji przy-
Już od kilku lat szkolenia przygotowujące do certyfikatu ISTQB padku testowego. Sygnałem wejściowym może być zarówno plik
(International Software Testing Qualifications Board) cieszą się wsadowy, jak i tablica. Jednak w większości przypadków będzie
w Polsce dużym powodzeniem. W tym czasie wielu testerów zdo- to wartość, czyli dana.
było certyfikat ISTQB na poziomie podstawowym.

21 OUTSOURCING TESTÓW
11 TESTOWANIE OPROGRAMOWANIA OPROGRAMOWANIA
A SCRUM Tomasz Watras
Paweł Kazienko Trendy w rozwoju rynku IT pokazują, że firmy coraz częściej
Osoby zajmujące się testowaniem oprogramowania, rozpoczyna- wspierają się outsourcingiem w rozwoju aplikacji. Dotyczy to
jący pracę w projektach prowadzonych zgodnie z wytycznymi tzw. praktycznie wszystkich obszarów: prowadzenia projektów, pro-
metodologii zwinnych (Agile), mają zazwyczaj problem z organiza- gramowania, utrzymywania centrów danych, wsparcia technicz-
cją pracy, czego przyczyną jest znaczna różnica widoczna w projek- nego, a w końcu testowania oprogramowania.

2 Dodatek SDJ
23 JAK ZRAZIĆ UŻYTKOWNIKÓW 34 TESTERZY + DEVELOPERZY =
I ZARYZYKOWAĆ UTRATĘ KLIENTA? SUKCES OPROGRAMOWANIA
Radosław Hofman Kamil Kaczmarek
Każdy wykształcony Kierownik Projektu, Projektant, Architekt, Zarządzanie zespołem i jakością oprogramowania – wprowadze-
a nawet Programista ma wpojone stwierdzenie, że jakość jest nie do Rational Team Concert i Rational Quality Manager
ważna. Można spodziewać się, że skoro o tym wiedzą, to wiedza
ta będzie przekładała się na takie planowanie działań, aby jakość
uzyskać. A jednak odbiorcy narzekają na jakość i niejednokrotnie
zgłaszany przez nich brak jakości staje się przyczyną odrzucenia
oprogramowania, które według producenta ma wysoki poziom
jakości. Dlaczego tak się dzieje?

Miesięcznik Software Developer’s Journal (12 numerów w roku)


jest wydawany przez Software Press Sp. z o.o. SK

25 PRACA
Aktualne oferty pracy dla testerów i programistów Redaktor naczelny:
Łukasz Łopuszański lukasz.lopuszanski@software.com.pl

Redaktor prowadzący:
28 CZY MOŻNA ZMIENIAĆ ŚWIAT Bartosz Gardocki bartosz.gardocki@software.com.pl

PRACUJĄC WE WROCŁAWIU LUB Projekt okładki: Agnieszka Marchocka


SZCZECINIE?
T. Gibas, M. Sapieszko, J. Szymańska Skład i łamanie:
Poznaj wypowiedzi pracowników firmy, której rozwiązania stoso- Tomasz Kostro www.studiopoligraficzne.com

wane są na całym świecie.


Kierownik produkcji:
Andrzej Kuca andrzej.kuca@software.com.pl

30 AUTOMATYZACJA TESTÓW Dział produkcji i kolportażu:

FUNKCJONALNYCH ZŁOŻONYCH Alina Stebakow alina.stebakow@software.com.pl

SYSTEMÓW INFORMATYCZNYCH NA Adres korespondencyjny:

PRZYKŁADZIE APLIKACJI KLASY ERP Software Press Sp. z o.o. SK,


ul. Bokserska 1, 02-682 Warszawa, Polska
tel. +48 22 427 36 91, fax +48 22 224 24 59
Tomasz Osojca www.sdjournal.org cooperation@software.com.pl
Systemy klasy ERP (ang. Enterprise Resource Planning) – syste-
my Zaawansowanego Zarządzania Zasobami – należą do rodzi- Dział reklamy: adv@software.com.pl
ny Zintegrowanych Systemów Informatycznych, czyli najbardziej
merytorycznie i technologicznie zaawansowanych systemów in-
formatycznych wspomagających zarządzanie w przedsiębior- Redakcja dokłada wszelkich starań, by publikowane w piśmie
stwach i instytucjach. i na towarzyszących mu nośnikach informacje i programy były
poprawne, jednakże nie bierze odpowiedzialności za efekty
wykorzystania ich; nie gwarantuje także poprawnego działania
programów shareware, freeware i public domain.

32 WYKORZYSTANIE ROZKŁADU Wszystkie znaki firmowe zawarte w piśmie są własności


WEIBULLA W SZACOWANIU odpowiednich firm.
Zostały użyte wyłącznie w celach informacyjnych.
PARAMETRÓW NIEZAWODNOŚCI
OPROGRAMOWANIA SOFTWARE Osoby zainteresowane współpracą prosimy o kontakt:

RELIABILTY
cooperation@software.com.pl

Krzysztof Senczyna
Sprzedaż aktualnych lub archiwalnych numerów pisma po
Celem artykułu będzie próba wprowadzenia klasycznego mode- innej cenie niż wydrukowana na okładce – bez zgody wydawcy
lu matematycznego z teorii niezawodności do obszaru badania – jest działaniem na jego szkodę i skutkuje odpowiedzialnością
właściwości oprogramowania, a konkretnie niezawodności tegoż sądową.
oprogramowania.

www.sdjournal.org 3
SoftQA

Tworzymy
technologie jutra
Skandynawska marka Tieto, znana w branży informatycznej dzięki
stosowaniu nowoczesnych technologii, oferująca usługi IT, R&D oraz
doradcze, obecna w prawie 30 krajach na całym świecie, ma swoją
siedzibę również w Polsce.

W
dwóch oddziałach: w Szcze- Niemiecki klient jest zadowolony z rezulta- Potem weryfikujemy poprawność rozwiąza-
cinie i Wrocławiu pracuje po- tów przeprowadzonych testów, a bliskość Nie- nia i działania systemu. Na zdiagnozowanie
nad 700 osób, z czego ponad miec i dogodne połączenie z ośrodkami nauko- i rozwiązanie problemu mamy maksymalnie
150 to doświadczeni inżynierowie testerzy wo-badawczymi usprawniają szybką komuni- 5 dni (...) – mówi Sami, Engineer of 3rd Li-
wykonujący m. in. testy funkcjonalne i ak- kację i wymianę sprzętu testowego. W każdej ne Technical Support.
ceptacyjne dla czołowych operatorów tele- chwili jesteśmy gotowi pojechać do dowolnego
komunikacyjnych m. in. z Finlandii, Ku- klienta, nie tylko w Niemczech, i na jego życze- Testowy „wydział
wejtu, Niemiec, Kanady, czy Izraela. Tech- nie przeprowadzić dowolne testy (...) – mówi dochodzeniowo – śledczy”
nologie mobilne I-HSPA, LTE, jak również Marcin, Test Engineer. (...) Zajmujemy się najcięższymi przypadka-
ugruntowane już na rynku technologie sta- mi. Można by rzec: wydział dochodzeniowo
łego dostępu, takie jak np. xDSL - to ob- Diagnozujemy i rozwiązujemy – śledczy w obszarze testów. W każdej chwi-
szary codziennej pracy dla testerów w fir- problemy maksymalnie w 5 dni li jesteśmy również gotowi pojechać na „miej-
mie Tieto. (…) Inżynierowie pierwszej i drugiej linii sce zdarzenia” i udzielić klientowi potrzebne-
Nowe trendy, które dyktuje rynek, od za- wsparcia technicznego zgłaszają problemy go wsparcia technicznego. Szybkość działania
wsze wyznaczają nasze kolejne zadania. związane z instalacją lub działaniem syste- – tym się przede wszystkim wyróżniamy. Jest
Dlatego właśnie nie brakuje nas wśród spo- mu napotkane przez klientów końcowych, czy- to praca wymagająca dużego zaangażowa-
łeczności zajmujących się nowościami w sys- li firmy telekomunikacyjne. Zadaniem Trze- nia i poświęceń, szczególnie w okresie wdra-
temach wbudowanych, Androidzie czy Sym- ciej Linii Wsparcia Technicznego jest udzie- żania produktów u klienta końcowego. Z ra-
bianie – mówi Tomasz Gibas, R&D Mana- lenie pomocy i w razie potrzeby skierowanie cji swojej specyfiki, każde z naszych zadań
ger z Wrocławia. problemu do działu Research&Development jest inne, wymaga dobrych zdolności anali-
Udział w ciekawych projektach i możli- z dokładnym opisem przyczyny problemu. tycznych i podejścia zespołowego. Jednocześnie
wość korzystania z najnowszych technolo-
gii, to powody, dla których młodzi inżynie-
rowie decydują się na pracę w Tieto. Swo-
imi spostrzeżeniami zgodzili się podzielić
aktualni pracownicy firmy.

W każdej chwili jesteśmy


gotowi pojechać do klienta
(...) Dostaliśmy zlecenie od jednego z czoło-
wych operatorów telekomunikacyjnych z Nie-
miec na przeprowadzenie testów akceptacyj-
nych urządzeń i usług oferowanych przez te-
go operatora. Miesiąc w należącym do tej fir-
my ośrodku badawczym w Monachium wy-
starczył nam na opanowanie wiedzy niezbęd-
nej do wykonania testów. W tym samym cza-
sie koledzy w Szczecinie budowali od podstaw
laboratorium oraz konfigurowali sieć testo-
wą, będącą odwzorowaniem rzeczywistej sieci
abonenckiej. Niespełna dwa miesiące po pod-
pisaniu kontraktu – testy ruszyły pełną parą.

4 Dodatek SDJ
Tworzymy technologie jutra

brak jest monotonii, a sama praca daje dużo


satysfakcji, ponieważ każdy z członków ze-
społu widzi swój bezpośredni wpływ na zado-
wolenie klienta (...) – podkreśla Michał, li-
der zespołu Troubleshooting Team, w fir-
mie od 10 lat.

Niemiecka solidność
rodzi się u nas,
w polskim centrum testów
(...) Teraz testujemy „systemy infotainment”
dla modeli aut, które wejdą do seryjnej pro-
dukcji w 2011 roku. Śmiało mogę powiedzieć
ze niemiecka solidność rodzi się też u nas,
w naszym polskim centrum testów działu Au-
tomotive (...) – mówi z dumą Karol, Senior
Test Engineer.

Najbardziej pasjonujące
są field testy
(...) Zarządzanie zespołem testowym po-
chłania mi wiele czasu. Przygotowywanie Dzięki pracy w Tieto jestem na bieżąco z naj- i Niemczech, wspierany lokalnymi zespołami
dokumentacji, spotkania z klientami oraz nowszą technologią, poznaję ciekawych ludzi programistów. Kontakt z najnowszymi techno-
nadzór całego procesu testowego to moje i zwiedzam świat – mówi z satysfakcją Woj- logiami oraz współpraca z zagranicznymi kon-
aktualne zadania. Dla każdego z klientów tek, Project Manager. trahentami sprawia, że praca nie jest codzien-
prowadzimy po kilka projektów. Każdy pro- na rutyną, a stawiane wyzwania pozwalają
jekt wymaga indywidualnego podejścia, nie Praca nie jest rutyną stale podnosić kwalifikacje (...) – opowiada
tylko ze względu na rodzaj wdrażanej tech- (...) Obecnie zajmujemy się utrzymaniem oraz Mariusz, Test Engineer.
nologii, ale przede wszystkim wielonarodo- tworzeniem nowych testów funkcjonalnych Tieto stale zatrudnia i szkoli kolejnych
wość ludzi, z którymi współpracujemy. dla platform mobilnych pod kątem współ- inżynierów. 90% testerów ma certyfikaty
Oprócz kierowania projektem staram się pracy z popularnymi kartami SIM. Testy ISTQB. Pracę znajdą tu ludzie chętni do
brać czynny udział w testach. Najbardziej pa- obejmują szeroką gamę kart przeznaczonych zdobywania wiedzy, ale też dzielenia się
sjonujące w Tieto są dla mnie tzw. field testy. dla standardowych sieci 2G/3G jak również swoimi umiejętnościami. Tieto szuka ludzi
Wyruszamy w trasę samochodem, od podłogi IMS czy SAT. Podstawowym narzędziem w co- z entuzjazmem!
po dach zapełnionym elektroniką, w rękach dziennej pracy jest graficzne środowisko pro-
laptopy, przy szybach testowane urządzenia gramistyczne LabView. Projekt realizowa- Materiał powstał przy współudziale pracow-
mobilne. W ten sposób sprawdzamy jak za- ny jest we Wrocławiu we współpracy z biura- ników firmy Tieto, m.in. T.Gibasa, M.Sapieszko
chowują się w rzeczywistej sieci operatorskiej. mi zlokalizowanymi w Anglii oraz Szwecji i J.Szymańskiej.

www.sdjournal.org 5
SoftQA

Testy oprogramowania
i ich rodzaje
Systemy informatyczne odgrywają kluczową rolę w środowisku
biznesowym. Złożoność tych systemów stale rośnie, a nacisk kładziony
na branżę IT dąży w kierunku dostarczania w krótszym czasie, przy
mniejszym budżecie - usług najwyższej jakości.

Testowanie Jakości Mercedesa wypadły bardzo niezadowalająco. nych testów zespół testerów opracowuje
Oprogramowania Okazało się, że samochód przewraca się pod- przypadki testowe oraz dokumentację pod-
Testowanie jest kontrolą jakości oprogramo- czas „testu łosia”, polegającego na wykonaniu testową. Poniżej przedstawiamy wybrane ro-
wania na każdym etapie jego powstawania. gwałtownego skrętu najpierw w jedną, a po- dzaje testów:
Celem tego procesu jest badanie poprawno- tem w drugą stronę. Firma od razu zabrała się
ści aplikacji oraz wczesne wykrycie ewentu- za usuwanie usterek – jedynym elementem, TESTY MANUALNE
alnych błędów, co ma bezpośrednie przeło- który wymagał poprawienia było oprogra- Testy wykonywane ręcznie przez testera, któ-
żenie na koszty. Tylko wczesne wykrycie błę- mowanie komputera sterującego systemem ry przechodzi przez interfejs użytkownika
dów jest w stanie zapewnić najmniejsze kosz- amortyzatorów. zgodnie z określoną sekwencją kroków:
ty ich naprawy. W poniższym artykule omó-
wione zostały podstawowe rodzaje testów. Wnioski • Testy integracyjne pozwalają sprawdzić
Ponadto przedstawiony został proces wdro- Testowanie pełni priorytetową rolę na każ- jak współpracują ze sobą różne kompo-
żenia systemu testowania, który jest niewąt- dym etapie powstawania oprogramowania. nenty oprogramowania. Obecnie rzad-
pliwie istotnym elementem funkcjonowa- Celem tego procesu jest badanie poprawno- ko mamy do czynienia z monolityczny-
nia firmy. ści aplikacji oraz wczesne wykrycie ewentu- mi aplikacjami. Są one raczej tworzone
Na przestrzeni lat możemy obserwować alnych błędów. Wszystkie zabiegi, jakie po- modułowo, dlatego należy sprawdzić,
upadek projektów, lub całych firm, które nie czynimy w kierunku poprawy jakości opro- czy wszystko razem działa poprawnie.
potrafią dostosować się do wymagań rynku. gramowania, mają na celu zmniejszenie ry- • Testy systemowe dotyczą działania apli-
Dostarczają one niesprawne oprogramowa- zyka wystąpienia błędu po przekazaniu pro- kacji jako całości. Zazwyczaj na tym po-
nie o niskiej jakości, przez co nie są w stanie duktu do klienta. ziomie testujemy różnego rodzaju wy-
zarządzać procesem jego wytwarzania z nale- Ma to bezpośrednie przełożenie na koszty. magania niefunkcjonalne, takie jak –
żytą starannością. Koszty (czas i pieniądze) obsługi błędu wy- szybkość działania, bezpieczeństwo, nie-
krytego podczas kolejnych etapów produk- zawodność, dobrą współpracę z innymi
Trochę historii cji zwiększa się nawet dziesiątki razy wraz aplikacjami i sprzętem.
4 czerwca 1996 roku bezzałogowa rakieta ko- z upływem czasu. Błąd wykryty w fazie de-
smiczna Ariane 5 eksplodowała po czterdzie- finiowania projektu prawie nic nie kosztuje. Testy dopasowane do aktualnego
stu sekundach lotu, zamieniając w popiół Zazwyczaj można go usunąć w kilkanaście zapotrzebowania/przeznaczenia:
7 miliardów dolarów wydane przez 10 lat na minut, co przekłada się, co najwyżej na kilka
jej budowę oraz ładunek, który był wart 500 dodatkowych dolarów. • Testy funkcjonalne – znane również ja-
milionów dolarów. Po dwóch tygodniach ze- Inaczej jest, kiedy błąd zostanie ujawnio- ko testy czarnej skrzynki. Osoba testu-
spół badający przyczyny katastrofy przedsta- ny już w systemie produkcyjnym, który reali- jąca nie ma dostępu do informacji na te-
wił raport: okazało się, że źródłem katastrofy zuje konkretne procesy biznesowe. Wystąpie- mat budowy programu, który testuje.
był prosty błąd w oprogramowaniu, związa- nie takiej sytuacji nierzadko może prowadzić Wykonując testy nie opiera danych te-
ny z niepoprawną konwersją liczby zmienno- do dramatu, który zapoczątkuje ciąg zdarzeń stowych na budowie wewnętrznej pro-
przecinkowej na liczbę całkowitą. spychających firmę wprost do bankructwa. gramu, lecz na założeniach funkcjonal-
W 1997 roku firma Mercedes-Benz, zna- nych, jakie powinien spełniać program
na z produkcji dużych, luksusowych samo- Testowanie oprogramowania zgodnie z dokumentacją.
chodów, wypuściła na rynek swój pierwszy – rodzaje testów • Testy regresyjne – mają na celu spraw-
„mały” model – Mercedesa klasy A. Samo- Oprogramowanie testuje się na wiele róż- dzenie wpływu nowych funkcjonalno-
chód przyciągnął uwagę mediów, zwłasz- nych sposobów. Wybór metody, zakresu ści na działanie systemu.
cza, gdy okazało się, że przeprowadzone te- i przypadków testowych zależy od potrzeb • Testy akceptacyjne z udziałem klienta –
sty bezpieczeństwa jazdy nowego produktu konkretnej firmy. Na potrzeby wykonywa- wykonywane w celu sprawdzenia, na ile

7 Dodatek SDJ
Testy oprogramowania i ich rodzaje

oprogramowanie działa zgodnie z wy- • Poznaniu architektury systemu. Na tym IT Kontrakt wybierają narzędzia testo-
maganiami klienta. etapie będzie można wstępnie określić, we, rodzaje wymaganych testów, opra-
• Testy dokumentacji, których celem jest na ile skomplikowany będzie proces te- cowują skrypty testowe, wykonują testy
wykrycie niespójności i niezgodności stowania. oraz przeprowadzają analizę wyników
w dokumentacji analitycznej, technicz- • Określeniu jakiego typu testy są po- testów i sporządzają raport potestowy.
nej oraz dokumentacji użytkownika, trzebne. Może być to związane zarów- • Automatyzację istniejącego środowi-
sporządzonej w ramach realizowanego no z charakterystyką testowanego sys- ska testowego: nasz dedykowany zespół
projektu informatycznego. temu, jak i z wymaganiami klienta, ekspertów automatyzuje istniejące już
• Testy użyteczności, których celem jest standardami zapewniania jakości przy- przypadki testowe.
weryfikacja interfejsu użytkownika jętymi w firmie. • Zarządzanie i utrzymanie środowiska
w zakresie przystępności, wygody, szyb- • Weryfikacji testowalności systemu. Jest testowego: nasi specjaliści pomagają za-
kości oraz zgodności z oczekiwaniami to istotne przy dużych, wielowarstwo- rządzać, optymalizować i utrzymać ist-
przyszłych użytkowników. wych aplikacjach. Tester, aby móc sku- niejące repozytorium przypadków te-
tecznie testować system, musi mieć do- stowych, doradzają w wyborze narzę-
TESTY AUTOMATYCZNE stęp do wszelkich potrzebnych mu da- dzia ułatwiającego zarządzenie środo-
Testy automatyczne skutecznie przyspiesza- nych. wiskiem testowym (HP Quality Cen-
ją proces tworzenia testów systemowych, ich ter, JIRA).
wykonywanie oraz analizę, a tym samym po- Takie podejście do procesu testowania po- • Zaawansowane automatyczne testy wy-
zwalają na wcześniejsze wykrycie i wyelimi- zwala na dokładne oszacowanie czasochłon- dajnościowe i obciążeniowe.
nowanie błędów w aplikacjach. ności procesu testowania, a co za tym idzie • Konsulting ds. metodyki testowania –
Testy automatyczne wykonywane są w opar- – określenie dokładnych kosztów całego konsultanci IT Kontrakt doradzają klien-
ciu o wysokiej jakości oprogramowanie: procesu. tom w procesie projektowania i tworze-
nia środowiska testowego, w wyborze
• LoadRunner, WinRunner Raz, a dobrze – narzędzi wspomagających testowanie,
• Rational Functional Tester z praktyki IT Kontrakt metodyki i rodzaju testów, sporządza-
• Borland® Silktest® Wdrożenie procesu testowania wydaje się ją kosztorys automatyzacji testów, szko-
• narzędzia freeware (Apache JMeter, trudnym zadaniem, a jego egzekwowanie lą pracowników firmy w zakresie dalszej
AppPerfect Test Studio itp.) i utrzymanie w opinii niektórych jest za- obsługi i zarządzania środowiskiem te-
daniem niewykonalnym. IT Kontrakt udo- stowym.
Tworzenie testów jest sztuką. Nie jest ni- wadnia swoim klientom, że wcale tak nie
czym nadzwyczajnym utworzyć taki test, jest. Priorytetem jest uświadomienie klien- Jednym z praktycznych przykładów owoc-
który będzie łatwo przejść z wynikiem po- towi, iż bez centralnego punktu kontro- nej współpracy pomiędzy IT Kontrakt, a jej
zytywnym. Prawdziwym wyzwaniem jest li i przejrzystych, powtarzalnych metodyk klientem z sektora bankowego, jest prowa-
utworzenie trudnego testu, precyzyjnie te- bardzo trudno jest zapanować nad projek- dzenie oraz wykonywanie przez specjali-
stującego wybraną funkcjonalność, w któ- tami testów i zapewnić wysoką jakość apli- stów IT Kontrakt testów systemów informa-
rym każde jej naruszenie będzie się kończy- kacji w odpowiednim terminie przy ograni- tycznych, wspierających procesy i produkty
ło negatywnym rezultatem. Warto pamię- czonych zasobach. bankowe oraz testów aplikacji. Proces testo-
tać, że fakt przejścia z sukcesem przez nawet IT Kontrakt w ramach outsourcingu usług wania rozpoczął się od zdefiniowania przej-
najpełniejszy zestaw testów nie gwarantuje, testowych oferuje swoim Klientom: rzystych i kompletnych wymagań stawia-
że oprogramowanie na pewno będzie dzia- nych oprogramowaniu, które zostało pod-
łać zawsze poprawnie. Przed przystąpieniem • Wykonywanie testów automatycznych: dane kontroli. Kryteria te odzwierciedlały
do planowania i wykonania testów, ważne funkcjonalnych, wydajnościowych, ob- potrzeby przedsiębiorstwa, a ich określanie
jest, aby skupić się na: ciążeniowych i regresyjnych. Specjaliści i zarządzanie nimi było zadaniem o kluczo-
wym znaczeniu dla projektowania i spraw-
dzania aplikacji. Zespół IT Kontrakt w ra-
mach współpracy wykonywał Testy Funk-
cjonalne, Testy Akceptacyjne oraz Testy Wy-
dajnościowe. W obszarach objętych testa-
mi znajdowały się aplikacje BKL, CMN Call
Center, SAS OpRisk Monitor, BKL oraz IBM
WebSphere MQ.
Oczywiście temat testów, można zgłębiać
nieustannie. Powyższy artykułu miał na ce-
lu wprowadzanie do świata możliwości te-
stowania oraz przedstawienie tego ważnego
zagadnienia w sposób możliwie praktyczny
i przystępny.

MIROSŁAW DĄBROWSKI
Dyrektor IT
IT Kontrakt Sp. z o.o.

www.sdjournal.org 8
SoftQA

Tester Certyfikowany
Już od kilku lat szkolenia przygotowujące do certyfikatu ISTQB
(International Software Testing Qualifications Board) cieszą się w Polsce
dużym powodzeniem. W tym czasie wielu testerów zdobyło certyfikat
ISTQB na poziomie podstawowym.

Z
ainteresowanie tym egzaminem Pierwsza wersja planu kursu zaawanso- Nowy plan kursu zaawansowanego
nadal nie słabnie, a ci, którzy zda- wanego została opublikowana we wrześniu uwzględnia specjalizację testerów w trzech
li go już wcześniej, kontynuują roz- 2003 roku. Najnowsza wersja jest już do- kierunkach: Test Manager, Test Analyst
wój potwierdzając swoje testerskie kompe- stępna od 2007 roku, choć wiele firm szko- i Technical Test Analyst. Trzy ścieżki roz-
tencje certyfikatem na poziomie zaawan- leniowych bazowało jeszcze do niedawna woju to trzy odrębne pięciodniowe szko-
sowanym. na poprzedniej. Od września 2009 roku lenia, każde zakończone (opcjonalnie) eg-
International Software Testing Qualifi- ISTQB wprowadziła obowiązek dostoso- zaminem przeprowadzanym przez nieza-
cations Board to organizacja, która powsta- wania materiałów szkoleniowych i zakresu leżną firmę/ organizację. Egzamin z każdej
ła w listopadzie 2002 roku, za cel stawia- szkoleń do nowej wersji. Spowodowało to części trwa 180 minut, podczas których na-
jąc sobie opracowanie międzynarodowe- trochę zamieszania wśród testerów obawia- leży odpowiedzieć na 60 pytań wielokrot-
go schematu certyfikacji testerów ISTQB jących się „nowego” i firm szkoleniowych, nego wyboru. Są wśród nich pytania teo-
Certified Tester. Realizując ten cel ISTQB które musiały wykonać zmiany w materia- retyczne za 1 punkt (dotyczące materiału
opracowała plan kursu podstawowego i za- łach oraz zrewidować swoje dotychczaso- oznaczonego w planie symbolem K2 - zro-
awansowanego, a obecnie pracuje nad kon- we podejście do przygotowania i prowadze- zum) i pytania praktyczne za 2 punkty (do-
spektem dla certyfikacji na poziomie eks- nia szkoleń. tyczące materiału oznaczonego w planie
perckim. Dostarcza również wytycznych Co wyróżnia wersję planu kursu za- symbolem K3 – zastosuj i K4 – przeanali-
do akredytacji firm szkoleniowych, mate- awansowanego z 2007 roku? Na pierw- zuj). Łącznie można zdobyć 100 punktów,
riałów i trenerów. szy rzut oka – liczba stron, jednak przede a wymagane minimum wynosi 65 punk-
Obecnie ISTQB ma reprezentantów wszystkim szerszy zakres materiału i du- tów. Dla osób zdających egzamin w języ-
w ponad 40 krajach świata, między innymi żo większy nacisk na praktyczne zastoso- ku obcym do regulaminowego czasu doli-
w Polsce, w wielu krajach europejskich, ale wanie teorii. cza się 25%.
także w Egipcie, Arabii Saudyjskiej czy Po-
łudniowej Afryce.
Certyfikacja w zakresie testowania opro-
gramowania jest dowodem na to, że dys- ����������������������
cyplina ta jest profesjonalną specjalizacją ����������������
w zakresie inżynierii oprogramowania –
wymaga określonej wiedzy i umiejętności
od ludzi, którzy się nią zajmują. Wpływa
to bezpośrednio na podwyższenie statu- ������������������������������������
su testerów i wytycza wyraźne ścieżki ich
���������������������� ���������������������� ����������������������
rozwoju. Certyfikaty ISTQB są rozpozna- ������������������������
��������������������� ���������������������
walne na całym świecie dzięki czemu dużo �������
prostsze staje się znalezienie pracy za gra-
nicą. Nie bez znaczenia również jest fakt,
że ISTQB standaryzuje podejście do testo-
wania, terminologię, którą posługują się te-
����������������������
sterzy, a także promuje dobre praktyki te- ������������
stowania. Szkolenia ISTQB uczą jak testo-
wać efektywnie – osiągać jak najlepsze re-
zultaty przy jak najmniejszych nakładach,
jak testować z rozsądkiem i optymalnie. Rysunek 1. ISTQB – schemat certy�kacji testerów

9 Dodatek SDJ
������������������������

Aby podejść do egzaminu ISTQB Ad- ��������


�������
vanced Tester należy wykazać się określo-
nym doświadczeniem zawodowym - mini-
mum to 24 miesiące pracy w charakterze
testera lub w zakresie produkcji oprogra-
���������
mowania. Wymagane jest również posiada- ����������
nie certyfikatu ISTQB Certyfikowany Te-
ster Poziom Podstawowy lub pokrewnego,
np. ISEB (International Software Examina-
tions Board).
W Polsce szkolenia i egzaminy ISTQB na
poziomie zaawansowanym wciąż są jesz-
cze rzadkością. Niewiele firm szkolenio-
wych ma je w swojej ofercie, co może wy-
nikać z dużo większych, niż przy szkoleniu
na poziomie podstawowym, wymagań sta-
wianych przez ISTQB firmom, ich materia-
łom i trenerom.
Jedną z firm, która od ubiegłego ro-
ku prowadzi szkolenia z trzech modułów
ISTQB Advanced jest SQAM – organizacja
z dużym doświadczeniem w zakresie przy-
gotowania i prowadzenia szkoleń dla teste-
rów. W drugiej połowie 2009 roku w szko- �����������������������������������
leniach wzięło udział kilkanaście osób. �����������������������������
Część z nich podeszła do egzaminu, co dla
�������������� �������������������
wszystkich zakończyło się uzyskaniem cer-
tyfikatu. ������������������������������������
Dużą zaletą szkoleń organizowanych
przez SQAM, co często podkreślają ich ���������������
uczestnicy, jest stosowanie metod akty- � �������� ����������
wizujących zapewniających dostosowanie ��������������
sposobów i tempa przekazywania wiedzy � ������� � ���� ��������� �����
do indywidualnych potrzeb i możliwości ��������� ������ ���������� ������
każdego uczestnika. Już od dawna w szko- � ������������� ��������
leniach tych główną rolę odgrywają uczest-
���������������
nicy, a nie slajdy i przemawiający jednostaj-
nym głosem trener.
� ���������� ������� ��������������
Nie przyzwyczajeni do swobodnej at- � ����������� ������� ������
mosfery podczas szkoleń technicznych � ��������� � �������� ��������
testerzy często na początku okazują zdzi- ����������� ����������� ��
wienie. Bardzo wysoka zdawalność eg- �������������� � ��������������
zaminów ISTQB po szkoleniach SQAM ���������� ������
świadczy jednak o skuteczności takiego � �������� ���� �������
podejścia. � �������� �����
Można powiedzieć, że certyfikacja ������
ISTQB na poziomie zaawansowanym do-
� �������� ���������� ���� �������
piero się w Polsce rozpoczęła. Jest więc
szansa, aby już teraz dołączyć do elitarne-
� �������� �����
go, bo ciągle jeszcze bardzo wąskiego gro- ������
na, testerów certyfikowanych na poziomie � �������� ��������� ���� �������
zaawansowanym. Taka okazja nie będzie � �������� �����
trwała wiecznie – na stronach ISTQB już ������
jest dostępna robocza wersja planu kursu
na poziomie eksperckim. Nie ma więc na
co czekać…

����� ������������
���� �� ��� �� ��
����������������������������������

KAMILA DEC
Prowadząca szkolenia SQAM

www.sdjournal.org
SoftQA

Testowanie
oprogramowania a Scrum
Osoby zajmujące się testowaniem oprogramowania (zarówno testerzy jak
i kierownicy testów) rozpoczynający pracę w projektach prowadzonych
zgodnie z wytycznymi tzw. metodologii zwinnych (Agile) mają zazwyczaj
problem z organizacją pracy, czego przyczyną jest znaczna różnica
widoczna w projektach prowadzonych według tradycyjnych metodologii
(np. w modelu kaskadowym) w porównaniu do wyżej wymienionych.

O
becnie najpopularniejszą spośród Nie da się ukryć, że powyżej zdefiniowane za- • Jesteśmy otwarci na zmiany w specyfikacji
metodologii zwinnych jest Scrum, sady, przy poprawnej implementacji, powin- wymagań, nawet w późnych etapach rozwo-
w związku z tym niniejszy artykuł ny wpłynąć pozytywnie na szybkość i wydaj- ju oprogramowania. Akceptujemy je dla jak
porusza tematykę z zakresu testowania opro- ność powstawania kodu. Pod znakiem zapyta- największych korzyści klienta.
gramowania w projektach prowadzonych nia pozostaje jakość wytwarzanego w ten spo- • Dostarczamy działające oprogramowanie
zgodnie z wytycznymi Scrum. sób kodu, gdyż z testerskiego punktu widze- często, co kilka tygodni lub miesięcy, preferu-
Scrum jest ramą służącą do wspomagania za- nia brak obszernej, pisemnej dokumentacji, jąc jak najkrótsze przedziały czasowe.
rządzania projektem i w żaden sposób nie opi- a przy tym preferowanie komunikacji werbal- • Uważamy, że użytkownicy i programiści
suje procesu wytwarzania oprogramowania, nej ponad formalne, pisemne kanały komuni- powinni współpracować codziennie przez
w tym procesu testowego. Stąd osoby trafiają- kacji oraz częste dostawy wymagają postawie- cały czas trwania projektu.
ce do projektów Scrum z tradycyjnych projek- nia podstawowego pytania – jak i kiedy testo- • Opieramy tworzenia projektów na odpo-
tów mają problem w znalezieniu zadań, który- wać powstałe w ten sposób oprogramowanie. wiednio zmotywowanych jednostkach. Do-
mi mogłyby się zająć w ramach testowania. W 2001 roku zebrano wspólne cechy no- starczamy im środowisko, wsparcie oraz
Celem niniejszego artykułu jest porów- wych metodologii w tzw. Manifest Agile - do- zaufanie, aby mogli wykonać swoją pracę
nanie tradycyjnego procesu testowego oraz kument formalnie formułujący ogólne zasady rzetelnie.
procesu testowego wpisującego się w ramy współpracy i komunikacji w zespołach chcą- • Uważamy, że najlepszą i najbardziej efek-
Scrum, opisanie zadań, wyzwań oraz możli- cych zaadoptować metodologie Agile. Mani- tywną metodą przepływu informacji do
wości, jakie praca w Scrum stawia przed teste- fest agile zawiera w sobie następującą treść: i pomiędzy programistami jest bezpośred-
rami oraz próba rozwiązania najczęściej spoty- Odkrywamy lepsze sposoby wytwarzania nia rozmowa.
kanych problemów. oprogramowania poprzez pracę w tym zakre- • Działające oprogramowanie jest podstawo-
sie i pomaganie innym. Poprzez tę pracę za- wą miarą postępu.
Agile częliśmy doceniać: • Tworzymy oprogramowanie ze stałym za-
Na początku lat 90’tych pojawiły się nowe me- angażowaniem sponsorów, użytkowników
todologie, których wspólnym mianownikiem • Ludzi i ich wzajemne współdziałanie po- i zespołu, by umożliwić jego ciągły i nie-
było szczególne zwrócenie uwagi na następu- nad procedury i narzędzia. przerwany rozwój.
jące aspekty procesu wytwórczego oprogra- • Działające oprogramowanie ponad wy- • Uważamy, że nieprzerwane przykłada-
mowania: czerpującą dokumentację. nie wagi do doskonałości technicznej oraz
• Współpracę z klientem ponad negocjację dobrego projektu zwiększają elastyczność
• Bliską współpracę osób odpowiedzial- umów. procesu.
nych za rozwój oprogramowania (progra- • Reagowanie na zmiany ponad realizowa- • Prostota – umiejętność maksymalizacji ilości
mistów, architektów, testerów itp.) z oso- nie planu. pracy, której nie wykonaliśmy – jest istotna.
bami posiadającymi wiedzę biznesową • Najlepsze architektury, założenia oraz pro-
(z ‘klientem’), Doceniamy to, co wymieniono po prawej jekty powstają w samoorganizujących się
• Częste i regularne dostawy nowych stronie, jednak bardziej cenimy to, co wy- zespołach.
funkcjonalności, mieniono po lewej. • Co pewien czas zespół analizuje sposo-
• Komunikację bezpośrednią zamiast ob- Manifest Agile zakłada przestrzeganie na- by na osiągnięcie większej efektywności,
szernych specyfikacji wymagań w formie stępujących zasad: a następnie odpowiednio dostosowuje swo-
pisemnej, je działania.
• Szybkie reagowanie na nieuchronne • Naszym najwyższym priorytetem jest usa-
zmiany wymagań, tak by nie powodowa- tysfakcjonowanie klienta poprzez wczesne Większość metodyk Agile promuje rozwój,
ły krytycznych problemów w harmono- i ciągłe dostarczanie wartościowego oprogra- pracę zespołową, współpracę oraz ciągłe adop-
gramie i budżecie. mowania. towanie procesu według aktualnych wyma-

11 Dodatek SDJ
Testowanie oprogramowania a Scrum

gań projektu. Agile dzieli zadania na mniej- sobie rozwiązywanie problemów –kwestie te stępują jakieś przeszkody uniemożliwiające
sze zagadnienia, które wymagają minimalne- ustalane są przez cały zespół. Zespół ma cha- postęp prac.
go, krótkofalowego planowania. Iteracje trwa- rakter interdyscyplinarny, dzięki czemu każda Na koniec sprintu zespół prowadzi prze-
ją zazwyczaj od tygodnia do czterech tygo- osoba niezbędna do pomyślnego zakończenia gląd sprintu, podczas którego prezentowane są
dni, a każda iteracja to dla zespołu pełny pro- implementacji każdej z funkcjonalności jest funkcjonalności dodane w jego trakcie. Celem
ces wytwórczy od planowania, analizy wyma- zaangażowana w prace nad nią. Scrum defi- tego spotkania jest uzyskanie informacji zwrot-
gań, przez projektowanie, kodowanie oraz te- niuje dwie role (dwie osoby) wspierające pracę nych od właściciela produktu, lub użytkowni-
stowanie po oddanie gotowych, działających zespołu – są to Mistrz Scrum’a oraz Właściciel ków lub innych podmiotów, które zostały za-
funkcjonalności na koniec iteracji. Dzięki ta- Produktu. Mistrza Scrum’a postrzegać można proszone do przeglądu. Opinia ta może prowa-
kiemu sposobowi pracy możliwe jest zmniej- jako trenera – który pomaga członkom zespo- dzić do zmian w oddanych właśnie funkcjonal-
szenie ryzyka niepowodzenia projektu po- łu wykorzystywać ramy określone w Scrum, nościach lub do zmian albo dodania nowych
przez umożliwienie lepszego i szybszego re- tak aby pracowali oni na swoim najwyższym elementów do rejestru zadań produktu.
agowania na zmiany. poziomie. Właściciel Produktu reprezentuje Ostatnim zadaniem wykonywanym na ko-
Niezależnie od wybranej metody wytwór- biznes, klientów lub użytkowników i prowa- niec każdego sprintu jest retrospektywne pod-
czej oprogramowania, do każdego zespołu dzi zespół w kierunku budowania właściwe- sumowanie sprintu, w którym udział bierze
Agile przyporządkowany jest przynajmniej je- go produktu. cały zespół, w tym Mistrz Scrum’a oraz Wła-
den reprezentant klienta. Osoba ta pośredni- Projekty realizowane wg Scrum składają ściciel Produktu. Spotkanie jest okazją do re-
czy w kontaktach pomiędzy klientem a zespo- się z serii iteracji (zwanych sprintami), trwa- fleksji nad kończącym się sprintem, i określe-
łem wytwarzającym oprogramowanie, reagu- jących nie dłużej niż cztery tygodnie. Na po- nia możliwości poprawy w działaniu w kolej-
jąc i odpowiadając na pojawiające się w proce- czątku każdego sprintu, członkowie zespo- nej iteracji.
sie pisania kodu pytania dotyczące poszczegól- łu zobowiązują się do implementacji określo-
nych wymagań. Na zakończenie każdej iteracji nej liczby funkcjonalności, określonych w reje- Główne artefakty w projektach Scrum
klient ocenia postęp prac oraz ponownie oce- strze zadań produktu. Na zakończenie sprintu Podstawowym artefaktem projektu Scrum jest
nia priorytety poszczególnych zadań, biorąc wybrane funkcjonalności powinny być skoń- oczywiście sam produkt. Zespół ma na celu
pod uwagę optymalizację stopy zwrotu z inwe- czone tj. zaimplementowane, przetestowane dostosowanie produktu lub systemu do stanu
stycji oraz współgranie z wymaganiami użyt- i zintegrowane z opracowywanym systemem/ potencjalnie gotowego do przekazania na ko-
kowników końcowych. produktem. Ostatnią fazą sprintu jest przepro- niec każdego sprintu.
Większość z implementacji metodyk Agi- wadzenie przeglądu sprintu, podczas którego Rejestr zadań produktu zawiera pełną listę
le wymaga codziennego, bezpośredniego kon- zespół prezentuje nowe funkcjonalności Wła- funkcjonalności, które muszą być zaimple-
taktu wszystkich członków zespołu. Podczas ścicielowi Produktu lub innym zainteresowa- mentowane w produkcie. Funkcjonalności
takich spotkań każda osoba dzieli się informa- nym podmiotom, oczekując informacji zwrot- te są priorytetyzowane przez Właściciela Pro-
cjami na temat zadań wykonanych w poprzed- nych (opinii), które mogłyby mieć wpływ na duktu, tak żeby zespół zawsze pracował nad
nim dniu, planów na aktualny dzień oraz pro- kolejny sprint. najważniejszymi i najbardziej wartościowymi
blemów, które mogą uniemożliwić wykonanie zadaniami. Najlepszą i najskuteczniejszą me-
poszczególnych zadań. Możliwe jest również Główne działania w Scrum todą tworzenia rejestru zadań produktu jest
uzyskanie dodatkowych informacji od repre- Głównym zadaniem projektu Scrum jest każ- wypełnianie go „Historiami Użytkowników”,
zentanta klienta, który powinien być obserwa- dy pojedynczy sprint. Jak już zostało wspo- będącymi krótkimi, zwięzłymi opisami funk-
torem takich spotkań. mniane wcześniej, Scrum jest procesem itera- cjonalności, widzianymi oczami użytkowni-
Główną miarą postępu w projektach Agi- cyjnym i przyrostowym, w związku z czym po- ka lub klienta.
le jest działające oprogramowanie oraz no- dzielony jest na szereg następujących po sobie W pierwszym dniu sprintu, podczas spo-
we funkcjonalności. Wyróżnia to proces Agi- sprintów o stałej długości, w czasie których ze- tkania planowania sprintu, członkowie zespo-
le w porównaniu z procesem kaskadowym, spół pracuje nad tym, aby wybrany zestaw wy- łu tworzą rejestr zadań sprintu, będący swoistą
gdzie postęp mierzony jest ogólnie za pomocą magań zamienić z koncepcji w zaimplemento- listą zadań do wykonania w czasie jego trwa-
dostarczanych dokumentów. wane i przetestowane funkcjonalności. nia. Podczas gdy rejestr zadań produktu jest li-
Pierwsze działanie każdego sprintu stano- stą funkcjonalności, które muszą zostać zaim-
Scrum wi spotkanie planowania sprintu. Podczas te- plementowane, rejestr zadań sprintu zawiera
go spotkania właściciel produktu oraz zespół listę zadań, które są niezbędne do wykonania,
Co to jest Scrum? omawiają zadania o najwyższym priorytecie aby dostarczyć funkcjonalności zaplanowane
Scrum jest jedną z implementacji zasad Agi- z rejestru zadań produktu. Członkowie zespo- na dany sprint.
le w zakresie prowadzenia projektów. Nie jest łu określają podzestaw zadań, które zobowią- Dwa pozostałe główne artefakty to wykres
to jednak pełen opis procesu czy metodologii, zują się przygotować w trakcie danego sprin- wygaszania sprintu oraz wykres wygaszania
bardziej opis ram, których należy przestrzegać tu, tworzą Rejestr Zadań Sprintu, będący listą wypustu. Wykresy wygaszania pokazują ilość
prowadząc projekt. Zamiast szczegółowych zadań zaplanowanych do wykonania w trak- pracy pozostałej w sprincie lub w wypuście. Są
opisów dotyczących rozwiązywania poszcze- cie sprintu. to bardzo skuteczne narzędzia służące określe-
gólnych problemów w projektach, decyzje po- Każdego dnia członkowie zespołu zbiera- niu ‘od ręki’ czy sprint lub wypust następują
zostawia się zespołowi, który najlepiej potrafi ją się na Spotkaniach Scrum, w którym bie- zgodnie z harmonogramem i czy możliwe jest
dobrać rozwiązania do problemów w konkret- rze udział również Mistrz Scrum’a oraz Wła- ich zakończenie w zaplanowanym czasie.
nym projekcie. ściciel Produktu. Spotkania te mają określo-
Ostatecznego sukcesu projektu Scrum upa- ną, stałą długość i nie powinny przekraczać 15 Główne role w zespole Scrum
truje w samoorganizujących się, interdyscypli- minut. Podczas spotkania poszczególni człon- Mistrz Scrum’a jest trenerem zespołu i poma-
narnych zespołach charakteryzujących się bra- kowie zespołu informują innych na temat te- ga jego członkom osiągnąć najwyższy poziom
kiem lidera, który decydowałby o przydziela- go nad czym pracowali wczoraj, czym zajmo- wydajności. Jego rola różni się od roli kierow-
niu zadań dla poszczególnych osób czy spo- wać się będą w dniu dzisiejszym oraz czy wy- nika projektu w wielu kluczowych punktach,

www.sdjournal.org 12
SoftQA

przede wszystkim tym, że Mistrz Scrum’a nie Największym mankamentem opisanego • współpraca z innymi członkami zespołu
przewodzi na co dzień pracom zespołu ani nie sposobu realizacji procesu testowego jest fakt zamiast pracy w odosobnieniu;
przypisuje zadań do poszczególnych osób. Pod- zaangażowania testerów dopiero w momencie, • udział w codziennych spotkaniach pod-
czas gdy Mistrz Scrum’a skupia się na pomaga- gdy produkt jest już gotowy. Stąd bardzo nie- sumowujących stan zaawansowani prac;
niu zespołowi w najefektywniejszym wykorzy- wiele czasu pozostaje na testowanie. Ponadto • samodzielne poszukiwanie informacji
stywaniu swoich zasobów, Właściciel Produk- testerzy nie mają żadnego wpływu na kształt dotyczących produktu poprzez testowa-
tu stara się nakierować zespół na właściwe cele. produktu, ponieważ w momencie rozpoczę- nie oraz współpraca z innymi członka-
Czyni to poprzez nakreślenie wizji produktu, cia fazy testów kod programu jest zamknię- mi zespołu w celu określenia sposobów
a następnie przeniesienie tej wizji na zespół po- ty i dozwolone są jedynie poprawki znalezio- i przedmiotów testów, zamiast testowa-
przez rejestr zadań produktu. nych błędów. nia na podstawie specyfikacji wymagań;
Trzecią i najważniejszą rolę w projektach • odpowiedni dobór proporcji czasu po-
Scrum wypełnia sam zespół, w którym na- Proces testowy dla Scrum święconego na testowanie nowych funk-
zwy poszczególnych ról czy tytuły nie ma- Nie da się ukryć – testowanie wg Scrum wy- cjonalności oraz testy regresyjne uprzed-
ją żadnego znaczenia. Każda osoba przyczy- maga od testera nieco innych zachowań, za- nio zaimplementowanych funkcji.
nia się, w najlepszy możliwy dla siebie sposób, angażowania w inne zadania i aktywności
do wypełnienia określonych zadań Sprintów. oraz bliższej współpracy z zespołem, zwłasz- Dużą zmianą – porównując testy w projek-
Wszyscy członkowie zespołu pracują w zakre- cza z programistami w porównaniu z innymi cie Scrum z innymi metodykami – jest to, że
sie dyscyplin, z którymi zapoznali się i zbiera- metodykami. Wymaga również samodzielne- w Scrum testerzy zaangażowani są w projekt
li doświadczenie przed przyjściem do projek- go poszukiwania odpowiedzi na pytanie: co, od samego jego początku, razem ze wszyst-
tu Scrum. Jednak Scrum wymaga od nich, aby jak i kiedy przetestować. Z drugiej strony jest kimi innymi członkami zespołu. W związku
– jeżeli jest to konieczne i dobre dla zespołu to wciąż to samo testowanie – nadal korzysta z tym mają od początku dostęp do dokładnie
– gotowi byli pracować również w innych, ob- się z tych samych metod czy technik testowa- tych samych co programiści, czy analitycy,
cych sobie dyscyplinach. nia, jedynie w nieco innych proporcjach. Te- informacji (dotyczących wymagań produk-
sty podzielone są na te same poziomy, a pod- tu oraz wymagań klienta). To, w połączeniu
Tradycyjny proces testowy stawą do testowania powinny być przygotowa- z faktem, że programiści i testerzy są częścią
Na potrzeby niniejszego artykułu za tradycyj- ne wcześniej przypadki testowe, które czasem jednego, tego samego zespołu, (mając wgląd
ny proces testowy przyjmuje się proces testo- stają się również dokumentacją wymagań da- w poszczególne zadania poprzez codzien-
wy prowadzony w projektach zgodnych z tra- nego systemu. ne spotkania), oznacza bliską komunikację
dycyjnymi metodami zarządzania projektem, Rola testowania w Scrum jest dużo większa i wzajemną współpracę. Dzięki temu elimi-
np. zgodnie z procesem kaskadowym lub pro- niż w jakiejkolwiek innej metodyce prowadze- nowany jest znany z innych metodologii ele-
cesami bazującymi na procesie kaskadowym. nia projektów. Testowanie nie służy jedynie ment rywalizacji pomiędzy programistami
Tego typu procesy polegają na podzieleniu do zwracania wyników, a staje się integralną oraz testerami. Wynika to z tego, że w Scrum
prac nad oprogramowaniem na podstawowe i bardzo ważną składową procesu pisania po- wszyscy pracują na wspólny końcowy sukces.
czynności, które wykonuje się jako odrębne fa- szczególnych funkcjonalności. W porównaniu Rola testera i programisty jest w Scrum rów-
zy projektowe, jedna po drugiej. Wyróżnia się z metodykami kaskadowymi testowanie i pro- nie ważna. Dlatego też również od testerów
następujące czynności (fazy projektu): ces programowania nie są procesami rozdziel- wymaga się zabierania głosu w ważnych dys-
nymi, następującymi jeden po drugim – są to kusjach na temat poszczególnych funkcjonal-
• Planowanie systemu procesy zintegrowane i odbywające się równo- ności (także w zakresie projektowania czy ar-
• Analiza systemu (wymagań) legle. Dzięki częstym dostawom nowych funk- chitektury), ponieważ często mają oni najlep-
• Projektowanie systemu cjonalności i bliskiej współpracy z programista- szy całościowy pogląd na system.
• Implementacja mi testowanie daje szybką informację zwrotną Ważnym elementem testowania w Scrum
• Testowanie dla programistów, jednocześnie motywuje, jest to, że zadania testerskie, podobnie jak każ-
• Wdrożenie i pielęgnacja wspiera i weryfikuje ich pracę. Jednym z naj- de inne, powinny być estymowane. Pozwala to
ważniejszych czynników sukcesu projektów na znacznie lepszą kontrolę nad przebiegiem
W powyższym modelu zespół testerski pro- Scrum jest dobra, bliska komunikacja pomię- prac testerskich, a poza tym pozwala nie zapo-
szony jest o przetestowanie gotowego już za- dzy testerami a programistami, którą należy minać o fakcie, że czas testera dostępny w każ-
zwyczaj produktu. Czynności rozpoczynają wciąż rozwijać. Programista nie może określić dym sprincie jest skończony i nie może on
się od napisania przez Menadżera Testów pla- jakiejkolwiek funkcjonalności jako ‘zakończo- w sposób wyczerpujący przetestować wszyst-
nu testów projektu, oraz planu testów dla da- na’ jeżeli nie została ona dokładnie przetesto- kich nowych czy istniejących funkcjonalności.
nej fazy projektu. Następnie, po przeglądzie wana przez współpracującego z nim testera. W projektach Scrum stosuje się głównie na-
i weryfikacji specyfikacji wymagań zespół te- Dla testerów rozpoczynających swoją przy- stępujące typy testów:
stowy rozpoczyna przygotowywanie przy- godę w Scrum najistotniejszymi jego cechami
padków testowych, które następnie posłużą są iteracyjny charakter oraz częsta i bliska ko- • Testy regresyjne: Celem testów regresyj-
do wykonywania testów. W między czasie munikacja. Cechy te wymagają od nich prze- nych jest weryfikacja, że istniejące, wcze-
produkt zostaje dokończony i jest gotowy do stawienia się na inny tryb pracy tak, aby wła- śniej zaimplementowane funkcjonalno-
testów, jednak zazwyczaj na testy pozostaje ściwie wypełniać swoje obowiązki jako członek ści nie zostały w żaden sposób naruszo-
zbyt mało czasu – dużo mniej niż wcześniej zespołu Scrum: ne przy implementacji nowych funkcji.
planowano. Po pierwszej fazie testów nastę- Stąd testy regresyjne należy wykonywać
puje faza poprawiania znalezionych błędów, • testowanie podczas każdej z iteracji, a nie zawsze po włączeniu nowych funkcji do
po czym następują kolejne fazy testów oraz na zakończenie całej fazy implementacji; kodu. Należy zwrócić uwagę, że w związ-
retestów poprawionych błędów. Po zapewnie- • planowanie i decydowanie o tym, co na- ku z częstymi przyrostami nowych funk-
niu odpowiedniego stopnia jakości produktu, leży przetestować, kiedy produkt nie jest cjonalności testy regresyjne w projek-
zostaje on dostarczony do klienta. jeszcze ukończony; tach Scrum bywają czasochłonne, ponie-

13 Dodatek SDJ
Testowanie oprogramowania a Scrum

waż zestawy testów mogą składać z se- do przeprowadzenia testów, ponieważ przed gliby być zaangażowani w testowanie no-
tek przypadków testowych, stąd pożąda- ich rozpoczęciem nie zostaną nam najpraw- wych funkcjonalności i znajdowanie no-
na jest automatyzacja regresyjnych scena- dopodobniej przekazane specyfikacje wyma- wych błędów.
riuszy testowych, tak by zespół testowy gań. Pozostali członkowie zespołu będą od • Proaktywność: Należy być proaktyw-
mógł poświęcić większą ilość czasu na te- nas wymagali szybkiej informacji zwrotnej, nym w zbieraniu informacji na temat te-
sty nowych funkcjonalności. dlatego należy wybrać takie techniki testo- go, co powinno być przetestowane. Jeżeli
• Testy eksploracyjne: W Scrum w testach wania, które umożliwią jak najszybsze prze- uważa się, że posiadamy za mały zbiór in-
eksploracyjnych może uczestniczyć cały kazanie takich danych. Należy obserwować formacji, ograniczający nasze testowanie,
zespół, nie tylko testerzy. Ten rodzaj te- produkt podczas testów i wyciągać wnioski należy zadawać pytania: programistom,
stów daje możliwość szybkiego przete- z osiąganych wyników stosując różne techni- klientowi, czy dowolnym innym człon-
stowania nowych funkcjonalności – dzię- ki testowania tak by jak najlepiej testować da- kom zespołu, którzy mogą wnieść świeży
ki temu możliwa jest szybka informacja ny system czy funkcjonalność nie mając do- pogląd na nową funkcjonalność.
zwrotna na temat jakości nowego rozwią- stępu do jego specyfikacji. Podczas planowa-
zania oraz znalezienie najpoważniejszych nia oraz wyboru sposobu jak również przed- Podsumowanie
błędów. Testy eksploracyjne są doskona- miotu testów należy kierować się czynnikiem Praca w projekcie wg. Scrum może z począt-
łym sposobem na poznanie testowanej ryzyka, a także być przygotowanym na możli- ku wydawać się wyzwaniem dla testerów przy-
funkcjonalności, pozwalają w jednym we zmiany tych planów w każdym momencie zwyczajonych do pracy w metodykach kaska-
momencie projektować i wykonywać te- przebiegu testów. dowych, charakteryzujących się jasnym po-
sty, a także są często doskonałym przy- działem na poszczególne fazy. Jednak po-
czynkiem do powstania nowych regresyj- Lessons learned znawszy dobrze zasady i teorię tej metody-
nych przypadków testowych. Testy wy- Poniżej znajduje się lista zaleceń, które mogą ki, łatwo dostrzec, że pomimo pracy w bar-
magają od testera analitycznego podejścia ułatwić osiągnięcie sukcesu we właściwej im- dziej dynamicznym środowisku, gdzie odpo-
i stałej oceny tego, co i jak należy w danej plementacji procesu testowego w Scrum: wiedź na zmianę jest znacznie szybsza, a spe-
chwili przetestować. cyfikacje wymagań mniej obszerne i podle-
• Testy automatyczne: W związku z krót- • Testuj wcześnie: Aby jak najwydajniej gające stałym aktualizacjom, Scrum przyno-
kimi cyklami pracy nad kodem i ciągłymi skorzystać z pozytywnych aspektów ja- si dla testerów wiele pozytywnych zmian. Ła-
dostawami nowych funkcjonalności nale- kie niesie ze sobą Scrum niezbędne jest twiej i szybciej jest planować kolejne testy,
ży efektywnie planować i wykonywać te- jak najwcześniejsze rozpoczęcie testowa- kiedy możemy je oprzeć na realnym, istnieją-
sty tak by w sposób najbardziej optymal- nia nowych funkcjonalności. Im dłużej cym produkcie zamiast na planach czy specy-
ny wykorzystać dostępny czas. Ponieważ błędy tkwią w kodzie źródłowym, tym fikacjach wymagań. Dzięki stałym dostawom
w każdym sprincie do zadań testerów trudniej i drożej jest je usunąć. nowych funkcjonalności można spędzić wię-
oprócz testowania nowych funkcjonalno- • Pamiętaj o regresji: Główną cechą Scru- cej czasu na testowaniu, nie czekając na goto-
ści należą testy regresyjne wcześniej za- m’a jest jego iteracyjność, która niesie za wy produkt dostarczony nam pod koniec pro-
implementowanych funkcji, warto przy- sobą wzmożone ryzyko wprowadzania jektu. Przede wszystkim jednak testerzy mają
gotować i rozwijać automatyczne skryp- błędów do wcześniej zaimplementowa- realny udział w podejmowaniu decyzji doty-
ty testowe, które wykonane przy każdej nych funkcjonalności. Mając to na uwa- czących wyglądu czy funkcjonalności opraco-
nowej dostawie pozwolą, bez straty cen- dze należy pamiętać o ciągłym utrzymy- wywanego systemu poprzez udział w spotka-
nego czasu, odpowiedzieć na pytanie, czy waniu aktualnych skryptów testów re- niach i bliskiej współpracy z programistami.
nowe funkcjonalności nie wpłynęły ne- gresji oraz o wyczerpującym wykonywa- W Scrum, inaczej niż w innych, klasycznych
gatywnie na istniejące już funkcję lub na niu takich testów, tak aby nie ominąć błę- metodykach, testowanie jest szczególnie waż-
działanie całego systemu. dów testując jedynie najnowsze funkcjo- ne, gdyż miarą postępu i ostatecznego sukce-
• Testy integracyjne: Ze względu na ciągłe nalności. su projektu jest liczba dostarczonych funkcjo-
dostawy i integrację nowych funkcjonal- • Testuj z punktu widzenia użytkownika nalności oznaczonych jako ‘skończone’. Żad-
ności niezbędne jest ciągłe przeprowadza- końcowego: Jest sprawą krytyczną, aby na z funkcjonalności nie może zostać oznaczo-
nie testów integracyjnych w celu wery- zarówno programiści jak i testerzy posia- na jako ‘skończona’ jeżeli nie zostanie w pełni
fikacji poprawności współpracy nowych dali wiedzę na temat tego, jak system bę- przetestowana.
modułów z już istniejącymi. dzie używany przez użytkownika końco- Warto więc przełamać lęk i zrobić pierwszy
• Testy niefunkcjonalne: Podobnie jak wego. Wiedzę tą należy przełożyć na sce- krok w nieznane – spróbować znaleźć swoje
w projektach prowadzonych według in- nariusze testowe i rozpropagować wśród miejsce, jako testera, w projekcie Scrum.
nych metodyk na systemach pisanych wszystkich stron zaangażowanych w roz-
w projektach prowadzonych zgodnie wój danej funkcjonalności. PAWEŁ KAZIENKO
z metodyką Scrum niezbędne jest prze- • Komunikacja: Dobra komunikacja jest Testberries
prowadzenie testów niefunkcjonalnych, kluczem do sukcesu w projekcie Scrum. Paweł Kazienko prowadzi �rmę Testberries, dostar-
sprawdzających takie cechy produktu Wszystkie strony pracujące nad wybraną czającą usługi, konsultantów oraz wiedzę z zakre-
jak: wydajność, używalność, niezawod- funkcjonalnością powinny bardzo blisko su testowania oprogramowania. Od pięciu lat
ność, bezpieczeństwo i inne. współpracować, tak by testowanie przy- z sukcesami doradza w zakresie jakości oprogra-
niosło najwięcej korzyści. mowania i wdraża procesy testowe w projektach
Aby dobrze wykonywać testy w projekcie • Automatyzacja: Jedynie zautomatyzowa- prowadzonych według różnych metodologii Agi-
Scrum warto dogłębnie poznać sam proces, ne testy poszczególnych funkcjonalno- le, głównie w Scrum. Posiada również bogate do-
jego pochodzenie, postulaty oraz ich uzasad- ści przyniosą wymierne korzyści. Ciągłe, świadczenie w pracy w projektach prowadzonych
nienie. Od początku należy być świadomym ręczne powtarzanie tych samych przy- zgodnie z tradycyjnymi metodologiami.
tego, że należy wykazywać się proaktywno- padków testowych jest stratą dostępnych Kontakt z autorem:
ścią w zdobywaniu informacji niezbędnych środków – czasu oraz ludzi, którzy mo- pawel.kazienko@testberries.com

www.sdjournal.org 14
SoftQA

Test jako najwyższa


forma designu
Tytułowe stwierdzenie dla jednych może być niezrozumiałe, dla
innych tylko przewrotne, ale jest też niemała grupa osób, dla których
jest… oczywiste. I nie chodzi mi tu o miłośników metody Test Driven
Development (choć później wrócimy do tego tematu), tylko o testerów
w tradycyjnym rozumieniu tego słowa.

T
eza postawiona w tytule jest za- takie chwile w niektórych projektach) sie- • Ciągle mi się wywala w ABCD. To
pewne miła dla ucha doświadczo- dzi sobie przy kawie po kolejnym napiętym twój blok?
nych testerów, zwłaszcza tych, któ- terminie, a tu nagle dzwoni telefon od ziry- • No, tak… otwierałem go do ostatniego
rzy mają dosyć użerania się z niedouczony- towanego testera, któremu „uwala się” ko- buildu, ale zamiany tam były tylko ko-
mi i leniwymi programistami. lejny test: smetyczne.
Od razu przyznam się bez bicia, że spę-
dziłem „w designie” sporo czasu i nie uwa-
żam tych lat za stracone. Ale jest jedno ma-
łe ale – tradycyjne sposoby organizacji
pracy programistów (czy projektantów)
są dość „alienujące” i raczej ograniczające
horyzonty. Powodują, że designerzy stają
się często specjalistami w bardzo wąskiej
dziedzinie. A wtedy łatwo przeoczyć waż-
ny szczegół z „dziedziny obok” i o błąd nie
trudno. Wbrew złudzeniom, które żywi-
łem jako młody designer, tworzenie opro-
gramowania w (lub dla) dużej korpora-
cji nie jest działalnością specjalnie twór-
czą. Niewłaściwie ukierunkowana inwen-
cja może być wręcz szkodliwa. Przecięt-
ny projektant oprogramowania musi wło-
żyć ogromny wysiłek w poznanie zasad pi-
sania oraz dokumentowania kodu obowią-
zujących dla danego systemu (procesy, na-
rzędzia, tzw. design rule etc.) oraz przyswo-
jenie wymagań dla tego co ma właściwie za-
kodować (co analityk miał na myśli i dlacze-
go nie przewidział tylu aspektów?). Im sys-
tem bardziej skomplikowany, tym wysiłek
programisty musi być większy. Przy pew-
nym poziomie komplikacji dużą część tego
wysiłku musi przejąć organizacja, a wtedy
zaczynają się schody. Niejeden projekt się
na tym potknął i niejeden kolos na glinia-
nych nogach padł.
Ale po co o tym wszystkim? Bynajmniej
nie po to, żeby użalać się nad programista-
mi, lecz by zwrócić uwagę (nie tylko) teste-
rów na kontekst ich relacji z tymi „po tam-
tej stronie buildu”. Otóż wyobraźmy sobie
taką sytuację: odprężony designer (bywają

15 Dodatek SDJ
Test jako najwyższa forma designu

• Totalna porażka, nic nie działa! nia uwagi na fakt, iż tester ma „z natury”
• Jak to nie działa? A załadowałeś przewagę nad designerem i to na nim cią-
wszystkie korekcje dla używanej wer- ży dużo większa, niż nad programistą, od-
sji? powiedzialność za końcowy efekt (czasem
• Pewnie, że załadowałem! Za kogo mnie zwany jakością). I nie chodzi mi tu o elitar-
masz?! ne grupy testerów zajmujących się wyłącz-
• A ustawiłeś… nie zapewnianiem jakości, ale o dość typo-
wy w dużych firmach układ, gdy w jednym
Dobrze, jeśli dalej rozmowa potoczy się w departamencie programiści coś sobie „rzeź-
konstruktywnej atmosferze. Ale gdy jest bią”, a w innym testerzy weryfikują wyma-
dużo problemów, napięte terminy, kumu- gania, funkcjonalności, parametry etc.
lacja opóźnień, zawieszenie komputera, Gdybym miał wybrać inny tytuł, to
kryzys, katar, śnieżyca, wybory, ocieple- brzmiałby pewnie: „Designerem może być
nie klimatu itp. kataklizmy, to nietrudno każdy (kto chce), testerem niekoniecznie”.
o tych kilka słów za dużo, które rzucą się Z tego mogłoby wynikać, że to głównie na
cieniem na dalsze relacje między ludźmi, testerze ciąży odpowiedzialność za kontak-
którzy w innej sytuacji mogliby zostać do- ty z designem, a nie odwrotnie. Moim zda-
brymi współpracownikami. niem rzeczywiście tak być powinno.
Generalnie tzw. tradycyjne sposoby wy- Wspomniana już metoda Test Driven
twarzania oprogramowania w dużych fir- Development jest niewątpliwe pewną skraj-
mach mają jakby genetyczne obciążenie, nością wynikającą z wyżej opisanego podej-
które skutkuje nieuniknionymi konflikta- ścia. Jednakże ma ona – moim zdaniem –
mi na styku testu i designu. Zazwyczaj two- dość ograniczone zastosowanie. I jak każdą (ci, którzy mieli do czynienia np. z meto-
rzenie i testowanie oprogramowania odby- nowinkę trzeba ją stosować z głową i ostroż- dyką Scrum wiedzą, że optymalny zespół,
wa się w oddzielnych działach. Ludzie mają nie. A żeby ją w ogóle móc zastosować trze- to 5-8 osób).
różnych przełożonych, pracują na różnych ba i tak mieć coś, co można jakoś testować. Dzisiaj widać, że przyszłość to szeroko
piętrach albo nawet w innych budynkach. Zatem nie rozwiąże ona wszystkich proble- rozumiany kierunek zwany Agile Develop-
Kontakty są rzadkie i przeważnie od „wiel- mów na styku testu i designu (zresztą nie ment, który usuwa wiele problemów stwo-
kiego dzwonu” (np. impreza noworoczna) jest do tego przeznaczona). rzonych przez tradycyjne metody produk-
albo w atmosferze powyższego dialogu. Pomagają natomiast wszelkie sposoby cji oprogramowania, przynosi jednak tak-
Odpowiednia formalizacja tych kontaktów ułatwiające bezpośrednie kontakty i roz- że nieznane dotąd wyzwania. Pojawiają się
poprzez narzędzia i procesy częstokroć po- wijające pracę zespołową testerów z pro- nowe problemy, dla których potrzebne bę-
maga, ale czasem jest kroplą przepełniająca gramistami. W idealnym modelu powi- dą nowatorskie rozwiązania. Zatem kto wie
kielich goryczy, zwłaszcza, gdy narzędzie nien to być interdyscyplinarny zespół do- – może za kilkanaście lat podobny artykuł
działa słabo, a proces w ogóle. starczający całość wytestowaną na wszyst- będzie nosił tytuł: „Design, jako najwyższa
Wypadałoby się w końcu wytłumaczyć, kie strony i sposoby. Oczywiście już od ja- forma testu”?
dlaczego były designer sformułował akurat kiegoś czasu raczej nie ma takich całości,
taki tytuł. Po części dla zwrócenia Waszej czy może raczej – nie ma efektywnych spo-
uwagi na ten tekst, ale głównie dla zwróce- sobów współpracy tak wielkich zespołów

MAREK GŁOWACKI
Autor pracuje od kilkunastu lat w �rmie Ericpol
Telecom, gdzie obecnie zajmuje się szeroko poję-
tym zarządzaniem jakością. Więcej w Internecie:
http://www.goldenline.pl/326857

Spółka Ericpol Telecom Sp. z o.o. została zało-


żona w 1991 r. w Łodzi. Obecnie zatrudnia po-
nad 850 osób w Polsce (Łódź, Kraków, Warsza-
wa) i spółkach zależnych w Szwecji, na Białorusi
i Ukrainie. Ericpol jest największym polskim eks-
porterem branży IT. Świadczy usługi outsourcin-
gu, konsultingu, dostarcza rozwiązania i usługi
dedykowane w obszarze telekomunikacji, tele-
matyki i usług medycznych.

www.sdjournal.org 16
SoftQA

Testowanie oparte
na danych
Dane testowe są nierozerwalnie związane z testowaniem oprogramowania.
W kluczowej dla dokumentacji testerskiej normie IEEE 829 Standard for
Software Test Documentation jest określone, że informacja wejściowa jest
ważną składową specyfikacji przypadku testowego. Sygnałem wejściowym
może być zarówno plik wsadowy, jak i tablica. Jednak w większości
przypadków będzie to wartość, czyli dana. Musi ona zostać precyzyjnie
określona, aby w równie dokładny sposób można było zdefiniować
możliwą informację wyjściową z systemu.
Dane testowe liczbie zapytań w krótkim czasie. Część ta- je się dane rzeczywiście wykorzystywa-
dla różnych typów testów kich ataków eliminuje się testami wydajno- ne przez jego użytkowników.
Bez względu na typ testów jakie przepro- ści opisanymi poniżej.
wadzamy, dane testowe są ich nierozerwal- W momencie wystąpienia awarii spraw-
ną częścią. c) Testy wydajnościowe, obciążeniowe dzane jest czy system jest w stanie sam
i stresowe odnoszą się przede wszyst- powrócić do normalnego trybu pracy. Je-
a) Testy funkcjonalne polegają na spraw- kim do aplikacji internetowych. Służą śli tak to dodatkowo bada się, w jakim sta-
dzeniu ogólnej funkcjonalności apli- sprawdzeniu, ilu użytkowników lub nie są przechowywane w nim dane. Ten
kacji, a przypadki testowe oparte są zapytań jest w stanie obsłużyć aplika- typ testów nazywa się zdolnością systemu
na wymaganiach klienta. Do tego typu cja w jednostce czasu. Testy wydaj- do odtworzenia po awarii. Na potrzeby te-
testów stosujemy zarówno pozytyw- nościowe polegają na stworzeniu se- stów przechowuje się dane wpisane do sys-
ne jak i negatywne dane testowe, aby tek, tysięcy lub milionów wirtualnych temu i porównuje je z danymi w systemie
mieć pewność, że są one odpowiednio użytkowników o unikalnych parame- po awarii. Celem badania jest sprawdze-
akceptowane lub odrzucane. trach, którzy w tym samym czasie ope- nie, czy dane nie zostały uszkodzone, a je-
b) Testy bezpieczeństwa to przede rują na testowanej aplikacji. Użytkow- śli zostały uszkodzone, to jaki ich procent.
wszystkim symulowanie ataków na nicy ci opisani są danymi testowymi Gdy system nie jest w stanie samodzielnie
oprogramowanie przeprowadzane w postaci unikalnej nazwy użytkowni- się „podnieść” i funkcjonować, sprawdzane
przez automatyczne skrypty lub ha- ka, hasła i scenariuszy, które wykonują. są przygotowywane kopie bezpieczeństwa
kerów. Testy oparte są na zapytaniach d) Testy użyteczności używają danych do lub ewentualnie zdolność do odtworzenia
badających luki bezpieczeństwa. Jedną walidowania komunikatów przekazy- danych z uszkodzonego systemu.
z takich luk może być np. nieskończo- wanych przez system. Tego rodzaju te-
na ilość prób przy podawaniu hasła do sty nie są automatyzowane, ale wyma- Dane testowe
profilu. Umożliwia to automatycznym gają dużej ilości odpowiednio spreparo- dla różnych typów aplikacji
skryptom podawanie losowo genero- wanych danych testowych. Dane przechowywane w różnych systemach
wanego hasła aż do osiągnięcia pozy- e) Testy niezawodności to określenie czasu różnią się od siebie. Inne dane potrzebne są
tywnego rezultatu. do najbliższego błędu uniemożliwiające- w aplikacjach księgowych, inne w aplika-
go działanie aplikacji. Awarie takie za- cjach telekomunikacyjnych. Wspólną czę-
Istnieją specjalne aplikacje testujące, które zwyczaj „naprawia się” lub też ich uni- ścią większości systemów są dane o klien-
atakują testowany system wszystkimi zna- ka poprzez wyłączenie programu i jej tach. Specyficzne systemy przechowują
nymi hakerom metodami, celem ujawnie- ponowne uruchomienie. Nie ma wątpli- również swoiste dla danego biznesu dane.
nia potencjalnych zagrożeń. wości, że pytanie dotyczące niezawod- Na poniższych przykładach pokażemy, ja-
Dane testowe to różnego rodzaju zapyta- ności aplikacji nie brzmi – czy wystąpi kie przykładowe dane przechowywane są
nia mogące zidentyfikować potencjalną lu- błąd? Tylko – kiedy to nastąpi? Nawet w popularnych systemach.
kę bezpieczeństwa, lub też mogące uszko- najbardziej niezawodne systemy muszą
dzić dane przechowywane na serwerze. być cyklicznie restartowane. Aby okre- Dane w bankowości
Dla aplikacji internetowych dużym za- ślić czas do następnej awarii obserwuje System bankowy składa się z olbrzymiej ilości
grożeniem może być przeciążenie serwe- się aplikację w jej standardowym trybie podsystemów tworzących informatyczną ar-
ra atakami DDoS, polegającymi na dużej pracy. Do systemu produkcyjnego poda- chitekturę banku. Ponieważ jest on pod nie-

17 Dodatek SDJ
Testowanie oparte na danych

ustannym atakiem osób pragnących w łatwy bie podejścia do samego testowania. Okre- W procesie identyfikacji zestawu danych,
i szybki sposób się wzbogacić, testy są tutaj wy- ślamy, czy bardziej zależy nam na przetesto- potrzebnych w cyklu testowania, zaczyna-
jątkowo ważnym etapem rozwoju aplikacji. waniu aplikacji pod kątem danych rzeczywi- my od określenia wymagań klienta dla da-
Dane jakie przechowują systemy banko- stych, czy też sztucznie spreparowanych da- nej aplikacji. Dzięki temu jesteśmy w sta-
we to przede wszystkim dane klientów ban- nych (będących optymalnym zestawem da- nie określić większość pozytywnych przy-
ku, dane o posiadanych przez nich produk- nych testowych). W większości przypadków padków testowych i powiązane z nimi
tach oraz o transakcjach przez nich wykony- metody testowe oparte będą na technikach dane. Dane testowe nie pojawiają się ja-
wanych. Czasami jednak na pierwszym miej- pośrednich. Używane będą więc zarówno ko osobny rozdział specyfikacji wyma-
scu, przed człowiekiem, stawia się inne pod- generowane, jak i produkcyjne dane. gań. Wyszukanie danych to złożony pro-
systemy. Analizuje się, jakie operacje były W uproszczeniu, proces definiowania da- ces analizy wytycznych klienta, czy zlece-
przez poszczególne aplikacje wykonywane. nych składa się z następujących czynności: niodawcy.
Przykładowym podsystemem może być sys- Oto przykład ukrytego wymagania co do
tem wpłaty/wypłaty gotówki. Na potrzeby te- • Określ konieczne dane na bazie wyma- danych: „Każdy pracownik firmy ma przy-
stów, należy wygenerować logi bankomatów gań klienta. pisany numer identyfikujący go w systemie
i sprawdzić, czy są one odpowiednio anali- • Sprawdź, czy dana podlega regulacjom kadrowym. Numer składa się zawsze z litery
zowane przez systemy kontrolne. Przykłado- wewnętrznym firmy, aktom prawnym, „P”, następnie jest litera identyfikująca dział
wy log będzie składał się z informacji o klien- normom krajowym czy międzynarodo- w jakim pracuje (B – biuro, P – produkcja, S
cie wykonującym transakcje, dacie i godzinie wym. – sprzedaż). W dalszej części jest to numer
transakcji, z identyfikatora maszyny wypłaca- • Określi minimalną, maksymalną porządkowy, zawsze składający się z pię-
jącej gotówkę, typu wykonanej operacji oraz i optymalną ilość danych testowych. ciu cyfr. Pierwszy identyfikator ma numer
kwoty na jaką opiewała transakcja. • Zidentyfikuj źródło danych: 00001, ostatni będzie miał numer 99999.
• Dane produkcyjne Przykładowy numer pracownika działu
Dane w telekomunikacji • Bazy danych testowych sprzedaży to PS00010. Numer generowany
Firmy telekomunikacyjne żyją z opłat abo- • Generator danych jest przez system w kolejności oraz w zależ-
namentowych oraz z wykonywanych przez • Uzupełnij dane o przypadki z własnego ności od dostępności.”
ich klientów połączeń. Najważniejsze da- doświadczenia. Na bazie tak zdefiniowanych danych wie-
ne dotyczą więc ruchu generowanego przez • Zbuduj bazy danych testowych. my, że ciąg identyfikujący pracownika ma
użytkowników na łączach. Typowe dane
w systemie telekomunikacyjnym to data wy-
konania połączenia, czas trwania połączenia,
unikalny numer użytkownika, unikalny nu-
mer aparatu z jakiego nawiązano połączenie,
typ połączenia (SMS, rozmowa, wideokon-
ferencja, itp.), do jakiej sieci zostało wykona-
ne połączenie i czy zostało wykonane w ro-
amingu, czy też nie. Wszystkie te dane są
podstawą do obciążenie klienta zdefiniowa-
nymi kosztami użytkowania sieci.

Dane w sklepie internetowym


Odpowiednie zarządzanie zamówieniami
stanowi równie ważny element funkcjono- Rysunek 1. Przykład automatycznego testu opartego o dane w aplikacji Selenium IDE
wania sklepu jak zarządzanie magazynem.
Dane jakie przetwarzane są do poprawne-
go zakończenia transakcji to identyfikator
klienta, czy jest to klient zalogowany, czy
dokonujący zakupu jako gość, kiedy doko-
nano zamówienia, ile i jakie produkty za-
mówiono (łącznie z identyfikatorami pro-
duktów), cena jednostkowa produktów, ce-
na sumaryczna (z uwzględnieniem raba-
tów), podatek, typ dostawy i typ płatności.
Powyższe dane powiązane są z innymi da-
nymi przechowywanymi w systemie. Bazu-
jąc na dacie zamówienia, określamy do kie-
dy należy dostarczyć produkt, lub też bazu-
jąc na ID produktu sprawdzana jest jego do-
stępność w magazynie.

Definiowanie
danych testowych
Definiowanie danych testowych jest proce-
sem, podczas którego decydujemy o sposo- Rysunek 2. Okno główne programu „Generator danych testowych”

www.sdjournal.org 18
SoftQA

siedem znaków. Pierwszym będzie zawsze pola „nazwa użytkownika” będzie składał • Optymalne pozytywne – w tym try-
P, drugi przyjmie jedną z trzech wartości się z następujących kroków: bie dane są losowo wybierane z tabe-
(B, P, S), a znaki od trzeciego do siódmego li, która zawiera optymalne dane po-
przyjmą wartości od 0 do 9. Takich danych • Otwórz stronę logowania do portalu zytywne. Dane każdego typu można
będziemy używali do większości testów. http://stronaX.pl/logowanie. edytować w edytorze baz danych. Da-
Dane takie jak identyfikatory nie są regu- • Uzupełnij pole „nazwa użytkownika” ne optymalne pozytywne są to dane
lowane przepisami prawnymi, tak jak dzieje ciągiem znaków umownie nazywanym spełniające warunki dla danego typu
się to z nazwiskami czy numerami PESEL. X, gdzie X jest dowolną nazwą użyt- danych. Mogą to być dane rzeczywiste,
Mogą istnieć wewnętrzne regulacje, które kownika. lecz nie jest to warunek konieczny.
nakładają klasyfikację według pewnych za- • Potwierdź nazwę użytkownika, naci- • Optymalne negatywne – w tym trybie
sad. Przykładowo – pracownicy, którzy roz- skając klawisz „Potwierdź”. dane są losowane z tabeli, która zawie-
wiązują umowę o pracę nie są usuwani z sys- ra negatywne dane pozytywne. Dane
temu księgowego, a ich numery nie są zwra- Oczekiwany pozytywny rezultat zachowa- optymalne negatywne są to dane, które
cane do puli dostępnych identyfikatorów. nia aplikacji to brak komunikatu o błędzie, powinny wymuszać w testowanej apli-
Tak więc część numerów, pomimo istnienia oznaczający, że nazwa została zaakceptowa- kacji błąd (oczywiście istnieją wyjątki).
w systemie, będzie już rzadko używana. na. W przypadku testów negatywnych mu- Pozytywne dane testowe – w tym try-
Kiedy wiemy już, jakie dane zostaną uży- simy założyć, że poprawnym zachowaniem bie generacja następuje poprzez losowe
te, musimy określić źródło, z którego bę- aplikacji będzie komunikat o błędzie. tworzenie danych według ścisłych re-
dą one pochodzić. Dane mogą być skopio- Podstawiając pod X wcześniej przygoto- guł dla określonego typu danych.
wane z aktualnie używanego systemu pro- wane dane testowe, możemy sprawdzić wie- • Negatywne dane testowe – w tym try-
dukcyjnego. Stanowią one wtedy w pełni le różnych przypadków testowych niskiego bie generacja następuje poprzez losowe
rzeczywiste odwzorowanie danych produk- poziomu. tworzenie danych według reguł prze-
cyjnych. Mogą również zostać wygenerowa- Data Driven Testing nie ma większego ciwnych dla danego typu danych.
ne według zdefiniowanego wzorca, zarów- sensu bez automatyzacji. Proces manual- • Rzeczywiste – w tym trybie dane są
no dla przypadków pozytywnych jak i ne- nego podstawiania pod zmienną X dowol- generowane poprzez losowe wybiera-
gatywnych. nej danej jest powtarzalną i męczącą czyn- nie z tabeli, która zawiera rzeczywiste
Kolejny krok to uzupełnienie puli danych nością. Automaty testowe mogą tu spraw- dane. Większość takich danych można
o dane testowe, które wynikają z naszej wie- nie wyręczyć testera. edytować w edytorze baz danych. Wy-
dzy, umiejętności, czy też zdarzeń histo- Dane testowe pobierane są z zewnętrzne- jątkiem są dane, które są zastrzeżony-
rycznych. Techniki oparte na doświadcze- go pliku, gdzie zostają uprzednio zapisane, mi danymi jako dane osobowe (Polski
niu zostały opisane wcześniej w technikach lub do którego są wygenerowane. Następuje adres poczty elektronicznej, Numer te-
projektowania przypadków testowych i ma- otwarcie pętli i pobieranie kolejnych wpisów lefonu stacjonarnego, Numer komórko-
ją takie same zasady w odniesieniu do da- z pliku. Aplikacja automatycznie otwiera wy, PESEL, NIP, REGON, IBAN) oraz
nych testowych. Jedna z wartości dla przy- stronę testową i we wskazane miejsce „wkle- dane, które są typowo danymi losowy-
kładu opisanego powyżej to PS00000, czy- ja” skopiowaną z pliku wartość. Naciskany mi (Inna data, Data urodzin). Dane
li przypadek negatywny, nie będący częścią jest klawisz potwierdzający i weryfikowany rzeczywiste są to dane, które są dany-
zdefiniowanych identyfikatorów pracow- jest pojawiający się komunikat. Pętla kończy mi prawdziwymi.
ników. W puli danych uwzględnione będą się, kiedy kończą się wpisy w pliku.
musiały zostać również dane testowe, gdzie Takie podejście do testów umożliwia nam Narzędzie w wersji BETA można pobrać ze
w miejsce pierwszej litery P wstawimy in- praktycznie ciągłe testowanie. Może ono strony: http://www.testerzy.pl/generator
ny znak, w tym wartość liczbową. Ilość ta- trwać dwadzieścia cztery godziny na dobę,
kich przypadków testowych będzie dąży- siedem dni w tygodniu, pięćdziesiąt cztery (Po) dane
ła do nieskończoności, dlatego należy po- tygodnie w roku. Zadanie testera redukuje Odpowiedni dobór danych i ich zdefiniowa-
przez analizę ograniczyć je do niezbędne- się do generowania lub też opracowania da- nie nie tylko ułatwia naszą codzienną pra-
go minimum. nych wejściowych i sprawdzanie w logach cę, ale również znacząco podnosi skutecz-
wyjściowych komunikatów błędów. Proces ność znajdywania błędów. Do wyboru są
Automatyzacja testowania ten wymaga sporego przygotowania obej- dwie drogi. Albo zaatakujemy interfejsy na-
opartego dane mującego tworzenia i utrzymanie automa- szych aplikacji losowymi i przypadkowi da-
Wielokrotne powtarzanie tych samych tycznych skryptów testowych. nymi, albo zatrzymamy się przed atakiem
czynności jest zmorą większości testerów. i odpowiednio przemyślimy, jakiej broni
Ważne jest dla nich upraszczanie nużą- Generowanie należy użyć. Skuteczna broń to dobre da-
cej pracy. Poprzez definiowanie procedur danych testowych ne testowe.
usprawniających manualne czynności oraz Generator danych testowych został stwo- Artykuł powstał na podstawie materiałów
wsparcie narzędziowe (automatyzowanie), rzony z myślą o polskich testerach zmagają- do przygotowywanej przez Annę Piaskowy
testerzy są w stanie znacznie zredukować cych się z problemem definiowania danych oraz Radosława Smilgin książki pod tytułem:
powtarzalne czynności. Jednym z podejść, na potrzeby różnorakich testów. Przygoto- "Dane testowe. Teoria i praktyka."
które ułatwiają testowanie jest oparcie te- wuje on zestaw danych w oparciu o zdefi-
stów na danych (z angielskiego Data Dri- niowane wcześniej reguły. Program generu-
ven Testing). je dane w sześciu postaciach:
Dla potrzeb takich testów definiuje się
przypadek testowy wysokiego poziomu, • Wszystko – wtedy dane generowane są ANNA PIASKOWY,
uzupełniany dużą ilością danych wejścio- losowo spośród pięciu poniższych try- RADOSŁAW SMILGIN
wych. Przykładowy przypadek testowania bów. Kontakt z autorem: radoslaw.smilgin@testerzy.pl

19 Dodatek SDJ
SoftQA

Outsourcing testów
oprogramowania
Trendy w rozwoju rynku IT pokazują, że firmy coraz częściej wspierają się
outsourcingiem w rozwoju aplikacji. Dotyczy to praktycznie wszystkich
obszarów: prowadzenia projektów, programowania, utrzymywania
centrów danych, wsparcia technicznego, a w końcu testowania
oprogramowania.

Co można Dlaczego warto czenie. Dzięki temu mam zapewnioną odpo-


outsourcować w testach? outsourcować testy? wiednią jakość usługi, która jest satysfakcjo-
Zlecane mogą być najróżniejsze rodzaje te- Dzisiejszy, dynamiczny i wymagający rynek nująca. Gdybym zatrudnił testerów ponosił-
stów, zarówno testy wykonywane ręcznie, wymusza na firmach koncentrowanie się na bym koszty ich rekrutacji, zarządzania, roz-
jak również testy automatyczne lub prace swoim głównym biznesie (ang. core business). woju oraz musiał zapewnić im pracę również
wymagające specjalistycznej wiedzy i do- Przewagę konkurencyjną buduje się na szyb- w momentach, gdy nie ma potrzeby testowa-
świadczenia. W każdym wypadku kupuje- kim wdrażaniu nowych produktów (ang. time nia aplikacji.”
my czas specjalistów, którzy doskonale zna- to market). Można to osiągnąć przez zlecanie -Tomasz Wudarzewski, pełnomocnik zarządu
ją się na swojej pracy i potrafią skutecznie podwykonawcom wszystkich prac pomocni- ds. strategii i rozwoju Logintrade Sp. z o.o. oferu-
wesprzeć projekt i zapewnić wysoką jakość czych, które nie stanowią głównego biznesu, jącej rozwiązania dla działów zakupów.
produktu. a są w danej chwili potrzebne, żeby osiągnąć
Wiele testów wymaga specjalistycznej wie- najważniejsze cele. Wyspecjalizowani zlece- Redukcja kosztów
dzy i doświadczenia. Niewiele firm zatrud- niobiorcy potrafią dostarczyć najwyższej ja- Outsourcing jest obecnie jedną z najważ-
nia fachowców od wydajności, użyteczno- kości usługi w krótkim czasie. niejszych metod pozwalających uzyskać
ści, czy automatyzacji, ponieważ ich udział Dotyczy to również testowania systemów. oszczędności. Jednostkowy koszt wynajęte-
w projekcie jest zazwyczaj krótkotrwały i le- Wiadomo, że błędy w oprogramowaniu są go testera może wydawać się wyższy, ale jest
piej ich wynająć niż zatrudniać na stałe. źle postrzegane przez klientów i bardzo nega- to rekompensowane przez jego wiedzę, do-
tywnie odbijają się na wizerunku firmy. Dla- świadczenie i przede wszystkim dostępność.
W jaki sposób tego warto włożyć wysiłek w odpowiednią or- Outsourcing daje nam dużą elastyczność
można outsourcować testy? ganizację zarządzania jakością. w dostępie do dodatkowych pracowników
Testy mogą być wykonywane w siedzibie zle- Każdy etap cyklu rozwoju oprogramowa- i pozwala chwilowo zwiększyć zespół pro-
cającego, ale w wielu sytuacjach są realizowa- nia wymaga specyficznych uzdolnień i kom- jektowy. Poza tym unikamy kosztów rekru-
ne zdalnie. Powodem mogą być problemy petencji. Podobnie jest z testowaniem. Spe- tacji, szkoleń, a przede wszystkim utrzymy-
związane z dodatkową powierzchnią biuro- cjaliści od testów oprócz wiedzy i doświad- wania pracowników w czasie, gdy nie prowa-
wą, czy organizacją nowych stanowisk pracy. czenia charakteryzują się specyficznymi pre- dzimy testów.
Najpopularniejsze formy outsourcingu dyspozycjami psychicznymi, które ułatwiają Szacuje się, że w najlepszych organizacjach
testów: im wyszukiwanie defektów i dbanie o popra- koszt zapewnienia jakości stanowi ok. 25%
wę jakości systemu. ogólnych kosztów IT, które jak wiadomo nie
• body leasing – wynajmujemy doświad- Dobór odpowiednich pracowników jest są małe. Stąd warto się zastanowić nad ich
czonego testera, który pracuje pod na- dla organizacji problemem, ponieważ nieła- optymalizacją.
szym kierownictwem. W ten sposób two jest wyznaczyć osoby, które mają jedno-
możemy zwiększyć swój zespół o oso- cześnie odpowiednie predyspozycje i czas, że- Niezależny zespół i unikanie
by, które w 100% poświęcą się zada- by wykonywać testy. Tym bardziej, że nie ma- zbędnych kosztów
niom związanym z podniesieniem jako- my tu na myśli jednorazowego "przeklika- Doświadczenie pokazuje, że koszt naprawy
ści oprogramowania, nia aplikacji", ale systematyczne prace, któ- błędów jest tym większy, im później są one
• zlecenie testów – w tym wypadku zle- re trzeba zaplanować, przygotować, a często wykrywane. Udział niezależnych, krytycz-
camy wykonanie testów i to podwyko- też wielokrotnie powtarzać w systematycz- nych specjalistów już we wczesnych fazach
nawca odpowiada za ich efekt. Dotyczy ny sposób. projektu pozwala szybciej wykrywać defekty
to wszystkich etapów testowania: pla- „Zlecając przygotowanie i realizację testów co pozwala uniknąć kosztów naprawy w ko-
nowania, projektowania, realizacji, zgła- oprogramowania firmie zewnętrznej wiem, że lejnych etapach projektu.
szania błędów, raportowania i podsumo- są one wykonane przez specjalistów, którzy po- „Niezależne testy zapewniają najwyższą ja-
wania testów. siadają niezbędne kwalifikacje oraz doświad- kość naszych produktów, a outsourcing daje

21 Dodatek SDJ
Outsourcing testów oprogramowania

nam elastyczność i umożliwia wzmocnienie ze-


społu odpowiadającego za jakość w kluczowych
momentach projektu.”
-Sebastian Łękawa, Prezes SMT Software
S.A. zajmującej się wytwarzaniem specjalistycz-
nego oprogramowania dla biznesu.

Skrócenie czasu testów


Testowanie i odbiór systemu odbywa się pod
koniec projektu, czyli wtedy, gdy projekt ma
napięty harmonogram, a często jest nawet
opóźniony. Ponieważ na tym etapie nie ma-
my już żadnych czasowych marginesów, to
wszelkie opóźnienia odbijają się zwykle na
terminie dostarczenia rozwiązania. Ratun-
kiem może być wsparcie w postaci dodat-
kowych pracowników, szczególnie, gdy bę-
dą to fachowcy w całości poświęcający się te-
mu zadaniu.

Zainteresowani?
Outsourcingiem testów zainteresowani są
producenci oprogramowania oraz firmy ku-
pujące lub zamawiające system IT. Przedsię-
biorstwo tworzące systemy IT często potrze-
buje zwiększyć zespół testowy lub wesprzeć
się testerami, którzy zadbają o jak najwyż-
szą jakość ich produktu, co wpływa na sa-
tysfakcję klientów. Z kolei odbiorcy usług
IT napotykają na problemy przy odbiorach
systemów. Często nie mają doświadczenia
w testowaniu systemów lub kłopot z zapew-
nieniem osób, które poświęcą temu wystar-
czającą ilość czasu. Obie te kwestie załatwia
outsourcing specjalistów, którzy świetnie
znają się na jakości i mogą poświęcić temu
cały swój czas.

Podsumowanie
Outsourcing jest obecnie podstawowym
sposobem na elastyczne dopasowywanie za-
sobów do projektów IT i jednocześnie obni-
żania kosztów realizacji projektów. W zakre-
sie testowania pozwala osiągnąć dwa, wyda-
wałoby się sprzeczne, cele. Dzięki outsour-
cingowi usług testowych możemy ograni-
czyć koszty a jednocześnie podnieść jakość
systemów IT. Rozwiązania informatyczne
pozwalają tworzyć nowe produkty, obsłu-
giwać procesy biznesowe i obniżać koszty
działalności. Jednocześnie są one coraz bar-
dziej złożone, więc wymagają najlepszych
specjalistów. Można śmiało powiedzieć, że
outsourcing jest najlepszą metodą na uzy-
skanie najwyższej jakości za relatywnie naj-
niższą cenę.

TOMASZ WATRAS
Kontakt:
www.testbene�t.com
t.watras@testbene�t.com

www.sdjournal.org 22
SoftQA

Jak zrazić użytkowników


i zaryzykować utratę
Klienta
Każdy wykształcony Kierownik Projektu, Projektant, Architekt, a nawet
Programista ma wpojone stwierdzenie, że jakość jest ważna. Można
spodziewać się, że skoro o tym wiedzą, to wiedza ta będzie przekładała
się na takie planowanie działań, aby jakość uzyskać.

A
jednak użytkownicy i klienci (da- go oprogramowanie, to może nie warto przy- Prace te stanowią wstęp do obszaru, który zo-
lej obie grupy nazwiemy „odbiorcami wiązywać wagi do tych błędów i uznać je za stał nazwany ekonomią behawioralną.
oprogramowania”) narzekają na ja- „urodę” branży? Ekonomia behawioralna stara się wyjaśnić
kość a niejednokrotnie zgłaszany przez nich brak Firmy, które starają się dbać o jakość oprogra- zachowanie decydentów na rynku sięgając za-
jakości staje się przyczyną odrzucenia oprogramo- mowania niejednokrotnie zatrudniają zawo- równo po badania eksperymentalne, jak i ko-
wania, które według producenta ma wysoki po- dowych testerów i uważają, że to jest rozwią- rzystając z osiągnięć takich dziedzin jak psy-
ziom jakości. Dlaczego tak się dzieje? Zastana- zaniem problemów. Wielkie zdziwienie mana- chologia poznawcza, ekonomia eksperymen-
wiając się nad tym, co jest rozumiane przez jakość gerów, że testy nie pomagają, niejednokrotnie talna, kogniwistyka, filozofia itd. Choć eko-
po stronie dostawcy oraz odbiorcy oprogramowa- następuje dokładnie po tym, jak sfrustrowany nomia behawioralna nie odrzuca neo-klasycz-
nia warto spojrzeć nie tylko na produkt, ale także Klient zagroził zerwaniem kontraktu lub kara- nego nurtu w ekonomii, to jednak dostarcza-
na cały kontekst związany z dostarczaniem pro- mi za jakość. Zdziwienie managerów rośnie, ne przez nią modele w sposób zdecydowany
duktu i jego odbiorcą. gdy po rozmowie ze swoimi ludźmi uzyskują rewidują założenia odnośnie motywacji czło-
Może wydawać się truizmem, że odbiorcą zupełnie inny obraz rzeczywistości dowiadu- wieka gospodarującego (homo economicus). Wg
oprogramowania jest najczęściej człowiek. Skoro jąc się, że wszystko jest OK, a Klient nie wie co autora tej idei, Adama Smitha, homo economi-
to takie oczywiste, to wydaje się naturalne, aby mówi. Dlaczego tak się dzieje? cus to postać, która posiada pełną informację o
pochylić się zarówno nad aspektami indywidu- W latach '50 i '60 XX wieku miał miejsce rynku, jest racjonalna i dąży do maksymaliza-
alnymi, doświadczeniem, a także nieracjonal- pierwszy kryzys oprogramowania, co stało się cji swojej korzyści. Badacze w XX wieku wyka-
nością będącą cechą decydentów. W ciągu ostat- przyczynkiem do zdefiniowania dziedziny na- zali, że każde z tych założeń w określonych wa-
nich lat nauki ekonomiczne zostały wzbogacone zywanej Inżynierią Oprogramowania. Przez runkach może stać się nieprawdziwe.
szeregiem wyników badań pokazujących syste- kolejne lata badacze podejmowali tematy Zastanawiając się teraz nad modelem od-
matyczne tendencyjności i błędy poznawcze de- związane z niemal wszystkimi obszarami pro- biorcy oprogramowania opisywanym w pod-
cydentów. Prace w tym obszarze były uhonoro- cesu wytwarzania oprogramowania, ale z per- ręcznikach do inżynierii oprogramowania mo-
wywane m. in. kilkoma Nagrodami im. Alfre- spektywy końca pierwszej dekady XXI wieku żemy dowiedzieć się, że: odbiorca oprogramo-
da Nobla w dziedzinie ekonomii. Jakie może być można zauważyć, że wiele problemów z tam- wania jest racjonalny, dąży do uzyskania naj-
praktyczne wykorzystanie osiągnięć naukowych tych lat wciąż pozostaje nierozwiązanych. lepszego produktu przy najniższej cenie (mak-
tego obszaru w inżynierii jakości oprogramowa- Jednym z obszarów, które wciąż pozosta- symalizuje korzyść) oraz posiada obiektywne
nia? Czy rzeczywiście odbiorca oprogramowania ją w niewielkim stopniu zbadane jest obszar informacje o produkcie. Czy można przyjąć,
ulega podobnym błędom poznawczym w zakresie związany z subiektywnym spojrzeniem od- że również na rynku oprogramowania, zało-
oceny jakości oprogramowania? I jak się do tego biorcy oprogramowania. Wynika to po czę- żenia te są daleko idącym uproszczeniem rze-
ma działalność dostawcy, w szczególności w ob- ści z czasu, w którym rozpoczynały się ba- czywistości, które nie przystaje do stanu fak-
szarze testowania? dania w zakresie inżynierii oprogramowania tycznego? Na to pytanie do niedawna nie ist-
„Jakość to będzie”, to hasło, które rozbu- – w latach 1950 kogniwistyka i nauki o po- niała odpowiedź.
dza wyjątkowy entuzjazm w przedsiębior- znaniu nie miały istotnego znaczenia w świe- Można wyobrazić sobie projekt, w którym
stwach zajmujących się wytwarzaniem opro- cie naukowym. Pierwsze znaczące prace opu- kierownik projektu przyjął następujące założe-
gramowania. Zawodowi programiści i osoby blikował w drugiej połowie lat 1950 Herbert nie: Odbiorca zna dziedzinę zastosowania dużo
związane z wytwarzaniem oprogramowania Simon, a jedna z jego prac została nagrodzona lepiej niż moi eksperci, mam z nim dobre stosunki,
niemalże nie zwracają uwagi na fakt powsta- Nagrodą im. Alfreda Nobla w dziedzinie eko- więc umówię się, że to odbiorca dokona oceny jako-
wania błędów w trakcie jego produkcji. Błę- nomii. Kolejnym kamieniem milowym by- ści oprogramowania przed wdrożeniem. Z punk-
dy były, są i będą, a kto jako programista nig- ły prace Daniela Kahnemana i Amosa Tver- tu widzenia inżynierii oprogramowania wyda-
dy nie popełnił błędu – niech rzuci kamie- skiego, którzy w 1978 roku opublikowali teo- je się to słuszne, logiczne i zwinne, czyli wpisu-
niem w pozostałych programistów. Skoro tak rię perspektywy, nagrodzoną nagrodą Nobla je się nowoczesne metody prowadzenia projek-
wygląda „krajobraz” przemysłu produkujące- w dziedzinie ekonomii dopiero w 2002 roku. tów. To założenie nie jest nierzeczywiste – zo-

23 Dodatek SDJ
Jak zrazić użytkowników i zaryzykować utratę Klienta

stało zrobione w rzeczywistym projekcie. Dal-


sze wydarzenia były kompletnym zaskocze-
niem dla kierownika projektu – po dostarcze-
niu pierwszego przyrostu do odbiorcy i pró-
bie wykonania oceny, odbiorca tak zraził się do
aplikacji, że wycofał się z wcześniejszej deklara-
cji dokonania oceny i zażądał dostarczenia do-
brego produktu. Co więcej, do końca projek-
tu uważał, że produkt jest wadliwy i nie speł-
nia jego wymagań. Co się wydarzyło? Odbior-
ca po pierwszym zetknięciu się z nowym pro-
duktem „nauczył się” tego, jaką produkt ma ja-
kość, a ponieważ odbiorcy nie mają możliwo-
ści zdobycia obiektywnej informacji o zmianie
jakości oprogramowania, do końca projektu za-
pamiętał to, czego się nauczył.
Czy zatem należy uznać, że podejście zwin-
ne jest błędne? Oczywiście ten przykład nie
może być potraktowany jako głos przeciwko
zwinności, natomiast należy zauważyć, że bez-
myślne stosowanie nawet dobrych podejść sta-
ło się początkiem katastrofy. testów, następnie jakość w grupie A drastycz- nia projektu, nie może sobie pozwolić na prze-
Niefrasobliwość osób prowadzących projek- nie spadła (w trzecim dniu testów), aby na kazanie produktu o niskiej jakości. Weryfikacja
ty objawia się nie tylko w przekazywaniu od- końcu badania znów mieć dokładnie ten sam jakości powinna być wykonana przez zespół te-
biorcom „bubli”, byle tylko dotrzymać termi- poziom w obu grupach. W końcowej ocenie stowy i tu trudno nie docenić wagi testów jako
nu. Innym zaniedbywanym obszarem jest ob- członkowie grupy A ocenili aplikację dwukrot- procesu, który może uratować dostawcę przed
szar szkoleń i treningu. Dostawcy nie zauwa- nie gorzej niż członkowie grupy B, choć oce- kompromitacją. Należy jednak pamiętać, że za-
żają tego, że odbiorca, który pracuje z jakimś niali dokładnie ten sam produkt. trzymanie wydania wersji w wyniku testów
systemem i jest do niego przyzwyczajony wy- Drugi przytoczony tu eksperyment doty- wewnętrznych, choć słuszne, jest jednak po-
konuje czynności bez zastanowienia (auto- czył zjawisk grupowych. W dwóch grupach rażką dostawcy – koszty poświęcane na napra-
matycznie). Przygotowując się do pracy z no- przeprowadzono badanie wzorowane na zna- wę błędów są znacznie wyższe niż gdyby od po-
wą aplikacją musi uruchomić tzw. mecha- nym eksperymencie Ascha, który prosił osoby czątku zaangażowano odpowiednie siły i środ-
nizm hamowania w swoim umyśle, co powo- badane o wskazanie najdłuższej z trzech linii ki w kontrolę jakości wymagań, dokumentacji,
duje znaczne podwyższenie poziomu wysił- w warunkach, w których osoby podstawione półproduktów. Należy więc zastanowić się nie
ku mentalnego przy obsłudze nowej aplikacji. wskazały wcześniej błędną odpowiedź – oso- tylko jak zapewnić sobie efektywny i skutecz-
W konsekwencji odbiorca narzeka, że nowy by poddane badaniu najczęściej zgadzały się ny zespół kontroli jakości końcowej, ale jak do-
system jest nieintuicyjny i nieergonomiczny. z przedmówcami, choć musieli być świado- prowadzić do sytuacji, że zespół ten nie będzie
Trzecim obszarem przytoczonym tu jako mi tego, że jest to błędna odpowiedź. W oma- mógł zgłosić błędów w oprogramowaniu, bo
przykład jest efekt polaryzacji grupowej – wianym badaniu w grupie A podstawione oso- ich tam nie będzie.
oprogramowanie bardzo często oceniane jest by wygłaszały pozytywne, a w grupie B nega- Oprócz zapewnienia dobrego produktu go-
przez zespół pracujący po stronie klienta. Ze- tywne opinie na temat testowanego produk- towego do dostarczenia odbiorcy (nawet jeże-
spół ten podlega zjawiskom typowym dla każ- tu. Choć w obu przypadkach do testów przed- li jest to tylko jeden z wielu przyrostów) nale-
dej grupy, a mianowicie ich wspólna opinia jest stawiono dokładnie tą samą aplikację to człon- ży zadbać o cały proces przekazania i komuni-
dużo bardziej radykalna niż opinia indywidu- kowie grupy A ocenili ją trzykrotnie lepiej niż kacji, aby odbiorca zbudował sobie pozytywny
alnych osób. Co więcej, według badań związa- członkowie grupy B. obraz produktu. Dzięki temu będzie można
nych z zapamiętywaniem przykrych doświad- Powyższe przykłady nie wyczerpują tema- liczyć na to, że w końcowej fazie projektu od-
czeń wykazano, że siła negatywnego skojarze- tu, jednakże omówienie wyników wszyst- biorca odbierze produkt i będzie on źródłem
nia zależy od nasilenia zjawiska w najsilniej- kich badań i przytoczenie szczegółowych satysfakcji odbiorcy.
szym punkcie oraz od stanu końcowego. A jak analiz jakie zostały wykonane nie zmieściło- Oczywiście jeżeli ktoś chce zrazić użytkow-
często w praktyce dostawca zastanawia się nad by się w tym wydaniu. To co najważniejsze, ników i zaryzykować utratę klienta powinien
wymykającymi się spod kontroli emocjami od- to przesłanie, że aspekty techniczne aplikacji, jak najszybciej zapomnieć o tym, co tu prze-
biorców? choć ważne, nie są jedynym obszarem, który czytał. Aby to osiągnąć najlepiej zastosować
W 2009 roku przeprowadzono szereg ba- oceniają odbiorcy. Badania pokazują jasno, że aktywne zapominanie, czyli skupić czym prę-
dań mających na celu uchwycenie wpływu w warstwie komunikacji istnieje potencjał do dzej uwagę na czymś, co będzie przypomina-
opisywanych powyżej zjawisk na ocenę jako- poprawienia lub pogorszenia obrazu jakości ło silne emocje (np. wspomnienia z ostatniego
ści oprogramowania. Wszystkie badania by- w oczach użytkownika. urlopu?). Dzięki temu będzie można dalej, nie
ły prowadzone w paradygmacie grup nieza- Wnioski płynące z przytoczonych badań dbając o odbiorcę, dostarczać mu cokolwiek
leżnych, a grupy oceniające oprogramowanie oraz analizy literatury poświęconej błędom po- i szczerze dziwić się, że odbiorca tego nie doce-
poddawane były oddziaływaniu jakiejś zmien- znawczym człowieka prowadzą do konkluzji, nia, choć to tak dobry produkt.
nej niezależnej. że potrzebne jest świadome i roztropne zarzą-
W eksperymencie poświęconym badaniom dzanie przekazem informacyjnym jaki trafia RADOSŁAW HOFMAN
związanym z budowaniem zaufania dwie gru- do odbiorcy. Niezależnie od tego, czy dostawca SASO
py otrzymały początkowo tą samą aplikację do stosuje klasyczny, czy zwinny sposób prowadze- Kontakt z autorem: radekh@saso.org.pl

www.sdjournal.org 24
SoftQA

IT Kontrakt

J
esteśmy liderem outsourcingu kadry IT w Polsce. Posia- • Bogaty pakiet socjalny
damy wieloletnie doświadczenie w tworzeniu zespołów • Praca w miłej atmosferze w młodym i dynamicznym
ekspertów IT do najbardziej prestiżowych projektów in- zespole
formatycznych w kluczowych sektorach gospodarki. Dzięki • Współpraca z najlepszymi ekspertami w branży IT
wysokiej skuteczności działania oraz partnerskiemu podej- • Nieustanny rozwój zawodowy
ściu do Klientów zdobyliśmy zaufanie największych banków, • Dostęp do najnowszych technologii IT
firm finansowych, ubezpieczeniowych, informatycznych i te- • Udział w ekskluzywnych i międzynarodowych projektach
lekomunikacyjnych. informatycznych
Zespół IT Kontrakt to ponad 200 profesjonalistów, realizują-
cych skomplikowane projekty IT na terenie całego kraju. Pełnimy
rolę Managera naszych ekspertów IT na rynku pracy, proponu-
jemy im najlepsze projekty, a co za tym idzie satysfakcjonujące
warunki socjalne i finansowe. Kładziemy nacisk na zapewnie-
nie nieustannego rozwoju naszym współpracownikom, orga-
nizując konferencje i szkolenia. Poszukujemy specjalistów, któ-
rzy cenią sobie elastyczność we współpracy, oraz partnerskie
podejście, ponieważ wierzymy, że zadowolony pracownik to
zachwycony klient.

Dlaczego warto pracować w IT Kontrakt


Uważamy, że nasi pracownicy są największym kapitałem IT Kontrakt.
Dostosowujemy się do ich oczekiwań i oferujemy im ciekawą
pracę oraz możliwość ciągłego rozwoju zawodowego. Z każ-
dym specjalistą indywidualnie negocjujemy jego wynagrodze-
nie, premie oraz dodatkowe gratyfikacje. Dzięki wieloletnie-
mu doświadczeniu oraz znajomości rynku, doskonale rozumie-
my specyfikę poszczególnych branż i idealnie dobieramy eks-
pertów do konkretnych projektów. Jesteśmy managerem na-
szych ekspertów, proponujemy im udział w najbardziej presti-
żowych projektach IT. Wszystkim naszym pracownikom zapew-
niamy obsługę formalno-prawną, kadrowo-płacową oraz – co
najważniejsze – pomagamy im kreować rozwój swojej kariery
zawodowej.

Korzyści ze współpracy z IT Kontrakt

• Praca w prestiżowej firmie o ugruntowanej pozycji na rynku IT


• Partnerskie relacje z pracodawcą
• Atrakcyjne warunki zatrudnienia
• Opiekun ze strony IT Kontrakt w każdym projekcie
• Imprezy integracyjne
• Elastyczność we współpracy
• Stały rozwój kwalifikacji zawodowych, poprzez udział
w organizowanych wewnętrznie konferencjach
i szkoleniach
SoftQA

Czy można zmieniać


świat pracując we
Wrocławiu lub Szczecinie?
Poznaj wypowiedzi pracowników firmy, której rozwiązania
stosowane są na całym świecie.

M
ówi Tomasz Gibas, R&D Manager maganiach klientów, jak i na własnym doświad- Testujemy oprogramowanie
z Wrocławia: Tieto wprowadziło mo- czeniu. Jesteśmy w ciągłym kontakcie z programi- powstające w Indiach i Szwajcarii
del pracy zwany GDM (Global De- stami we Wrocławiu czy Norwegii. Naszą wiedzą (...) Prowadzimy testy wysokiego poziomu – testy
livery Model). Mówiąc w skrócie, takie rozwiąza- i rozwiązaniami dzielimy się z testerami z Niemiec systemowe metodą waterfall'ową. Podczas tych te-
nie pozwala na pracę w projektach międzynarodo- oraz naszymi kolegami ze Szwecji. Do implementa- stów następuje integracja oprogramowania powsta-
wych, poprzez tworzenie grup programistycznych cji skryptów używamy Python’a, języka programo- jącego w różnych zakątkach świata i u różnych do-
i testerskich rozsianych po całym świecie i łączą- wania zorientowanego obiektowo. Wykorzystuje- stawców: Chiny, Indie, Izrael, Szwajcaria, Niemcy.
cych najlepszych specjalistów w danej dziedzinie. my także C/C++ oraz LabView. Zdajemy sobie Koordynacja i zarządzanie konfiguracją jest dla
Kompetencje testerskie rozwijane są zgod- sprawę, że wyniki naszej pracy wykorzystywane są nas podstawowym wyzwaniem (...) – mówi An-
nie z potrzebami projektowymi, dlatego też przez innych testerów, jak i programistów, dlatego na, Test Manager z 12-letnim doświadczeniem.
zatrudniamy inżynierów specjalizujących się jej rezultaty muszą być na najwyższym poziomie.
w różnych technologiach i rodzajach testów, Dzięki właśnie takiej, międzynarodowej współpra- Dla nas ważny jest dobry projekt
poczynając od testów funkcjonalnych, poprzez cy, nasza praca, czyli automatyzacja testów, czy te- (...) W obecnej chwili pracuję w projekcie dla klien-
niefunkcjonalne, akceptacyjne i wiele innych. stowanie, ciągle się rozwija (…) - mówi Marcin, Ju- ta z Izraela. Wśród wielu wymagań zawartych w
Nasi testerzy należą do różnych linii projek- nior Test Developer. specyfikacji, znalazła się metoda „scrum”. Dzięki
towych, podzielonych z uwzględnieniem głów- temu każdy z nas może przyczyniać się do ulep-
nych kompetencji. Mogłoby wydawać się, że Uśmiechamy się przy oglądaniu szania projektu, w którym współpraca między biz-
w takim zamieszaniu ciężko jest zebrać wszyst- reklam telewizyjnych nesem, a inżynierami jest podstawą; każda osoba
kich specjalistów w jednym miejscu i podzie- (…) Współpracujemy z jednym z gigantów telefonii z zespołu posiada inne umiejętności, więc dużo ła-
lić się wspólnymi doświadczeniami. Otóż nic komórkowej. Codzienna komunikacja z inżyniera- twiej jest nam koncentrować się na sprawnym roz-
bardziej mylnego, korzystamy bowiem z na- mi z 5 różnych stref czasowych (Brazylia, Chiny, wiązaniu problemu; sposób szacowania i plano-
rzędzia, które pozwala nam zintegrować te- Japonia, Szwecja, USA, …), praca w międzynaro- wania pracy jest klarowny, a przy tym nasza uwa-
sterów z całego świata w jednym wirtualnym dowym zespole testerów pełnych ambicji oraz pro- ga nastawiona jest na aspekty techniczne oraz, co
miejscu, które nazywamy „community”, czy- jekt, w którym nigdy nie jest nudno, to główne ele- dla mnie najważniejsze, naprawdę dobry projekt.
li w naszej wewnętrznej społeczności, pozwa- menty, które trzymają każdego z nas w zespole. Zaj- – podsumowuje Marcin, Senior Test Engineer.
lającej na wymianę doświadczeń związanych mujemy się testami funkcjonalnymi i automatycz- Tieto zatrudnia ponad 16000 osób na całym
z testowaniem. „Community” jest współtwo- nymi, tworzymy plany testów oraz specyfikację te- świecie. Dzięki wspólnym zasadom i znajomo-
rzone przez testerów, dlatego każdy z nich wie stową spełniającą wymagania najnowszych tech- ści języka angielskiego pracownicy Tieto mogą
nie tylko, jaką pełni rolę w organizacji, ale też, nologii, wchodzących dopiero na rynek mobilny. uczyć się od siebie nawzajem i współpracować
jakie oferujemy mu kierunki rozwoju, certyfi- Nasi testerzy pracują na telefonach, które pojawią wykorzystując największe atuty wybranych spe-
kacji oraz projekty, w obrębie których można się na rynku dopiero za rok lub później, sprawdza- cjalistów z różnych krajów świata.
się przemieszczać. ją serwisy i usługi, które nie uj-
Jak testerzy odnajdują się w pracy z ludźmi rzały jeszcze światła dzienne-
z różnych części świata? Czy mnogość kultur go. Nasze testy nie ogranicza-
i stref czasowych nie utrudnia im codziennych ją się do budynku, w którym
obowiązków? Zapytaliśmy o zdanie pracowni- mieści się siedziba Tieto, au-
ków ze Szczecina i Wrocławia, z których każdy ta służbowe są w niemal cią-
pracuje dla innego projektu. głym użyciu.
Każdy z nas uśmiecha się
Dzięki nam testy przy oglądaniu reklam naj-
stale się rozwijają nowszych urządzeń, nad któ-
(...) Jesteśmy programistami z pasją do testowania. rymi nasi ludzie pracowali
Pracujemy w różnych projektach, gdzie oprócz testo- minimum pół roku wcześniej
wania, naszym głównym zadaniem jest automaty- (…) – żartuje Kuba, Project
zacja testów. W codziennej pracy bazujemy na wy- Manager.

28 Dodatek SDJ
SoftQA

Automatyzacja testów
funkcjonalnych
złożonych systemów informatycznych na przykładzie
aplikacji klasy ERP
Systemy klasy ERP (ang. Enterprise Resource Planning) czyli systemy
Zaawansowanego Zarządzania Zasobami należą do rodziny Zintegro-
wanych Systemów Informatycznych, czyli najbardziej merytorycznie
i technologicznie zaawansowanych systemów informatycznych wspo-
magających zarządzanie w przedsiębiorstwach i instytucjach.

G
łównymi cechami systemów tej Integracja danych i procedur – proble- Otwartość – mimo złożoności funkcjo-
klasy są: kompleksowość funkcjo- mem jest nie tylko duża liczba funkcji nalnej i merytorycznej systemy ERP nie po-
nalna, integracja danych i proce- i danych, ale również stopień ich integra- krywają wszystkich obszarów działalności
dur, elastyczność funkcjonalna i struktu- cji. Aby wykonać dany przypadek testo- nowoczesnych firm, co powoduje koniecz-
ralna, zaawansowanie merytoryczne i tech- wy trzeba nie tylko utrzymywać całe śro- ność integracji z innymi systemami (mię-
nologiczne oraz otwartość. dowisko testowe w odpowiedniej konfigu- dzy innymi CRM, BI, SCM itp.). Stanowi
Jeśli dodamy do powyższej definicji fakt, racji, ale także pilnować odpowiedniej za- to kolejny poziom skomplikowania dla kon-
iż duże systemy ERP wiodących producen- wartości bazy danych systemu tak, aby za- troli jakości. Wymusza to tworzenie zaśle-
tów mają kilkunastoletnią historię rozwo- chować niezbędne relacje między obiekta- pek, sterowników lub instalowania w śro-
ju, a także mnogość zmian wymuszanych mi merytorycznymi. Sytuacja, w której te- dowisku testowym wielu systemów, często
przez zmieniające się otoczenie prawne ster musi poświęcić kilkanaście minut za- różnych firm. Oraz rozbudowywanie ze-
oraz rosnące oczekiwania użytkowników, kładając np. dokumenty pośrednie zanim społu testerów o osoby posiadające wiedzę
to okaże się, że proces produkcji i utrzy- uzyska stan systemu pozwalający na wyko- merytoryczną z dziedziny wielu systemów.
mania systemów z tej rodziny jest jednym nanie właściwego przypadku testowego, nie Chcąc sprostać wszystkim powyższym
z bardziej wymagających na rynku IT. należy do rzadkości. wymaganiom w procesie kompleksowej
Elastyczność funkcjonalna i struktural- kontroli jakości konieczne jest budowanie
Problemy i wyzwania na – Odpowiadając na potrzeby nowocze- bardzo dużego zespołu specjalistów. Jest to
w testowaniu aplikacji snych organizacji (firm) systemy ERP ofe- kosztowne i czasochłonne. Z częścią tych
klasy ERP rują dużą elastyczność zarówno w zakre- wyzwań można sobie poradzić wdrażając
Złożoność merytoryczna i technologiczna sie możliwości modyfikacji struktury jak narzędzie automatycznych testów funk-
systemów klasy ERP stawia bardzo wyso- i działania systemu. Powoduje to koniecz- cjonalnych.
kie wymagania przed procesem testów re- ność utrzymywania dedykowanych przy-
alizowanych w ramach produkcji i utrzy- padków testowych, specyficznych dla po- Cele automatyzacji testów
mania tego typu systemów. Przyjrzyjmy się szczególnych klientów. funkcjonalnych
poszczególnym cechom Zintegrowanych Zaawansowanie merytoryczne i techno- Jasnym jest, że nie można traktować auto-
Systemów Informatycznych i ich wpływo- logiczne – Systemy ERP muszą być zgod- matyzacji testów jako panaceum na wszel-
wi na proces testowania. ne z wieloma przepisami prawnymi, ob- kie problemy związane z testowaniem zło-
Kompleksowość funkcjonalna – bardzo sługiwać zaawansowane procesy plano- żonych systemów ERP, natomiast dobrze
duża liczba funkcji i opcji oferowanych wania, harmonogramowania i rozlicza- wdrożone narzędzie automatycznych te-
przez nowoczesne systemy klasy ERP po- nia, prezentować dane z różnego punk- stów funkcjonalnych może wymiernie po-
woduje konieczność projektowania i wy- tu widzenia dla różnych odbiorców. Aby móc w opanowaniu części wyzwań wynika-
konywania bardzo dużej liczby przypad- móc skutecznie zapewnić kontrolę jakości jących ze złożoności i kompleksowości sys-
ków i scenariuszy testowych. Realizacja te- tego typu systemów konieczne jest zbu- temów ERP.
stów regresyjnych przy dużej liczbie przy- dowanie zespołu testerów posiadających Najważniejszą cechą automatu testowe-
padków testowych wymaga zaangażowa- nie tylko wiedzę i doświadczenie z dzie- go jest to, że można za jego pomocą wy-
nia dużego zespołu testerów i poświęcenia dziny testerów ale również, a może na- konać wielokrotnie tą samą czynność (ten
czasu, co nie tylko stanowi znaczne koszty, wet przede wszystkim, szczegółową wie- sam przypadek testowy) w różnych wer-
ale również opóźnia termin oddania nowej dzę merytoryczną z zakresu testowanych sjach i z różnymi danymi testowymi bez
wersji oprogramowania na rynek. modułów. angażowania członków zespołu testowego.

30 Dodatek SDJ
Automatyzacja testów funkcjonalnych

Jest to zarówno największa zaleta jak i naj- testowych wynikających z charakterystyki dzy przy projektowaniu przypadków te-
większe ograniczenie tego typu narzędzi. systemów ERP. stowych) oraz elastyczność (dużo dedyko-
Zaleta polega na tym, że możemy wy- Pierwszym zagadnieniem, które moż- wanych rozwiązań dla różnych klientów),
konać dużą liczbę przypadków testowych na bezpośrednio rozwiązać wykorzystując automat testowy na tą chwilę sobie nie po-
w krótkim czasie i poza normalnymi go- narzędzie automatyzacji testów jest złożo- radzi. Jego wdrożenie pozwoli jedynie od-
dzinami pracy (np. w nocy). Zaś ogranicze- ność funkcjonalna. A precyzyjnie mówiąc: ciążyć zespół testowy od żmudnego, wie-
niem jest to, że automat nie wykona nic do konieczność wielokrotnego wykonywania lokrotnego, wykonywania przypadków te-
czego nie został zaprogramowany, obrazo- dużej liczby przypadków testowych w ra- stowych w ramach testów regresyjnych, co
wo mówiąc – nie wymyśli nowego przypad- mach testów regresyjnych systemu. W tym pozwoli skierować większe siły na projek-
ku testowego. przypadku koszty poniesione na przygo- towanie nowych przypadków testowych
Aby maksymalnie wykorzystać zalety towanie skryptów automatycznych dość uwzględniających niuanse merytorycz-
automatyzacji należy stosować ją przede szybko zwracają się w postaci zmniejszenia ne i rozwiązania dedykowane. Być może
wszystkim do wykonywania przypadków pracochłonności i czasochłonności testów w przyszłości uda się połączyć prace zwią-
testowych często powtarzanych oraz wy- regresyjnych wykonywanych w ramach pro- zane z automatyzacją testów z akademic-
magających wprowadzania dużej ilości da- cesu wytwarzania nowych wersji systemu. kimi badaniami nad sztuczną inteligencją,
nych. Tak, aby odciążyć zespół testowy od Aby zwiększyć ten zysk dobrze jest two- co mogło by pozwolić na stworzenie inteli-
żmudnego „klikania” w testowanym syste- rzyć skrypty w taki sposób, aby w pierw- gentnego automatu testowego. Taki auto-
mie i pozwolić testerom wykorzystać ich szej kolejności tworzyć proste przypadki mat mógłby na przykład uczyć się zależno-
wiedzę merytoryczną w kierunku projek- testowe i następnie na ich bazie budować ści między obiektami systemu i na tej pod-
towania przypadków testowych i testowa- bardziej skomplikowane. Takie podejście stawie projektować ciekawe przypadki te-
nia nowych funkcjonalności. do tworzenia skryptów proponuje na przy- stowe po czym samemu je wykonywać – ale
Ponieważ samo wdrożenie automatu te- kład narzędzie open source'owe RobotFra- to już zakrawa o science fiction.
stowego (zakup i dostosowanie narzędzia) mework. Wielokrotne wykorzystanie kodu
oraz przygotowanie skryptów wykonują- skryptów z niewielkimi modyfikacjami po- Podsumowanie
cych przypadki testowe wymaga nakła- zwala nie tylko zmniejszyć koszty i skrócić Proces testów nowoczesnych systemów kla-
dów, najistotniejszym jest znalezienie rów- czas, ale także zwiększyć zakres i dokład- sy ERP jest bardzo złożony i wymagający.
nowagi między kosztem uruchomienia au- ność testów. Prawidłowo wykorzystane, z uwzględnie-
tomatu, a zyskiem jaki niesie jego zastoso- Jeśli posiadamy już pewną ilość działają- niem powyższych uwag i założeń, narzę-
wanie w procesie testowania złożonego sys- cych skryptów automatycznych można po- dzie automatycznych testów funkcjonal-
temu ERP. kusić się o ułatwienie testerom pracy z wy- nych, pozwala znacznie skrócić ten proces
soko zintegrowanymi danymi na których i ograniczyć koszty przy zachowaniu wy-
Specyfika automatyzacji operują systemy ERP. Możliwe jest takie ze- sokiej jakości testowanego systemu. Jak-
testów funkcjonalnych stawienie skryptów, aby na życzenie teste- kolwiek sam proces wdrożenia automatu
w systemach klasy ERP ra zakładały wymaganą hierarchię obiek- oraz napisania i utrzymania skryptów te-
Przyjrzyjmy się jak w praktyce rozwiązać tów podstawowych i dokumentów pośred- stowych jest pracochłonny i kosztowny, to
część zagadnień związanych z testowaniem nich. Na tak wypełnionej bazie danych sys- zysk z tego typu rozwiązań jest znaczny.
systemów ERP za pomocą narzędzia auto- temu tester może wykonać ręczne testy no- Zysk mierzony zarówno w pieniądzach, jak
matycznych testów funkcjonalnych. wych funkcjonalności. W realizacji takie- i we wzroście jakości systemu i zadowole-
Pierwszym zagadnieniem wymagającym go podejścia bardzo pomaga możliwość pa- niu klientów.
rozwiązania w trakcie wdrażania automa- rametryzacji skryptów poprzez pliki wsa-
tu testowego do testów dowolnego syste- dowe (np. w formacie CSV) lub możli-
mu informatycznego jest problem „widocz- wość wywoływania skryptów z określony-
ności” (rozpoznawalności) elementów ak- mi parametrami wejściowymi, dzięki cze-
tywnych systemu (przycisków, pól teksto- mu tester może wykorzystać jeden skrypt
wych, tabel z danymi, list rozwijanych, me- do utworzenia większej liczby zróżnicowa-
nu itp.), których obsługa będzie podlegała nych obiektów merytorycznych.
automatyzacji. Oczywiście można to za- Kolejnym krokiem po pokryciu auto-
gadnienie powierzyć mechanizmowi cap- matem testującym testów regesyjnych sys- TOMASZ OSOJCA
ture-replay (nagraj-odtwórz) oferowanemu temu ERP, może być rozszerzenie działa- Obecnie dyrektor Działu Jakości SIMPLE SA,
przez większość dostępnych na ryku narzę- nia narzędzia na systemu, z którymi na- wcześniej twórca i dyrektor Działu Testów Sys-
dzi – ale z moich doświadczeń wynika, iż stępuje integracja w ramach pracy w doce- temowych w Pionie Usług Profesjonalnych ABG
zbytnie poleganie na tym mechanizmie jest lowym środowisku. Jest to o tyle skompli- SA. Posiada doświadczenie zarówno w projek-
najczęstszym powodem niepowodzeń we kowane, że obsługa kilu systemów, często towaniu i wykonywaniu testów ręcznych, auto-
wdrożeniach narzędzi automatycznych te- stworzonych przez różnych producentów matyzacji testów funkcjonalnych i wydajnościo-
stów funkcjonalnych. Zagadnienie wybo- w różnych technologiach, wymaga zasto- wych, a także zarządzaniu procesem i zespołem
ru narzędzia i podejścia do rozpoznawania sowania kilku narzędzi automatyzacji. Do- testowym.
obiektów oraz pisania/nagrywania skryp- datkowe utrudnienie sprawia koordynacja Tekst powstał na podstawie pięciu lat doświad-
tów jest bardzo złożone i wykracza poza za- uruchamiania poszczególnych elementów czeń autora we wdrażaniu narzędzia automa-
kres niniejszego artykułu. (narzędzi) automatu testowego i koniecz- tycznych testów funkcjonalnych w różnych sys-
W momencie kiedy posiadamy narzę- ność przekazywania między nimi danych temach informatycznych skonfrontowanych
dzie potrafiące symulować pracę użyt- testowych. z projektem wdrożenia automatu testowego dla
kownika w testowanym systemie, możemy Z wyzwaniami takimi jak złożoność me- systemu klasy ERP prowadzonego od pół roku
przystąpić do rozwiązywania problemów rytoryczna (wymóg specjalistycznej wie- w �rmie SIMPLE SA.

www.sdjournal.org 31
SoftQA

Wykorzystanie
rozkładu Weibulla
w szacowaniu parametrów niezawodności
oprogramowania SR (Software Reliabilty)
Celem artykułu będzie próba wprowadzenia klasycznego modelu
matematycznego z teorii niezawodności do obszaru badania właściwości
oprogramowania, a konkretnie niezawodności tegoż oprogramowania.

T
estowanie oprogramowania jest łą konstrukcję?”. Generalnie każdy mate- czyli testowanie Waterfall, poprzez model
kończącym, kluczowym jak każdy matyk może odpowiedzieć, że mimo tego, pośredni typu V (może to od Victorii?),
poprzednie, etapem procesu two- iż budując SW korzystamy z Boole’a 0-1 lo- po modele Agile, które są obecnie najpow-
rzenia oprogramowania. Jest wiele różnych giki, nie można dowieść bezbłędności tego szechniej wdrażanie na całym świecie. Te-
opisów tego procesu generalnie zmierza- produktu, jakim jest dany program. Pró- raz trzeba być Agile, jak tylko można naj-
jącym do pojęcia SDLC – Software Deve- ba dowiedzenia w sposób zgodny z reguła- bardziej, gospodarka światowa też zrobiła
lopment Life Cycle. Powstało już wiele po- mi logiki matematycznej wprowadza nas się bardzo Agile, więc też można by tu do-
zycji obejmujących każdy etap SDLC któ- w obszar problemów NP – zupełnych, no szukiwać się jakichś paraleli. Tak reasumu-
rych głównym, inżynieryjnym celem jest i w tym momencie można tylko powtórzyć jąc – tyle już napisano o wszystkim doty-
stworzenie jak najlepszego produktu przy za moim ulubionym generałem Wieniawą czącym procesu SDLC i testowania w nim,
uwzględnieniu danych ograniczeń (czas, „Panowie, zaczęły się schody...”. każdy etap procesu prześwietlono, przero-
zasoby finansowe, itd.). Od razu na myśl Wniosek jest jeden – testowanie. W nim biono w różne wersje, a jednak ciągle ma się
przychodzą badania operacyjne – czy- cała nadzieja. Na przestrzeni lat wraz wrażenie, że mityczny święty Graal infor-
li dobór odpowiedniej strategii minimum z w zrostem złożoności projektów IT, wi- matyczny – czyli idealny proces tworzący
kosztów – maximum zysku, z jednej stro- doczne są zmiany, jakie równolegle zacho- idealne oprogramowanie jest ciągle gdzieś
ny, a z drugiej strony można postawić filo- dzą w procesach testowania. Metodyka te- daleko, a nawet subiektywnie dalej niż kie-
zoficzne pytanie „czy w ogóle z elementów stowania się zmienia, począwszy od kla- dykolwiek. Wniosek: nasze programy są
niedoskonałych można stworzyć doskona- sycznych ciężkich modeli typu „czołg IT” zawodne, zawierają błędy – wiadomo, jak
w definicji, są skutkiem „human action”.
Jak wielkie są koszty tych błędów, ile na ja-
kim etapie projektowania, to pokazuje sze-
reg klasycznych slajdów – dla przykładu je-
den z nich – źródło Sogeti.
Zawsze ten sam wniosek wynikający z ta-
kich ilustracji – im szybciej tym taniej,
a ostatni przykład dotyczący Toyoty tę za-
sadę potwierdza szczególnie dobitnie.
W klasycznej definicji testowania SW
z BS 7925-1 jest : The process of exercising
software, other system components and other
artifacts created during system development
to verify that they satisfy specified require-
ments, to detect faults and to estimate their re-
liability. Jak widać niezawodność (reliabi-
lity) jest uwzględniona już w definicji te-
stowania.
Niezawodność oprogramowania SR (So-
ftware Reliability) nie jest zdefiniowana
jednoznacznie. Klasyczna definicja nieza-
wodności brzmi, że jest to własność obiek-
tu poprawnej pracy (poprawnej realizacji
wszystkich funkcji i czynności) w wyma-

32 Dodatek SDJ
Wykorzystanie rozkładu Weibulla

ganym czasie i określonych warunkach eks- Tabela 1.


ploatacji (dla danego zespołu czynników Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Predict
wymuszających).
LDA Factor 0.34 0.25 0.17 0.16 0.15 0.1
Cechy SR są różne od klasycznego ujęcia
niezawodności w technice. Przede wszyst- TTF 100 125 138 200 300 370.66
kim SR nie jest zależne od czasu, nie ma
efektu starzenia się oprogramowania, (cho-
ciaż z punktu widzenia użytkownika taki
efekt istnieje subiektywny, bo subiektyw-
ny, ale istnieje). Błędne działanie jest wy-
nikiem błędów logicznych, a nie wynikiem
jakiegoś defektu fizycznego. Jest tu pewien
problem, ponieważ istnieje ścisła zależ-
ność, współpraca SW - HW i trzeba tu roz-
dzielać defekty wynikłe z awarii HW.
Na dzień dzisiejszy nie ma jednoznacz-
nej teorii SR, jest tylko pewna dowolność
stosowania stworzonych klasycznych mo-
deli na zasadzie, jeżeli wyniki są użyteczne,
to dany model również jest użyteczny.
Typowy wykres dla współczynnika inten-
sywności uszkodzeń w czasie:

nuje możliwością szacowania wartości TTF klów testów. Ten czynnik można obliczać za
w zależności od wyników testów. pomocą Chi-kwadrat (jedno rozwiązanie),
Ta metoda jest użyteczna przede wszyst- różnicy pól (całek). Jest to trochę skompliko-
kim dla takich produktów IT, dla których wane – potrzebna pomoc matematyka.
niezależną metoda można zdobyć warto- Po wyliczeniu zgromadzić dane w ta-
śći TTF, przynajmniej dla kilku wartosci belce i przy pomocy linii trendu w Exce-
cyklów testowych. Ten aspekt niewatpli- lu można ekstrapolować dane. Dana linia
wie dosyc zawęża pole stosowania. Dobrym trendu służy, jako wsparcie dla Test Mana-
przykładem mogą tu być produkty typu gera, pomaga mu podejmować decyzje od-
aplikacje SW pracujące na dedykowanym nośnie jak może się zmieniać TTF w przy-
W przypadku SW ten zależność może HW (telefon komórkowy, układy SoC). Dla szłych cyklach testowych. Może być przy-
mieć taką postać: takich produktów szczególnie jest ważna padek, że taka zależność będzie słaba, lub
kontrola wartości TTF w procesie rozwoju. nie będzie jej w ogóle. Można wtedy zmie-
Warunki poczatkowe dla metody: niać rozkłady na inne, i w ten sposób próbo-
wać, czy wyniki znajdują odzwierciedlenie
• niezależny pomiar TTF (kilka prób); w rzeczywistości. Taki przykład z linią tren-
• cykliczny proces testowy; du zawiera ilustracja poniżej (Tabela 1).
• grupa testów min. 30 sztuk; Jak widać jest linia trendu jej równa-
• zawsze jest wykonywana ta sama gru- nie wylicza Excel. Dopasowanie jest raczej
pa testów – w początkowej fazie pro- średnie R2=0,67. Przewidywana wartość
jektu ta metoda raczej jest obarczona TTF dla LDA =0,1 wynosi 370.
dużym błędem, sensowniej jest ją wy- Ten model szacuje TTF z błędem typu
korzystywać od połowy projektu. R2 więc jest tylko oszacowanie i taki był cel
Standardy definiują parametry dla SR ty- tych obliczeń.
pu: LOC, KLOC, SLOC, opracowanie Algorytm stosowania metody można za- Widoczne jest, że ten melanż matematy-
ISO-9000 Quality Mgmt, McCabe's Com- wrzeć w kolejnych krokach. Faktem jest że ki i wyników testów nie jest specjalnie ła-
plexity Metric, Test coverage metrics, przydatna jest znajomość MATLAB, Relia- twy do stosowania, ale te bardziej wysubli-
MTBF, TTF, ale raczej jest to efekt “pozor- soft , no i pewne wiadomości z matematy- mowane metody matematyczne mają już
nego bogactwa”. ki ( Weibull, Chi-kwadrat, obliczanie pól określony stopień trudności. Liczę jednak,
Próbując wykorzystać mozliwości mo- pod krzywą). że być może powstanie forum wymiany wy-
deli teorii niezawodności proponuję meto- Dla danej fazy testów zebrać wyniki te- ników i uwag, które przyczyni się do spraw-
dę poszukiwania zależnosci pomiedzy wy- stów oraz wartość TTF wyliczona, zmierzo- dzenia cech tej metody.
nikami testów (Tests Cases), a TTF (Time na metodą zewnętrzną.
To Failure) w danym projekcie IT, w któ- Obliczyć wartości parametrów rozkładu
rym testowanie odbywa sie cyklicznie (Agi- Weibulla dla wyników testów. KRZYSTOF SENCZYNA
le, SCRUM). W tej metodzie jest szereg Obliczyć wartości parametrów rozkładu PM, Test Leader, Tieto Czech s.r.o, pracuje w Ostrawie
ograniczeń wstępnych, ale celem takich ba- Weibulla dla przypadku „idealnego”, koń- – stara się zaimplementować modele niezawodno-
dań jest wyszukanie tej zaleznosci (o ile ist- czącego fazę rozwijania. ściowe w procedurach testowania oprogramowania,
nieje), a jeżeli istnieje w oparciu o tą zależ- Dla zebranych danych obliczyć czynnik chętny do wymiany doświadczeń dotyczących QA
nosc Test Manager danego projektu dyspo- (Life Data Analysis), dla poszczególnych cy- Kontakt z autorem: krzysztof.senczyna@tieto.com

www.sdjournal.org 33
SoftQA

Testerzy + Developerzy =
sukces oprogramowania
Zarządzanie zespołem i jakością oprogramowania –
wprowadzenie do Rational Team Concert i Rational Quality
Manager.
Każdy projekt informatyczny natrafia w pewnym momencie na krytycznie
ważne pytanie: "Czy jesteśmy gotowi do sprzedaży produktu?" Od właści-
wej odpowiedzi zależy często powodzenie całego, nierzadko kosztowne-
go projektu. Jednocześnie czasu na udzielenie właściwej odpowiedzi jest
systematycznie coraz mniej. Już dawno skończyły się czasy, w których ze-
społy programistów miały po 18-24 miesiące na rozwój produktów...

C
zas od zdefiniowania wymagań do Przegląd Collaborative • Collaboration, gdzie najważniejsza jest
wprowadzenia na rynek radykalnie Application Lifecycle synchronizacja zespołu oraz raportowa-
się skrócił, dlatego też pojawiło się Management nie. W tym ujęciu łączenie zespołu ana-
zapotrzebowanie na specjalistyczne narzę- Zarządzanie rozwojem oprogramowania lityków z programistami i testerami
dzia pomagające sprostać nowym wymaga- (ALM: Application Lifecycle Management) zwiększa jakość pracy nad zadaniem.
niom i oferujące automatyzację wielu powta- jest pojęciem już dawno wprowadzonym do • Distribution, szczególnie ważne w du-
rzających się procesów. Takie produkty ma- informatyki. W jego zakres wchodzi szereg żych firmach, gdzie zespoły działa-
ją wspierać zespoły nie tylko w zarządzaniu działań począwszy od opracowania wyma- ją w rozproszeniu. Wtedy należy odpo-
zespołem programistów (jak Rational Team gań, zarządzania zespołem, zarządzania ite- wiednie zasoby dostarczać tylko tam
Concert (Dalej autor zamiennie używa termi- racjami, testami, finansami, wersjami, aż do gdzie są one potrzebne.
nów Rational Team Concert i RTC)), ale tak- sprzedaży gotowego produktu. Nawet póź- • Traceability, czyli możliwość łączenia
że gwarantować odpowiednią jakość produk- niejsze działania (jak wsparcie i pomoc tech- (linkowania) różnych wypracowanych
tu (jak Rational Quality Manager (Dalej au- niczna) także mieszczą się w zbiorze ozna- elementów nie tylko wśród wewnętrz-
tor zamiennie używa terminów Rational Quali- czonym jako ALM. Pojęcie to pozwala objąć nych zasobów, ale także zewnętrznych.
ty Manager i RQM)). swoim zasięgiem wszystkie aktywności ze- • Automation, czyli wspomaganie infor-
Celem tego artykułu jest pokazanie w ja- społu projektowego. Z tego obrazu wyłaniają matyków we wszystkich powtarzalnych
ki sposób korzystać z możliwości integracji się cztery kluczowe czynniki, o które należy i rutynowych zadaniach.
dwóch zaawansowanych narzędzi z rodziny zadbać aby projekt IT się powiódł: • Continuous improvement. ALM po-
IBM Rational: Team Concert i Quality Ma- stuluje, że każdy system informatyczny
nager w taki sposób, aby sprostać nowym • ludzie (zespół) powinien być ciągle rozwijany o nowe
wymaganiom rynku IT. Według badań ame- • proces (i odpowiednie nim zarządzanie) funkcjonalności i integrowany z innymi.
rykańskiego National Institute of Standards • informacja
and Technology (NIST) co roku straty firm • narzędzia, które połączą trzy powyższe Korporacje coraz większą rolę przywiązują
z USA spowodowane przez błędy w oprogra- w jeden wydajny system do infrastruktury IT opartej o specjalistycz-
mowaniu (szczególnie błędy niezgodności ze ne oprogramowanie tworzone specjalnie na
specyfikacją) wynosi prawie 60 miliardów do- Wszystkie komponenty tego systemu są ze jej potrzeby. Wielu CEO zdało sobie sprawę,
larów. Oznacza to, że oprogramowanie często sobą wzajemnie powiązane. Na wyróżnio- że jest to zagadnienie nie tylko pozwalają-
powstaje bez odpowiedniej kontroli ze strony ną pozycję zasługuje zespół (na schemacie: ce zaoszczędzić poprzez automatyzację wie-
specjalistów ds. zapewnienia jakości (Quality Collaborator), ponieważ na różnych eta- lu powtarzalnych czynności, ale także bu-
Assurance). Lecz co ważniejsze ponad jedną pach tworzenia oprogramowania projekt dujące przewagę konkurencyjną. To wystar-
trzecią tych błędów można uniknąć stosun- przekazywany jest z rąk do rąk. Collabo- czyło aby przy wielu projektach IT uczest-
kowo tanim kosztem. Szczególnie efektyw- rator'em może być każdy w zespole IT, od niczyli także specjaliści nie mający wiedzy
nie można się ich pozbyć w początkowych analityka po beta-testera. Takie łączenie lu- technicznej. Teraz w projekt informatycz-
fazach rozwoju oprogramowania. Ale jak to dzi, technologii i informacji usprawnia pra- ny wgląd chcą mieć managerowie, zarząd,
zrobić? I tutaj z pomocą przychodzą dwa sys- cę i umożliwia sprecyzowanie wymiarów dział marketingu etc. Takie właśnie zmia-
temy z rodziny IBM Rational, mianowicie Te- sukcesu w projekcie, definiowanych na po- ny przechodzi właśnie rynek oprogramowa-
am Concert i Quality Manager. trzeby ALM: nia. Jeszcze przed rozpowszechnieniem In-

34 Dodatek SDJ
Testerzy + Developerzy = sukces oprogramowania

ternetu aplikacje były wbudowane w system • szybszy rozwój produktu ny z Eclipse) aby spełniać kryterium dostęp-
operacyjny lub sprzedawane na płytach CD- • wyższa jakość produktu, osiągana przez ności w każdym miejscu i czasie (niezależ-
ROM. Czas rozwoju produktów tego typu testy (głównie testy jednostkowe, funk- nie od używanej maszyny). Wśród funkcjo-
mógł trwać nawet do 2-3 lat. Wtedy progra- cjonalne, wydajnościowe i akceptacyjne) nalności jako najważniejsze należy wymie-
miści działali w odosobnieniu nie wiedząc • silny wpływ kadry zarządzającej, aby nić następujące:
jakie są bieżące zmiany w wymaganiach, czy oprogramowanie budowało przewagę
jakie są najnowsze wyniki testów, etc. Lecz konkurencyjną klienta. • planowanie iteracji
wraz ze skracaniem się czasu, produkowa- • kontrola kodu źródłowego
niem coraz większej ilości oprogramowania W dalszej części artykułu pokazane zosta- • elementy pracy
pojawiła się potrzeba integracji zespołów nie w jaki sposób dwa narzędzia spod mar- • budowanie
oraz umożliwienia im szybszej wymiany da- ki IBM Rational pomagają sprostać ww. wy- • panele informacyjne
nych. Nowe warunki tworzenia software'u maganiom i trendom, poprzez dostarczenie • system raportowania
wyglądają następująco: odpowiednich narzędzi i możliwości.
Warto zauważyć, że RTC pozwala omi-
• oprogramowanie ma wspomagać biznes Praktyczne zastosowanie CALM, nąć różnice kulturowe występujące w glo-
i przynosić mu zyski. Powstaje i jest ono czyli wprowadzenie do Rational balnych firmach. Przy pracy z Team Con-
po to aby firmy zachowały konkurencyj- Team Concert cert zespół może pozostawać rozproszo-
ność. Rational Team Concert to system umożli- ny po całym świecie i w żaden sposób nie
• Developerzy (w dużych firmach) często wiający developerom ścisłą współpracę po- ma to wpływu na pracę członków tego ze-
są rozproszeni w różnych oddziałach fir- przez udostępnienie szeregu narzędzi w jed- społu. Jest tak dlatego, że wszystkie zada-
my. Oznacza to, że niemożliwe są spo- nym miejscu. RTC ma interfejs Web'owy nia związane z przepływem pracy, raporto-
tkania zespołu. (warto dodać, że RTC jest także zintegrowa- waniem pracy czy dyskusjami między pro-
• Upowszechnianie się pakietów oprogra-
mowania (kilka komplementarnych pro-
duktów).
• Integracja różnych aplikacji

Takie są nowe trendy w produkcji opro-


gramowania. Jednakże to nie jedyny wy-
miar zmian, które w ostatnim czasie mają
miejsce. Drugim są nowe wymaganie biz-
nesowe (czyli także finansowe), gdzie tak-
że wyraźnie widać określone trendy doty-
czące rosnących wymagań klientów. Archi-
tektura systemu coraz bardziej komplekso-
wa, jest mniej czasu i środków na rozwój
systemu. Zdarzają się także zmiany zakre-
su projektu w czasie jego trwania. Sytuacja
wymaga, więc aby informatycy byli wspie- Rysunek 2. Wskaźniki sukcesu, które w CALM de�niują udany projekt IT
rani przez specjalistyczne narządza, któ-
re przejmą cześć procesów oraz zautoma-
tyzują inne. Wspomniane wyżej wyłania-
jące się nowe trendy można sklasyfikować
następująco:

• niższe koszty
• wyższa produktywność kadry

Rysunek 1. Sieć wzajemnych powiązań między


komponentami ALM Rysunek 3. Dashboard

www.sdjournal.org 35
SoftQA

gramistami odbywa się właśnie przy pomo-


cy RTC. Dzięki temu nie potrzeba już nic
Rysunek 4. Menu górne więcej i nawet globalny zespól może od ra-
zu prz stąpić do pracy.
Poniżej zaprezentowano krótki przegląd
możliwości pracy z RTC.

Dashboard
Po zalogowaniu do systemu (w wersji Web'o-
wej) użytkownikowi prezentowane są podsta-
wowe informacje o projekcie, czyli ogłoszenia
od kluczowych osób z zespołu, Lista wyda-
rzeń (ostatnich aktywności) innych użytkow-
ników, skład zespołu. Lewe menu natomiast
pozwala przełączać się między zespołami
(do których dostęp ma użytkownik). Ostat-
nim istotnym elementem jest górne menu
(ryc4.) zawierające podstawowe dla projektu
źródła danych:
Taki skonstruowany interfejs powoduje,
że programista od razu widzi jakie elemen-
ty zostały napisane, jakie napotykano proble-
my oraz bez może odtworzyć procesy, które
miały miejsce.

Work Items
To podstawowa „jednostka” pracy dla każ-
dego użytkownika zaangażowanego w pro-
jekt (ryc.5). Wyróżniamy pięć podstawo-
Rysunek 5. Przykładowy Work Item wych typów WI (WI = Work Item = Ele-
ment Pracy. Pojęcia te są stosowane zamien-
nie): Defekt, Zadanie, Udoskonalenie, Ry-
zyko, Przypadek użycia. Dodatkowo może
zostać utworzona dowolna ilość innych ty-
pów elementów pracy aby dopasować się do
konkretnych potrzeb. Podobnie, cała sekcja
"szczegóły" może zostać wyposażona w in-
ne zdefiniowane przez administratora po-
la. Warto skorzystać z tej możliwości, po-
nieważ w oparciu o WI można szybko gene-
rować raporty. Aby przeglądać Work Item'y
należy je najpierw wyszukać, gdyż jest to je-
dyna forma przeglądania tej funkcjonalno-
ści. Zapytania o nie można dowolnie defi-
niować korzystając z dostarczonych w sys-
Rysunek 6. Source Control, widok przeglądarki dokumentów temie reguł.

Source Control
RTC oferuje zintegrowany system zarządza-
nia kodem źródłowym. Kod grupowany jest
w odpowiednie strumienie zaprojektowane
przez administratora w taki sposób aby każdy
zespół developerski dysponował swoim wła-
snym. W najnowszej wersji RTC (2.0.0.2) po-
jawiła się także możliwość zarządzania doku-
mentami (ryc.6)

Reports
We wcześniejszych częściach artykułu
wspomniano o potrzebie automatyzacji za-
dań, które są powtarzane. Między innymi te-
Rysunek 7. Przykładowy diagram raportu wygenerowanego przesz RTC mu służy sekcja „Reports”, bowiem umoż-

36 Dodatek SDJ
Testerzy + Developerzy = sukces oprogramowania

liwia tworzenie raportów w oparciu o do- nager integruje się z systemami do automa- Dashboard
starczone szablony lub wygenerowane oso- tyzacji testów (np: Functional Tester) two- Podobnie jak w RTC praca z RQM zaczyna
biście. Raportowane może być bardzo wie- rząc w ten sposób obszerne narzędzie do się w głównym panelu, gdzie zgrupowane są
le działań dotyczących pracy z RTC na przy- obsługi całego procesu zarządzania jakością najważniejsze sprawy projektu (ryc8). Użyt-
kład ilość otwartych / zamkniętych elemen- w projektach IT. kownik może tam znaleźć między innymi
tów pracy przypisanych do danego użytkow-
nika (ryc.7)
Powyżej przedstawiono krótki przegląd
przez wybrane najważniejsze funkcjonalno-
ści Rational Team Concert. Zostały one do-
brane w taki sposób aby ukazać pola współ-
pracy zespołów wewnątrz projektu.

Praktyczne zastosowanie CALM,


czyli wprowadzenie do Rational
Quality Manager
Mówi się, że to ludzie a nie organizacje
tworzą świetne oprogramowanie. Testowa-
nie natomiast powinno zapewnić zgodność
z wymaganiami biznesowymi i funkcjonal-
nymi. Obecnie najlepsze praktyki projek-
towe kładą nacisk na jakość i szybkość wy-
twarzanego oprogramowania. Takie zada-
nie wymaga jednak ścisłej współpracy pro-
gramistów i testerów, co często jest zada-
niem bardzo trudnym. Z drugiej strony nie
Rysunek 8. Panel główny użytkownika Quality Manager'a
od dziś wiadomo, że współpraca develope-
rów z testerami idzie raczej trudno. Wyni-
ka to z faktu ich przeciwstawnych intere-
sów, gdzie z jednej strony programiści pra-
gną napisać możliwie bezbłędny kod, który
wpasowuje się w wymagania, z drugiej na-
tomiast testerzy poszukują błędów i nie-
spójności. Jednocześnie testerzy nie będąc
twórcami tworzonego systemu nie mają do-
głębnej wiedzy technicznej na temat dzia-
łania programu, co skutkuje często ich niż-
szą pozycja w firmie i mniejszą wydajnością
w pracy. Równocześnie klienci wymagają
aby dostarczany produkt był sprawdzony
i wysokiej jakości. Omawiany system roz-
wiązuje zarysowane powyżej problemy po-
przez integrację systemu testowania z pro-
gramami do zarządzania wymaganiami, re-
lacjami z klientami, oraz dzięki systemowi
do raportowania o błędach. System Ratio-
nal Quality Manager umożliwia automaty-
zację wielu działań związanych z testowa- Rysunek 9. Widok planu testu
niem i raportowaniem. Dzięki temu mana-
ger testów nigdy nie pominie żadnej pozy-
cji w harmonogramie testów oraz ma pew-
ność, że każdy defekt jest przekazany deve-
loperom. Najważniejsze jest aby proces wy-
twarzania oprogramowania był zintegrowa-
ny z testami i aby były one obecne na każ-
dym etapie tworzenia produktu. Rational
Quality Manager to narzędzie zbudowane
w Javie oparte o interfejs Web'owy, wspie-
rające wszystkie etapy testowania oprogra-
mowania, od planowania, przez wykonywa-
nie testów aż do analizy wyników i rapor-
towanie o nich do innych zespołów. W tym
miejscu warto wspomnieć, że Quality Ma- Rysunek 10. Ekran testu manualnego

www.sdjournal.org 37
SoftQA

�����������
����������� ������ ������
�������������
���� ���������� ������������
����

��������������� ������������
��������� �����������
�����������
��������� �����
������������ ������

���������

����������� ������� ������������ ����������


������������ �������� ����������� �������������� �����������
������� ��������� ������ ��������

�����������
������������
��������� ������������ ���������
�������
�������

Rysunek 11. Schemat przedstawiający kompleksowo cały proces testowania oprogramowania

zadanie przypisane do niego, raporty z te- ger'a, architekta testów, manager'a labora- Wymienione funkcje przedstawiono sche-
stów, czy w czasie rzeczywistym uzupełnia- torium, analityka, etc. Dzięki temu pro- matycznie poniżej.
ne statusy dla wykonywanych testów. gram wspiera pracowników z działu jakości
(wspomniane wcześniej QA, Quality Assu- Zakończenie
Plan Testu rance) przez cały cykl tworzenia oprogra- Oba systemy dedykowane są zwiększeniu
W RQM plan testu nie jest raz przygo- mowania. Znaczy, to że korzystając z Qu- produktywności i zacieśnienia współpracy
towanym dokumentem. Jest dynamicz- ality Manager'a można przeprowadzić na- między programistami i testerami. Integracja
ny i zmienia się wraz z postępami projek- stępującą pracę: dwóch narzędzi powoduje, że oba zespoły są
tu. Jego elementami są zarówno treści sta- ze sobą trwale połączone.
łe jak cele biznesowe i wymagania projektu, • tworzyć i kontrolować wymagania doty- Zapraszam wszystkich zainteresowanych
jak i te dynamiczne jak przypadki testowe. czące systemu do pobrania wersji testowej zarówno RTC
Przygotowany plan testu można także przy- • pisać (testy manualne) lub nagrywać te- jak i RQM. Oba systemy dostępne są na
pisać do danej osoby z zespołu i powierzyć sty (integracja z programami do automa- platformie Jazz (http://jazz.net/), odpowied-
jej wykonanie testu (ryc9). tyzacji testów) nio RTC:
• analizować wyniki testów
Testy manualne • zarządzać zasobami sprzętowymi przy • https://jazz.net/downloads/rational-team-
Są bardzo kosztowe czasowo lecz nadal wykonywaniu testów concert/releases/2.0.0.2
niezbędne w procesie zapewnienia jakości • przygotować cały harmonogram testo-
oprogramowania. Dlatego też Quality Ma- wania i przydzielić personel do jego wy- oraz RQM:
nager dostarcza zaawansowany komponent konania
do testów manualnych (ryc10), zawierający • przydzielać defekty w odpowiedzi na • https://jazz.net/downloads/rational-quali-
edytor tekstu do opisu przypadków testo- znaleziony błąd ty-manager/releases/2.0.0.1
wych. Jednakże aby usprawnić ten powol- • kontrolować czy defekty są naprawiane
ny proces dostępna jest funkcjonalność ko- i czy ta naprawa była skuteczna poprzez Ponadto na stronie dostępne są różnorodne
piowania segmentów scenariusza testowe- wykonanie tego samego testu, przy po- materiały edukacyjne i szkoleniowe.
go między konkretnymi przypadkami testo- mocy którego znaleziono błąd
wymi. Takie gotowe skrypty mogą być póź- • tworzyć nowe testy w oparciu o już do-
niej nagrane w np: Rational Functional Te- stępne (ang: test reuse)
ster (z którym RQM się integruje) tworząc
w ten sposób z jednej strony podstawę w po-
staci scenariusza i z drugiej automatyzację KAMIL KACZMAREK
procesu. Student Kognitywistyki na Uniwersytecie im. Adama Mickiewicza w Poznaniu. W ramach projektów
Jako zintegrowania platforma do zarzą- studenckich pracował między innymi na zlecenie Europejskiej Agencji Kosmicznej w projekcie obejmu-
dzania testami RQM integruje wiele funk- jącym opracowanie interfejsu i oprogramowania do obsługi satelitów edukacyjnych. Pracował także
cjonalności trzech innych systemów mar- dla Uniwersytetu im. Adama Mickiewicza, gdzie projektował architekturę informacji nowego serwisu
ki Rational: Manual Tester, Rational Cle- internetowego. Jest członkiem Usability Professionals' Association oraz Polskiego Towarzystwa Kogni-
arQuest i Rational Test Manager. Dzięki te- tywistycznego, a także kół naukowych: koła Informatyków (sekcja inżynierii oprogramowania), oraz
mu na jednym systemie pracuje cały zespól Koła Nauk o Poznaniu i Komunikacji. Zainteresowany tematyką Software Quality oraz Collaborative
testerski często składający się z test mana- Application Lifecycle Management.

38 Dodatek SDJ

You might also like