Brak testów w projekcie

Tworzone oprogramowanie, tak jak każdy inny produkt, powinno podlegać testom jakości. Pozwalają one autorom znaleźć ewentualne błędy i je skorygować, a klientom dają gwarancję niezawodności narzędzi, za które płacą. Niestety proces testowania jest czasochłonny i wymaga dodatkowych nakładów pracy, więc w wielu firmach redukowany jest do absolutnego minimum, a niekiedy w ogóle nie jest wprowadzony. Często zakłada się, że zatrudniając osoby o odpowiednich kwalifikacjach, otrzyma się wysokiej jakości, poprawnie działające rozwiązanie.

Poniżej opiszę bardzo ciekawą sytuację, która pokazuje oczywistą prawdę, że nawet jeżeli dwóch programistów dobrze wykona swoją pracę, to integracja ich rozwiązań bez testów końcowego rozwiązania może skończyć się źle działającą aplikacją.

1 plus 1 nie zawsze daje 2

Zaczynając od końca: późnym popołudniem dzwoni szef z pytaniem czy pamiętam moduł, który pisałem pół roku wcześniej, bo u jednego klienta nie chce działać, a w zasadzie to nie widzi go w systemie. Ponieważ była to całkiem spora, chociaż nie najważniejsza funkcjonalność, to nieco pamiętałem, ale minęło za dużo czasu abym kojarzył wszystkie szczegóły.

Zacząłem sprawdzać i rzeczywiście w produkcyjnej wersji systemu nie było nic z mojego modułu. Nie został żaden ślad ani w interfejsie, ani w kodzie. Natomiast migracje w bazie danych były wykonane. Kolejnym krokiem było przejrzenie historii gita i tutaj pojawił się błąd, ponieważ krótko po moich zmianach, pracę nad swoim zadaniem zakończył bardziej doświadczony kolega z zespołu, a kody, które stworzyliśmy w swoich gałęziach tworzyły konflikt. Osoba odpowiedzialna za mergowanie gałęzi do deva i potem na produkcję wyrzuciła mój kod uznając widocznie, że zmiany bardziej doświadczonej osoby są ważniejsze.

Pół roku bez funkcjonalności

Wydaje się, że taki przypadek może pojawić się w niemal każdym zespole, w którym kilka osób tworzy równolegle różne moduły i nie byłby to duży problem, gdyby ten błąd został szybko wykryty. Jednak w tej firmie testy wykonywane były raz na jakiś czas przez kilka osób, które poświęcały weekend, aby ręcznie przeklikać projekt według założonych scenariuszy pracy użytkowników. Niekrytyczny moduł nie był zapewne analizowany i to, że nie było go w systemie przez pół roku zauważył dopiero jeden z klientów.

Similar Posts

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.