Thiết kế bởi | Terry Weissman |
---|---|
Phát triển bởi | Mozilla Foundation |
Phát hành lần đầu | 26 tháng 8 năm 1998[1] |
Phiên bản ổn định | |
Kho mã nguồn | |
Viết bằng | Perl |
Hệ điều hành | Đa nền tảng |
Ngôn ngữ có sẵn | Đa ngôn ngữ |
Thể loại | Hệ thống theo dõi lỗi |
Giấy phép | Mozilla Public License |
Website | www |
Trạng thái | Đang phát triển |
Bugzilla là một hệ thống giám sát lỗi và công cụ kiểm tra lỗi mục đích chung dựa trên web ban đầu được phát triển và sử dụng bởi dự án Mozilla và được cấp phép theo Mozilla Public License.
Phát hành dưới dạng phần mềm nguồn mở bởi Netscape Communications năm 1998, nó đã được nhiều tổ chức khác nhau sử dụng làm hệ thống theo dõi lỗi cho cả các dự án và sản phẩm tự do nguồn mở cũng như độc quyền. Bugzilla được sử dụng bởi Mozilla Foundation, WebKit, Linux kernel, FreeBSD,[2] GNOME, KDE, Apache, Red Hat, Eclipse và LibreOffice.[3] Nó cũng là tự sử dụng chính mình.[4]
Bugzilla ban đầu được Terry Weissman nghĩ ra vào năm 1998 cho dự án Mozilla.org mới thành lập, như là một ứng dụng nguồn mở để thay thế hệ thống nội bộ đang được sử dụng tại Netscape Communications để theo dõi các khiếm khuyết trong bộ Netscape Communicator. Bugzillaban đầu được viết bằng Tcl, nhưng Weissman đã quyết định chuyển nó sang Perl trước khi phát hành nó, với hy vọng rằng nhiều người sẽ có thể đóng góp cho nó, vì Perl dường như là một ngôn ngữ phổ biến tại thời điểm đó.[5]
Bugzilla 2.0 là kết quả của port này tới Perl, và phiên bản đầu tiên được phát hành ra công chúng thông qua CVS ẩn danh. Tháng 4 năm 2000, Weissman đã bàn giao quyền kiểm soát dự án Bugzilla cho Tara Hernandez. Dưới sự lãnh đạo của bà, một số người đóng góp thường xuyên đã bị ép buộc phải chịu trách nhiệm nhiều hơn và sự phát triển của Bugzilla trở nên hướng đến cộng đồng nhiều hơn. Tháng 7 năm 2001, đối mặt với sự phân tâm từ các trách nhiệm khác của mình tại Netscape, Hernandez trao quyền kiểm soát cho Dave Miller, người vẫn đang chịu trách nhiệm Tính đến năm 2013[cập nhật].[6]
Bugzilla 3.0 phát hành ngày 10 tháng 5 năm 2007 và được làm mới giao diện người dùng, XML-RPC, custom fields and resolutions, mod_perl support, shared saved searches, và cải tiến các hỗ trợ UTF-8, cùng với các thay đổi khác.
Bugzilla 4.0 được phát hành ngày 15 tháng 1 năm 2011 và Bugzilla 5.0 được phát hành tháng 7 năm 2015.
Dòng thời gian của Bugzilla:[7]
Yêu cầu hệ thống của Bugzilla bao gồm:
Hiện tại các hệ sơ sở dữ liệu được hỗ trợ bao gồm MySQL, PostgreSQL, Oracle, và SQLite. Bugzilla thường được cài đặt trên Linux dùng Apache HTTP Server, nhưng bất kỳ web server hỗ trợ CGI như Lighttpd, Hiawatha, Cherokee đều có thể dùng. Quá trình cài đặt của Bugzilla được thực hiện bằng dòng lệnh và chạy qua một loạt các bước trong đó các yêu cầu hệ thống và tương thích phần mềm được kiểm tra.
Mặc dù tiềm năng tồn tại trong mã để biến Bugzilla thành hệ thống tickets hỗ trợ kỹ thuật, công cụ quản lý tác vụ hoặc công cụ quản lý dự án, các nhà phát triển của Bugzilla đã chọn tập trung vào nhiệm vụ thiết kế hệ thống để theo dõi lỗi phần mềm. Yêu cầu thiết kế bắt buộc bao gồm:[8]
Trong thực tế, hầu hết các dự án Bugzilla đều cho phép công chúng gửi các lỗi bug, chẳng hạn như cơ sở dữ liệu lỗi Bugzilla cho chính Bugzilla, gán tất cả các lỗi cho một gatekeeper, có nhiệm vụ là phân công trách nhiệm và mức độ ưu tiên.
Theo thiết kế, Bugzilla được lập trình để trả về chuỗi "zarro boogs found" thay vì "0 bugs found" khi không tìm thấy lỗi.[9] "Zarro Boogs" là một tuyên bố tổng hợp về bản chất của gỡ lỗi phần mềm. Các hệ thống theo dõi lỗi như Bugzilla dễ dàng mô tả có bao nhiêu lỗi đã biết là nổi bật. Phản hồi "zarro boogs",[10] được dự định là một tuyên bố lỗi (một lỗi chính tả của "zero bugs"), ngụ ý rằng ngay cả khi không có lỗi nào được tìm thấy, phần mềm vẫn có khả năng chứa các lỗi chưa được xác định.
Nhận xét sau đây được cung cấp trong mã nguồn Bugzilla cho các nhà phát triển có thể bị nhầm lẫn bởi hành vi này:
WONTFIX được sử dụng làm nhãn cho các vấn đề trong Bugzilla và các hệ thống khác.[12] Nó chỉ ra rằng một vấn đề đã được xác minh sẽ không được giải quyết vì những lý do có thể bao gồm như sửa chữa sẽ quá tốn kém, phức tạp hoặc rủi ro.[13][14]
Bugzilla supports finer granularity for categories and keywords and over time we will adopt more of these, making it easier to filter bugs into specific target areas. It is now easy for multiple people to track a single bug, without having to have them assigned to custom mailing lists, add attachments to bugs, and so on. Many features that people expect from a modern bug tracker are simply not present in GNATS.