Skip to main content

101030029

Page 1


6. Uciążliwy zielony smok (defekt związany z użytecznością) .......

7. Okazały zielony smok (widoczny, ale niegroźny

8. Brązowy smok podziemny (defekt sprzętowy) .................

9. Znikający szary smok i łagodny zielony smok (defekt

11. Sprytny zielony smok (niewielki, ale nieoczywisty

12. Skołowany zielony smok (defekt związany z dokumentacją)

Irytujący czerwony smok (wyciek

pamięci)

Dawno, dawno temu była sobie mała wioska o nazwie Owcza Dolina, której mieszkańcy wiedli spokojne życie pośród pięknych górskich zboczy. Dni upływały im w spokoju i radości. Wszyscy wstawali rankiem, o wschodzie słońca, i jedli sycące śniadanie. W ciągu dnia zajmowali się wypasem krów i owiec na pobliskich łąkach wykorzystywanych jako pastwiska. Wieczorem gromadzili się w głównym budynku, by wspólnie biesiadować. Niektórzy snuli wtedy opowieści o odległych krainach i wspaniałych przygodach.

W świecie informatyki naszą wioską jest oprogramowanie, na przykład gra uruchamiana na smartfonie lub komputerze. Oprogramowanie czasami nazywamy po prostu programem. Komputer przechowuje taką grę w swojej pamięci. Owce w tej historii symbolizują pamięć komputera.

Pewnego pięknego dnia wydarzyło się coś niezwykłego… Dziewczynka imieniem Laura pasła swoje owce na odległej łące. Wróciła do wioski wieczorem, później niż zwykle. Powiedziała, że nie mogła odnaleźć jednej owcy.

Do tej pory wszystkie posłusznie wracały do pasterki, kiedy głośno gwizdała. Tym razem było inaczej… Laura rano jak zwykle policzyła zwierzęta, a potem zrobiła to samo wieczorem. Brakowało jednej owcy! Laura przeszukała wszystkie skrawki lasu otaczające pastwiska, ale niczego tam nie znalazła. Słońce było już coraz niżej, więc musiała wrócić do wsi z resztą stada. Ludzie biesiadujący wspólnie doszli do wniosku, że owca musiała potknąć się o kamień i wpaść do głębokiego jaru. Laurę ogarnęły jednak wątpliwości: przecież owce rzadko wpadają do wąwozów, bo to bardzo zwinne zwierzęta! Cóż, może tym razem rzeczywiście zdarzył się wypadek…

W następnych dniach Laura wracała do wioski, przynosząc niepokojące wieści. Dwa dni później zaginęła kolejna owca, następnego dnia jeszcze jedna. Minęły dwa dni i Laura znów nie mogła doliczyć się jednego zwierzęcia. Zaczęła podejrzewać, że chodzi o coś groźniejszego niż skaliste wąwozy. Pozostali mieszkańcy wioski też zaczęli się niepokoić. Karol, sympatyczny rolnik, pożyczył dziewczynce swojego owczarka noszącego imię Kumpel, żeby pomógł jej pilnować stada. Może ten mądry długowłosy pies pasterski będzie umiał ochronić zwierzęta przed wpadnięciem do niebezpiecznych jarów?

Tak, to był dobry pomysł! Owce przestały znikać. Laura bardzo zaprzyjaźniła się z Kumplem. Zapytała Karola, czy może zatrzymać go na stałe. Uwielbiała drapać pieska za uszami i czochrać jego długą, miękką sierść. Kumpel bardzo jej pomagał na pastwisku, codzienne zadania stały się znacznie łatwiejsze. Kiedy przybiegał do niej i kiedy głaskała go po grzbiecie, zawsze z radością lizał jej dłoń. Rolnik zgodził się oddać Kumpla dziewczynce, ponieważ miał wiele innych psów.

Jeśli w kodzie gry znajduje się wyciek pamięci, zaczyna ona używać coraz większej ilości zasobów, aż w końcu pamięć się wyczerpie. Smartfon zaczyna się wtedy dziwnie zachowywać. Wszystko działa wolniej, gra może się na chwilę zablokować, a w końcu smartfon w ogóle się wyłączy. W naszej opowieści w niewytłumaczalny sposób znikają kolejne owce –podobnie w oprogramowaniu zawierającym usterki bez wyraźnego powodu zaczyna ubywać pamięci.

W następnym tygodniu Jonatan – chłopiec, który wypasał swoje stado po drugiej stronie wioski – wrócił do domu ze złą nowiną. Nie mógł nigdzie odnaleźć jednej owcy, chociaż przeszukał wszystkie zakamarki w zaroślach. W kolejnych dniach ginęły kolejne zwierzęta. Kiedy Laura dowiedziała się o kłopotach Jonatana, poradziła mu, żeby skorzystał z pomocy psa pasterskiego. Udało się! Owce przestały znikać.

Wieczorami mieszkańcy wioski, zebrani w głównym budynku, toczyli ożywione dyskusje na temat ostatnich wydarzeń. Wszyscy zastanawiali się, z jakiego powodu giną owce. Przecież nie mogły wszystkie powpadać do wąwozów! To sprytne stworzenia, dobrze sobie radzą na zboczach gór! Może trzeba poprosić mieszkańców sąsiedniej wioski o wypożyczenie kolejnych psów, aby żadne pastwisko nie pozostało bez ochrony? A może są jakieś inne rozwiązania? Może pilnowaniem owiec powinni zająć się wszyscy mieszkańcy, młodzi i starzy? Laura była zdania, że każdy pasterz musi mieć psa. Jeśli po łące biegał owczarek, nie było żadnych problemów.

W następnych tygodniach owce coraz częściej znikały z pastwisk. Początkowo wyłącznie z tych, na których pasterzowi nie towarzyszył pies. Potem także z tych, na których pilnowaniem stada zajmował się czworonożny przyjaciel. Czasami jedno ze zwierząt oddalało się od stada i zmierzało do lasu w poszukiwaniu smaczniejszej trawy. Pasterze, którzy wyruszali na ich poszukiwanie, opowiadali straszne historie o jakimś wielkim stworze przemykającym między drzewami. I żadnemu z nich nie udało się odnaleźć zagubionej owieczki… Podobno ten potwór był czarny – niektórzy mówili, że czerwony –i miał błyszczącą skórę. Jeden chłopiec twierdził, że zwierz miał wielkie skrzydła, ale nie wzbijał się w powietrze. Laura nie widziała niczego podobnego, kiedy ginęły jej owieczki. Uznała jednak, że to prawdopodobne: rzeczywiście mógł je pożreć nieznany potwór. Przecież na pewno nie powpadały do wąwozów! Nikt z wioski ich tam nie znalazł.

Na początku wyciek pamięci powoduje dziwne zjawiska, które z czasem przybierają na sile. Powodem wycieku pamięci jest zwykle defekt w kodzie: program rezerwuje pamięć, ale nie zwalnia jej po wykorzystaniu. Jeśli tak się dzieje, następuje przepełnienie pamięci urządzenia, które nie może już normalnie działać i w pewnym momencie zostaje wyłączone. Niektóre języki programowania są bardziej podatne na usterki tego rodzaju.

Opowieści pasterzy były coraz dziwniejsze. W końcu stary Aleksy powiedział głośno to, o czym wielu mieszkańców myślało od dawna: to smok! To smok zjada nasze owce! Nie ma innej możliwości! Ludzie pamiętali również baśnie, w których ze smokami walczyli dzielni rycerze. Może trzeba poszukać w pobliskim Górogrodzie jakiegoś śmiałka, który pomógłby rozwiązać problem? Mieszkańcy postanowili wysłać do miasta wójta wioski, Amandę, żeby poprosiła o pomoc rycerza.

Czerwony smok z opowieści to defekt, który jest przyczyną wycieku pamięci. Wyciek pamięci powoduje awarię w działaniu oprogramowania. Zatem defekt w kodzie powoduje tę awarię. Programista popełnił błąd i dlatego powstała usterka. Może ją usunąć, poprawiając kod, podobnie jak rycerz może pokonać lub zabić smoka w walce. Niektórzy nazywają defekty „pluskwami”.

Następnego dnia wczesnym rankiem Amanda wyruszyła w towarzystwie kilku mężczyzn. Była sędziwą, szanowaną przez wszystkich osobą, która już od dziesięciu lat nosiła zaszczytny tytuł wójta. Kiedy stanęła u wrót zamku w Górogrodzie, od razu zażądała rozmowy z księciem Walterem. Opowiedziała mu o znikających owcach i podejrzeniach, że pojawił się groźny smok. Walter przyznał, że jego rycerze od czasu do czasu musieli walczyć z tymi stworami. Zatem smoki istniały! Były groźne, a czasami przerażające. Książę świetnie rozumiał obawy mieszkańców Owczej Doliny. Obiecał, że wyśle do wioski swojego najdzielniejszego rycerza, zwanego Żółtobrodym, by pomógł jej mieszkańcom.

W naszej historii Laura, Tomek i Cho wiedzieli, jak skorzystać z pomocy łagodnego smoka, żeby przepędzić innego. Okazuje się, że warto pamiętać o łagodnym smoku i się o niego troszczyć. Tym razem zjawia się on niespodziewanie i przegania spod Żelazowej Wsi groźnego napastnika. Podobnie testerzy i programiści mogą opanować technikę posiewu usterek na tyle dobrze, że da się jej wielokrotnie używać bez większych przygotowań. Dzięki temu mogą wykrywać nowe defekty i je usuwać.

Ćwiczenia

Ćwiczenie 4.1. Jaki to defekt?

Który z wymienionych poniżej problemów może być defektem związanym z zabezpieczeniami?

1. System informatyczny instytucji nie może odnaleźć informacji wprowadzonych przez użytkowników.

2. Po uruchomieniu wyszukiwania w internecie każdy może uzyskać dostęp do danych osobowych.

3. Sprawdzasz informacje na swój temat w systemie informatycznym instytucji, ale brakuje połowy danych.

4. W systemie informatycznym funkcjonalność wyszukiwania nie uwzględnia daty.

Ćwiczenie 4.2. Jak to przetestować?

Jesteś użytkownikiem systemu informatycznego. Dzieje się coś dziwnego: widzisz informacje należące do innych osób. Oferujesz administratorom pomoc w rozwiązaniu problemu. W jaki sposób chcesz im pomóc?

Ćwiczenie 4.3. Jaki jest ciąg dalszy historii?

Jesteś Laurą. Po raz pierwszy dostrzegasz czarnego smoka. Sebastian próbuje go przepędzić, ale smok nie ucieka, tylko wypala dziurę w ścianie kolejnego domu, a potem następną w innym budynku.

Co może się dalej wydarzyć w tej historii? Co by to mogło oznaczać w świecie testowania oprogramowania?

Ćwiczenie 4.4. Zagrajmy w coś!

Weź arkusz papieru w kratkę, ołówek i kilka drobnych monet. Zaznacz ołówkiem linie, tworząc siatkę kwadratów, w których zmieszczą się monety. Zaproś do zabawy jeszcze jedną osobę. Wybierzcie jedną monetę, która będzie reprezentować smoka, i drugą, która będzie łucznikiem. Umieśćcie smoka i łucznika w polach rozdzielonych czterema kwadratami. Zaczyna się rozgrywka! Jedno z was jest smokiem, a drugie łucznikiem. Smok porusza się szybciej, przesuwa się o dwa pola. Łucznik przemieszcza się tylko o jedno pole. Wykonujcie ruchy na przemian. Czy łucznik może dogonić smoka? Raczej nie! Rozegrajcie kolejną rundę z dwoma łucznikami. Gracz, który kieruje łucznikami, może dowolnie wybrać kwadraty startowe, pod warunkiem że znajdują się co najmniej pięć pól od smoka. W trakcie swojej kolejki gracz może przesunąć jednego lub dwóch łuczników. Jeśli chcecie, rozegrajcie kolejną partię z trzema łucznikami i następną z czterema. Ilu łuczników potrzeba, żeby udało się dopaść smoka?

Odpowiedzi do ćwiczeń

Ćwiczenie 4.1. Jaki to defekt? – odpowiedzi

1. To nie jest defekt związany z zabezpieczeniami. Ten problem trzeba uznać za defekt funkcjonalności.

2. To defekt związany z zabezpieczeniami. Informacje poufne nie powinny być dostępne w internecie dla wszystkich użytkowników! Jednak tak się stało, mamy zatem problem związany z zabezpieczeniami.

3. To nie jest defekt związany z zabezpieczeniami. To defekt funkcjonalności. Funkcjonalność powinna prezentować wszystkie informacje. Teoretycznie cyberprzestępcy mogli wykorzystać defekt związany z zabezpieczeniami i zniszczyć połowę danych, ale dlaczego w takim razie nie zniszczyli wszystkich?

4. To nie jest defekt związany z zabezpieczeniami. To defekt związany z użytecznością. Wyszukiwanie z użyciem daty jest zwykle wygodniejsze dla użytkownika.

Ćwiczenie 4.2. Jak to przetestować? – przykładowa odpowiedź

Sądząc po objawach, problem wynika z defektu związanego z zabezpieczeniami. Użytkownik powinien widzieć jedynie te informacje, które go dotyczą. Jeśli widzi wrażliwe dane dotyczące innych osób, na przykład numery PESEL albo szczegóły kart kredytowych, na pewno masz do czynienia z defektem związanym z zabezpieczeniami. Kontaktujesz się z administratorem systemu informatycznego i szczegółowo opisujesz wyświetlane informacje. Mówisz mu, kiedy i w której części systemu się pojawiły. Jeśli na przykład dane są prezentowane wszystkim użytkownikom na głównej stronie systemu, doszło do przestępstwa. Jeśli informacje widzisz tylko ty, zamiast swoich danych, problem również dotyczy zabezpieczeń, ale może wynikać z błędu popełnionego przez administratora. Możliwe, że dwa elementy systemu informatycznego zostały niewłaściwie połączone.

Ćwiczenie 4.3. Jaki jest ciąg dalszy historii? – przykładowa odpowiedź Widzisz, że smok nie zwraca uwagi na okrzyki Sebastiana. Wprost przeciwnie, stara się wyrządzić jak najwięcej szkód! Być może rozgniewali go ludzie, którzy próbują mu przeszkodzić. Prosisz Sebastiana, żeby strzelił do smoka, i od razu biegniesz przywołać innych łuczników, bo smok najwyraźniej nic sobie nie robi z jednego strzelca. Po prostu mu ucieka. Być może większa grupa łuczników będzie mogła okrążyć smoka, a potem go zastrzelić albo przepędzić.

W świecie testowania mamy podobną sytuację: cyberprzestępcy, którzy włamują się do systemów informatycznych, czasami w ogóle nie zwracają uwagi na skutki swoich działań. Próby ich ujęcia traktują jako grę. Nie przerywają ataku, gdy zostaną zauważeni, tylko próbują umknąć prześladowcom. Jeśli administratorzy zajmujący się ochroną systemu wykryją ich w jednej części systemu, próbują włamać się do innej. Wyeliminowanie intruza, który wdarł się do systemu informatycznego, wymaga współpracy wszystkich członków zespołu odpowiedzialnego za utrzymanie.

Turn static files into dynamic content formats.

Create a flipbook