Bugzilla là hệ thống phần mềm theo dõi lỗi mã nguồn mở cho phép cá nhân hoặc nhóm các nhà phát triển theo dõi các lỗi xác suất xảy ra trong dự án của họ một cách hiệu quả. Trong đó, đội ngũ kiểm tra chất lượng phần mềm (QC – Quality Control) quản lý hệ thống này. QC có trách nhiệm tạo ra vấn đề và gán quyền cho những thành viên khác trong dự án. Nếu có bất kì yêu cầu hay đề nghị gì cho hệ thống, các thành viên phải gửi Email cho Helpdesk với tiêu đề “Bugzilla” để giải quyết. Hình 2 mô tả các thông tin đầu vào (input), quá trình (process) và thông tin đầu ra (output) của hệ thống Bugzilla. Trong đó, thông tin đầu vào là các thông tin lỗi và thông tin đầu ra là trạng thái của lỗi (đã sửa hay chưa).
Trang 1M C L C ỤC LỤC ỤC LỤC
LỜI MỞ ĐẦU 4
CHƯƠNG I: TỔNG QUAN VỀ BUGZILLA 5
1.1 Lịch sử phát triển 5
1.2 Một số phiên bản nổi bật 5
1.2.1 Bugzilla 3.0 5
1.2.2 Bugzilla 3.4 6
1.2.3 Bugzilla 4.0 6
1.2.4 Bugzilla 4.2 6
1.2.5 Lịch sử phát triển của Bugzilla qua từng giai đoạn: 7
1.3 Bugzilla 7
1.3.1 Khái niệm 7
1.3.2 Qui trình hoạt động của hệ thống 8
1.3.3 Chức năng 9
1.3.4 Các thành phần của Bugzilla 9
1.3.5 Vòng đời của một Bug: 10
1.3.6 Các trạng thái của bug 11
1.3.7 Ưu điểm 12
1.3.8 Nhược điểm: 13
CHƯƠNG II: MỘT SỐ PHẦN MỀM QUẢN TRỊ DỰ ÁN (QUẢN LÝ LỖI) KHÁC 14
2.1 Mantis 14
2.2 BugNet 15
2.3 Bug Genie 16
2.4 Jira 16
2.5 So sánh Bugzilla và Jira 17
CHƯƠNG III: CÀI ĐẶT 19
Trang 23.1.2 My SQL 19
3.1.3 Apache 20
3.1.4 Sendmail 20
3.2 Cài đặt Bugzilla trên Windows 20
CHƯƠNG IV: DEMO 26
1.1 Login tài khoản và tạo user mới 26
1.2 Thiết lập dự án mới 31
1.3 Tạo Bug mới cho dự án 33
1.4 Search Bug 35
1.5 Cập nhật thông tin cho Bug 38
KẾT LUẬN 39
TÀI LIỆU THAM KHẢO 40
Trang 3BẢNG PHÂN CÔNG CÔNG VIỆC
1 1121050056 Nguyễn Thị Khánh Linh
Chương II: So sánhBugzilla và JiraChương III và IV
Trang 4LỜI MỞ ĐẦU
Quản lý dự án, kiểm soát và theo dõi lỗi là những vấn đề luôn phát sinhtrong một tổ chức, một doanh nghiệp Theo dõi và quản lý vấn đề và lỗi phátsinh trong quá trình của một dự án là một công việc rất quan trọng, nhưng rất
ít các dự án được quản lý một cách hiệu quả Bugzilla là một phần mềm mãnguồn mở để theo dõi và quản lý lỗi, nhờ đó mà các vấn đề trong phát triển
dự án trở nên dễ dàng hơn với mọi tổ chức
Trong phạm vi đề tài: “Tìm hiểu Phần mềm quản trị dự án Bugzilla web.
Đề mô”, chúng em sẽ giới thiệu đến thầy, cô và các bạn những nội dung
chính về Bugzilla như sau:
CHƯƠNG I: Tổng quan về Bugzilla
CHƯƠNG II: Một số phần mềm quản lý lỗi khác
CHƯƠNG III: Cài đặt Bugzilla trên Windows
CHƯƠNG IV: Cách sử dụng, Demo
Trang 5CHƯƠNG I: TỔNG QUAN VỀ BUGZILLA
1.1 Lịch sử phát triển
Bugzilla là một hệ thống quản lý bug miễn phí và rất thông dụng hiện nay.Cha đẻ của nó là Terry Weissman Được khai sinh lần đầu tiên vào năm 1998cho một dự án của Mozilla Nó được tạo ra nhằm giám sát lỗi cho bộ phầnmềm Netscape Comminicator Nó vốn được viết bằng ngôn ngữ Tcl, nhưngsau đó được Terry chuyển sang Perl với hi vọng nó sẽ được mọi người đónggóp phát triển nhiều hơn nữa và Bugzilla 2.0 ra đời là kết quả của sự thay đổi
đó Kể từ đó một số lượng lớn các dự án, cả thương mại và tự do đã chuyểnsang dùng Bugzilla làm phương pháp chính của họ để theo dõi các lỗi phầnmềm Đến tháng 4 năm 2000, Weissman trao quyền phát triển Bugzilla choTara Hernandez, dưới sự lãnh đạo của Tara, một vài người trong số nhữngngười đóng góp thường xuyên bị thúc ép phải chịu trách nhiệm nhiều hơn, vàBugzilla đã bắt đầu thực sự trở thành một nỗ lực của cả nhóm Vào tháng07/2011 Tara đã chuyển quyền kiểm soát cho Dave Miller, và Dave là ngườichịu trách nhiệm cho đến bây giờ Một số version nổi bật của Bugzilla như3.0, 3.4, 4.0 và 4.2, …
Trang 6 Hỗ trợ các mod_perl cải thiện hiệu suất
Các tùy chỉnh được cải tiến
URL cho các tìm kiếm ngắn hơn, vì vậy nó có thể dễ dàng chia sẻhơn
Địa chỉ email của người dùng có thể được ẩn (giúp ngăn chặn thưrác)
1.2.3 Bugzilla 4.0
Bugzilla 4.0 được cho là version tốt nhất trong lịch sử của Bugzilla, nóđược phát hành vào ngày 15/02/2011 và vẫn được sử dụng phổ biến cho đếnbây giờ
Ngoài những đặc điểm có từ version 3.6 thì Bugzilla 4.0 mang lại nhiềutính năng tuyệt vời mới và những cải tiến giao diện người dùng bao gồm:
Trang tìm kiếm nâng cao được thiết kế lại hoàn toàn
Phát hiện trùng lặp tự động khi nộp lỗi
Kiểm soát hoàn toàn và thu hồi các lỗi thông qua Webservices,bao gồm cả lỗi cập nhật hiện tại
Thiết kế lại các biểu tượng trang chủ
Những cải tiến trong khả năng sử dụng
Trang 71.2.5 Lịch sử phát triển của Bugzilla qua từng giai đoạn:
Hình 1: Lịch sử phát triển của Bugzilla qua từng giai đoạn
Trang 8Hình 2: Mô tả sơ lược về hệ thống Bugzilla
1.3.2 Qui trình hoạt động của hệ thống
Hình 3: Sơ đồ miêu tả qui trình hoạt động của hệ thống Bugzilla
Trang 9Qui trình hoạt động của hệ thống Bugzilla được mô tả như sau:
-Bộ phận kiểm tra phần mềm trong quá trình kiểm thử phát hiện ra lỗi, ghinhận các thông tin cần thiết vào hệ thống Hệ thống sẽ tự động gửi email đếnnhững cá nhân có liên quan (thường là bộ phận phát triển phần mềm)
-Cá nhân có liên quan sẽ vào hệ thống và theo dõi các thông tin về lỗi Sau
đó đánh giá, phân tích nguyên nhân và mức độ liên quan
Nếu phù hợp, người đó có thể tự động chỉnh sửa code và sửa lỗitrên, hoặc cũng có thể giao cho người khác (với cấp bậc thấphơn) Sau khi hoàn tất việc sửa lỗi và đảm bảo chạy đúng yêucầu, họ sẽ submit code lên SVN hoặc TFS, đồng thời sửa lạitrạng thái lỗi trong hệ thống Bugzilla từ “có lỗi” thành “đã sửa”
Nếu không phù hợp, người đó có thể thay đổi trạng thái và gáncông việc sửa lỗi này cho một người khác phù hợp hơn
-Kết thúc
1.3.3 Chức năng
-Bugzilla quản lý qui trình sửa lỗi phần mềm miễn phí
-Cho phép quản lý qui trình hoạt động cũng như tiến độ test lỗi của từng
-Administration: Người quản lý của một bug
-Bugzilla-General: Tạo, thay đổi và xem bugs
-Email: Những hoạt động được gửi bởi bugzilla liên quan đến email, nhưpost lỗi và sửa lỗi
Trang 10-Báo Cáo
-Tài khoản người dùng: Các hoạt động quản lý tài khoản người dùng, cáctruy vấn đã lưu, tạo tài khoản, thay đổi mật khẩu, đăng nhập,…
-Giao diện người sử dụng
1.3.5 Vòng đời của một Bug:
Hình 4: Vòng đời của một bug trong bugzilla 4.4rc2
Trang 111.3.6 Các trạng thái của bug
a) UNCONFIRMED
Trạng thái này là người test lỗi (1 user bình thường) phát hiện và post(được cho là bug) lên hệ thống, khi ở trạng thái này, bug còn chưa được xácđịnh nó có phải bug hay không, cần phải có người kiểm tra lại Ở trạng tháinày bug có thể chuyển sang các trạng thái như: NEW, ASSIGNED,RESOLVED
b) NEW
Trạng thái NEW là bug mới vừa được post lên hệ thống quản lý bug Saukhi post bug thành công thì hệ thống Bugzilla sẽ gửi mail tới những thànhviên liên quan như DEV (người được phân công fix bug này), PJ Leader (Testleader)
FIXED: bug đã được fix xong
DUPLICATE: trùng với 1 bug nào đó đã tồn tại Nếu chọn trạngthái này thì phải nhập thêm bug id của bug bị trùng
Trang 12 WONTFIX: bug này ko được fix vì lý do nào đó (có thể dokhông có thời gian hoặc bug không quan trọng hoặc không sửa được)
INVALID: bug không hợp lệ, lỗi không do bug
LATER: vì lí do nào đó bây giờ chưa thể fix được, chờ fix sau(có thể do chờ Q/A khách hàng)
REMIND: giống như LATER
Chỉ có tester/QC mới có quyền thay đổi trạng thái từ RESOLVED sangcác trạng thái khác sau khi đã test lại
Từ trạng thái này, bug có thể chuyển qua: REOPEN, CLOSED,UNCONFIRMED hoặc VERIFIED
e) REOPEN
Trạng thái này là do tester chuyển từ trạng thái RESOLVED sang Do saukhi test lại thì bug vẫn còn bị lỗi hoặc gây ra lỗi khác khi thao tác tương tựnhư bug cũ
Ở trạng thái này bug có thể chuyển sang trạng thái RESOLVED hoặcASSIGNED
f) VERIFIED
Trạng thái này là tester đã test lại xong và xác nhận bug này đã được fix
Từ trạng thái này có thể chuyển sang trạng thái UNCONFIRMED,REOPEN hoặc CLOSED
Trang 13-Bugzilla là công cụ Bug Tracking được sử dụng bởi nhiều tổ chức đượcđánh giá top đầu hiện nay như: Mozilla, Facebook, NASA, Open Office,RedHat, …
-Bugzilla là phần mềm trợ giúp làm tăng chất lượng sản phẩm, các thànhviên trong dự án sẽ có được những thông tin tốt hơn Sử dụng Bugzilla giúpcải thiện sự hài lòng của khách hàng, làm tăng năng suất của quá trình pháttriển dự án
-Khả năng hoạt động nhanh và nhẹ nhàng Nó được thiết kế sao cho số lầntruy xuất vào cơ sở dữ liệu là ít nhất có thể, giảm thiểu các thao tác tính toán
dữ liệu nặng nề và cố gắng tránh tạo ra các đoạn code HTML quá lớn
-Độ an toàn cao
-Hỗ trợ các công cụ truy vấn và lưu các truy vấn
-Bugzilla cho phép tùy chọn thiết lập email dựa trên hồ sơ người dùng vàngười dùng có thể sử dụng thêm id email khác
-Hệ thống phân quyền tuyệt vời, hoàn toàn miễn phí
1.3.8 Nhược điểm:
-Việc tích hợp nhiều tính năng cũng đem lại một nhược điểm nhỏ choBugzilla đó là để add được một bug lên mất khá nhiều thao tác và phải nắmđược qui trình của cả hệ thống mới post được
-Hạn chế trong việc tích hợp với các công cụ khác
-Đòi hỏi sự liên lạc và trao đổi thường xuyên giữa test leader và các thànhviên còn lại trong nhóm
-Các thông tin trên Bugzilla chỉ đơn thuần là thông tin trao đổi giữa tester
và developer về bug liên quan, chưa thể hiện được cụ thể cách giải quyết bug
đó cũng như sự liên hệ giữa bug đó với các bug tương tự để có sự so sánh, đốichiếu
Trang 14CHƯƠNG II: MỘT SỐ PHẦN MỀM QUẢN TRỊ DỰ ÁN (QUẢN LÝ
LỖI) KHÁC
2.1 Mantis
Mantis là một web theo dõi lỗi dựa trên hệ thống theo dõi lỗi mã nguồn
mở Nó được viết bằng PHP và làm việc trên nhiều cơ sở dữ liệu như MSSQL, MySQL và PostgreSQL
Project Sub Project Categories Bugs
Mantis dựa vào quyền truy cập của người sử dụng và cho phép đóng góptừng hạng mục Mantis là công cụ mạnh mẽ tích hợp một số ứng dụng nhưchat, wiki, …
Tính năng nổi bật:
Sử dụng công cụ mã nguồn mở
Hỗ trợ bất kì nền tảng nào chạy PHP (Windows, Linux, Mac,…)
Người dùng có thể có một mức độ truy cập khác nhau cho mỗi dự án
Hỗ trợ thông báo email toàn diện
Trang 15 Không giới hạn số lượng người dùng, các dự án
Sử dụng đơn giản, dễ dàng cài đặt
2.2 BugNet
BugNet là công cụ theo dõi lỗi mã nguồn mở, được viết trên nền tảngASP.NET với công cụ hỗ trợ MySQL Mục tiêu chính là giữ nền tảng code cơbản, dễ triển khai và mở rộng
BugNet cho phép quản lý hiệu quả các lỗi, các yêu cầu tính năng và cácvấn đề khác cho dự án ở bất kì qui mô nào
Trang 17công ty và tập đoàn lớn trên thế giới như Cisco, Apache, BMW, HP, Adobe,
…
Tính năng nổi bật:
Quản lý lỗi, tính năng, công việc, những cải tiến hoặc bất kì vấn đề gì
Giao diện người sử dụng mạnh mẽ và dễ dàng cho người sử dụng
Tương thích những qui trình, nghiệp vụ theo các luồng công việc thôngthường
Theo dõi các tệp gắn, những thay đổi và các phiên bản
Dễ dàng mở rộng và tích hợp với các hệ thống khác như Email, Excel,RSS, XML,
Có thể chạy trên hầu hết các nền tảng phần cứng, hệ điều hành và cơ sở
dữ liệu
2.5 So sánh Bugzilla và Jira
So với Bugzilla thì Jira có một số ưu điểm nổi trội hơn như:
Mọi người đều có quyền cơ bản để thao tác trên một ticket, giúp chocông việc nhanh chóng hơn (tester có thể tự mình mở ticket), ngườiphát triển (developer) có thể tự động gán ticket cho mình, tất cả các
Trang 18 Việc hiển thị sự thay đổi mã nguồn (code log) liên quan khi fix bugtrong Jira sẽ giúp user dễ dàng quản lý, theo dõi quá trình và đóng gópvai trò Các thành viên khác khi xem code log cũng có thể đóng góp ýkiến hoặc tham gia vào tiến trình này.
Hỗ trợ chức năng liên kết các ticket có liên quan đến nhau, giúp ngườidùng có được sự liên hệ, tham khảo cần thiết
Jira có khả năng tích hợp với các hệ thống khác (Fisheye, Crucible,SVN,… ) với độ tin cậy cao, giúp nâng cao chất lượng quy trình pháttriển phần mềm
- So sánh cụ thể giữa Bugzilla và Jira:
triển
Atlassian, Inc Mozilla Foundation
Tính năng Theo dõi các bug, nhiệm vụ,
dự án, …
Chỉ sử dụng để theo dõi lỗiphần mềm (bug tracking)Tính linh
Trang 19CHƯƠNG III: CÀI ĐẶT
3.1 Các công cụ hỗ trợ cài đặt Bugzilla
Để cài đặt Bugzilla người sử dụng cần cài đặt một số tool hỗ trợ:
3.1.1 Perl (Practical Extraction and Report Language)
Perl là ngôn ngữ lập trình có khả năng chắt lọc một lượng lớn dữ liệu vàcho phép xử lí dữ liệu nhằm thu được kết quả cần tìm
Perl là ngôn ngữ thông dụng trong lĩnh vực quản trị hệ thống và xử lí cáctrang Web do có các ưu điểm:
Có các thao tác quản lý tập tin, xử lí thông tin thuận tiện
Thao tác với các chuỗi kí tự rất tốt
Có một thư viện mã lệnh lớn do cộng đồng sử dụng Perl đóng gópCác modul của Perl bao gồm: Required Perl moduls và Optional PerlModuls
3.1.2 My SQL
My SQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất trênthế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triểnứng dụng Vì My SQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định, dễ sửdụng, hoạt động trên nhiều hệ điều hành với hệ thống hàm tiện ích mạnh Vớitốc độ và tính bảo mật cao, My SQL rất thích hợp cho các ứng dụng có truycập CSDL trên Internet My SQL là miễn phí hoàn toàn nên có thể tải về miễn
Trang 20My SQL được sử dụng cho việc bổ trợ PHP, Perl và nhiều ngôn ngữ khác.
Nó làm nơi lưu trữ những thông tin trên các Web viết bằng PHP hay Perl
Apache có thể chạy trên nhiều hệ điều hành khác nhau nhưng ổn định nhất
3.2 Cài đặt Bugzilla trên Windows
-B1: Để cài đặt Bugzilla trước tiên ta dowload Bugzilla bằng cách searchgoogle dòng tìm kiếm “download Bugzilla” hoặc tải theo link sau:www.mediafire.com/download/330q2tpp0pp12sb/Bugzilla-Setup-4.0.rar-B2: Sau khi tải về vào thư mục chứa file download và chạy file setup củaBugzilla và nhấn next
Trang 23-B3: Màn hình Server Configuration hiện lên với mặc định port 80 choapache và port 3306 cho MySQL Ta điền password để sử dụng cho root vàbugs.
-B4: Nếu gặp lỗi port 80 thì ta có thể đổi port 81 cho apache Điềnpassword cho root và bugs rồi ấn next
Trang 24-B5: Điền email của admin, tên, passwword, và server SMTP và ấn next.
-B6: Điền username và password rồi ấn install để bắt đầu cài đặt
Trang 26-B7: Chờ Bugzilla cài đặt sau đó nhấn enter.
-B8: Hoàn thành cài đặt Bugzilla trên môi trường Windows Nhấn finish
để kết thúc
Trang 27Sau khi cài đặt xong.Giao diện bugzilla sẽ xuất hiện như sau:
Ta có thể đăng nhập vào hệ thống bằng quyền admin với tài khoản đượctạo trong lúc cài đặt hoặc tạo một account mới để đăng nhập
Trang 28CHƯƠNG IV: DEMO
1.1 Login tài khoản và tạo user mới
Nếu bạn muốn sử dụng Bugzilla, trước tiên bạn cần phải tạo 1 tài khoản.Nhấp vào Open a new Account để tạo 1 tài khoản mới, nhập địa chỉ email,user name của bạn vào ô trống và nhấp vào Create Account
Sau đó bạn sẽ nhận được một email đến địa chỉ bạn cung cấp ở trên, trong
đó sẽ có chứa tên đăng nhập và mật khẩu được sử dụng để đăng nhập vào tàikhoản của bạn Mật khẩu này được tạo ngẫu nhiên và bạn có thể thay đổi nó.Lưu ý mail chỉ có giá trị xác nhận trong vòng 3 ngày
Tạo một account mới
Trang 29Để login tài khoản Bugzilla Ta đăng nhập vào trang chủ của Bugzillatheo địa chỉ http://localhost:81/ điền thông tin tài khoản bao gồm email vàpassword trong ô màu vàng và nhấn login Có thể đăng nhập ở trên header vàfooter Bugzilla sẽ sử dụng cookie để xác nhận bạn đã đăng nhập, trừ khi bạnthay đổi địa chỉ IP.
Sau khi login màn hình làm việc của Bugzilla có giao diện như sau
Trang 30Admin cũng có thể add thêm user mới bằng cách vào Administration clickchọn User.
Trang 31Chọn Add a new user
Điền đầy đủ các thông tin: login name, real name, password rồi nhấn add
Trang 33Màn hình làm việc của Administration bao gồm:
-Parameter : Thiết lập thông số cốt lõi của tiếng trình cài đặt
-Default Preferences : Thiết lập các giới hạn tùy chỉnh của các User
-Sanity Check : Kiểm thử tính thông suốt của tiến trình
-Users : Tạo mới, chỉnh sửa, thiết lập các tài khoản user
-Products : Chỉnh sửa thuộc tính của dự án đang test (hạn chế, thiết lậptruy cập, chỉnh sửa thông tin )
-Flags : Thiết lập cờ, tùy chỉnh các trạng thái bug và hạn chế trạng thái chocác user
-Custom Fields : định nghĩa các fields
-Field values: Thêm bớt, chỉnh sửa, thiết lập các giá trị của field
-Bug Status Workflow : Tùy chỉnh công việc và thiết lập trạng thái bugban đầu, và trạng thái cho phép chuyển tiếp lỗi khi fix