Tải bản đầy đủ (.docx) (36 trang)

KIỂM THỬ PHẦN MỀM, Nghiên cứu công cụ Bugzilla

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.61 MB, 36 trang )

=TRƯỜNG

ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN
_______________🙞🙞🙞_______________

BÁO CÁO THỰC NGHIỆM HỌC PHẦN

KIỂM THỬ PHẦN MỀM
ĐỀ TÀI

Nghiên cứu cơng cụ Bugzilla
GVHD

:

Ths. Hồng Quang Huy

Nhóm

:

11

Mã lớp

:

20212IT6013002


Sinh viên thực hiện

:

Hà Nội, 2022


Lời cảm ơn
Nhóm 11 xin gửi lời cám ơn chân thành tới Ths Hoàng Quang Huy. Cảm ơn
thầy đã tạo điều kiện cho nhóm thực hiện đề tài này. Qua đó chúng em có thể dùng
những kiến thức được học trên trường áp dụng vào dự án thực tế. Hơn nữa, chúng
em đã học được thêm nhiều kiến thức mới cũng như phát triển thêm một số kỹ
năng mềm như kỹ năng làm việc nhóm, quản lý thời gian... Cảm ơn thầy đã tận
tình chỉ bảo, hướng dẫn nhóm trong q trình học tập và thực hiện đề tài.
Để hồn thiện được đề tài này, nhóm chúng em đã cùng nhau bàn bạc,
nghiên cứu, áp dụng những kiến thức được học cũng như tìm hiểu thêm trên
Internet. Tuy đã cố gắng hết sức nhưng khả năng còn nhiều hạn chế nên khơng thể
tránh được sai sót. Rất mong thầy và bạn đọc có thể đóng góp thêm ý kiến để đề
tài có thể hồn thiện hơn nữa.
Một lần nữa, chúng em xin chân thành cảm ơn!
Nhóm sinh viên thực hiện
Nhóm 11

1


Mục lục
Lời cảm ơn

1


Lời nói đầu

3

1. Tổng quan

4

1.1 Lịch sử phát triển

4

1.2 Một số phiên bản nổi bật

4

1.2.1

Bugzilla 3.0

4

1.2.2

Bugzilla 3.4

4

1.2.3


Bugzilla 4.0

5

1.2.4

Bugzilla 4.2

5

1.3 Khái niệm

5

1.4 Chức năng

7

1.5 Các thành phần của Bugzilla

7

2. Vòng đời

7

3. Trạng thái của bug

8


4. Cài đặt bugzilla

10

5. Đăng nhập vào Bugzilla

13

6. Tạo báo cáo lỗi trong Bugzilla

13

7. Report

21

8. Browse Function

23

9. Cách sử dụng Search

24

10. Tạo và phân quyền cho người dùng

27

11. Tìm kiếm người dùng


30

12. Website: Quản lý học sinh

31

1. Yêu cầu bài toán.

31

2. Giao diện màn hình

33

Kết Luận

35
2


Tài liệu tham khảo

36

Lời nói đầu
Như một nhà phát triển phần mềm có kinh nghiệm đã nói “ q trình kiểm
thử một phần mềm thật sự không bao giờ kết thúc, quá trình này chỉ chuyển từ bạn
( một nhà phát triển phần mềm ) sang một người khác ( khách hàng). Và mỗi khi
khách hàng sử dụng chương trình, thì quá trình lại tiếp diễn.

Kiểm thử phần mềm là một hoạt động giữ vai trò quan trọng để đảm bảo
chất lượng phần mềm và là hoạt động mang tính sống cịn trong các dự án sản xuất
hoặc gia cơng phần mềm. Vì vậy, kiểm thử phần mềm đã trở thành quy trình bắt
buộc trong các dự án phát triển phần mềm trên thể giới. Ở Việt Nam, ngành công
nghiệp phần mềm đang phát triển thì khơng thể xem nhẹ việc kiểm thử phần mềm
vì xác suất thất bại sẽ rất cao, hơn nữa, hầu hết các công ty phần mềm có uy tín đều
đặt ra u cầu nghiêm ngặt là nếu một phần mềm khơng có tài liệu kiểm thử đi
kèm thì sẽ khơng được chấp nhận
Với mục đích phát hiện lỗi, kiểm thử phần mềm thường trải qua các bước
tạo dữ liệu thử, thực thi phần mềm trên dữ liệu thử và quan sát kết quả nhận được.
Trong các bước này, bước tạo dữ liệu đóng vai trị quan trọng nhất, bởi vì chúng ta
khơng thể tạo ra mọi dữ liệu từ miền vào chương trình, mà chúng ta chỉ có thể tạo
ra các dữ liệu thử có khả năng phát hiện lỗi cao nhất. Vấn đề đặt ra là làm thế nào
để đánh giá được khả năng phát hiện lỗi của một bộ dữ liệu thử.
“Kiểm thử phầm mềm” là một học phần rất hay và thực tế. Dĩ nhiên,
khơng phải học xong là chúng em có thể trở thành những người kiểm thử ngay
được cũng như trở thành tester ngay được. Thế nhưng thông qua học phần này,
chúng em có được cái nhìn trực quan hơn về các công cụ hỗ trợ kiểm thử, được
học cách sử dụng những cơng cụ, những lợi ích của cơng cụ kiểm thử. Để cụ thể
hóa một cơng cụ kiểm thử phầm mềm, nhóm chúng em đã cùng bắt tay vào thực
hiện đề tài “Nghiên cứu công cụ bugzilla.”.
3


Chương I. NỘI DUNG
1. Tổng quan
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
1998 cho một dự án của Mozilla. Nó được tạo ra nhầm giám sát lỗi cho bộ

phần mềm Netscape Comminicator. Nó vốn được viết bằng ngơn ngữ Tcl,
nhưng sau đó được Terry chuyển sang Perl với hi vọng nó sẽ được mọi
người đóng gó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ển sang dùng Bugzilla làm phương pháp chính của họ để theo dõi
các lỗi phần mềm. Đến tháng 4 năm 2000, Weissman trao quyền phát triển
Bugzilla cho Tara Hernandez, dưới sự lãnh đạo của Tara, một vài người
trong số những ngườ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 . Vào
tháng 07/2011 Tara đã chuyển quyền kiểm soát cho Dava Miller và Dave là
người chịu trách nhiệm cho đến bây giờ. Một số version nổi bật:
3.0,3.4,4.0,4.2,….
1.2 Một số phiên bản nổi bật
1.2.1 Bugzilla 3.0
Tính năng mới so với phiên bản trước:
● Hỗ trợ các mod_perl cải thiện hiệu suất
● Giao diện XML_RPC
● Tạo và sửa Bugs bằng Email
1.2.2 Bugzilla 3.4
Tính năng mới:
4


● Các tùy chỉnh được cải tiến
● URL cho các tìm kiếm ngắn gọn, vì vậy nó có
thể dễ dàng chia sẻ
● Địa chỉ email của người dùng có thể ấn
1.2.3 Bugzilla 4.0
Tính năng mới:
● Trang tìm kiếm nâng cao được thiết kế lại hoàn

toàn
● Phát hiện lỗi trùng lặp tự động khi nộp lỗi
● Kiểm sốt hồn tồn

và thu hồ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
1.2.4 Bugzilla 4.2
Cải tiến lớn để tìm kiếm, hỗ trợ cho SQLite, cải thiện
Webservices và nhiều cải tiến khác
1.3 Khái niệm
Bugzilla là một hệ thống theo dõi vấn đề / lỗi mã nguồn mở cho phép
các nhà phát triển theo dõi các vấn đề cịn tồn tại với sản phẩm của họ. Nó
được viết bằng Perl và sử dụng cơ sở dữ liệu MYSQL.
Bugzilla là một công cụ theo dõi lỗi , tuy nhiên, nó có thể được sử
dụng như một cơng cụ quản lý kiểm tra vì nó có thể dễ dàng liên kết với các
công cụ quản lý Test Case khác như Quality Center, Testlink, v.v.
Trình theo dõi lỗi mở này cho phép người dùng duy trì kết nối với
khách hàng hoặc nhân viên của họ, để giao tiếp về các vấn đề một cách hiệu
quả trong toàn bộ chuỗi quản lý dữ liệu.
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) có trách nhiệm quản lí hệ thống này
5


Hình 1.3.1 Mơ tả sơ lược về hệ thống Bugzilla


Hình 1.3.2: Sơ đồ miêu tả quy trình hoạt động của hệ thống Bugzilla
Được mô tả :
- Bộ phận kiểm tra phần mềm trong quá trình kiểm thử phát hiện ra
lỗi, ghi nhận các thông tin cần thiết vào hệ thống. Hệ thống sẽ tự
động gửi email đến những cá nhân có liên quan
- 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 ngun nhân và mức độ liên quan
1.4 Chức năng
Bugzilla giúp quản lý quy trình sửa lỗi phần mềm miễn phí
6


Cho phép quản lý quy trình hoạt động cũng như tiến độ test lỗi của
từng dự án.
Cho phép nhiều user làm việc cùng lúc, dễ tìm kiếm và phân bổ công
việc cho từng thành viên.
Cập nhập thông tin cho từng thành viên tham gia dự án thông qua
chức năng gửi thư điện tử.
1.5 Các thành phần của Bugzilla
- 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 tới email.
Như post lỗi và sửa lỗi
- Query/Buglist: Liên quan đến các hoạt động tìm kiếm lỗi và xem
buglist
- 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ác truy vấn đã lưu, tạo tài khoản, thay đổi mật khẩu, đăng
nhập,…

- Giao diện người dùng

2. Vòng đời

7


3. Trạng thái của bug
3.1 New
- Trạng thái NEW là bug mới vừa được post lên hệ thống
quản lý bug. Sau khi post bug thành cơng thì hệ thống
Bugzilla sẽ gửi mail tới những thành viên liên quan như
DEV (người được phân công fix bug này), PJ Leader.
- Từ trạng thái NEW, có thể chuyển sang trạng thái
ASSIGNED hoặc RESOLVED
8


3.2 Assigned
- Trạng thái này là bug được phân công cho DEV nào đó fix,
lúc này bug vẫn chưa được fix.
- Từ trạng thái này, bug có thể được chuyển sang trạng thái
NEW (chuyển cho người khác fix bug) hoặc RESOLVED
(đã fix xong bug).
3.3 Resolved
- Trạng thái này là bug đã được sửa xong, kết quả có thể là
FIXED, INVALID, WONTFIX, DUPLICATE, LATER
hoặc REMIND
- Ở trạng thái này, bug có thể chuyển sang trạng thái
REOPEN, VERIFIED, CLOSED hoặc UNCONFIRMED

(trường hợp này ít dùng, thường dùng trong trường hợp vấn
đề này cịn đang tranh cãi khơng biết phải xử lý như thế
nào
- Các kết quả của RESOLVED bao gồm:
+ FIXED: Bug đã fix xong.
+ INVALID: Vấn đề này không phải là bug.
+ WONTFIX: Vì lý do nào đó, bug này sẽ khơng fix
(có thể do khơng có thời gian hoặc bug không quan trọng –
cải tiến hoặc không sửa được).
+ DUPLICATE: Post bug bị trùng với một bug nào
đó đã post trước đây. Nếu chọn trạng thái này thì phải nhập
thêm bug id của bug bị trùng.
+ WORKSFORME: Mình khơng dùng trạng thái
này.
+ 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

9


- Chỉ có tester /QC mới có quyền thay đổi trạng thái từ
RESOLVED sang các trạng thái sau khi đã test lại
3.4 Reopened
- Trạng thái này là do TESTER/QC chuyển từ trạng thái
RESOLVED sang, do sau khi 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ũ. (ví
dụ, lần trước nhập hai số 1 và 3 vào hai ô trên màn hình,
click nút = thì kết quả là 6, sau khi sửa bug xong, làm
tương tự như trên, click nút = thì kết quả là 5; kết quả vẫn

sai nhưng không giống như lúc đầu)
- Ở trạng thái này bug có thể chuyển sang trạng thái
RESOLVED hoặc ASSIGNED
3.5 Verified
- Trạng thái này là TESTER đã test lại xong và xác nhận bug
này đã được fix. (trong trường hợp TESTER không có
quyền đóng bug, do QC Leader đóng)
- Từ trạng thái này có thể chuyển sang trạng thái
UNCONFORMED, REOPEN hoặc CLOSED
3.6 Closed
- Trạng thái này là bug đã được fix và được test lại xong. Kết
thúc vòng đời của một bug
- Trong trường hợp bug đã đóng rồi mà khi fix bug khác, gây
ra lỗi bug này nữa thì sẽ chuyển từ trạng thái CLOSED
sang REOPEN
4. Cài đặt bugzilla
Bước 1: Cài đặt Perl
- Để Bugzilla có thể hoạt động, bạn cần cài đặt một số modules Perl trong hệ
thống của mình. Một số modules là bắt buộc, trong khi những modules khác
thì khơng. Các modules tùy chọn sẽ cung cấp một số tính năng bổ sung, vì
vậy bạn có thể cài đặt chúng tuỳ vào yêu cầu riêng của mình. Bugzilla 4.4 và
10



















các phiên bản cũ hơn yêu cầu phải có Perl 5.8.1 hoặc các phiên bản mới hơn,
trong khi Bugzilla 5.0 và các phiên bản mới hơn, sẽ yêu cầu phiên bản Perl
5.10.1 hoặc mới hơn.
Để thiết lập Perl trên máy của mình, bạn làm theo các bước sau:
Mở trình cài đặt .msi cho Windows và cài đặt Perl trong thư mục của bạn
(Ví dụ: C: / Perl)
Bắt đầu “Perl Package Manager(PPM)” từ menu đầu
Chọn các modules được đề cập bên dưới bằng cách nhấp chuột phải vào
chúng:
Các modules bắt buộc:
AppConfig
CGI
Data-Dumper
DateTime
DBI
DBD-mysql
Digest-SHA
DateTime-Timezone
Template-Toolkit
Email-send

Email-MIME
URI
Math-Random-ISAAC
Win32
Win32-API

- Các modules tuỳ chọn:
● GD
● Chart
● Template-GD
● GDTextUtil
● GDGraph
● MIME-tools
● lib-www perl
11










-

XML-Twig
PatchReader
Perl-LDAP

Authen-SASL
RadiusPerl
SOAP-Lite
JSON-RPC
JSON-XS
Sau khi chọn xong modules, bạn mở “File” và chọn các hành động được
đánh dấu “Run” để bắt đầu cài đặt các modules.

Bước 2: Tải Bugzilla
- Cách tốt nhất để tải Bugzilla là từ trang web Bugzilla GIT. Bạn có thể tải
xuống và cài đặt GIT từ trang web rồi chạy
nó. Bên cạnh đó, bạn cũng có thể tải xuống bản phát hành ổn định từ trang
web
chính
thức
của
Bugzilla
bằng
liên
kết />- Bugzilla xuất hiện dưới dạng ‘tarball’ (có phần mở rộng là .tar.gz). Bất kỳ
cơng cụ lưu trữ Windows nào cũng có thể giải nén dạng này. Sau khi tải
xuống, bạn có thể giải nén các tệp và đặt chúng vào bất kỳ thư mục nào
trong C:
Bước 3: Cấu hình cơ sở dữ liệu
- Đối với bước tiếp theo, bạn cần tạo một cơ sở dữ liệu mới trong cơ sở dữ
liệu MySQL của mình. Lưu ý: Bạn có thể kiểm tra xem đã cài đặt MySQL
hay chưa bằng cách chạy lệnh “mysql –v” trong Command Prompt (một
chương trình giao diện dịng lệnh được dùng để thực thi các lệnh trong hệ
điều hành Windows).
- Sau đó, bạn cần mở tập tin cấu hình (configuration file) từ thư mục Bugzilla

ở chế độ có thể chỉnh sửa để thay đổi một số trường (fields) nhất định.
Bước 4: Thiết lập cấu hình Bugzilla
- Để thiết lập cấu hình, bạn cần chạy lệnh trong Command Prompt. Việc này
giúp bạn chuẩn bị một cơ sở dữ liệu để tạo các bảng cần thiết. Tại thời điểm
12


cấu hình, bạn cũng sẽ được yêu cầu cung cấp hostname cho máy chủ thư,
email và mật khẩu quản trị viên.
Bước 5: Thiết lập cấu hình máy chủ web Apache
- Bước tiếp theo sẽ là thiết lập cấu hình máy chủ web của bạn. Bạn cần mở tệp
httpd.conf hiển thị trong thư mục Apache và kích hoạt hỗ trợ CGI bằng cách
loại bỏ ghi chú dòng “AddHandler CGI-script .cgi”.
- Vậy là Bugzilla đã được thiết lập và hoạt động. Bạn có thể truy cập liên kết
HTTP://<your-bugzilla-server>/ để xem trang chính của Bugzilla và đăng
nhập bằng tài khoản admin mà bạn đã tạo.
5. Đăng nhập vào Bugzilla
Bước 1: Truy cập vào localhost:8080 (localhost này các bạn có thể tùy
chọn ở lúc cài đặt ở đây tôi chọn 8080
Bước 2: Sử dụng liên kết sau cho các handons của bạn. Để tạo tài khoản
trong công cụ Bugzilla hoặc đăng nhập vào tài khoản hiện có, hãy chuyển đến
tùy chọn New Account/ Log in menu chính.

Bước 3: Bây giờ, hãy nhập thơng tin cá nhân của bạn để đăng nhập vào
Bugzilla
1. Tên người dùng
2. Mật khẩu
3. Và sau đó nhấp vào “Log in”

Bước 4: Bạn đã đăng nhập thành công vào hệ thống Bugzilla


6. Tạo báo cáo lỗi trong Bugzilla
13


Để tạo một lỗi mới trong Bugzilla, hãy truy cập trang chủ của
Bugzilla và nhấp vào tab MỚI từ menu chính

Click Administration rồi Click Products . Rồi Click Add
Điền thơng tin
● Component
● Component Description
● Default Assignee

Ấn Add. Sẽ chuyển sang màn hình sau

14


Chọn Quản lý học sinh .

Đã có thêm Edit components
Click Edit versions: để điều chỉnh version phù hợp

15


Click Add

Chọn Version 1.0. Click Add.


Click Edit product “ Quản lý học sinh”. Để quay lại màn hình product

16


Đã có thêm Edit versions. Click Save Changes

Tạo bug . Click New trên navigation

Click Quản lý học sinh .Để tạo bug của product mình vừa tạo
1. Enter Product
2. Enter Component
3. Give Component description
4. Select version,
5. Select severity
6. Select Hardware
7. Select OS
8. Enter Summary
9. Enter Description
10.Attach Attachment
11.Submit

17


Chọn mức độ nghiêm trọng cao nhất là blocker

18



Miêu tả Summary và Description.
Chọn Add an attachment (nếu có)
Click Submit Bug🡺 tạo bug

19



×