Wyobraź sobie, że stos przepełnienia stosował się do wytycznych: zamiast zadawać jedno pytanie, przychodzisz i zadajesz, w tym samym pytaniu, cokolwiek przyjdzie ci do głowy, wszystkie problemy, które miałeś przez ostatnie dwa tygodnie. Co znaczyłyby głosowanie w górę i w dół? Jakie byłyby tytuły pytań? Jak zaakceptować najlepszą odpowiedź? Jak oznaczyć pytanie?
System śledzenia błędów służy do ... śledzenia błędów. Śledzenie błędu oznacza:
Utworzenie rekordu informującego o istnieniu błędu zawierającego informacje o sposobie jego odtworzenia,
Potwierdzając, że rzeczywiście, błąd istnieje i jest błędem, a nie czymś z założenia,
Zapewniając, że błąd został już rozwiązany,
Potwierdzenie, że błąd został rozwiązany.
W bardzo uproszczonym modelu 1 i 4 zostaną wykonane przez klienta, a 2 i 3 przez dewelopera.
Wyobraź sobie następujący dziennik:
Dzień 1 [Klient] Po naciśnięciu przycisku „Usuń” w oknie „Szczegóły produktu” aplikacja zawiesza się. Ponowne uruchomienie aplikacji pokazuje, że produkt nie został usunięty. Oczekiwanym zachowaniem jest usunięcie produktu.
Dzień 4 [Deweloper] <Wydano problem>
Dzień 5 [Deweloper] <Problem rozwiązany w wersji 5031>
Dzień 12 [Klient] <Bilet zamknięty: problem rozwiązany>
Dziennik jest prosty i przejrzysty . Możesz łatwo śledzić, co zostało zrobione i kiedy , która wersja rozwiązała dany błąd itp. Na przykład, jeśli system śledzenia błędów jest zintegrowany z kontrolą wersji, podczas przeglądania konkretnej wersji możesz sprawdzić, jakie błędy zostały w niej rozwiązane.
Łatwo jest znaleźć informacje . Łatwo jest zobaczyć jego stan (czy jest reprodukowany? Jeśli bilet został zamknięty, dlaczego?). Łatwo jest filtrować bilety (chcę wyświetlać bilety, które dotyczą tylko interfejsu użytkownika wtyczek, biorąc pod uwagę, że chcę tylko bilety, które są otwarte, starsze niż tydzień i przypisane mi przez naszego projektanta interakcji i mają średni lub wysoki priorytet).
Łatwo jest ponownie przypisać bilet lub pierwotnie ustalić, która osoba powinna być odpowiedzialna za błąd.
Teraz wyobraź sobie następujący dziennik:
Dzień 1 [Klient] Aplikacja zawiesza się po naciśnięciu przycisku „Usuń” w oknie „Szczegóły produktu”. Ponadto kolor tła lewego panelu jest ciemnoniebieski, podczas gdy powinien być fioletowy. Zauważyłem również, że tekst okna „Szczegóły produktu” nie jest dobrze przetłumaczony na niemiecki; czy jest oczekiwany? Kiedy będzie dostępne ostateczne tłumaczenie? BTW, czy otrzymałeś nową ikonę, którą wysłałem do akcji „Publikuj produkt”? Nie widzę tego w oknie „Synchronizuj dane”.
Dzień 6 [Developer] Zmieniłem kolor na fioletowy.
Dzień 7 [Developer] Tak, to normalne, że tłumaczenie na niemiecki jest niekompletne.
Dzień 8 [Klient] Ok dla niemieckiego. Co z włoskim? Lucia przesłała ci plik XML dwa dni temu.
Dzień 9 [Deweloper] Teraz jest w porządku.
Dzień 10 [Klient] Ok, dla przycisku „Usuń”? Dziwne, na moim komputerze nadal się zawiesza.
Dzień 11 [Deweloper] Nie, chciałem powiedzieć, że jest w porządku dla tłumaczenia na włoski.
Dzień 12 [Klient] Rozumiem. Dziękuję Ci. Ale jest problem z kolorem. Zmieniłeś go na ciemnofioletowy, ale powinien on być jasnofioletowy, podobnie jak górny panel w głównym oknie.
Dzień 13 [Deweloper] Zaktualizowałem ikonę.
Dzień 14 [klient] Ikona? Jaka ikona
Dzień 15 [Deweloper] Ikona, którą poprosiłeś mnie o aktualizację.
Dzień 16 [Klient] Nigdy nie prosiłem cię o aktualizację żadnej ikony.
Dzień 17 [Developer] Oczywiście, że pytałeś. Zobacz ten bilet. Napisałeś, że ikona publikowania produktu powinna zostać zaktualizowana. Zrobiłem to.
⁞
Dzień 100 [Klient] A co z wpisami do dziennika?
Dzień 101 [Deweloper] Nie mam pojęcia o czym mówisz. Nie ma go nawet w tym bilecie, ale w 6199. Zamykam ten jako rozwiązany. <Bilet zamknięty: problem rozwiązany>
Dzień 102 [Klient] Przykro mi, że ponownie go otworzyłem, ale problem nie został rozwiązany. Mówię o wpisach w dzienniku: W zeszłym tygodniu powiedziałem, że tekst jest czasem nieprawidłowy, gdy zawiera znaki Unicode. Pamiętasz? <Bilet ponownie otwarty>
Dzień 103 [Deweloper] Niejasno pamiętam coś takiego, ale po przeszukaniu trzech ostatnich stron tego biletu nie mogę znaleźć żadnego śladu. Czy możesz napisać jeszcze raz, na czym polegał problem?
⁞
Dzień 460 [Developer] Spędziłem dwie godziny, szukając śladu tego, co powiedziałeś o plikach wysłanych zaszyfrowanych przez sieć. Nie jestem pewien, czy mogę znaleźć dokładną prośbę.
Dzień 460 [Klient] Powinniście być bardziej zorganizowani. W ciągu ostatnich dwóch tygodni powiadomiłem Cię cztery razy o tym problemie. Dlaczego wszystko zapominacie?
⁞
O czym jest ten dziennik? Został rozwiązany 43 razy i ponownie otwarty 43 razy. Czy to oznacza, że deweloper jest tak głupi, że nie może rozwiązać tego samego problemu przez 460 dni? Ach, nie, czekaj, ten bilet został w międzyczasie przydzielony 11 programistom. O co chodzi? Jak wyszukać konkretny problem? W rzeczywistości jest przypisany do Vanessy, ale jej pięciu kolegom również niepokoi siedem z jedenastu problemów zawartych w tym bilecie. Kiedy bilet powinien być zamknięty? Czy to wtedy, gdy połowa problemów zostanie rozwiązana? A może dziesięć na jedenaście?
Uwaga: możesz wierzyć, że takie dzienniki nie istnieją. Uwierz mi, widziałem te więcej niż jeden raz.