In ynieria oprogramowania. Jak zapewniæ jakoœæ tworzonym aplikacjom



Podobne dokumenty
POMOC PSYCHOLOGICZNO-PEDAGOGICZNA Z OPERONEM. Vademecum doradztwa edukacyjno-zawodowego. Akademia

Efektywna strategia sprzedaży

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

Roman Dmowski Centrum Usług Wspólnych

Bazy danych. Andrzej Łachwa, UJ, /15

ZAKRES OBOWIĄZKÓW I UPRAWNIEŃ PRACODAWCY, PRACOWNIKÓW ORAZ POSZCZEGÓLNYCH JEDNOSTEK ORGANIZACYJNYCH ZAKŁADU PRACY

INSTRUKCJA DLA UCZESTNIKÓW ZAWODÓW ZADANIA

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Zamawiający potwierdza, że zapis ten należy rozumieć jako przeprowadzenie audytu z usług Inżyniera.

Regu g l u a l min i n w s w pó p ł ó p ł r p acy O ow o iązuje od dnia

PRZEDMIOTOWY SYSTEM OCENIANIA Z HISTORII DLA KLAS IV VI

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

Regulamin Obrad Walnego Zebrania Członków Stowarzyszenia Lokalna Grupa Działania Ziemia Bielska

KRYTERIA OCENIANIA W KLASIE II

Fed musi zwiększać dług

Wprowadzenie do zarządzania procesami biznesowymi czym są procesy biznesowe: Part 1

FORUM ZWIĄZKÓW ZAWODOWYCH

STOWARZYSZENIE LOKALNA GRUPA DZIAŁANIA JURAJSKA KRAINA REGULAMIN ZARZĄDU. ROZDZIAŁ I Postanowienia ogólne

Komputer i urządzenia z nim współpracujące

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

Harmonogramowanie projektów Zarządzanie czasem

Przygotowały: Magdalena Golińska Ewa Karaś

Nasz kochany drogi BIK Nasz kochany drogi BIK

HAŚKO I SOLIŃSKA SPÓŁKA PARTNERSKA ADWOKATÓW ul. Nowa 2a lok. 15, Wrocław tel. (71) fax (71) kancelaria@mhbs.

SCENARIUSZ LEKCJI WYCHOWAWCZEJ: AGRESJA I STRES. JAK SOBIE RADZIĆ ZE STRESEM?

JĘZYK ANGIELSKI. Przedmiotowy system oceniania w klasach 1-3

ZAPYTANIE OFERTOWE z dnia r

KOMISJA WSPÓLNOT EUROPEJSKICH, uwzględniając Traktat ustanawiający Wspólnotę Europejską, ROZDZIAŁ 1

ZASADY REKLAMOWANIA USŁUG BANKOWYCH

WYMAGANIA EDUKACYJNE SPOSOBY SPRAWDZANIA POSTĘPÓW UCZNIÓW WARUNKI I TRYB UZYSKANIA WYŻSZEJ NIŻ PRZEWIDYWANA OCENY ŚRÓDROCZNEJ I ROCZNEJ

Dobre praktyki w zakresie zarządzania ładem architektury korporacyjnej

ZAMAWIAJĄCY. Regionalna Organizacja Turystyczna Województwa Świętokrzyskiego SPECYFIKACJA ISTOTNYCH WARUNKÓW ZAMÓWIENIA (DALEJ SIWZ )

Przedmiotowy system oceniania z przedmiotu wiedza o społeczeństwie Publicznego Gimnazjum Sióstr Urszulanek UR we Wrocławiu w roku szkolnym 2015/2016

Wynagrodzenia i świadczenia pozapłacowe specjalistów

Microsoft Management Console

REGULAMIN RADY NADZORCZEJ. I. Rada Nadzorcza składa się z co najmniej pięciu członków powoływanych na okres wspólnej kadencji.

Podstawa programowa kształcenia ogólnego informatyki w gimnazjum

Regulamin organizacji przetwarzania i ochrony danych osobowych w Powiatowym Centrum Kształcenia Zawodowego im. Komisji Edukacji Narodowej w Jaworze

Przedmiotowy System Oceniania z języka angielskiego w klasach IV-VI. Szkoła Podstawowa nr 5 im. Bohaterów 12 Kołobrzeskiego Pułku Piechoty

KLAUZULE ARBITRAŻOWE

Ogólna charakterystyka kontraktów terminowych

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

1. Proszę krótko scharakteryzować firmę którą założyła Pani/Pana podgrupa, w zakresie: a) nazwa, status prawny, siedziba, zasady zarządzania (5 pkt.

PROCEDURA ADMINISTROWANIA ORAZ USUWANIA

wzór Załącznik nr 5 do SIWZ UMOWA Nr /

- o zmianie o Krajowym Rejestrze Sądowym

WZP.DZ.3410/35/1456/2011 Wrocław, 26 maja 2011 r.

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

DE-WZP JJ.3 Warszawa,

Elementy i funkcjonalno

ARKUSZ OCENY OKRESOWEJ DLA STANOWISK PRACOWNICZYCH

Twierdzenie Bayesa. Indukowane Reguły Decyzyjne Jakub Kuliński Nr albumu: 53623

Stowarzyszenie Lokalna Grupa Działania EUROGALICJA Regulamin Rady

Szczegółowe wyjaśnienia dotyczące definicji MŚP i związanych z nią dylematów

Regulamin Zarządu Pogórzańskiego Stowarzyszenia Rozwoju

Zespó Szkó Samochodowych

ALEKSANDRA SŁABIAK. Przedmiotowy System Oceniania j. angielski kl. IV VI

Polityka prywatności strony internetowej wcrims.pl

PRAWO PRACY NAJNOWSZE ZMIANY jak prawidłowo stosować przepisy k.p.

Komentarz technik ochrony fizycznej osób i mienia 515[01]-01 Czerwiec 2009

Wybrane programy profilaktyczne

KONCEPCJA NAUCZANIA PRZEDMIOTU RACHUNKOWOŚĆ SKOMPUTERYZOWANA" NA WYDZIALE ZARZĄDZANIA UNIWERSYTETU GDAŃSKIEGO

STOWARZYSZENIE PRODUCENTÓW RYB ŁOSOSIOWATYCH

Regulamin Projektów Ogólnopolskich i Komitetów Stowarzyszenia ESN Polska

UMOWA PARTNERSKA. z siedzibą w ( - ) przy, wpisanym do prowadzonego przez pod numerem, reprezentowanym przez: - i - Przedmiot umowy

POLITECHNIKA WARSZAWSKA Wydział Chemiczny LABORATORIUM PROCESÓW TECHNOLOGICZNYCH PROJEKTOWANIE PROCESÓW TECHNOLOGICZNYCH

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

PRZEDMIOTOWY SYSTEM OCENIANIA ZAJĘĆ TECHNICZNYCH. W SZKOLE PODSTAWOWEJ DLA KLASY 4. rok szkolny 2012/13

Szkoła Podstawowa nr 1 w Sanoku. Raport z ewaluacji wewnętrznej

Kolorowe przytulanki

Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1

MINISTERSTWO PRACY I POLITYKI SPOŁECZNEJ

Łańcuch Krytyczny w Zarządzaniu Projektami

DZIENNIK USTAW RZECZYPOSPOLITEJ POLSKIEJ

Województwo Lubuskie, 2016 r.

Nie racjonalnych powodów dla dopuszczenia GMO w Polsce

Regulamin Pracy Komisji Rekrutacyjnej w Publicznym Przedszkolu Nr 5 w Kozienicach

Regulamin rekrutacji do Gimnazjum w Chwaliszewie na rok szkolny 2016/2017

RAPORT Z EWALUACJI WEWNĘTRZNEJ. Młodzieżowego Domu Kultury w Puławach W ROKU SZKOLNYM 2014/2015. Zarządzanie placówką służy jej rozwojowi.

Wprowadzam w Urzędzie Marszałkowskim Województwa Małopolskiego Kartę Audytu Wewnętrznego, stanowiącą załącznik do niniejszego Zarządzenia.

Na podstawie art.4 ust.1 i art.20 lit. l) Statutu Walne Zebranie Stowarzyszenia uchwala niniejszy Regulamin Zarządu.

Eksperyment,,efekt przełomu roku

Edycja geometrii w Solid Edge ST

3 Zarządzenie wchodzi w życie z dniem 1 listopada 2012 roku.

Warszawa, dnia 1 października 2013 r. Poz. 783 UCHWAŁA ZARZĄDU NARODOWEGO BANKU POLSKIEGO. z dnia 24 września 2013 r.

PODSTAWY METROLOGII ĆWICZENIE 4 PRZETWORNIKI AC/CA Międzywydziałowa Szkoła Inżynierii Biomedycznej 2009/2010 SEMESTR 3

STATUT SOŁECTWA Grom Gmina Pasym woj. warmińsko - mazurskie

Projekt i etapy jego realizacji*

Komentarz do prac egzaminacyjnych w zawodzie technik administracji 343[01] ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE

Mechanizm zawarty w warunkach zamówienia podstawowego. Nie wymaga aneksu do umowy albo udzielenia nowego zamówienia. -

Konferencja Sądu Arbitrażowego przy SIDiR WARUNKI KONTRAKTOWE FIDIC KLAUZULA 13 JAKO ODMIENNY SPOSÓB WYKONANIA ROBÓT A NIE ZMIANA UMOWY

PRZEDMIOTOWY SYSTEM OCENIANIA Z PODSTAW PSYCHOLOGII W KLASIE DRUGIEJ. Ocenianie wewnątrzszkolne na przedmiocie podstawy psychologii ma na celu:

Projekty uchwał dla Zwyczajnego Walnego Zgromadzenia

REGULAMIN RADY PEDAGOGICZNEJ

PROTOKÓŁ. Kontrolę przeprowadzono w dniach : 24, 25, roku oraz roku,

OPIS PRZEDMIOTU. Wydział Pedagogiki i Psychologii. Instytut Psychologii. Psychologia. jednolite studia magisterskie. Stacjonarne

Program Google AdSense w Smaker.pl

Warunki formalne dotyczące udziału w projekcie

Dotyczy: Odnowa centrum wsi śegiestów poprzez budowę oświetlenia ulicznego wzdłuŝ drogi powiatowej 1517K w śegiestowie

Transkrypt:

In ynieria oprogramowania. Jak zapewniæ jakoœæ tworzonym aplikacjom Autorzy: Bogdan Bereza-Jarociñski, Boles³aw Szomañski ISBN: 978-83-246-1948-1 Format: 158 235, stron: 328 Twórz rozwi¹zania najwy szej jakoœci! Ile kosztuje najwy sza jakoœæ? Jak j¹ zapewniæ? Jakie znaczenie ma bezpieczeñstwo informacji? In ynieria oprogramowania jest niezwykle obszern¹ dziedzin¹ wiedzy, zajmuj¹c¹ siê wszelkimi aspektami produkcji oprogramowania. Obejmuje zagadnienia takie, jak analiza, projektowanie czy te wdro enie systemu informatycznego. Je eli kiedykolwiek spotka³eœ siê z oprogramowaniem miernej jakoœci, niew¹tpliwie na którymœ z etapów jego produkcji pojawi³ siê problem. Jak temu zapobiec? O tym w³aœnie traktuje ta ksi¹ ka. Dowiesz siê z niej, jak unikaæ b³êdów, tak aby oprogramowanie, które wytworzysz, prezentowa³o najwy sz¹ jakoœæ! Poznasz podejœcie do kwestii jakoœci w czasach wspó³czesnych oraz zobaczysz, jak temat ten by³ rozumiany wczeœniej. Zdobêdziesz wiedzê na temat miar u ywanych w in ynierii oprogramowania oraz najefektywniejszych metod i technik jego wytwarzania. Autor przedstawi Ci równie narzêdzia, które sprawi¹, e Twoje rozwi¹zania stan¹ siê jeszcze lepsze. Ponadto zobaczysz, jak wa ne s¹ tematy zwi¹zane z bezpieczeñstwem informacji. Warto podkreœliæ, e styl tej ksi¹ ki ³¹czy lekkoœæ i przyjemnoœæ lektury z powa n¹ tematyk¹ poruszanych w niej zagadnieñ. Jakoœæ integralna Zarz¹dzanie ryzykiem Zarz¹dzanie procesami Cena jakoœci Spojrzenie na jakoœæ wczoraj, dziœ i jutro Zarz¹dzanie jakoœci¹ Socjologiczne i antropologiczne podejœcie do jakoœci Certyfikacja w in ynierii oprogramowania Najlepsze metody oraz techniki Dostêpne narzêdzia, automatyzacja testów Istota bezpieczeñstwa informacji Spraw, aby Twoje aplikacje by³y najwy szej jakoœci!

Spis tre ci Rozdzia 1. Rozwa ania wst pne... 13 1.1. Nietypowa ksi ka: o jako ci na weso o... 13 1.2. Jako integralna... 13 1.3. Jako przedsi wzi... 14 Przyk ad... 15 Zarz dzanie projektami... 15 Zarz dzanie procesami... 15 Zarz dzanie celami biznesowymi... 15 Zarz dzanie jako ci... 16 1.4. Podejmowanie decyzji i zarz dzanie ryzykiem... 17 Podejmowanie decyzji i zarz dzanie ryzykiem, czyli wykorzystanie intuicji i racjonalno ci... 17 Brakuje jednak podej cia integralnego... 17 Intuicji trzeba da szans!... 18 Mo na si nauczy, jak wykorzystywa w praktyce najlepsze rodki z dwojga wiatów... 18 1.5. Zintegrowane zarz dzanie celami biznesowymi... 19 Budowanie si y i powodzenia firmy na rynku... 19 Elementy jako ci integralnej... 20 1.6. Zarz dzanie procesami... 21 Sukces w systematycznym doskonaleniu organizacji... 21 Na pocz tku by chaos... 22 Op aca si praca dobrze zorganizowana... 22 Drugi brat... 23 Zarz dzanie procesem biznesowym... 23 Rozdzia 2. Dialektyka jako ci... 25 2.1. Dlaczego jako si op aca?... 25 2.2. Komu bije jako?... 26 Dwaj stolarze... 26 Gorsze jest lepsze?... 27 Czy stolarz zatrudni testera?... 28 Specjalno : testowanie programów... 29 Ju staro ytni Grecy... 29 Miliardy, co z dymem posz y... 30 Nie trzeba katastrofy... 30 Jak to sprzeda?... 31 Komu bije jako?... 32

6 In ynieria oprogramowania. Jak zapewni jako tworzonym aplikacjom 2.3. Poca unek ycia transfuzja krwi dla informatyki... 32 My li przewodnie... 32 Testowanie wymaga celu... 33 Skutek zale y od celu... 33 Fachowo mo e zaciemnia g ówne cele... 33 Testujmy funkcje, a nie programy... 34 Rozbie ne cele mog spowodowa nieporozumienie... 34 Sprzeczne miary jako ci... 34 Weryfikowa czy aktualizowa? Test jest postaw mentaln... 35 Jako produktu to tylko pocz tek... 35 Naturalna ewolucja tester perfekcyjny... 35 Testowanie w psychologii... 37 Teorie testowania w socjologii: naukowa weryfikacja... 37 Kryteria normalno ci co jest normalne?... 38 Pomiary ludzi... 39 Jako w przemy le farmaceutycznym... 39 Testowanie w swataniu... 42 Audyt finansowy... 44 Testowanie w przemy le budowlanym... 44 Testowanie w przemy le samochodowym... 46 Testowanie w krawiectwie... 48 Testowanie w sztuce... 49 ycie to testowanie... 50 Bibliografia... 53 2.4. In ynieria jako ci nauka czy szarlataneria?... 54 Regu y naukowego rozumowania... 54 Ludzkie poznanie... 55 Wa no i weryfikacja wiedzy... 56 Wybór w a ciwej metody weryfikacji... 60 Wykroczenia przeciw metodom naukowym... 61 Ró ne populacje w badaniach QA... 65 B dy obserwatora i skutki oczekiwania... 66 Testowanie hipotez... 66 Wiele uczestnicz cych zmiennych... 67 Konsekwencje i mo liwo ci... 68 Czy testowanie oprogramowania jest nauk?... 68 Zalecenia... 69 Proces kontra jako produktu... 71 Negatywne skutki systemów jako ci... 72 Bibliografia... 73 Rozdzia 3. Jako wczoraj, dzisiaj i jutro... 75 3.1. Historia podej cia do jako ci (od Hammurabiego do Gatesa)... 75 Definicje jako ci... 75 Jako we wspólnotach pierwotnych... 76 Jako w staro ytno ci... 77 Jako w redniowieczu i w okresie odrodzenia... 81 Jako w XIX wieku... 84 Jako w XX wieku... 85 Zmiany w historii jako ci... 89 Jako w informatyce... 91 Jak drog posz o oprogramowanie... 92 Bibliografia... 93

Spis tre ci 7 3.2. P dzi parowóz historii: 20 lat przemian w informatyce... 94 Od sierpa i m ota do Internetu... 95 Powolne zwyci stwo u yteczno ci... 96 Szybciej, wi cej, dalej... 97 Jako szyta na miar... 98 Samoobs uga... 99 3.3. W kryszta owej kuli: in ynieria oprogramowania za 10 lat... 100 Typowe b dy przewidywania... 100 Szybko i intuicyjnie... 102 Programowanie intencjonalne... 102 Testowanie eksploracyjne... 103 Spirale, iteracje, przyrost... 103 3.4. Szybko, zwinnie, ekstremalnie... 104 J zyki programowania... 104 Architektury komponentowe... 105 Sztuczna inteligencja i programy samoucz ce si... 105 Podsumowanie: si a czy inteligencja?... 106 3.5. Drogowskaz do przysz o ci m dro b dzie na serwerach, czyli ASP... 106 Babcia nie potrzebuje komputera... 108 Czego potrzebuje babcia autora?... 109 Szczegó y rozwi zania dla babci... 109 Z czym nam si to kojarzy?... 112 Kontrowersje... 113 Jeszcze troch recenzji walka ze spamem... 113 Moc j zyków... 114 Zako czenie... 115 3.6. Y2K heca czy historia? Wspomnienia wiadka... 115 Rozdzia 4. Zarz dzanie procesami... 119 4.1. Zarz dzanie jako ci w adza i zgie k... 119 Jak opanowa stado bezg owych kur, czyli zarz dzanie konfiguracj... 119 Rozmawia a g z prosi ciem: raporty i ledzenie b dów... 120 Krajobraz przed bitw : planowanie testów, analiza ryzyka... 121 Husaria kontra pruska piechota: jak nie straci impetu, nie trac c g owy?... 122 Krajobraz po bitwie: czy mo na wypu ci produkt ju jutro?... 123 Obdzieranie poleg ych, czyli jak by m drym po szkodzie... 124 Ró ne formy organizacji testowania... 124 Kiedy zaczyna, kiedy sko czy?... 125 4.2. Znowu ten po piech jak szybko oceni jako aplikacji?... 125 Po piech w informatyce... 125 Pomiary w po piechu... 126 Precz z grzybami... 127 Grzybobranie... 127 Testowanie uwzgl dniaj ce ryzyko... 129 Jakie to atwe...... 129 Bilet do Davos... 130 Jak spieszy si powoli... 130 4.3. Po co mierzy? Miary w in ynierii oprogramowania... 131 Czego nie mo na zmierzy, tego si nie wie... 132 Ksi ka... 133 4.4. Mi dzy biurokracj a chaosem: ADP... 134 K opot... 134 Akcja i kontrakcja... 135 Metametody ci kie: rezerwat le nych dziadków... 136

8 In ynieria oprogramowania. Jak zapewni jako tworzonym aplikacjom Metametody lekkie: rezerwat m odych wilków... 136 Niedostatki rezerwatów... 137 ADP nareszcie!... 137 ADP od rodka... 138 Zadowoleni ludzie... 138 Wysoka jako produktu... 139 Organizacja: wy sza produktywno i sprawno w dzia aniu... 139 Proces nadzorowany, udoskonalany i daj cy si utrzyma... 139 Przedsi wzi cie zarz dzane poprzez podejmowanie decyzji... 139 Zapobieganie pomy kom i b dom... 139 Zasady ADP... 140 Who is who... 141 Referencje... 141 Rozdzia 5. Socjologia i antropologia jako ci... 143 5.1. In ynier jako ci to nie brzmi dumnie... 143 Kariera testera... 144 5.2. Samotno testera: organizacje i konferencje... 144 Szkolenia i certyfikaty... 145 5.3. Psychologia projektu... 146 Przyk ad z projektu... 147 Co wynika z nieporozumie?... 148 Kreatywno... 149 Negocjacje... 149 Asertywno... 150 Wyst pienia publiczne... 150 Motywacja i zarz dzanie zespo em... 151 Trening antystresowy i zarz dzanie emocjami... 151 Zarz dzanie ryzykiem i podejmowanie decyzji... 152 5.4. Dobre decyzje: intuicja i racjonalno... 153 Streszczenie... 153 Wprowadzenie... 153 Na przystawk : trzy krótkie historie, aby skusi czytelnika... 154 Opowiadanie o wybieraniu metod testowania... 155 Opowiadanie na temat Czy jeste my gotowi podj decyzj?... 155 Psychologia podejmowania decyzji... 156 Nieprzechodnio preferencji... 156 Preferencja czasowa i opó niona gratyfikacja... 157 Percepcja prawdopodobie stwa... 158 Co to jest testowanie uwzgl dniaj ce ryzyko?... 164 Statystyka: podejmowanie decyzji w warunkach niepewno ci... 165 Strategie decyzyjne... 167 Podejmowanie decyzji przy u yciu statystyki Bayesa... 168 Bibliografia... 171 5.5. Psychologia jako ci... 172 Psychologia i socjologia testowania... 172 Status tego rozdzia u... 172 Dysonans poznawczy... 172 Psychologia testowania... 172 Praca konstruktywna i motywacja... 173 Bezpiecze stwo, niepokój... 174 Przegl dy... 174 Dynamika grupowa... 175 Studium komunikacji... 175 Hierarchia potrzeb wg Maslova... 176

Spis tre ci 9 Osobiste zainteresowania i cele (teoria Hollanda)... 176 Wnioski... 177 Opis modelu Hackmana... 177 5.6. Czy warto si SPIN-a?... 178 Organizacje zajmuj ce si jako ci w Polsce... 178 Gdzie jest Forum Romanum?... 179 Quo vadis, udoskonalanie procesów?... 180 5.7. W poszukiwaniu idealnych pracowników i szefów... 181 Jacy s ludzie?... 181 Mierzenie ludzi... 182 THOMAS INTERNATIONAL... 184 Zastosowanie THOMAS-a w praktyce... 186 Autystyczni testerzy... 187 Rozdzia 6. Interakcja, u yteczno, wygoda... 191 6.1. Inwazja szale ców... 191 6.2. Jak ulepszy wiat?... 193 Frustracja, poni enie, agresja... 193 Szale cy rz dz domem wariatów... 194 Sze grzechów g ównych... 194 Nie wi te przymierze... 195 Pomoc nadci ga... 196 6.3. Psychologiczne podstawy u yteczno ci... 196 Stan obecny... 196 Lista kontrolna niektórych czynników u yteczno ci... 197 Rozdzia 7. ycie towarzyskie i uczuciowe... 201 7.1. Adwentowa gwiazda 2003... 201 Adwentowa gwiazda... 201 Albo my to jacy-tacy?... 202 ycie towarzyskie i uczuciowe... 202 Koniec wojny niemiecko-brytyjskiej... 203 O co tyle szumu?... 203 O chorobie wspó uzale nienia... 204 7.2. Kupuj c wiedz : przewodnik po szkoleniach... 205 Motto... 205 Podstawy... 205 Pi z otych zasad, jak znale szkolenie testowe... 206 7.3. Jak sprzedawa nietypowe szkolenia? Podr cznik cynicznego sprzedawcy... 209 Wizja pocz tki... 209 Przyn ta... 210 Strategia... 211 Motywacja nauczania = dochód z nauczania alternatywny zysk... 211 Planowanie... 212 Nauczyciele... 212 Czyni c karier nauczyciela atrakcyjn... 213 Struktura pakietu szkoleniowego... 214 Praktyczne techniki szkoleniowe kontra teoria... 216 wiadectwa i egzaminy... 217 Pakiety modu owy model kursu... 217 Wykonanie licz si praktyczne szczegó y... 218 Bóg czy mamona? Zasady czy si y rynkowe?... 220 Konkurencja... 221 Do zapami tania... 221

10 In ynieria oprogramowania. Jak zapewni jako tworzonym aplikacjom 7.4. Papierki i wiadectwa. Certyfikacja w in ynierii oprogramowania... 222 Sens certyfikacji w przemy le informatycznym... 222 Certyfikacja w dziedzinie zapewnienia jako ci i testowania... 223 Rodzaje certyfikatów... 223 Po ytki z certyfikatów... 224 Zagro enia... 224 ASQ Certified Reliability Engineer... 225 IEEE Certified Software Development Professional... 226 QAI (Quality Assurance Institute)... 227 Certified Quality Analyst... 227 Certified Software Test Engineer... 227 BCS/ISEB: SW Testing Foundation Certificate, SW Testing Practitioner Certificate... 227 7.5. ISTQB: certyfikaty mi dzynarodowe... 228 7.6. To po prostu bzdura!... 229 Wyznania sfrustrowanego trenera jako ci... 229 Wed ug ISEB i ISTQB... 230 Jak wybiera si przypadki testowe w rzeczywisto ci?... 231 Pe ny obraz... 233 W ko cu: przyk ad... 235 Rozdzia 8. Metody i techniki... 237 8.1. Sztuka, rzemios o, nauka... 237 Powiedzmy, e zbli aj si wybory... 237 Grupa reprezentatywna... 237 Na tym samym polega testowanie... 238 Sztuka... 238 Rzemios o... 239 Nauka... 240 8.2. Szlachetna sztuka testowania oprogramowania... 241 Nowa ksi ka... 241 Klasyka od wie ona... 242 Nazewnictwo... 243 8.3. eby banki ros y w si, a klienci yli dostatniej... 244 Praca mudna, mozolna, ale za to jaka ja owa!... 244 Kontrola instalacji wodnej pod ci nieniem... 245 Poci gi pod specjalnym nadzorem... 246 Szukanie dziury w ca ym... 246 Czego u ytkownik nie lubi najbardziej?... 247 Jako jest za darmo... 247 8.4. Kra cowo zwinne eksploracyjne piramidy... 247 Historia polityczna... 247 Ostrze enie... 248 Nowa religia... 249 Zastosowanie eksploracji... 251 8.5. Cyryl jak Cyryl, ale metody!... 251 Nie warto marnowa czasu... 251 Ryzyko jest zbyt du e... 252 Testowanie osobna specjalno?... 252 Czy test mo e si op aca?... 253 Rachunek zysków i strat... 253 Kosmiczne pieni dze... 253 Co przetestowa, a co zlekcewa y?... 253 Sztuka testowania... 254 Tester jako rzemie lnik... 254

Spis tre ci 11 Metody formalne... 255 Ch op pi, a zbo e samo ro nie... 255 Kiedy testowa?... 255 Kto b dzie testerem?... 256 Polowanie na pluskwy... 256 Schwytana pluskwa na uwi zi... 257 Zaplecze frontu, czyli logistyka testowania... 257 Test na co dzie... 258 Rozdzia 9. Warsztat fachowca... 259 9.1. Automatyzacja testów... 259 Co to jest automatyzacja testowania?... 260 Co znajduje si w skrzynce ze z otem: po ytki z automatyzacji... 260 Gdzie rozmieszczone s miny: niebezpiecze stwa automatyzacji... 261 Na zako czenie... 264 9.2. Czy jako jest za darmo? Op acalno automatyzacji... 264 Krótki poradnik dla szefów dzia ów informatyki... 264 Przekuwamy infrastruktur na lemiesze... 265 Cyryl jak Cyryl, ale metody!... 266 Przez namolno do pedagogicznego sukcesu... 266 Jako jest za darmo?... 266 Prosta zasada z otego rodka... 266 Kombajnem przez preri... 267 Potrzeba, jak zwykle, fachowców... 268 Sierpy, snopowi za ki i kombajny... 270 Gdzie szuka dalej?... 272 Rozdzia 10. Bezpiecze stwo informacji... 273 10.1. Bezpiecze stwo informacji: historia i stan obecny... 273 Wprowadzenie bezpiecze stwo informacji dawniej... 273 Ochrona fizyczna i konstruowanie niezawodnego sprz tu... 276 Zapewnienie jako ci oprogramowania... 277 Zapewnienie bezpiecze stwa oprogramowania... 278 Zapewnienie bezpiecze stwa systemów informatycznych... 281 Zarz dzanie bezpiecze stwem informacji... 283 Systemy zarz dzania bezpiecze stwem informacji wed ug norm ISO serii 27000... 284 Próba przewidywania przysz o ci... 290 Bibliografia... 292 10.2. Walka z cieniem zabezpieczenia i odporno w praktyce... 295 Streszczenie... 295 Co to jest bezpiecze stwo?... 295 Definicje bezpiecze stwa... 296 Gdzie szuka b dów zabezpieczenia?... 297 Testowanie zabezpiecze... 298 Ile testowa zabezpieczenia?... 298 Wra liwe cz ci cia a smoka... 299 U yteczno... 300 Wykonanie... 301 Aspekty organizacyjne... 301 Proces testowania bezpiecze stwa... 302 Monitoring w trakcie dzia ania operacyjnego... 303 Bibliografia... 304 Organizacje, firmy, us ugi i normy... 305 Narz dzia... 305

12 In ynieria oprogramowania. Jak zapewni jako tworzonym aplikacjom 10.3. Bezpiecze stwo praca u podstaw... 306 Du o ha asu o bezpiecze stwo... 306 Bezpiecze stwo wielopoziomowe... 306 Trzy wiaty bezpiecze stwa... 307 Normy, audyt, standardy... 307 Policjanci... 307 Testy penetracyjne... 308 Praca u podstaw... 308 In ynieria wymaga bezpiecze stwa... 308 Mo liwo ci analizy statycznej... 309 B dy na poziomie kodowania: testy jednostkowe... 310 Bezpiecze stwo czy bezpiecze stwo?... 310 Profits, stupid!... 311 Leczy czy zapobiega?... 312 Praca mudna, mozolna, za to jaka ja owa!... 312 Skorowidz... 313

Rozdzia 4. Zarz dzanie procesami 4.1. Zarz dzanie jako ci w adza i zgie k Tak jak Wenus podobno wy oni a si z morskiej piany, tak z chaotycznej bieganiny, nerwowych zebra, nadgodzin programistów, rozpaczliwej krz taniny testerów, zszarganych nerwów kierownika projektu oraz gró b zniecierpliwionego klienta ma si wy oni Ona: aplikacja-marzenie. Bezb dna. Zaspokajaj ca wszystkie, nawet najskrytsze marzenia klienta. Idealna. Wa n rol w tym procesie odgrywa testowanie. To test powinien ostrzec: Panowie, mieli my budowa Wenus, a na razie widzimy tutaj pi ciog owego wielb da!. Test przypomni, ze bogini pi kno ci powinna mie dwie, nie za trzy nogi. Test policzy palce u r k i zawo a, e cztery palce uchodz w komiksach, ale nie w rzeczywisto ci. O ile nietrudno odró ni pi ciog owego wielb da od Wenus, o tyle b dy oprogramowania nie zawsze s oczywiste i rzucaj ce si w oczy. Zdemaskowanie ich wymaga skrz tnej pracy, wspólnego wysi ku wielu osób, którymi kto musi zarz dza i kierowa. Jak? o tym w a nie b dzie mowa w dalszej cz ci rozdzia u. Jak opanowa stado bezg owych kur, czyli zarz dzanie konfiguracj Zg oszenie b du dok adny opis objawów i okoliczno ci awarii, sporz dzony przez testera sporym nak adem pracy po to, by u atwi programi cie znalezienie i zlikwidowanie przyczyny awarii. Programista bardzo si dziwi: przecie ten b d zosta usuni ty ju dwa tygodnie wcze niej! Pewnie u y e z ej wersji powiada testerowi. Ale sk d, g ówne okno dialogowe wy wietli o numer najnowszej wersji, Z15 oponuje tester. Tak, ale to wersja programu g ównego. Ten modu móg mie inn wersj!. Sprawdzaj obaj. Okazuje si, e adres 0xA1F0 zawiera warto 0xE, a wi c wersja

120 In ynieria oprogramowania. Jak zapewni jako tworzonym aplikacjom numer czterna cie feralnego modu u. Tester poci si i czy program ponownie, tym razem z najnowsz wersj. Awaria nie pojawia si wi cej: dobrze. Niestety, po dwóch tygodniach powraca! Co si sta o? Po pó dnia dochodze udaje si ustali, e nowo zatrudniony programista przez pomy k, cz c program, znowu pos u y si star wersj feralnego modu u Brzmi to znajomo? Oczywi cie. Mamy tu do czynienia z klasycznymi symptomami niedostatków zarz dzania konfiguracj. No, ale co to ma wspólnego z zarz dzaniem testami? Jak w opisanym przyk adzie bardzo wiele. System czy program (zw aszcza niezbyt skomplikowany) mo e si niekiedy uda zbudowa kosztem pewnego czasoch onnego zamieszania mimo braków w zarz dzaniu konfiguracj. Natomiast zapewnienie jako ci bez dobrze funkcjonuj cego zarz dzania konfiguracj jest zwykle niemal bezu yteczne. Zidentyfikowane przez testerów awarie okazuj si albo dotyczy nieaktualnej wersji, albo wymagaj detektywistycznej pracy, aby znale ich przyczyn w chaosie spl tanych wersji poszczególnych modu ów systemu. Marnuje si w ten sposób wiele czasu i wysi ku, przez co test tylko w ograniczonym stopniu dostarcza swego najwa niejszego produktu: informacji pozwalaj cej na znajdowanie i usuwanie b dów. Z tego w a nie powodu cz sto zespó testuj cy, a nie ca y projekt informatyczny, jest gor cym zwolennikiem uporz dkowania le dzia aj cego zarz dzania konfiguracj. Nie jest to dobre rozwi zanie, ale o wiele lepsze ni dobrowolne oddanie si w r ce chaosu, marnotrawstwa i ba aganu. Cho wi c nie chodzi tu o testowanie sensu stricto, niejednemu kierownikowi zespo u testuj cego przyjdzie si z t problematyk zmierzy i warto sobie z tego zdawa spraw. Jak konkretnie si to robi: zarz dzanie i kontrol wersji, budow konfiguracji podstawowych (baselines) to s ju zagadnienia na osobny rozdzia. Rozmawia a g z prosi ciem: raporty i ledzenie b dów Kiedy tester natknie si na awari b d c symptomem tkwi cego w programie b du, fakt ten niesie w sobie dwa rodzaje informacji. Po pierwsze, ilo znajduj cych si w programie b dów jest podstawow miar jego jako ci, a wi c kluczow wielko ci, któr nale y wzi pod uwag, dokonuj c decyzji dotycz cych wdro enia, wprowadzenia do produkcji czy dostarczenia klientom nowej wersji programu. Po drugie, zaobserwowana awaria pozwala zwykle zidentyfikowa b d cy jej przyczyn b d, usun go i w ten sposób podnie jako programu. Ani w jednym, ani w drugim przypadku nie wystarczy, by ta wiedza pozosta a w g owie testera. Trzeba j przekaza programi cie, aby rozpocz poszukiwania przyczyny awarii, oraz kierownikowi projektu, aby móg sporz dzi statystyki b dów i oszacowa bie c jako konstruowanego systemu. Nawet je li projekt jest jednoosobowy, nie zawsze daje si wszystko zapami ta i prowadzenie notatek na temat znajdowanych i usuwanych b dów pozwala na unikni cie pomy ek. Tym celom przekazywaniu oraz gromadzeniu informacji o awariach i b dach s u tak zwane raporty albo zg oszenia b dów.

Rozdzia 4. Zarz dzanie procesami 121 Niektóre traktuj ce o testowaniu ród a (m.in. t umaczona na j zyk polski ksi ka ameryka skiego autora Rona Pattona Testowanie oprogramowania 1 ) po wi caj wiele miejsca udzielaniu rad, jak powinien post powa tester, aby dopilnowa, eby znaleziony b d rzeczywi cie zosta potraktowany powa nie i naprawiony. Takie podej cie wydaje si by stawianiem sprawy na g owie. Po pierwsze, tester ma inne zaj cia ni zast powanie niefrasobliwego wida kierownika projektu i ciganie programistów. Po drugie, taka sytuacja stwarza realne zagro enie sprowokowania konfliktów mi dzy testerami a konstruktorami. Po trzecie wreszcie, tester nie musi mie i zwykle nie ma pe nej wiedzy potrzebnej do prawid owej oceny wagi znalezionego b du. Do tego konieczna jest zale nie od rodzaju b du jeszcze wiedza na temat struktury i priorytetów wymaga, potrzeb klienta, architektury systemu. Nie jest wcale oczywiste, e ka da awaria wymaga natychmiastowego rzucenia wszystkich dost pnych rodków w celu jej rozbrojenia i usuni cia! To zale y mi dzy innymi od zwi zanego z ni ryzyka. Do oszacowania ryzyka nie wystarczy zwykle jedna osoba: konieczna jest wspó praca wielu uczestników projektu, któr umo liwiaj w a ciwie wykorzystane raporty b dów. Zorganizowanie procedur zg aszania i ledzenia b dów jest jednym z podstawowych zada kierownika testów. Krajobraz przed bitw : planowanie testów, analiza ryzyka Jak powiedzia genera, a pó niej prezydent Eisenhower, wprawdzie planowany przebieg wydarze nigdy si nie sprawdza, ale mimo to ten dowódca, który planowa najstaranniej, ma najwi ksze szanse poradzenia sobie z (niezaplanowan ) sytuacj na polu bitwy. To samo dotyczy testowania. Wiadomo z góry, e dostawa do testu systemowego b dzie opó niona w porównaniu z planem o dwa miesi ce, natomiast data dostawy do klienta nie ulegnie zmianie, przez co na test systemu, zamiast przewidzianych dziesi ciu, pozostan ledwo dwa tygodnie. Wiadomo, e jako pierwszych dostaw b dzie taka, e wi kszo czasu trzeba b dzie po wi ci na podnoszenie zawieszaj cego si systemu, a nie na wykonywanie przypadków testowych. Oczywiste jest te, e znajdowane b dy spowoduj niezaplanowany wzrost ilo ci dostarczanych do testowania wersji programu, przez co czas po wi cony na ich instalacj i konfigurowanie oraz na testy regresji wzro nie w porównaniu z planem dramatycznie. Wreszcie wiadomo, e proces odpluskwiania (ang. debugging) odci gnie pewn ilo testerów na pewien czas od testowania, a ponadto rodowisko testowe b dzie w niezaplanowanych wymiarach zablokowane przez programistów usi uj cych odtworzy awari i zlokalizowa jej przyczyn. Planuj c, e wydarz si wszystkie te niezaplanowane historie, mamy realne podstawy, by poradzi sobie z wyzwaniem, jakim jest zarz dzanie testami! 1 Nak ad obecnie wyczerpany wrzesie 2008.

122 In ynieria oprogramowania. Jak zapewni jako tworzonym aplikacjom Husaria kontra pruska piechota: jak nie straci impetu, nie trac c g owy? Impet jest w testowaniu wa ny, ale musi to by impet kontrolowany, w przeciwnym razie mo e nas sprowadzi na manowce. ledzimy liczb wykonanych przypadków testowych i porównujemy z zaplanowanymi w ten sposób ewentualne opó nienie wyjdzie na jaw od samego pocz tku, a nie dopiero wtedy, kiedy naro nie do katastrofalnych rozmiarów. ledzimy liczb otwartych, zg oszonych b dów w ten sposób mo emy próbowa oszacowa ilo pozosta ych jeszcze b dów, które zapewne wysz yby na jaw w trakcie dalszego testowania systemu, dzi ki czemu w ka dej chwili mamy do dyspozycji dane pozwalaj ce odpowiedzie na nieuniknione pytanie: co kierownik testów s dzi o tym, eby dostawa do klienta mia a miejsce ju pojutrze? skumulowana liczba wykonanych zada testowych szcz liwy koniec zaplanowana faktyczna nadrabianie start trudno ci, spi trzenie b dów naprawianie b dów i testy regresji czas testowania (znormalizowany) Rysunek 4.1.1. ledzenie procesu przebiegu testów Dostrzeg szy niebezpieczne, narastaj ce rozbie no ci mi dzy planem a rzeczywisto- ci, kierownik testów ma do dyspozycji pi typów rodków zaradczych: Zmiana harmonogramu testów odroczenie zako czenia i terminu dostawy do klienta. Zmiana kryteriów jako ci obni enie poprzeczki, dopuszczenie do u ytku systemu mniej przetestowanego albo maj cego wi ksz ilo nierozwi zanych b dów. Wykorzystanie do testowania wi kszej ilo ci osób, testowanie równoleg e. Zamiana funkcjonalno ci dostarczony system nie b dzie zawiera wszystkich wcze niej planowanych funkcji. Podniesienie wymaganej jako ci dostaw do testu systemowego to umo liwi sprawniejsze testowanie i przerzuci cz dzia a na ni sze poziomy (testy komponentów, integracyjne). Ponadto cz sto stosowanym rodkiem jest kiedy gwa townie narasta ilo zarejestrowanych zg osze b dów czasowe zawieszenie wykonywania nowych testów po to, by da programistom szans na usuni cie spi trzenia

Rozdzia 4. Zarz dzanie procesami 123 i naprawienie jak najwi kszej liczby b dów. W tym czasie zespó testowy po wi ca si wy cznie testowaniu powtarzalnemu dostaw zawieraj cych kolejne poprawki. Krajobraz po bitwie: czy mo na wypu ci produkt ju jutro? Decyzja o tym, czy mo na ju zako czy testowanie i wypu ci, dostarczy albo rozpocz wdra anie programu, jest de facto decyzj biznesow, nie techniczn. Stosowana w niektórych przedsi biorstwach zasada, e kierownik testów podpisuje zako czenie testów i niejako tym samym w asn g ow gwarantuje dostateczn jako produktu, jest absurdem. Testowanie nie jest na dobr spraw zako czone nigdy, zawsze pozostaje z podpisem kierownika czy bez niego pewne ryzyko, e w programie pozosta y niezauwa one b dy. Nie znaczy to jednak, e testowa trzeba w niesko czono, bo z drugiej strony czai si przecie ryzyko opó nienia, kar umownych, niezadowolonych klientów, utraty udzia ów w rynku na rzecz szybszych czy odwa niejszych konkurentów. Analiza ryzyka i podj cie decyzji jest w 100% zadaniem dla kierownictwa lub sponsorów projektu, ewentualnie dla dzia u marketingu. Test ma natomiast za zadanie dostarczy decydentom jak najprecyzyjniejsze dane dotycz ce ryzyka technicznego w oparciu o dotychczasowe wyniki testowania. Istnieje wiele kryteriów oszacowania jako ci produktu w oparciu o rezultaty testów. Bierze si na przyk ad pod uwag, jaki procent zada testowych zosta dotychczas wykonany, ile pozosta o otwartych (nierozwi zanych) zg osze b dów itd. Interesuj c metod jest technika oszacowania ilo ci pozosta ych jeszcze w programie nieznanych b dów na podstawie funkcji najlepiej pasuj cej do krzywej okre laj cej skumulowan ilo dotychczas znalezionych b dów. Wyja nienie na ilustracji poni ej. skumulowana liczba wykonanych zada testowych szcz liwy koniec zaplanowana faktyczna nadrabianie start trudno ci, spi trzenie b dów Rysunek 4.1.2. Szacowanie liczby pozosta ych defektów naprawianie b dów i testy regresji czas testowania (znormalizowany) Oczywi cie istotno takich oszacowa zale y od liczby oraz jako ci wykonanych testów. Do ich oceny s u rozmaite miary pokrycia (np. wymaga, funkcji, kodu).

124 In ynieria oprogramowania. Jak zapewni jako tworzonym aplikacjom Obdzieranie poleg ych, czyli jak by m drym po szkodzie Projekt zako czony, produkt sprzedany, kod i dokumentacja z o one w archiwum i przekazane do dzia u zajmuj cego si serwisem czy to ju koniec pracy? Otó nie, bo z danych uzyskanych w trakcie testowania mo na jeszcze niejedn ciekaw informacj wycisn. Wprawdzie na popraw jako ci wytworzonego przez zako czony projekt produktu informatycznego ju za pó no, nie da si tak e podwy szy jako ci decyzji, które ju zapad y, ale mo na uzyska wiedz pozwalaj c by mo e kolejne projekty poprowadzi lepiej i sprawniej. Bogatym ród em wiadomo ci jest baza danych z raportami b dów. Mo na na przyk ad szczegó owo zanalizowa pewn liczb losowo wybranych raportów i spróbowa odpowiedzie na pytanie, jaka by a pierwsza przyczyna zaistnienia danego b du? Czy by y ni niejasno sformu owane wymagania, czy niedostateczna znajomo j zyka przez programistów, czy niedoci gni cia organizacyjne? Warto te przyjrze si statystykom raportów b dów. Kiedy pojawi o si ich najwi cej? Jaki by czas naprawy b du? Ile raportów okaza o si fa szywych? Odpowiedzi na te pytania niejednokrotnie pozwol zidentyfikowa s abe punkty w procesach i procedurach projektów lub niedostatki organizacyjne w przedsi biorstwie. Ró ne formy organizacji testowania Nie zawsze jedyn i najlepsz form organizacji testów jest stworzenie osobnego zespo u testowego. Zale nie od charakteru projektu, typu produktu, przyj tej metodyki wytwarzania korzystne mo e okaza si zastosowanie innych rozwi za organizacyjnych. Programi ci sami testuj w asny kod. Metoda cz sto stosowana w testach modu owych (jednostkowych, komponentów). Jej wady s oczywiste. Testowanie kole e skie (ang. buddy testing): programi ci nawzajem testuj swój kod. Stosowane mi dzy innymi w popularnym ostatnio Programowaniu Ekstremalnym (XP, Extreme Programming). Tester (lub testerzy) s cz onkami zespo u programistów, podlegaj kierownikowi zespo u lub projektu. Osobny zespó testuj cy maj cy w asnego kierownika. Osobny dzia w przedsi biorstwie zajmuj cy si pewnymi rodzajami testów. Outsourcing testów do innego przedsi biorstwa: stosowane wówczas, gdy wymagana jest niezale na certyfikacja systemu oraz gdy niezb dne jest skomplikowane i kosztowne rodowisko testowe (np. w testowaniu konfiguracji, testowaniu zgodno ci z wymaganiami rodowiskowymi itp.). Wybór w a ciwej organizacji testowania jest wa nym zadaniem dla kierownika projektu. Warto pami ta, e w wi kszych projektach kilka ró nych form organizacyjnych mo e istnie jednocze nie, na przyk ad testowanie kole e skie na poziomie testów komponentów, odr bny zespó do testu systemowego, outsourcing w celu uzyskania niezale nej certyfikacji.

Rozdzia 4. Zarz dzanie procesami 125 Kiedy zaczyna, kiedy sko czy? Jak zwykle bywa dobrze wiemy. Jak powinno by zwi le opisuje rysunek 4.1.3. Czynno ci wykonywane przez zespó testowy napisane s t ustym drukiem na jasnoszarym tle. Walidacja wymaga Specyfikacja wymaga Przygotowanie testów Test akceptacyjny Testowalno wymaga Przegl d Test systemu Specyfikacja konstrukcji Przygotowanie testów Testy integracyjne Testowanie Przegl d Kodowanie Testy komponentów Rysunek 4.1.3. Przegl d modelu V 4.2. Znowu ten po piech jak szybko oceni jako aplikacji? Po piech w informatyce Zrobi cokolwiek szybko? Znowu ten po piech. Znane jest przecie porzekad o: co nagle, to po diable i niezliczone przyk ady sytuacji, kiedy zabrak o czasu i rodków, aby co wykona dobrze, ale znalaz o si potem i jedno, i drugie, aby to co wielokrotnie poprawia. Informatyka to bran a cierpi ca od swego powstania na syndrom czarodziejskiej plasteliny. Kilkadziesi t lat temu uda o si ludziom spe ni swe odwieczne marzenie i znale substancj, z której daje si szybko i atwo zbudowa wiele najrozmaitszych rzeczy: a to system bazodanowy, a to telefoni komórkow, a to wbudowany uk ad steruj cy do pralki automatycznej. Figurki lepione z naszej czarodziejskiej plasteliny instrukcji mikroprocesora rzeczywi cie mo na tworzy zadziwiaj co szybko w porównaniu z przedmiotami z drewna, metalu czy betonu, a ponadto mo na je potem wzgl dnie atwo poprawia bez potrzeby burzenia ca o ci, je li co si nie ca kiem uda. Ludzikowi z plasteliny mo na nawet, kiedy ju jest gotowy, oderwa nog i zast pi j inn, lepsz, ale te wygl da on potem jak ludzik z plasteliny.

126 In ynieria oprogramowania. Jak zapewni jako tworzonym aplikacjom Programowanie nara one jest na nieustann pokus bylejako ci i po piechu, których skutkiem jest bardzo cz sto albo fatalna jako aplikacji, albo lekcewa enie u ytkownika i jego potrzeb, przez co wiat zape niaj zawodne i pokraczne, niewygodne w obs udze twory z plasteliny. Po co zbiera i analizowa wymagania, skoro mo na zacz budowa od razu, a potem, w razie czego, wszystko si przerobi? Po co starannie projektowa system, skoro mo na od razu zacz kodowanie, a potem jako si te, niepasuj ce do siebie, cz ci poskleja w ca o? Po co dba o jako projektu, skoro w ba- aganie te daje si pracowa, i po co wysila si na produkty dobrej jako ci, skoro czarodziejska plastelina pozwala na pozór bezkarnie poprawia, sztukowa, zaizolowa kawa kiem d tki, przymocowa drutem? Mi o jest sobie pozrz dzi, ale z drugiej strony nie mo na zaprzeczy, e to dzi ki systemom informatycznym dzisiejszy wiat ogromnie przewy sza ten sprzed lat trzydziestu i czterdziestu pod wzgl dem mo liwo ci, dobrobytu, bezpiecze stwa i organizacji, cokolwiek na ten temat s dz rozmaici zwolennicy powrotu do jaski czy wr cz na drzewa. Ponadto, szydz c sobie z typowego projektu informatycznego: drwala, który nie ma czasu porz dnie naostrzy siekiery, bo tak bardzo si spieszy z r baniem drewna, nie sposób przecie zapomnie o zagro eniach z przeciwnej strony: drwalach tak zaj tych ostrzeniem siekiery, e nie maj czasu na cinanie drzew. Czynniki psychologiczne powoduj, e ch tnie uchylaj c si przed naprawd trudnymi wyzwaniami uciekamy w rytualizacj, mno enie zb dnej dokumentacji, mani zebra i posiedze, wiar w rzekomo uzdrowicielsk moc procedur, procesów, poziomów dojrza o ci i sprawno ci, dusz cych prawdziw kreatywno i skuteczno. Czy nie ma drogi po redniej mi dzy jedn a drug skrajno ci? Jest, oczywi cie to po piech kontrolowany, gdzie umiej tno i wprawa pozwalaj porusza si szybko, lecz pewnie, a cie ki na skróty niekoniecznie prowadz na manowce. Pomiary w po piechu Warunkiem skutecznego po piechu kontrolowanego jest umiej tno nadzoru w biegu, tak eby zakr t móc przej na piszcz cych oponach, ale z niego nie wylecie, pokonuj c za na skróty bezdro a, orientowa si zr cznie za pomoc mapy, kompasu, zegarka i bystrych oczu i nie zab dzi. Nie jeste my w stanie kontrolowa tego, czego nie umiemy zmierzy. Ale pomiar nie jest w informatyce s owem lubianym nawet poddany mi przez Redakcj tytu tego artyku u omija je, zast puj c niebudz cym l ku s owem ocena. Cho jako specjalista w bran y nie raz spiera em si przy piwie, czy to testowanie, czy te utrzymanie oprogramowania jest bardziej nies usznie lekcewa one w praktyce naszego przemys u, wydaje si, e palma pierwsze stwa nale y si jednak pomiarom. Dobry kierowca rajdowy nie musi wysiada z samochodu i mierzy promienia skr tu ta m tylko dzi ki temu, e wprawa pozwala mu mierzy bez przerywania jazdy. Przewodnik, na pozór bez wysi ku wyprowadzaj cy przez g ste krzaki wprost na zamierzony punkt, nie wlecze za sob wielokilometrowej nici Ariadny tylko dlatego, e nieustannie podczas marszu

Rozdzia 4. Zarz dzanie procesami 127 mierzy przebyt odleg o, kierunek, nachylenie terenu. W przemy le informatycznym ch tnie udajemy kierowców Formu y 1 oraz dzielnych przewodników, nie maj c niezb dnych po temu umiej tno ci mierzenia. Brak umiej tno ci sprawnego mierzenia uniemo liwia zarz dzanie ryzykiem, zast puj c je unikaniem ryzyka lub bezsensown brawur. Unikanie ryzyka w in ynierii oprogramowania rodzi projekty sztywne, zbiurokratyzowane, nieskuteczne, omijaj ce w a ciwe wyzwania. Bezsensowna brawura oznacza fanfaronad przy wyznaczaniu celów, rodków i terminów, po czym To, co zdarza si potem, tak e mo na oczywi- cie zmierzy. Odpowiedni miar, nie do ko ca jeszcze uznan przez fizyków, jest och-nie-sekunda (ang. oh-no-second), stosowana do okre lenia czasu up ywaj cego od chwili, gdy si zorientowali my, e pope nili my NAPRAWD DU Y B D (np. klikaj c wy lij do wszystkich na koniec maila pe nego wspomnie z bardzo gor cej nocy). O zarz dzaniu ryzykiem i o skutecznych pomiarach napisz wkrótce, jak mi czas i Redakcja pozwol. Na razie pora przej do sedna: jak szybko oceni jako produktu, czyli jak mierzy w biegu? Precz z grzybami Wyobra my sobie, e pe nimy funkcj Naczelnika Jakiej Jednostki Administracyjnej. Najnowsza polityka rz du k adzie szczególny nacisk na oczyszczanie lasów z grzybów. Dlaczego niewa ne, ale nietrudno sobie wyobrazi Grzyby przecie bywaj truj ce, a ludno musi by chroniona przed zagro eniami. Nast pnie jeste my nowoczesnym europejskim krajem, a grzyby nie maj witamin, nie poddaj si racjonalnej hodowli i wzbudzaj jako pozbawione chlorofilu zastrze enia wojuj cych rodowisk wegetaria skich. Poza tym grzyby to paso yty, co k óci si z ideami solidaryzmu spo ecznego (lub jest ich z o liw karykatur ), a ich preferencje seksualne te s zdaje si nad wyraz nieprawomy lne. Niech do grzybów ma wyra nie ponadpartyjny charakter, wi c lasy maj by odgrzybione, a za dwa dni przyjedzie o czym da nam cynk kolega z S siedniej Jednostki Administracyjnej Nadzwyczajna Komisja, eby sprawdzi stan odgrzybienia naszego lasu podmiejskiego. Tak wi c mamy SZYBKO OCENI JAKO LASU! Nie musz dodawa, e dot d w tej sprawie nie zrobiono nic. Gdyby las by ju wcze- niej systematycznie odgrzybiany, nie by oby paniki. Oczywi cie identycznie jest z potrzeb szybkiej oceny jako ci aplikacji. Gdyby projekt by od pocz tku prowadzony porz dnie, jako aplikacji by aby po prostu znana realizowana i mierzona ca y czas. Có, jednak wiat jest niedoskona y, wi c idziemy mierzy w po piechu. Grzybobranie Zasada podstawowa nie da si trafnie oceni stanu zagrzybienia lasu, nie wysy aj c tam ludzi odpowiednio zmotywowanych, umiej cych szuka grzybów! Mo na, rzecz prosta, wys a do lasu krótkowidza, który na grzybach si nie zna, dla ca kowitej pewno ci mówi c mu z owieszczym g osem: Mam nadziej, e przyniesie mi pan DOBRE

128 In ynieria oprogramowania. Jak zapewni jako tworzonym aplikacjom wiadomo ci!. Wtedy ocena jako ci lasu b dzie wprawdzie odpowiednio szybka, ale ca kowicie nietrafna, a nie o to chyba nam chodzi. miej c si z takiej metody, nie zapominajmy, e dok adnie tak odbywa si cz sto próba szybkiej oceny jako ci aplikacji je li nie wykonuj jej fachowi testerzy, odpowiednio nagradzani za przynoszenie wie ci o b dach, wynik pomiaru jest bezwarto ciowy. Dobry grzybiarz szuka grzybów tam, gdzie spodziewa si je znale. Wykorzystuj c sobie tylko znane intuicje, wie gdzie zwykle rosn ko laki, gdzie rydze, a gdzie opie ki, dzi ki czemu przynosi ich pe ne kosze. Tak samo do wiadczony tester wykorzystuje swe wcze niejsze do wiadczenia, aby szuka b dy ocenianej aplikacji tam, gdzie spodziewa si je znale. Jak rydze lubi rosn pod wierkami, tak b dy lubi si na przyk ad gromadzi w pobli u warto ci kra cowych, na granicach przedzia ów, i dobry tester tam w a nie b dzie ich szuka. Dalej, b dy ch tnie dojrzewaj w miejscach odludnych, których nikt od dawna nie testowa, bo kod jest tak zawi y, e lepiej go nie rusza. Wiemy te, e obecno kilku b dów zwykle oznacza, e jest ich tam o wiele wi cej wynikaj bowiem z tych samych b dów projektowania. Kolejn regu streszcza powiedzenie gdzie kucharek sze je li kod by wielokrotnie zmieniany, je li modyfikowa o go wielu programistów warto poszuka b dów. Zasad jest wiele, a profesjonalni testerzy powinni je zna. Wró my do podmiejskiego lasu. Do wiadczony grzybiarz szuka grzybów tam, gdzie zwykle rosn, ale niekoniecznie tam, gdzie b dzie ich szuka nasza Nadzwyczajna Komisja. Je li cz onkowie Komisji s agodnymi, leniwymi grubasami, zadowol si pobie nym sprawdzeniem bezpo redniej okolicy wygodnych cie ek i tam w a nie wbrew instynktowi grzybiarza trzeba przeszuka teren szczególnie starannie. Je li w sk ad Komicji wchodz ambitne, m ode wilki, b d si stara wykaza, szukaj c w nietypowych miejscach niech e wi c grzybiarze strwo onego Naczelnika Jednostki na wszelki wypadek przepatrz miejsca pod kamieniami, w ród g stych krzaków czy w inne, do których podejrzewamy, e ch tnie skieruj si m ode wilki. Przenosz c si na chwil z powrotem w dziedzin oceny jako ci aplikacji, nale y ocenia przede wszystkim to, czym najcz ciej pos uguj si u ytkownicy ko cowi. Skoro nie ma si do dyspozycji dostatecznie d ugiego czasu, aby oceni wszystko, warto skoncentrowa si na obszarach, gdzie z racji intensywnego u ytkowania prawdopodobie stwo awarii, je li s tam b dy jest najwy sze. Dzi ki temu jako aplikacji mierzona rednim czasem mi dzy awariami b dzie wy sza, oczywi cie przy za o eniu, e znalezione podczas oceniania b dy b d te usuwane. Grzyb grzybowi nierówny. Doniesiono Naczelnikowi Jednostki, e Komisja jest szczególnie uczulona na muchomory sromotnikowe, pewnie ze wzgl du na ich kszta t. Dlatego naczelnik uczula swoich grzybiarzy, aby szukali wbrew swoim naturalnym, grzybiarskim instynktom w a nie sromotników. Tak samo przy szybkiej ocenie jako ci aplikacji koncentrujemy si na tych b dach, których skutki z punktu widzenia u ytkowników s szczególnie z e, a mniej czasu po wi camy b dom, o których wiadomo, e je li nawet gdzie s nie b d dla u ytkowników zbyt dotkliwe. W rodku lasu jest ostaniec pionowa, kilkunastometrowa ska a. Mo e na jej szczycie te rosn jakie grzyby, a który z cz onków Komisji uprawia sporty ekstremalne i tam si wdrapie? Mo e, ale z drugiej strony, spenetrowanie wierzcho ka ska y wymaga oby

Rozdzia 4. Zarz dzanie procesami 129 drabin, stra y po arnej, kto wie, czy nie helikoptera, co poch on oby znaczn cz rodków dost pnych na szybk ocen jako ci lasu, przez co gorzej zosta yby spenetrowane jego atwiej dost pne rejony. W tej sytuacji chyba rozs dniej jednak b dzie zostawi w spokoju ska. T umaczy si potem, e w lesie wprawdzie jest pe no grzybów, ale za to wolny od nich jest trudno dost pny ostaniec to nie b dzie brzmia o dobrze. St d wyp ywa kolejny wniosek dla oceniania jako ci aplikacji je li mamy ograniczone zasoby, a s owo szybko oznacza, e brakuje nam najcenniejszego z nich, czyli czasu trzeba uwzgl dni, na ile trudne i kosztowne s pewne testy, tak eby dost pne rodki rozdysponowa raczej równomiernie, a nie tylko w jednym, szczególnie zasoboch onnym obszarze. Testowanie uwzgl dniaj ce ryzyko Powy sze rozwa ania s streszczeniem podej cia znanego jako testowanie uwzgl dniaj ce ryzyko (ang. risk based testing). Je li jako musimy oceni szybko, testujemy (oceniamy, mierzymy) przede wszystkim to, co najwa niejsze, uwzgl dniaj c cztery kluczowe parametry: Prawdopodobie stwo b du szkoda czasu, aby szuka b dów tam, gdzie by mo e ich nie ma. Konsekwencje awarii przy ocenie jako ci nale y szuka raczej awarii katastrofalnych ni niegro nych, kosmetycznych. Prawdopodobie stwo zastosowania trafniej ocenimy jako, bior c pod uwag przede wszystkim to, czym u ytkownicy pos uguj si na co dzie, ni to, z czego korzystaj raz do roku lub wcale. atwo testowania przy szybkiej ocenie warto te wzi po uwag, by o ile nie chodzi o awarie katastrofalne raczej unika wik ania si w próby oceny tego, czego pomiar jest zbyt kosztowny i czasoch onny. Jakie to atwe... Warum einfach? Kompliziert geht es auch! powiadaj nasi zachodni s siedzi. Pope niam zdaje si b d, przedstawiaj c atwo zrozumia przypowie o grzybach zamiast epatowania licznymi skomplikowanymi nazwami i trzyliterowymi skrótami. Przeczytawszy wst pn wersj artyku u, kto powiedzia to ca e testowanie jest w gruncie rzeczy bardzo proste. Owszem, je li wiemy, gdzie rosn grzyby (znamy si dobrze na informatyce, na testowaniu i na projektach informatycznych), je li znamy dziedzin zastosowania (ocena cz sto ci zastosowania oraz konsekwencji awarii) oraz technologi testów (ocena atwo ci testowania). Przydaje si te niez a znajomo technik pomiaru oraz analizy ich wyników, troch statystyki POZA TYM ca a reszta to rzeczywi cie odrobina zdrowego rozs dku.