Bugzilla - wybrane narzedzie zarzadzania bledami · Zarządzanie błędami Bugzilla Praktyka...

29
Zarządzanie blędami Bugzilla Praktyka Podsumowanie Bugzilla - wybrane narzędzie zarządzania blędami Kamil Anikiej, Piotr Dittwald, Karol Kurach, Krzysztof Pawlowski Uniwersytet Warszawski 29 IV 2008 Grupa 7 Bugzilla - wybrane narzędzie zarządzania blędami

Transcript of Bugzilla - wybrane narzedzie zarzadzania bledami · Zarządzanie błędami Bugzilla Praktyka...

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

Zarządzanie błędamiBugzillaPraktyka

Podsumowanie

Podsumowanie

Dziekujemy za uwage.

Grupa 7 Bugzilla - wybrane narzędzie zarządzania błędami