Bugzilla

**Bugzilla** on veebipõhine üldotstarbeline veaotsimis- ja testimistööriist, mille töötas välja ja mida kasutas Mozilla. Selle litsents kuulub Mozilla Public License'ile. 

1998. aastal Netscape Communicationsi poolt välja antud avatud lähtekoodiga tarkvara on mitmed organisatsioonid veaotsimissüsteemina kasutusele võtnud nii tasuta ja avatud lähtekoodiga tarkvarade kui omandiõigusega projektide ja toodete jaoks. Bugzillat kasutavad muuhulgas Mozilla Foundation, WebKit, Linux kernel, FreeBSD, GNOME, KDE, Apache, red Hat, Eclipse ja LibreOffice.

## Ajalugu
Algselt mõtles Bugzilla 1998. aastal Mozilla.orgi projekti jaoks välja Terry Weissman, kes kavandas selle avatud lähtekoodiga rakenduseks, mis asendaks tol ajal Netscape Communicationsis kasutusel olnud veaotsimissüsteemi. Bugzilla kirjutati alguses Tclis, aga Weissman otsustas enne väljalaskmist Perlile üle minna, lootuses, et rohkem inimesi suudab sellesse panustada, kuna sel ajal tundus Perl populaarsema programmeerimiskeelena.

Bugzilla 2.0 oli Perlile ülemineku tulemus ja esimene versioon anti  avalikkusele välja läbi anonüümse CVSi. 2000. aasta aprillis andis Weissman Bugzilla projekti üle Tara Hernandezele. Tema juhtimise all olid osad regulaarsed kaastöölised sunnitud rohkem vastutust võtma ja Bugzilla arendus muutus rohkem kogukonna juhituks. 2001. aasta juulis andis Hernandez oma muude Netscape’i töökohustuste tõttu projekti Dave Millerile, kes oli kuni 2013. aastani Bugzilla eesotsas.

Bugzilla 3.0 anti  välja 10. mail 2007 ja see tõi kasutajateni muuhulgas ka värske kasutajaliidese, XML-RPC liidese, kohandatud väljad ja resolutsioonid, mod_perl toe, jagatud salvestatud otsingud ja täiendatud UTF-8 toe.

Bugzilla 4.0 anti  välja 15. veebruaril 2011 ja Bugzilla 5.0 juulis 2015.

## Nõuded
Bugzilla süsteeminõuded:

* ühilduv andmebaasi haldussüsteem;
* sobiv Perl 5 väljalase;
* Perli moodulite valik;
* ühilduv veebiserver;
* sobiv e-posti edastamise agent või mõni SMTP-server.

Praegu toetatud andmebaasi süsteemid on MariaDB, MySQL, PostgreSQL, Oracle ja SQLite. Bugzilla on tavaliselt laetud Linuxile, kasutades Apache HTTP serverit, aga saab kasutada ka veebiservereid, mis toetavad CGI kasutust, näiteks Lighttpd, Hiawatha ja Cherokee. Bugzilla allalaadimise protsess on konsoolireapõhine ja läbib mitmeid etappe, kus kontrollitakse süsteeminõudeid ja tarkvara võimekust.
## Kujundus
Kuigi koodil on potentsiaali, et muuta Bugzilla tehnilise toetuse süsteemiks, ülesannete majandamise tööriistaks või projekti majandamise tööriistaks, keskenduvad Bugzilla arendajad siiski süsteemi jälgimise tarkvarale, mis otsib tarkvarast vigu.

Volitatud projekteerimisnõuded hõlmavad järgmist:

* Võime joosta avalikel tööriistadel, kuigi Bugzilla arenduse töös on olemas andmebaaside, tööriistade ja operatsioonisüsteemide toetus.

* Kiiruse ja efektiivsuse tagamine iga hinna eest. Üks Bugzilla peamisi atraktsioone arendajatele on selle kerge rakendamine ja kiirus, seega kutseid andmebaasi on vähendatud nii palju kui võimalik. Andmete püüdmine on proovitud jätta võimalikult kergeks ja suurte HTML-ide loomist on üritatud vältida.

* Piletid, mida Mozilla.org kasutab selleks, et jälgida funktsiooni taotlusi. Sel korral esemeid (mida kutsutakse kalaks) saab sisestada ükskõik kelle poolt ja need määratakse kindlale arendajale. Erinevad staatuseuuendused iga kala jaoks on lubatud koos kasutaja märkmetega ja veanäidetega.

Tegelikult lubatakse kõigil soovijatel enamikus Bugzilla projektides uusi veateateid lisada. Seejärel määratakse kõik vead väravahoidjale, kelle töö on neile vigadele vastutaja ja prioriteet anda.

## Zarro Boogs
Bugzilla on programmeeritud tagastama stringi „zarro boogs leitud“, kui otsing kaladele ei anna ühtegi tulemust. Kala jälgimissüsteemid nagu Bugzilla omad on alati valmis näitama, kui paljud vead on märkimisväärsed.
 
Väljund „zarro boogs“ on mõeldud iseenesest vigase avaldusena (kirjaviga lauses „zero bugs“, eesti keeles "null viga"), näidates seda, et isegi kui vigu pole leitud, siis tarkvaras neid kindlasti veel on, aga neid pole lihtsalt avastatud. 

## WONTFIX
Bugzillas ja mujal kasutatakse WONTFIX-i silti probleemides, mis tähendab, et seda probleemi ei hakata lahendama kindlatel põhjustel, näiteks seetõttu, et parandamine oleks liiga kallis, keeruline või riskantne.

## Viited