bugzilla - wybrane narzedzie zarzadzania bledami · zarządzanie błędami bugzilla praktyka...
TRANSCRIPT
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
Bugzilla - wybrane narzędzie zarządzania błędami
Kamil Anikiej,Piotr Dittwald,Karol Kurach,
Krzysztof Pawłowski
Uniwersytet Warszawski
29 IV 2008
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
System zarządzania błędamiPrzykłady narzędzi
System zarządzania błędami
ang. Bug-tracking system
aplikacja przeznaczona do zapewnienia jakości wytwarzanegooprogramowania poprzez utrzymywanie porządku wzgłaszanych błędach i zadaniach
przeważnie zintegrowana z innymi narzędziami do zarządzaniajakością
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
System zarządzania błędamiPrzykłady narzędzi
System zarządzania błędami - c.d.
opiera się na bazie danych, przechowującej informacje obłędach (np. czas zgłoszenia, sugestie dotyczące naprawybłędów, informacje identyfikujące autora zgłoszenia)typowo:wspiera tzw. cykl życia błędu (proces podczas któregozgłoszony błąd posiada jeden ze zdefiniowanych statusówpozwalających określić etap przetwarzania błędu)pozwala administratorom nadzorować dozwolone zmianystatusów pomiedzy stanami
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
System zarządzania błędamiPrzykłady narzędzi
System zarządzania błędami - użycie
1 generowanie raportów odnośnie skuteczności programistówprzy rozwiązywaniu problemów (oczywiście raporty tewymagają należytej interpretacji - różne błędy mają różnystopień złożoności)
2 Local bug trackers (LBT’s)programy komputerowe używane do komunikacji pomiędzypracownikami działu pomocy bezpośredniej (help desk) aprogramistamipozwalają na komunikację w języku wygodnym dla każdej zestron
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
System zarządzania błędamiPrzykłady narzędzi
Przykłady narzędzi do zarządzania błędami
1 IBM Rational ClearQuestm.in. Linux, SUN Solaris, Windowsinterfejs WWWintegracja IDE takimi, jak np. z Eclipse i Microsoft .NET.rozbudowana, elastyczna obsługa przepływu pracy(dostarczany z predefiniowanymi przepływamiodzwierciedlającymi podstawowe procesy zmian w organizacji)łatwa konfiguracja
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
System zarządzania błędamiPrzykłady narzędzi
Przykłady narzędzi do zarządzania błędami - c.d.
1 JIRAstworzona na bazie J2EEzarządzanie błędami, zadaniami i projektamirozszerzalność i integracja z innymi systemami (email, RSS,Excel, XML ...)działa na wielu (cyt. almost any) systemach operacyjnychużywana przez ponad 7.700 organizacji z 90 krajów
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Wprowadzenie
oprogramowanie stworzone iużywane przez Fundację Mozilla
open source software
używana zarówno przy projektachkomercyjnych jak iniekomercyjnych
porównuje się do niej inne systemyzarządzania błędami (jest więc wpewnym sensie standardem)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Krótka historia
1998r. - Bugzilla, napisana przez Terry’egoWeissmana (w języku skryptowym TCL) dlapowstającego projektu Mozilla.org
Bugzilla 2.0 - rezultat przepisania na język Perl,wersja udostępniona użytkownikom przezanonimowe CVS
pod zwierzchnictwiem Tary Hernandez(od IV 2000r.) rozwój Bugzilli przybrał bardziejspołecznościowy charakter - większąodpowiedzialność za projekt wzięli na siebiezwykli użytkownicy
od 2001r. projekt nadzoruje Dave Miller
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Główne cechy
duża stabilność
zintegrowany schemat bezpieczeństwa
zależności między błędami; grafy błędów
zaawansowane funkcje związane z raportowaniem błędów
szybki, stabilny system RDBMS
rozbudowana konfiguracja
API do e-maili, XMLa, konsoli i HTTP
możliwa integracja z automatycznymi aplikacjami konfiguracjizarządzania, takimi jak Perforce czy CVS (interfejs e-mailBugzilli oraz skrypty zapisu/odczytu)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Główne cechy
duża stabilność
zintegrowany schemat bezpieczeństwa
zależności między błędami; grafy błędów
zaawansowane funkcje związane z raportowaniem błędów
szybki, stabilny system RDBMS
rozbudowana konfiguracja
API do e-maili, XMLa, konsoli i HTTP
możliwa integracja z automatycznymi aplikacjami konfiguracjizarządzania, takimi jak Perforce czy CVS (interfejs e-mailBugzilli oraz skrypty zapisu/odczytu)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Główne cechy
duża stabilność
zintegrowany schemat bezpieczeństwa
zależności między błędami; grafy błędów
zaawansowane funkcje związane z raportowaniem błędów
szybki, stabilny system RDBMS
rozbudowana konfiguracja
API do e-maili, XMLa, konsoli i HTTP
możliwa integracja z automatycznymi aplikacjami konfiguracjizarządzania, takimi jak Perforce czy CVS (interfejs e-mailBugzilli oraz skrypty zapisu/odczytu)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Główne cechy
duża stabilność
zintegrowany schemat bezpieczeństwa
zależności między błędami; grafy błędów
zaawansowane funkcje związane z raportowaniem błędów
szybki, stabilny system RDBMS
rozbudowana konfiguracja
API do e-maili, XMLa, konsoli i HTTP
możliwa integracja z automatycznymi aplikacjami konfiguracjizarządzania, takimi jak Perforce czy CVS (interfejs e-mailBugzilli oraz skrypty zapisu/odczytu)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Główne cechy
duża stabilność
zintegrowany schemat bezpieczeństwa
zależności między błędami; grafy błędów
zaawansowane funkcje związane z raportowaniem błędów
szybki, stabilny system RDBMS
rozbudowana konfiguracja
API do e-maili, XMLa, konsoli i HTTP
możliwa integracja z automatycznymi aplikacjami konfiguracjizarządzania, takimi jak Perforce czy CVS (interfejs e-mailBugzilli oraz skrypty zapisu/odczytu)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Główne cechy
duża stabilność
zintegrowany schemat bezpieczeństwa
zależności między błędami; grafy błędów
zaawansowane funkcje związane z raportowaniem błędów
szybki, stabilny system RDBMS
rozbudowana konfiguracja
API do e-maili, XMLa, konsoli i HTTP
możliwa integracja z automatycznymi aplikacjami konfiguracjizarządzania, takimi jak Perforce czy CVS (interfejs e-mailBugzilli oraz skrypty zapisu/odczytu)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Główne cechy
duża stabilność
zintegrowany schemat bezpieczeństwa
zależności między błędami; grafy błędów
zaawansowane funkcje związane z raportowaniem błędów
szybki, stabilny system RDBMS
rozbudowana konfiguracja
API do e-maili, XMLa, konsoli i HTTP
możliwa integracja z automatycznymi aplikacjami konfiguracjizarządzania, takimi jak Perforce czy CVS (interfejs e-mailBugzilli oraz skrypty zapisu/odczytu)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Główne cechy
duża stabilność
zintegrowany schemat bezpieczeństwa
zależności między błędami; grafy błędów
zaawansowane funkcje związane z raportowaniem błędów
szybki, stabilny system RDBMS
rozbudowana konfiguracja
API do e-maili, XMLa, konsoli i HTTP
możliwa integracja z automatycznymi aplikacjami konfiguracjizarządzania, takimi jak Perforce czy CVS (interfejs e-mailBugzilli oraz skrypty zapisu/odczytu)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Cykl życia błędu
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Cykl życia błędu - statusy
UNCONFIRMED - błąd został zgłoszony, ale nie zweryfikowanojego istnienia
NEW - błąd został dodany do bazy danych i potwierdzono jegoistnienie
ASSIGNED - błąd nie został jeszcze rozwiązany, ale przypisanogo do właściwej osoby
REOPENED - błąd został kiedyś rozwiązany, ale okazało się, iżto rozwiązanie nie było prawidłowe
RESOLVED - rozwiązanie zostało znalezione i oczekuje naakceptację odpowiedzialnej za to osoby; błąd może zostać tuotworzony na nowo (REOPENED) lub zweryfikowany(VERIFIED)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Cykl życia błędu - rozwiazania
Statusy resolved i verified mają następujące rozwiązania:
FIXED - rozwiązanie jest sprawdzane i testowane
INVALID - opisany problem nie jest błędem
WONTFIXED - opisany problem jest błędem, ale nie zostanienigdy rozwiązany
DUPLICATE - zgłoszony błąd jest duplikatem już istniejącego
WORKSFORME - wszelkie próby odtworzenia błędu nie powiodłysię i nie są znane przyczyny wystąpienia danego błędu; gdypojawią się dalsze informacje, błąd zostanie otwarty ponownie(REOPENED)
MOVED - dany błąd jest charakterystyczny dla innego produktui został przeniesiony do bazy danych błędów dotyczących tegoproduktu
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Wybrane projekty używające Bugzilli
Projekty Programistyczne1 Mozilla2 Linux Kernel3 Gnome4 KDE5 Apache Project6 Open Office7 Eclipse
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
WprowadzenieHistoriaCechyCykl życia błędu
Wybrane projekty używające Bugzilli - c.d.
Dystrybucje Linuksa1 Red Hat2 Mandriva3 Gentoo4 Novell
Organizacje1 NASA2 Id Software
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
Strona błędu
Product and Component – określenie jakiego produktu ikomponentu (elementu produktu) dotyczy błądStatus and Resolution – definiuje aktualny status błędu,począwszy od niepotwierdzonego błędu, poprzez błąd wtrakcie rozwiązywania aż do potwierdzonego rozwiązania błęduAssigned To – osoba odpowiedzialna za poprawienie błęduURL – url związany z błędem, element opcjonalnySummary – jednozdaniowy opis problemuStatus Whiteboard – krótka notatka dotycząca błęduKeywords – administrator może zdefiniować słowa kluczowe,które można użyć do etykietowania i kategoryzowania błędów,np. krytyczny błąd, itp.Platform and OS – środowisko, w którym błąd został wykryty
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
Strona błędu
Version – wersja produktu lub/i komponentu, do którychodnosi się błąd
Priority – używane do priorytetowania błędów
Severity – określenia jak poważny jest błąd, oduniemożliwiającego poprawną pracę aplikacji do trywialnego
Target – numer przyszłej wersji produktu, która będziepozbawiona rozpatrywanego błędu
Reporter – osoba opisująca/zgłaszająca błądulegnie zmianie
Time Tracking – śledzenie, szacowanie czasu naprawy błędu
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
Strona błędu
Attachments – pliki dołączone, powiązane z błędem (np.przypadki testowe, łatki, inne pliki)
Dependiences – określone jeżeli błąd nie może być naprawionydopóki inne błędy nie zostaną naprawione (depends on), lubrozpatrywany błąd blokuje naprawę innych błędów (blocks),wyliczone są numery błędów
Votes – „głosy” oddane na rozpatrywany błąd przezużytkowników, mogą mówić o ważności naprawy błędu
Addiotial Comments – każdy użytkownik może dodać swojezdanie do dyskusji na temat błędu
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
O czym warto pamiętać
1 Zanim zgłosimy błąd sprawdzamy, czy ktoś przed nami niezgłaszał już tego błędu (np. poprzez “Query Existing bugreports”),
2 Przed zgłoszeniem błędu warto przeczytać stosowne wytycznenapisane przez opiekunów danej Bugzilli, (przykładowyodsyłacz (“Before reporting bugs, please ensure that you readthe Gentoo Bug Reporting Guide.”),
3 Aby ułatwić pracę innym warto możliwie dokładniezlokalizować błąd (programy strace, ggdb itp.),
4 Czasem wymagane jest, aby zamieścić dodatkowe informacje(np. w Gentoo zawsze trzeba umieszczać wynik polecenia“emerge –info“)
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
Zadanie 0
Natrafiliśmy na następujący błąd:1 Korzystamy z dystrybucji Gentoo.2 Zainstalowaliśmy nowe jądro 2.6.25-r1.3 Podczas reinstalacji sterowników karty graficznej ATInatrafiliśmy na błąd kompilacji.
Sprawdźmy na stronie bugs.gentoo.org, czy ktoś przed nami niezgłaszał już tego błędu.
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
Zadanie 1
Do wykonania poniższych zadań potrzebne są konta założone nadanych stronach. Jeżeli nie posiadamy tam konta, można użyćkonta:login: – login –pass: – hasło –
1 Zadanie - Chcemy do Thunderbirda dodać nowąfunkcjonalność.https://bugzilla.mozilla.org/
2 “It would be useful if a user could define a date variable.Mails older than this variable wouldn’t be downloaded”
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami
Zarządzanie błędamiBugzillaPraktyka
Podsumowanie
Podsumowanie
W prezentacji wykorzystano:WikipedięArchiwalne materiały z ZPPStrony producentówwww.bugzilla.org (w tym zdjęcia)Stronęhttp://www.gentoo.org/doc/pl/bugzilla-howto.xmlStronę http://istyar.net/el/wprow_bugzilla/html/wprow_bugzilla-5-1.htmlDokument http://aragorn.pb.bialystok.pl/~tomluk/docs/io2/bugzilla_tutorial.pdf
Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami