O defektach słów kilka…

…set, a można i kilka tysięcy, bo defekty są sednem pracy testera.

Ale czym w ogóle jest defekt?

Oczywiście istnieje jasna definicja, którą na przykład możecie znaleźć w słowniku SJSI, albo – nieco szerzej – na stronie testerzy.pl.

Ja, jako polonistka, zacznę od definicji – a jakże – ze słownika. Będzie to słownik języka polskiego PWN. Zgodnie z nim defekt to inaczej uszkodzenie lub wada. Bardzo mi odpowiada taki dobór synonimów, ponieważ właśnie ich połączenie oddaje moim zdaniem clou zagadnienia.

Jeśli mamy do czynienia z uszkodzeniem, dana rzecz może nie działać lub działać nieprawidłowo, choć pierwotnie działała właściwie (w teorii lub praktyce). Pojawia się więc jakaś wada. Może być ona wynikiem uszkodzenia, ale może też istnieć od początku, być pierwotna. Coś może też nie działać zgodnie z oczekiwaniami tylko w określonych warunkach, w innych zaś funkcjonować zgodnie z oczekiwaniami.

W ramach błyskotliwego przykładu – moją wadą (pierwotną) jest, że kiedy jestem głodna (określone warunki), nie działam prawidłowo. Głodna ja to zła ja. A objawia się to tak, że trudniej mi się skupić, myślę na skróty, łatwo się denerwuję. Nie tylko nie powinnam wtedy chodzić na zakupy, ale nie powinnam w ogóle podejmować żadnych decyzji (nawet takich, jak kolor skarpetek). Innymi słowy, jak zaczynam gwiazdorzyć, trzeba mi dać – nie, nie snickersa – porządną kanapkę. Znam ludzi, którym w ogóle takie delikatne ssanie w żołądku nie przeszkadza, ale z tego, co wiem, defekt ten dość często się powiela wśród pozostałych egzemplarzy homo sapiens i póki co Matka Natura go nie naprawiła.

Z wad wtórnych posiadam – podobnie jak spora grupa z naszego gatunku – kilka naprawionych defektów dentystycznych.

Cóż, myślę, że słowo defekt jest dość intuicyjne, więc w sumie i tak dość już się rozpisałam. Spójrzmy więc, jak to się ma do oprogramowania? Co dokładnie w informatyce oznacza termin defekt?

Otóż: słowo defekt oznacza wszystko, co wiąże się z błędami w oprogramowaniu. Jest to spory worek na: bugi, błędy, usterki, wady, usterki, awarie i zgłoszenia tychże. Gdyby trzymać się kurczowo podręcznikowej terminologii, developerzy popełnialiby błędy, testerzy znajdowaliby defekty lub awarie z nich wynikające. Tymczasem w języku codziennym jest to zupełny miszmasz i można usłyszeć, że:

– Wysłałem ci defekt, możesz do niego zerknąć. [Wysłałem ci link do raportu defektu.]

– No spoko, a to ten bug Michała? [To ten defekt, który wystawił Michał (jeśli Michał jest zgłaszającym)/który Michał ma naprawić (jeśli jest deweloperem).]

– Tak, deweloperzy nad nim siedzą i im się nie reprodukuje. [Czyli go debugują i nie mogą go powtórzyć.]

– A jasne. Spoko, niech to odbiją na mnie. [Niech przypiszą zgłoszenie do mnie.]

Taki slang można ciągnąć długo. Gdyby rozumieć go dosłownie* – nie miałoby to za wiele sensu.

Żeby było ciekawiej, defekt posiada kilka synonimów, które – niby znaczą to samo, ale tak nie do końca. W języku codziennym są więc stosowane zamiennie.

Mamy więc buga. To słowo najbardziej zbliżone do defektu, również dość szeroko rozumiane jako błąd twórcy, wynik tego błędu czy raport niewłaściwego zachowania/wyniku. Jako ciekawostkę mogę powiedzieć, że spotkałam się kiedyś z sytuacją, w której powiedziano mi, że w firmie nikt nie mówi o defektach, tylko o bugach. Ponoć moje słownictwo było zbyt wyrafinowane (XD).

Można też spotkać słowo issue. Ono również może zastąpić wyraz defekt, ale często jest używane w znaczeniu: potencjalny błąd. Widzimy coś nietypowego, ale nie mamy pewności, czy to na pewno usterka. Słowa te są często stosowane wymiennie i rozumiane intuicyjnei. Raczej każdy dev i QA zrozumie zdanie: Mamy takie issue i musimy wystawić defekt (czyli issue to niewłaściwe zachowanie, a defekt to określenie raportu).

A co można z tymi defektami robić? Oczywiście znajdujemy je, choć najczęściej wcale ich nie szukamy. Raportujemy, czyli zgłaszamy, często reprodukujemy (odtwarzamy, ponawiamy). Możemy je też reopenować – to zgłoszenia – jeśli błąd naprawiono i zgłoszenie zamknięto, ale błąd znów się pojawił. Zafiksowany defekt, to nie jest błąd zakręcony na punkcie czegoś, tylko naprawiony. A taki się weryfikuje lub po prostu sprawdza. Można też odbijać defekty do kogoś i wtedy robi się defektowy ping-pong. Testerzy do devów, devowie do analityków, analitycy do innych devów, ci do testerów (tych samych), ci do analityków… istna kołomyja.

Ale moje ulubione słówko związane z defektami to inwestygacja. Czy sprawdzenie, o co kaman. Bo może nie defekt, tylko problem środowiskowy? Albo inna przyczyna.

Jesteśmy w trakcie inwestygacji znalezionego issue. No czyż to nie brzmi tajemniczo i wysoce specjalistycznie?

* Przykładowe rozumienie bezsensowne:

– Wysłałem ci usterkę, możesz do niej zerknąć.

– No spoko, a to ta wada Michała?

– Tak, deweloperzy nad nią siedzą i im się nie rozmnaża.

– A jasne. Spoko, niech to odbiją na mnie.

Twój adres e-mail nie zostanie opublikowany.