MỤC LỤC
PHẦN I: MỞ ĐẦU....................................................................................................1
1.1 Lý do lựa chọn đề tài...........................................................................................1
1.2 Mục tiêu nghiên cứu..........................................................................................1
1.3
Đối tượng và phạm vi nghiên cứu đề tài......................................................2
1.3.1 Đối tượng nghiên cứu......................................................................................2
1.3.2 Phạm vi nghiên cứu.......................................................................................2
1.4 Phương pháp nghiên cứu..................................................................................2
1.4.1 Phương pháp thu thập dữ liệu........................................................................2
1.4.2 Phương pháp xử lý số liệu...............................................................................3
CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ HỆ THỐNG QUẢN LÝ BUG TRONG
QUY TRÌNH KIỂM THỬ PHẦN MỀM...............................................................4
1.1
Những khái niệm cơ bản...............................................................................4
1.1.1 Khái niệm chung..............................................................................................4
1.1.2 Khái niệm liên quan trực tiếp tới vấn đề nghiên cứu.....................................4
1.2
Cơ sở lý luận liên quan đến hệ thống quản lý bug trong quy trình kiểm
thử
...............................................................................................................5
1.2.1 Kiểm thử phần mềm..........................................................................................6
1.2.1.1 Tổng quan......................................................................................................6
1.2.1.2 Mục đích của kiểm thử phần mềm..................................................................6
1.2.1.3 Các giai đoạn kiểm thử phần mềm.................................................................7
1.2.1.4 Kiểm thử trong các giai đoạn phát triển phần mềm.......................................7
a, Kiểm thử trong giai đoạn đặc tả yêu cầu................................................................8
b, Kiểm thử trong giai đoạn thiết kế..........................................................................9
c, Kiểm thử trong giai đoạn lập trình.........................................................................9
1.2.1.5 Người kiểm thử..............................................................................................9
1.2.1.6 Luồng thông tin kiểm thử.............................................................................11
1.2.1.7
Các phương pháp kiểm thử.......................................................................11
1.2.1.8 Các mức kiểm thử........................................................................................12
1.2.2 Ứng dụng phần mềm.....................................................................................15
1.2.2.1 Tổng quan....................................................................................................15
1.2.2.1
Mục đích...................................................................................................15
1.2.2.3
Quy trình ứng dụng phần mềm.................................................................15
1.3 Tổng quan tình hình nghiên cứu....................................................................17
1.3.1 Tình hình nghiên cứu trong nước....................................................................17
1.3.2 Tình hình nghiên cứu trên thế giới..................................................................18
CHƯƠNG 2: PHÂN TÍCH, ĐÁNH GIÁ THỰC TRẠNG QUẢN LÝ BUG
TRONG QUY TRÌNH KIỂM THỬ TẠI CÔNG TY CỔ PHẦN TRUYỀN THÔNG
VÀ DỊCH VỤ NO DO............................................................................................18
2.1 Tổng quan về công ty........................................................................................19
2.1.1 Giới thiệu chung về doanh nghiệp..................................................................19
2.1.2 Quá trình hình thành và phát triển.................................................................19
2.1.3 Cơ cấu tổ chức và cơ cấu nhân lực.................................................................20
2.1.3.1
Cơ cấu tổ chức..........................................................................................20
2.1.3.2
Chức năng nhiệm vụ của các bộ phận......................................................21
2.1.4 Lĩnh vực hoạt động.........................................................................................21
2.1.5 Kết quả hoạt động kinh doanh........................................................................23
2.2 Thực trạng vấn đề quản lý bug trong quy trình kiểm thử tại công ty.................23
2.2.1 Các khâu trong quy trình kiểm thử................................................................23
2.2.2 Các yếu tố liên quan trong quá trình kiểm thử................................................25
2.2.3 Kết quả phân tích vấn đề nghiên cứu..............................................................25
2.2.4 Kết luận và phát hiện qua nghiên cứu............................................................28
CHƯƠNG 3: ỨNG DỤNG HỆ THỐNG QUẢN LÝ BUG TRONG QUY TRÌNH
KIỂM THỬ TẠI CÔNG TY CỔ PHẦN TRUYỀN THÔNG VÀ DỊCH VỤ NODO
29
3.1 Tìm hiểu về ứng dụng hỗ trợ quy trình kiểm thử...............................................30
3.2 Đề xuất ứng dụng hỗ trợ quy trình kiểm thử tại công ty Cổ phần truyền thông và
dịch vụ NoDo.........................................................................................................34
3.2.1 Giới thiệu về Redmine.....................................................................................34
3.2.1.1 Tổng quan về redmine..................................................................................34
3.2.1.2
Một số tính năng cơ bản của redmine.......................................................34
3.2.2 Cài đặt..........................................................................................................34
3.2.3 Triển khai dự án trên hệ thống redmine..........................................................39
3.2.3.1 Thông tin hệ thống.......................................................................................39
3.2.3.2 Quản lý thông tin tài khoản.........................................................................39
3.2.3.3 Hướng dẫn theo dõi các công việc cá nhân................................................41
3.2.3.4 Các thao tác với Project..............................................................................44
3.2.4 Đánh giá hệ thống..........................................................................................54
KẾT LUẬN............................................................................................................56
DANH MỤC TÀI LIỆU THAM KHẢO.................................................................56
PHỤ LỤC 57
DANH MỤC BẢNG BIỂU
Bảng 1: Kết quả hoạt động kinh doanh...................................................................23
Bảng 2: Danh sách cán bộ nhân viên điền phiếu điều tra và trả lời phỏng vấn......26
Bảng 3: Các trường trong màn hình đăng ký tài khoản...........................................40
Bảng 4: Thao tác với issues.....................................................................................46
Bảng 5: Thông tin trong issue..................................................................................48
Bảng 6: Thao tác cập nhật issue..............................................................................49
Bảng 7: Thông tin tổng quan trong Settings............................................................53
Bảng 8: Danh sách module trong Settings...............................................................54
DANH MỤC HÌNH ẢNH
Hình II 1: Mô hình vòng đời tổng quát phát triển một hệ thống phần mềm...............6
Hình II 2: Người lập trình.......................................................................................10
Hình II 3: Người kiểm thử.......................................................................................10
Hình II 4: Kiến thức cần có của người kiểm thử......................................................10
Hình II 5: Mô hình luồng thông tin kiểm thử...........................................................11
Hình II 6: Kiểm thử hộp đen...................................................................................11
Hình II 7: Kiểm thử hộp trắng.................................................................................12
Hình II 8: Mức độ kiểm thử cơ bản..........................................................................13
Hình II 9: Quy trình ứng dụng phần mềm................................................................15
Hình II 10: Bộ máy tổ chức Công ty cổ phần truyền thông và dịch vụ NoDo..........20
Hình II 11: Đánh giá mức độ chậm deadline trong dự án.......................................26
Hình II 12: Nguyên nhân chậm deadline.................................................................27
Hình II 13 : Hình thức trao đổi thông tin giữa các bộ phận....................................28
Hình III 1: Ứng dụng Mantis...................................................................................30
Hình III 2: Ứng dụng Bugnet...................................................................................31
Hình III 3: Ứng dụng Genie.....................................................................................32
Hình III 4: Ứng dụng Jira........................................................................................32
Hình III 5: Ứng dụng Redmine................................................................................33
Hình III 6: Cài đặt RailsInstaller.............................................................................35
Hình III 7: Đường dẫn khi cài RailsInstaller...........................................................35
Hình III 8: Cài đặt ImageMagick............................................................................36
Hình III 9: Cài đặt ImageMagick............................................................................36
Hình III 10: Kiểm tra cài đặt thành công................................................................37
Hình III 11: Kiểm tra cài đặt...................................................................................37
Hình III 12: Kiểm tra cài đặt...................................................................................39
Hình III 13: Màn hình đăng nhập của redmine.......................................................39
Hình III 14: Đăng ký tài khoản................................................................................40
Hình III 15: Màn hình quản lý tài khoản.................................................................40
Hình III 16: Khôi phục mật khẩu.............................................................................41
Hình III 17: Màn hình theo dõi các công việc cá nhân............................................41
Hình III 18: Tùy biến trang......................................................................................42
Hình III 19: Thêm block..........................................................................................42
Hình III 20: Trang thông tin dự án..........................................................................43
Hình III 21: Tổng quan về dự án.............................................................................43
Hình III 22: Tổng quát thời gian làm việc...............................................................43
Hình III 23: Tổng quát các activity mới...................................................................44
Hình III 24: Thao tác với dự án...............................................................................44
Hình III 25: Xem hoạt động của dự án....................................................................45
Hình III 26: Danh sách các vấn đề (issues).............................................................45
Hình III 27:Thao tác tạo vấn đề..............................................................................46
Hình III 28: Giao diện xem chi tiết Issue.................................................................48
Hình III 29: Biểu đồ gantt chart..............................................................................50
Hình III 30:Màn hình chọn các loại issue hiển thị trong khung bên phải................50
Hình III 31: Kéo thả các issue để cập nhật trạng thái.............................................50
Hình III 32: Version planning.................................................................................51
Hình III 33:Calender...............................................................................................51
Hình III 34:Thông báo các tin tức mới....................................................................51
Hình III 35: Danh sách tài liệu................................................................................52
Hình III 36: Thêm mới tài liệu.................................................................................52
Hình III 37: Danh sách các trang wiki....................................................................53
DANH MỤC TỪ VIẾT TẮT
Danh mục từ viết tắt tiếng Việt
Từ viết tắt
CNTT
HTTT
ĐKKD
VĐL
TNHH
CT
CSDL
TMĐT
Nghĩa tiếng Việt
Công nghệ thông tin
Hệ thống thông tin
Đăng ký kinh doanh
Vốn điều lệ
Trách nhiệm hữu hạn
Công ty
Cơ sở dữ liệu
Thương mại điện tử
LỜI MỞ ĐẦU
Trong suốt 4 năm theo học tại trường Đại học Thương Mại tôi đã được làm
quen với những kiến thức về chuyên ngành Hệ Thống Thông Tin Kinh Tế. Nhận
thấy rằng hệ thống thông tin hiện tại là nền tảng cho sự hoạt động, vận hành của
mọi doanh nghiệp. Doanh nghiệp nào muốn hoạt động vững chắc, ổn định và đạt
năng suất, hiệu quả cao thì doanh nghiệp ấy phải có một hệ thống thông tin tốt, hiệu
quả và phù hợp với cả môi trường bên trong và bên ngoài doanh nghiệp. Hiện tại,
các doanh nghiệp Việt Nam đã và đang áp dụng những hệ thống thông tin vào trong
các hoạt động sản xuất kinh doanh của mình, hướng tới việc đơn giản hóa các thủ
tục, công việc có thể hệ thống hóa từ đó nâng cao hiệu quả trong các hoạt động sản
xuất kinh doanh, giảm thiểu tối đa các chi phí. Vẫn còn nhiều vấn đề trong việc áp
dụng, triển khai và vận hành hệ thống thông tin vào các hoạt động sản xuất kinh
doanh của các doanh nghiệp Việt Nam, vậy nên chúng ta cần phải nỗ lực hơn nữa
trong công tác đào tạo nguồn lực để có thể áp dụng thành công các hệ thống thông
tin, phục vụ cho các hoạt động của doanh nghiệp nói riêng và toàn bộ nền kinh tế
Việt Nam nói chung.
Trường Đại học Thương Mại là một trong những cái nôi đầu tiên ươm mầm
cho nguồn nhân lực hệ thống thông tin kinh tế ấy của nước nhà. Với hệ thống đào
tạo bài bản, quy mô, khoa học và hệ thống đã đào tạo nên những cử nhân có tầm và
có vực phục vụ cho việc phân tích, thiết kế và triển khai hệ thống thông tin vào
doanh nghiệp.
Kết thúc 4 năm đại học, tôi có cơ hội được làm khóa luận, được tổng hợp
những kiến thức trong suốt thời gian theo học chuyên ngành Hệ Thống Thông Tin
Kinh Tế và có điều kiện so sánh, đối chiếu với thực tế thông qua đợt thực tập do nhà
trường tổ chức.
Để hoàn thành được khóa luận này, tôi xin gửi lời cảm ơn chân thành và sâu
sắc tới các thầy cô trong trường Đại học Thương Mại đã tận tình giúp đỡ, bồi dưỡng
những kiến thức cho tôi trong suốt 4 năm theo học tại nhà trường.
Đồng cảm ơn Công ty Cổ phần truyền thông và dịch vụ NoDo đã tạo điều kiện
cho tôi có cơ hội, điều kiện thực tập và công tác tại công ty. Cảm ơn sự giúp đỡ
chân thành và nhiệt tình của các anh, các chị là nhân viên trong công ty đã giúp tôi
tìm hiểu thực tế về hoạt động của công ty và tình hình ứng dụng hệ thống thông tin
vào những hoạt động đó.
Đặc biệt, tôi xin chân thành cảm sự giúp đỡ tâm huyết, trách nhiệm và tận tình
tới giảng viên – Thạc sỹ Hàn Minh Phương, người đã trực tiếp giúp đỡ tôi trong
suốt quá trình hoàn thiện bài khóa luận này.
Mặc dù đã rất cố gắng và nỗ lực song với thời gian nghiên cứu hạn hẹp, trình
độ và khả năng của bản thân còn hạn chế, do đó khóa luận sẽ không tránh khỏi
những thiếu sót. Kính mong các thầy, cô giáo trong khoa HTTT KINH TẾ &
TMĐT, các anh/chị nhân viên trong Công ty Cổ phần truyền thông và dịch vụ
NoDo chỉ bảo để bài khóa luận có giá trị hơn về mặt lý luận và mang tính thực tiễn
cao.
Tôi xin chân thành cảm ơn!
Hà Nội, năm 2017
Sinh viên thực hiện
Phùng Thị Huyền
PHẦN I: MỞ ĐẦU
TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU
1.1 Lý do lựa chọn đề tài
Ngày nay, công nghệ thông tin đang hiện diện và đóng vai trò quan trọng
không thể thiếu trong quá trình quản trị, điều hành các hoạt động sản xuất kinh
doanh của mỗi doanh nghiệp. Sự phát triển và ứng dụng của internet đã làm thay
đổi mô hình và cách thức hoạt động kinh doanh của doanh nghiệp, việc chuyển dần
các giao dịch truyền thống sang giao dịch điện tử đã ảnh hưởng đến vị trí, vai trò và
cả nhu cầu của các bên hữu quan (khách hàng, nhà cung cấp, nhà đầu tư…) của
doanh nghiệp.
Các hoạt động đầu tư CNTT trong doanh nghiệp nhằm phục vụ cho các mục
tiêu của doanh nghiệp như hỗ trợ các hoạt động tác nghiệp, hỗ trợ cho việc ra các
quyết định quản lý, hỗ trợ việc xây dựng các chiến lược nhằm đạt lợi thế cạnh
tranh,…Có nhiều mô hình đầu tư CNTT trong doanh nghiệp, mỗi mô hình có cách
tiếp cận khác nhau nhưng đều có chung mục đích là giúp doanh nghiệp xác định
được lộ trình đầu tư và mối quan hệ giữa các thành phần trong bức tranh tổng thể về
ứng dụng CNTT trong doanh nghiệp. Mỗi doanh nghiệp cần phải chọn cho mình
mô hình đầu tư CNTT cho phù hợp để phát huy hiệu quả các khoản đầu tư, phục vụ
cho mục tiêu kinh doanh.
Kiểm thử phần mềm là bộ phận sống còn của quy trình phát triển phần mềm,
sự hỗ trợ quan trọng để đảm bảo chất lượng của phần mềm. Kiểm thử phần mềm là
một lĩnh vực rất quan trọng trong hoạt động sản xuất cũng như gia công phần mềm.
Trong thời gian thực tập ở công ty Cổ phần truyền thông và dịch vụ NoDo công ty về lĩnh vực CNTT, em đã tìm hiểu và nhận thấy rằng quy trình quản lý lỗi
để hỗ trợ quá trình thực hiện dự án vẫn còn thủ công. Điều này gây tốn thời gian và
khó khăn cho nhân viên thực hiện dự án cũng như tiến độ dự án. Chính vì vậy, công
ty cần một hệ thống quản lý các lỗi trong quá trình thực hiện dự án. Đó là lý do em
1
chọn đề tài “Ứng dụng hệ thống quản lý bug trong quy trình kiểm thử phần mềm
tại công ty cổ phần truyền thông và dịch vụ NoDo” làm đề tài nghiên cứu.
2
1.2 Mục tiêu nghiên cứu
Với đề tài “Ứng dụng hệ thống quản lý bug trong quy trình kiểm thử phần
mềm tại công ty cổ phần và truyền thông dịch vụ NoDo” thì bài khóa luận sẽ giải
quyết các vấn đề sau:
- Tìm hiểu thực trạng, quy trình kiểm thử phần mềm tại công ty.
- Tìm hiểu về ứng dụng hỗ trợ quy trình kiểm thử và đề xuất ứng dụng hỗ trợ
tại công ty.
- Đánh giá hiệu quả hệ thống quản lý bug cho công ty.
1.3 Đối tượng và phạm vi nghiên cứu đề tài
1.3.1 Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài là phần mềm hỗ trợ quản lý bug trong quy
trình kiểm thử phần mềm của công ty Cổ phần truyền thông và dịch vụ NoDo.
1.3.2 Phạm vi nghiên cứu
- Về không gian: Công ty cổ phần truyền thông và dịch vụ NoDo.
- Thời gian: Năm 2017
1.4 Phương pháp nghiên cứu
Để có thể đảm bảo được tính đúng đắn của thông tin cũng như tính khoa học
trong nghiên cứu bài khóa luận này đã sử dụng chủ hai phương pháp: Phương pháp
thu thập dữ liệu và Phương pháp xử lý số liệu.
1.4.1 Phương pháp thu thập dữ liệu
Mục tiêu của phương pháp này đó là có được các thông tin liên quan đến mục
tiêu đã đề ra với độ tin cậy và chính xác cao. Đề tài chủ yếu áp dụng các phương
pháp: phỏng vấn, phiếu điều tra và quan sát trực tiếp.
Thu thập dữ liệu sơ cấp
- Để phục vụ cho quá trình khảo sát thực trạng quản lý nhân sự tại Công ty cổ
phần truyền thông và dịch vụ NoDo, đề tài có sử dụng phương pháp điều tra trắc
nghiệm hiện trường thông qua phiếu điều tra và bảng câu hỏi nhằm thu thập các
thông tin dữ liệu từ nhiều đối tượng nhân viên thuộc các phòng ban khác nhau trong
công ty như: Bộ phận lập trình, Bộ phận kiểm thử, Bộ phận kế toán, Bộ phận thị
trường, Bộ phận phát hành game, Bộ phận phân tích thiết kế, Bộ phận tư vấn và
chăm sóc khách hàng, Bộ phận marketing. Các phiếu điều tra được gửi cho các cán
3
bộ, nhân viên trong công ty. Sau đó, các phiếu điều tra sẽ được tổng hợp lại, xử lý
và đưa vào CSDL của phần mềm Excel xử lý và phân tích.
- Phương pháp quan sát giúp các phân tích viên thu thập được những thông tin
không có trong tài liệu và không thu thập được qua quá trình phỏng vấn, có được
một bức tranh khái quát về tổ chức và cách quản lý các hoạt động của tổ chức.
- Phỏng vấn những người có ảnh hưởng đến quy trình kiểm thử là các trưởng
phòng, các nhân viên và Ban giám đốc để thu được những thông tin xác thực nhất
về vấn đề đang nghiên cứu.
Thu thập dữ liệu thứ cấp
- Các báo cáo kết quả hoạt động kinh doanh của công ty trong vòng 3 năm từ
2014- 1017 được thu thập từ Bộ phận kế toán của công ty.
- Thu thập tài liệu liên quan đến cơ sở lý luận, các lý thuyết về phần mềm, hệ
thống thông tin và về quy trình kiểm thử ,… từ các công trình nghiên cứu, sách,
báo, internet.
Sau khi thu thập đầu đủ các thông tin cần thiết sẽ tiến hành phân loại sơ bộ các
tài liệu đó. Nếu cần thêm tài liệu liên quan thì bổ sung và nếu đủ rồi thì tiến hành xử
lý dữ liệu.
1.4.2 Phương pháp xử lý số liệu
- Sử dụng phương pháp phân tích, tổng hợp, so sánh, đánh giá dữ liệu thu thập
được các số liệu (sơ cấp, thứ cấp) để có thể rút ra một số đánh giá về thực trạng
quản lý bug của công ty.
- Sử dụng phương pháp toán thống kê (sử dụng excel) để xử lý các tài liệu, số
liệu thu thập được từ phiếu điều tra để đánh giá được thực trạng quản lý bug tại
công ty.
1.5 Kết cấu khóa luận
Ngoài các mục lời cảm ơn, mục lục, danh mục bảng biểu, hình vẽ, tài liệu
tham khảo và phụ lục, nội dung khóa luận gồm:
Phần I: Mở đầu (Tổng quan vấn đề nghiên cứu)
4
Phần II: Nội dung
- Chương 1: Cơ sở lý luận về hệ thống quản lý bug trong quy trình kiểm thử.
- Chương 2: Phân tích, đánh giá thực trạng quản lý bug trong quy trình kiểm
thử tại công ty cổ phần truyền thông và dịch vụ NoDo.
- Chương 3: Ứng dụng hệ thống quản lý bug trong quy trình kiểm thử tại công
ty cổ phần truyền thông và dịch vụ NoDo.
Phần III: Kết luận
PHẦN II: NỘI DUNG
CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ HỆ THỐNG QUẢN LÝ BUG
TRONG QUY TRÌNH KIỂM THỬ PHẦN MỀM
1.1 Những khái niệm cơ bản
1.1.1 Khái niệm chung
Thông tin (Information) là các tin tức mà con người trao đổi với nhau, hay nói
rộng hơn thông tin bao gồm những tri thức về các đối tượng. (Nguồn: Bài giảng Tổ
chức HTTT thị trường và thương mại vĩ mô, Trường Đại học Thương Mại).
Hệ thống [1] (System) là tập hợp nhiều phần tử có các mối quan hệ ràng buộc
lẫn nhau và cùng hoạt động hướng tới mục đích chung.
Hệ thống thông tin (Information System) là một tập hợp và kết hợp của các
phần cứng, phần mềm và các hệ mạng truyền thông được xây dựng và sử dụng để
thu thập, tạo, tái tạo, phân phối và chia sẻ các dữ liệu, thông tin và tri thức nhằm
phục vụ các mục tiêu của tổ chức. (Nguồn: Bài giảng Tổ chức HTTT thị trường và
thương mại, Bộ môn CNTT, Trường ĐH Thương Mại)
5
Hệ thống thông tin quản lý (MIS – Managament Information System) là một
hệ thống tích hợp “Người – Máy” tạo ra và lưu trữ các thông tin giúp con người
trong sản xuất, quản lý cũng như ra quyết định. (Nguồn: Bài giảng HTTT kinh tế và
quản lý, Bộ môn CNTT, Trường ĐH Thương Mại)
Phần mềm máy tính hay còn được gọi tắt là phần mềm (software) là một tập
hợp các câu lệnh hoặc chỉ thị được viết bằng 1 hoặc nhiều ngôn ngữ lập trình theo
một trật tự xác định nhằm tạo ra một nhiệm vụ hay chức năng năng hoặc một vấn đề
cụ thể nào đó.
1.1.2 Khái niệm liên quan trực tiếp tới vấn đề nghiên cứu
Kiểm thử phần mềm (Software Testing) là một hoạt động kiểm tra được thực
hiện để cung cấp cho các bên liên quan thông tin về chất lượng sản phẩm hoặc dịch
vụ đang được kiểm tra. Kiểm thử phần mềm cũng có thể cung cấp một cái nhìn
khách quan, độc lập về phần mềm để cho phép các doanh nghiệp đánh giá và nắm
được rủi ro khi triển khai phần mềm. Các kỹ thuật kiểm tra bao gồm quá trình thực
hiện chương trình hoặc ứng dụng với mục đích tìm lỗi phần mềm và để xác minh
rằng sản phẩm phần mềm phù hợp sử dùng.
Bug là một khiếm khuyết trong một thành phần hoặc hệ thống mà nó có thể
làm cho thành phần hoặc hệ thống này không thực hiện đúng chức năng, yêu cầu
của nó. Có thể là lỗi giao diện, lỗi chức năng, lỗi nghiệp vụ.
Testcase: Được dịch ra tiếng việt là ca kiểm thử. Là một dạng thức mô tả dữ
liệu đầu vào, một số hành động (hành vi) hoặc sự kiện và một kết quả mong đợi để
xác định chức năng của một ứng dụng phần mềm hoạt động đúng hay không.
Quy trình kiểm thử phần mềm là một dãy các hành động, con người và hệ
thống liên quan để làm ra một sản phẩm, dịch vụ theo các lặp đi lặp lại. Quy trình
kiểm thử là một giai đoạn trong chu trình phát triển phần mềm. Giai đoạn này được
thực hiện theo một trình tự nhất định nhằm đảm bảo phần mềm đi đúng hướng theo
yêu cầu của người dùng.
6
Đặc tả yêu cầu phần mềm: Phần mềm được viết để thực hiện các nhu cầu
của khách hàng. Các nhu cầu của khách hàng được thu thập, phân tích đánh giá và
là cơ sở để quyết định chính xác các đặc trưng cần thiết mà sản phẩm phần mềm
cần phải có. Dựa trên yêu cầu của khách hàng và các yêu cầu bắt buộc khác, đặc tả
được xây dựng để miêu tả chính xác các yêu cầu mà sản phẩm phần mềm cần phải
đáp ứng. Tài liệu đặc tả là cơ sở để đội ngũ phát triển phần mềm xây dựng sản phẩm
phần mềm.
Chất lượng và độ tin cậy của phần mềm: Theo từ điển, chất lượng của một
sản phẩm được thể hiện bằng các đặc trưng phù hợp với đặc tả của nó. Theo cách
hiểu này, chất lượng của một sản phẩm phần mềm là sự đáp ứng các yêu cầu về
chức năng, sự hoàn thiện và việc tuân thủ nghiêm ngặt trong đặc tả, cùng các đặc
trưng mong chờ từ mọi sản phẩm phần mềm chuyên nghiệp. Chất lượng phần mềm
đặc trưng cho “độ tốt” của phần mềm và gồm các yếu tố về chất lượng như: tính
đúng đắn (hành vi đúng như đặc tả), tính hiệu quả (tiết kiệm thời gian và tiền bạc),
độ tin cậy, dễ học,dễ sử dụng…Như vậy, độ tin cậy chỉ là yếu tố để đánh giá chất
lượng của một sản phẩm phần mềm. Độ tin cậy của phần mềm là xác suất để phần
mềm chạy không có thất bại trong một khoảng thời gian nhất định. Nó được xem là
một yếu tố quan trọng của chất lượng phần mềm.
7
1.2 Cơ sở lý luận liên quan đến hệ thống quản lý bug trong quy trình
kiểm thử
1.2.1 Kiểm thử phần mềm
1.2.1.1 Tổng quan
Kiểm thử phần mềm là một phần của tiến trình phát triển phần mềm. Nó là
tiến trình đánh giá một hệ thống hoặc một thành phần của hệ thống bằng tay hoặc tự
động, nhằm xác định lại sự thỏa mãn các yêu cầu của phần mềm.
Hình II 1: Mô hình vòng đời tổng quát phát triển một hệ thống phần mềm
Mô tả vòng đời tổng quát phát triển một hệ thống phần mềm:
- Khi có yêu cầu của khách hàng (yêu cầu của bài toán) rõ ràng thì nhân viên
tiến hành phân tích, đặc tả yêu cầu rồi gửi cho bộ phận thiết kế.
- Sau khi nhận được tài liệu đặc tả, bộ phận thiết kế tiến hành thiết kế giao
diện, thiết kế dữ liệu cho hệ thống và bàn giao cho bộ phận lập trình.
- Bộ phận lập trình tiến hành lập trình sau khi nhận được giao diện và dữ liệu.
- Phần mềm được hoàn thành thì bộ phận kiểm thử tiến hành kiểm thử phần
mềm và trao đổi với bộ phận lập trình.
- Cuối cùng, khi việc kiểm thử được hoàn tất thì tiến hành cài đặt, vận hành và
bảo trì.
1.2.1.2 Mục đích của kiểm thử phần mềm
Theo Deutsch [4]:
8
“Phát triển hệ thống phần mềm gồm rất nhiều hoạt động sản xuất và nguy cơ
lỗi là rất lớn. Lỗi có thể xảy ra ngay lúc khởi đầu tiến trình, hay trong các giai
đoạn thiết kế hoặc phát triển sau này…”
Kiểm thử phần mềm nhằm đảm bảo chất lượng phần mềm.
Theo Glen Myers [4]:
Kiểm thử là tiến trình thực thi để tìm ra lỗi.
- Một trường hợp kiểm thử là trường hợp có xác suất cao để tìm ra lỗi chưa
biểu hiện.
- Kiểm thử thành công khi phát hiện ra lỗi.
Những mục đích trên đi ngược lại với quan điểm thông thường “kiểm thử
thành công là kiểm thử không tìm ra lỗi nào”. Nếu kiểm thử không phát hiện ra lỗi
thì ta sẽ nghĩ rằng cấu hình kiểm thử này chưa đúng và lỗi vẫn còn tiềm ẩn trong
phần mềm. Nếu lỗi này được phát hiển bởi người dùng thì chi phí cho việc bảo trì,
xác địn lỗi có thể gấp rất nhiều lần chi phí tìm lỗi trong quá trình phát triển. Vậy
kiểm thử thành công là kiểm thử tìm ra lỗi.
Chúng ta cần nhớ rằng “Kiểm thử không thể chứng được việc không có khiếm
khuyết, nó chỉ có thể chứng minh rằng khiếm khuyến phần mềm hiện hữu.”
1.2.1.3 Các giai đoạn kiểm thử phần mềm
Trong quá trình kiểm thử gồm 4 giai đoạn:
-
Phác họa môi trường của phần mềm: Tìm xem có khoảng bao nhiêu
trường hợp cần kiểm thử, là những trường hợp nào.
-
Tìm kịch bản kiểm thử: Mỗi kịch bản sẽ có thời gian và chi phí cần thiết.
Chỉ chọn một số kịch bản tiêu biểu để dùng cho kế hoạch kiểm thử.
-
Thực thi và đánh giá kịch bản kiểm thử:
9
Thực thi kịch bản kiểm thử: Để kết luận kết quả kiểm thử là đúng hay sai,
người kiểm thử chuyển nó thành hình thức có thể thực thi được bằng cách thực hiện
lại các thao tác của người dùng dựa trên kịch bản kiểm thử đó.
Đánh giá kịch bản kiểm thử: Đánh giá phải dựa trên kết quả thực thi của
phần mềm, kết quả thực thi kịch bản kiểm thử, kết quả mong muốn theo bản đặc tả
yêu cầu. Bản đặc tả phải được đảm bảo đúng. Người kiểm thử sẽ so sánh kết quả
thực thi và kết quả mong muốn có gì sai khác không
-
Đo lường sự tiến bộ của phần mềm sau khi đã kiểm thử: Đáng giá tiến
trình kiểm thử dựa trên độ đo về kết quả kiểm thử.
1.2.1.4 Kiểm thử trong các giai đoạn phát triển phần mềm
Chu trình kiểm thử:
1. Phân tích yêu cầu: Quá trình kiểm thử nên được bắt đầu từ giai đoạn yêu
cầu của phần mềm.
2. Phân tích thiết kế: Trong suốt giai đoạn thiết kế, nhóm kiểm thử nên làm
việc với nhóm phát triển để hiểu rõ cách thiết kế nhằm kiểm thử dễ dàng và sớm
hơn.
3. Lên kế hoạch kiểm thử.
4. Trình bày kiểm thử: Thủ tục kiểm thử, kịch bản kiểm thử, những trường
hợp kiểm thử, những tập lệnh kiểm thử để sử dụng trong quá trình kiểm thử.
5. Tiến hành kiểm thử: Những nhà kiểm thử tiến hành thực thi các trường
hợp kiểm thử theo bản kế hoạch đã lập ra và thông báo tất cả lỗi tìm được cho nhà
phát triển.
6. Thông báo kết quả kiểm thử: Khi quá trình kiểm thử thành công, người
kiểm thử thông báo kiểm thử.
Không phải tất cả các lỗi và khuyết điểm đều phải được sửa chữa bởi nhóm
phát triển phần mềm. Một số khuyết điểm có thể do cấu hình kiểm thử chưa phù
hợp với môi trường phần mềm. Một số lỗi khác có thể đợi để sửa ở phiên bản mới
của phần mềm hoặc những thiếu sót có thể được người dùng chấp nhận. Nhóm phát
10
triển có thể bỏ qua những lỗi mà họ cho rằng nó ảnh hưởng không đáng kể đến
chương trình.
a, Kiểm thử trong giai đoạn đặc tả yêu cầu
Kiểm thử yêu cầu hệ thống
Mục đích của kiểm thử yêu cầu hệ thống là:
- Đảm bảo cấu hình phần cứng, hệ điều hành phù hợp với phần mềm cần kiểm
thử.
- Chắc chắn rằng mọi chức năng hệ thống phần mềm đều thực thi tốt.
- Đảm bảo các cấu hình trong hệ thống phần mềm đều được nhận ra.
- Kiểm chứng sự chính xác của cấu trúc hệ thống phần mềm.
- Đảm bảo rằng số lượng các yêu cầu và số lượng thuộc tính của yêu cầu theo
đúng lý thuyết.
- Đảm bảo rằng những yêu cầu có thể thực hiện được.
Kiểm thử yêu cầu phần mềm
Kiểm thử yêu cầu phần mềm là kiểm tra chi tiết các yêu cầu tương ứng với
những chức năng của phần mềm. Mục đích:
- Xác nhận đã hoàn thành.
- Đảm bảo rằng bản đặc tả yêu cầu đáng tin cậy, có thể duy trì được, khả thi và
chính xác.
- Đảm bảo khả năng làm đúng các yêu cầu ở mức cao nhất.
- Xác nhận rằng các yêu cầu đã đủ cho việc thiết kế phần mềm.
- Xác nhận những yêu cầu là thích hợp và có thể kiểm tra được.
b, Kiểm thử trong giai đoạn thiết kế.
Kiểm thử thiết kế kiến trúc
Mục đích của việc kiểm tra thiết kế kiến trúc là:
11
- Xem thêm -