Tải bản đầy đủ (.doc) (76 trang)

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC : Kiểm thử ứng dụng Web “ KPIonline” với công cụ Selenium .

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 (2.53 MB, 76 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài : Kiểm thử ứng dụng Web “ KPIonline” với công cụ
Selenium .
Sinh viên thực hiện : Nguyễn Thị Kim Anh
Lớp

: Hệ thống thông tin – K7

Khóa học : 2012 - 2016
Giáo viên hướng dẫn : ThS.Nguyễn Thị Thanh Huyền.
Thời gian viết đồ án :

Hà Nội: 2016


Phiếu giao đề tài


NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của GV hướng dẫn)

.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................
.................................................................................................................................


Điểm ..............................................................(bằng chữ ......................................)
(Đồng ý/ không đồng ý cho SV bảo vệ trước hội đồng chấm đồ án tốt nghiệp)
Hà Nội, ngày .... tháng ..... năm 2016
CÁN BỘ, GIẢNG VIÊN HƯỚNG DÂN


LỜI NÓI ĐẦU
Lời đầu tiên cho em xin gửi lời cảm ơn chân thành và sâu sắc tới các thầy
giáo, cô giáo trong trường Đại Học Công Nghiệp Hà Nội và đặc biệt là thầy giáo, cô
giáo trong khoa Công Nghệ Thông Tin, bộ môn Công Nghệ Phần Mềm đã tận tình
giảng dạy truyền đạt cho em những kiến thức, kinh nghiệm vô cùng quý báu trong
suốt thời gian qua.
Đặc biệt em xin gửi lời cảm ơn tới cô giáo ThS.Nguyễn Thị Thanh Huyền,
cô đã tận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm đồ
án tốt nghiệp. Trong thời gian làm việc với cô, em không ngừng tiếp thu được
những kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu
nghiêm túc, hiệu quả. Đây là những điều rất cần thiết cho em trong suốt quá trình
học tập và công tác sau này.
Mặc dù trong quá trình nghiên cứu và làm đồ án em đã rất cố gắng, tuy nhiên
không thể tránh khỏi những thiếu sót. Em hy vọng sẽ nhận được những ý kiến nhận
xét, góp ý của các nhà khoa học, cũng như các thầy cô giáo cùng các bạn về những
vấn đề được triển khai trong đồ án tốt nghiệp.
Cuối cùng em xin gửi lời cảm ơn chân thành tới công ty cổ phần Proview, đã
đóng góp ý kiến và giúp đỡ em trong quá trình học tập, nghiên cứu và hoàn thành
đồ án tốt nghiệp này.
Em xin chân thành cảm ơn!


TÓM TẮT ĐỒ ÁN
Trong giai đoạn phát triển của công nghệ thông tin, ngành công nghệ phần

mềm đang ngày một chiếm vị trí quan trọng trong xu hướng phát triển kinh tế công
nghiệp hóa, hiện đại hóa của đất nước ta. Cùng với sự phát triển của công nghệ
phần mềm, lỗi phần mềm và chất lượng phần mềm luôn là thách thức lớn với bản
thân ngành phần mềm khi thực tế đã chứng minh, kiểm thử phần mềm là giai đoạn
chiếm đến hơn 40% thời gian, kinh phí và nguồn nhân lực phát triển dự án phần
mềm.Tuy nhiên ở Việt Nam hiện nay, việc kiểm thử phần mềm vẫn chưa thực sự
được nhìn nhận đúng với tầm quan trọng của nó. Điều này thể hiện ở tỷ lệ kỹ sư
kiểm thử phần mềm ở Việt Nam còn khá thấp, cứ 5 lập trình viên thì mới có 1 kỹ sư
kiểm thử, trong khi tỷ lệ này theo chuẩn quốc tế là 3:1. Thêm vào đó, mức độ đáp
ứng của kỹ sư kiểm thử phần mềm ở Việt Nam chưa cao. Nguyên nhân của việc này
đến từ sự thiếu hụt các đơn vị đào tạo chuyên sâu về kiểm thử và nguyên nhân sâu
xa vẫn là vấn đề kiểm thử phần mềm ở Việt Nam vẫn chưa được chuyên nghiệp hóa
và đầu tư đúng mức.
Ngày nay, tự động hóa đang được nghiên cứu và ứng dụng trong nhiều lĩnh
vực trong đó công nghệ phần mềm nói chung và kiểm thử phần mềm nói riêng cũng
không ngoại lệ. Khi mà kiểm thử phần mềm vẫn tiêu tốn một lượng lớn thời gian,
kinh phí và nhân lực trong một dự án phần mềm thì song song với kiểm thử truyền
thông thủ công, sự ra đời của các công cụ hỗ trợ kiểm thử tự động như: Quick Test
Professional, Selenium IDE, Nunit…
Selenium là một công cụ kiểm thử ứng dụng Web tiêu biểu. Đây là một công cụ mã
nguồn mở, mạnh mẽ hỗ trợ trên nền Web, nhiều platform và các trình duyệt phổ
biến. Công cụ này được phát triển chủ yếu trong Java script và công nghệ trình
duyệt như DHTML và các khung hình, và do đó hỗ trợ tất cả các trình duyệt chính
trên tất cả các nền tảng. Selenium có lẽ là một trong những công cụ tốt nhất trên thị
trường cho các ứng dụng Web. Điều đáng lưu ý là kiểm thử phần mềm nói chung
và kiểm thử ứng dụng web nói riêng đều chưa được phổ biến ở Việt Nam. Đây cũng
lý do em chọn đề tài “Kiểm thử ứng dụng Web với công cụ Selenium” với mong
muốn giúp nhiều người hiểu rõ hơn nữa về kiểm thử ứng dụng web, cũng như cách
sử dụng công cụ Selenium vào công việc này.



MỤC LỤC
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI........................................................................................1
KHOA CÔNG NGHỆ THÔNG TIN.........................................................................................................1
ĐỒ ÁN...............................................................................................................................................1
TỐT NGHIỆP ĐẠI HỌC........................................................................................................................1
Đề tài : Kiểm thử ứng dụng Web “ KPIonline” với công cụ ..............................................................1
Selenium ...........................................................................................................................................1
Sinh viên thực hiện : Nguyễn Thị Kim Anh..................................................................................1
Lớp

: Hệ thống thông tin – K7..............................................................................1

Khóa học : 2012 - 2016..........................................................................................................1
........................................................................................................................................................1
Giáo viên hướng dẫn : ThS.Nguyễn Thị Thanh Huyền....................................................................1
Thời gian viết đồ án : .....................................................................................................................1
..........................................................................................................................................................1
Hà Nội: 2016......................................................................................................................................1
Phiếu giao đề tài................................................................................................................................2
LỜI NÓI ĐẦU......................................................................................................................................4
TÓM TẮT ĐỒ ÁN................................................................................................................................5
DANH SÁCH CÁC HÌNH VẼ................................................................................................................10
DANH SÁCH CÁC TỪ VIẾT TẮT.........................................................................................................18
PHẦN MỞ ĐẦU................................................................................................................................19
CHƯƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM.....................................................................20
CHƯƠNG 2: SỬ DỤNG CÔNG CỤ HỖ TRỢ SELENIUM ĐỂ

............................................................32


KIỂM THƯ ỨNG DỤNG WEB.....................................................................32
Hình 2.1 : Trang Download tiện ích IDE...........................................................................................36
Hình 2.2: Popup Alow hiển thị khi cài đặt IDE.................................................................................36
Hình 2.3: Các thành phần được cài đặt trong Selenium IDE............................................................36
Hình 2.4: Thao tác mở IDE trên menu Tools....................................................................................37


Hình 2.5: Giao diện Selenium IDE....................................................................................................37
Hình 2.6: Giải thích các thành phần và ký hiệu của Selenium IDE....................................................38
Hình 2.8: Ví dụ thực hành cách ghi 1 script....................................................................................40
Hình 2.9: Chèn câu lệnh ở dạng bảng..............................................................................................42
Hình 2.10: Chèn lệnh trong mã nguồn.............................................................................................43
Hình 2.11: Chèn nhận xét ở dạng bảng............................................................................................44
Hình 2.12: Chèn nhận xét trong mã nguồn......................................................................................45
1.XPATHS và cài đặt firebug add-on................................................................................................46
Hình 2.14 :.......................................................................................................................................51
Các câu lệnh wait.............................................................................................................................51
Hình 2.15. Lệnh verifyTextPresent...................................................................................................52
Hình 2.16. Lệnh verifyText...............................................................................................................54
Hình 2.18. Sự thay đổi dữ liệu của đoạn mã JaveScript...................................................................55
Hình 2.20 : Cài đặt selenium IDE......................................................................................................60
CHƯƠNG III : DEMO CHƯƠNG TRÌNH............................................................................................63
- Xác định thông tin cơ bản về dự án và các thành phần chức năng được kiểm thử và không được
kiểm thử..........................................................................................................................................63
- Liệt kê những yêu cầu cho việc kiểm thử (Test Requirements).....................................................63
- Những chiến lược kiểm thử nên được sử dụng.............................................................................63
- Ước lượng những yêu cầu về tài nguyên và chi phí cho việc kiểm thử.........................................63
- Những tài liệu được lập sau khi hoàn thành việc kiểm thử...........................................................63
1.3. Phạm vi :...................................................................................................................................63
- Các chức năng cần kiểm tra:..........................................................................................................63

+ Tạo tài khoản và Đăng nhập........................................................................................................63
+ Thêm mới dự án..........................................................................................................................63
+ Tìm kiếm......................................................................................................................................63
+ Ủy quyền....................................................................................................................................63


+ Báo cáo công việc theo dự án (báo cáo theo sản lượng ,doanh thu còn lại , tổng hợp báo cáo
theo khách hàng ,theo nhân viên và theo dự án )...........................................................................63
1.4. Lập kế hoạch kiểm thử :...........................................................................................................63
Bảng 3.2. Danh sách phần mềm......................................................................................................65
Máy tính cá nhân có kết nối mạng Internet để có thể truy cập vào trang web
bằng trình duyệt....................................................................................65
Các chức năng của trang web được kiểm tra trên các trình duyệt IE8, Mozilla Firefox 12.0 và
Google Chrome 19.0.1084.56..........................................................................................................65
Hệ điều hành được sử dụng là Microsoft Windows 7 Professional.................................................65
II. Yêu cầu Người sử dụng...............................................................................................................65
2.1. Tổng quan về yêu cầu chức năng của hệ thống :......................................................................65
- Quản lý dự án hàng ngày do người dùng tạo................................................................................66
- Xác định được công việc đã hoàn thành, đang xử lý,..theo trạng thái hay độ ưu tiên..................66
- Xem công việc ở List tasks , biểu đồ Gantt hay Lịch biểu...............................................................66
- Thống kê – báo cáo công việc trong dự án....................................................................................66
2.2. Tổng quan về yêu cầu phi chức năng của hệ thống :................................................................66
Bảng 3.4. Danh sách yêu cầu...........................................................................................................67
III. Đặc tả yêu cầu ...........................................................................................................................69
Xác định tác nhân của hệ thống :....................................................................................................69
Bảng 3.5. Tác nhân của hệ thống.....................................................................................................69
Tác nhân..........................................................................................................................................69
Mô tả...............................................................................................................................................69
Admin..............................................................................................................................................69
Là người điều hành mọi hoạt động của hệ thống, có thể phân quyền cho người dùng trong hệ

thống để người dùng thực hiện chức năng quản lý công việc của mình.........................................69
Xử lý thông báo lỗi, thông báo thay đổi dữ liệu..............................................................................69
Người tạo (Người quản lý )..............................................................................................................69
Là người tạo dự án.........................................................................................................................69
Người này có toàn quyền: thêm, sửa, xóa dự án, chia sẻ cho người khác......................................69


Người chịu trách nhiệm...................................................................................................................69
Là người chịu trách nhiệm chính thực hiện công việc.....................................................................69
Nếu đc phân quyền chỉnh sửa thì có quyền chỉnh sửa dự án mà người khác giao cho. .................69
Biểu đồ Usecase cho hệ thống.........................................................................................................69
........................................................................................................................................................70
Hình 3.2: Đặc tả Usecase.................................................................................................................70
Usecase ‘’ Đăng nhập’’ :...................................................................................................................70
Mô tả tóm tắt:.................................................................................................................................70
Mô tả tóm tắt: Mô tả cách Người sử dụng quản lý dự án của mình,và dự án có liên quan đến mình.
........................................................................................................................................................71
Người tham gia hỗ trợ người chịu trách nhiệm để hoàn thành công việc.......................................72
Người theo dõi được gán vào với mục đích theo dõi công việc, không trực tiếp thực hiện công
việc, có thể là người có liên quan đến công việc này.......................................................................72
Mô tả tóm tắt: Mô tả cách Người tạo muốn giao quyền công việc cho người khác........................73
........................................................................................................................................................77
Hình 3.4 : Giao diện trang chủ.........................................................................................................80
Hình 3.5: Giao diện thêm mới dự án...............................................................................................81
Hình 3.6 : Giao diện báo cáo dự án không có giao dịch phát sinh...................................................81
Hình 3.7: Giao diện báo cáo công việc theo tuần............................................................................82


DANH SÁCH CÁC HÌNH VẼ
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI........................................................................................1

KHOA CÔNG NGHỆ THÔNG TIN.........................................................................................................1
ĐỒ ÁN...............................................................................................................................................1
TỐT NGHIỆP ĐẠI HỌC........................................................................................................................1
Đề tài : Kiểm thử ứng dụng Web “ KPIonline” với công cụ ..............................................................1
Selenium ...........................................................................................................................................1
Sinh viên thực hiện : Nguyễn Thị Kim Anh..................................................................................1
Lớp

: Hệ thống thông tin – K7..............................................................................1

Khóa học : 2012 - 2016..........................................................................................................1
........................................................................................................................................................1
Giáo viên hướng dẫn : ThS.Nguyễn Thị Thanh Huyền....................................................................1
Thời gian viết đồ án : .....................................................................................................................1
..........................................................................................................................................................1
Hà Nội: 2016......................................................................................................................................1
Phiếu giao đề tài................................................................................................................................2
LỜI NÓI ĐẦU......................................................................................................................................4
TÓM TẮT ĐỒ ÁN................................................................................................................................5
DANH SÁCH CÁC HÌNH VẼ................................................................................................................10
DANH SÁCH CÁC TỪ VIẾT TẮT.........................................................................................................18
PHẦN MỞ ĐẦU................................................................................................................................19
CHƯƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM.....................................................................20
CHƯƠNG 2: SỬ DỤNG CÔNG CỤ HỖ TRỢ SELENIUM ĐỂ

............................................................32

KIỂM THƯ ỨNG DỤNG WEB.....................................................................32
Hình 2.1 : Trang Download tiện ích IDE...........................................................................................36



Hình 2.2: Popup Alow hiển thị khi cài đặt IDE.................................................................................36
Hình 2.3: Các thành phần được cài đặt trong Selenium IDE............................................................36
Hình 2.4: Thao tác mở IDE trên menu Tools....................................................................................37
Hình 2.5: Giao diện Selenium IDE....................................................................................................37
Hình 2.6: Giải thích các thành phần và ký hiệu của Selenium IDE....................................................38
Hình 2.8: Ví dụ thực hành cách ghi 1 script....................................................................................40
Hình 2.9: Chèn câu lệnh ở dạng bảng..............................................................................................42
Hình 2.10: Chèn lệnh trong mã nguồn.............................................................................................43
Hình 2.11: Chèn nhận xét ở dạng bảng............................................................................................44
Hình 2.12: Chèn nhận xét trong mã nguồn......................................................................................45
1.XPATHS và cài đặt firebug add-on................................................................................................46
Hình 2.14 :.......................................................................................................................................51
Các câu lệnh wait.............................................................................................................................51
Hình 2.15. Lệnh verifyTextPresent...................................................................................................52
Hình 2.16. Lệnh verifyText...............................................................................................................54
Hình 2.18. Sự thay đổi dữ liệu của đoạn mã JaveScript...................................................................55
Hình 2.20 : Cài đặt selenium IDE......................................................................................................60
CHƯƠNG III : DEMO CHƯƠNG TRÌNH............................................................................................63
- Xác định thông tin cơ bản về dự án và các thành phần chức năng được kiểm thử và không được
kiểm thử..........................................................................................................................................63
- Liệt kê những yêu cầu cho việc kiểm thử (Test Requirements).....................................................63
- Những chiến lược kiểm thử nên được sử dụng.............................................................................63
- Ước lượng những yêu cầu về tài nguyên và chi phí cho việc kiểm thử.........................................63
- Những tài liệu được lập sau khi hoàn thành việc kiểm thử...........................................................63
1.3. Phạm vi :...................................................................................................................................63
- Các chức năng cần kiểm tra:..........................................................................................................63
+ Tạo tài khoản và Đăng nhập........................................................................................................63
+ Thêm mới dự án..........................................................................................................................63



+ Tìm kiếm......................................................................................................................................63
+ Ủy quyền....................................................................................................................................63
+ Báo cáo công việc theo dự án (báo cáo theo sản lượng ,doanh thu còn lại , tổng hợp báo cáo
theo khách hàng ,theo nhân viên và theo dự án )...........................................................................63
1.4. Lập kế hoạch kiểm thử :...........................................................................................................63
Bảng 3.2. Danh sách phần mềm......................................................................................................65
Máy tính cá nhân có kết nối mạng Internet để có thể truy cập vào trang web
bằng trình duyệt....................................................................................65
Các chức năng của trang web được kiểm tra trên các trình duyệt IE8, Mozilla Firefox 12.0 và
Google Chrome 19.0.1084.56..........................................................................................................65
Hệ điều hành được sử dụng là Microsoft Windows 7 Professional.................................................65
II. Yêu cầu Người sử dụng...............................................................................................................65
2.1. Tổng quan về yêu cầu chức năng của hệ thống :......................................................................65
- Quản lý dự án hàng ngày do người dùng tạo................................................................................66
- Xác định được công việc đã hoàn thành, đang xử lý,..theo trạng thái hay độ ưu tiên..................66
- Xem công việc ở List tasks , biểu đồ Gantt hay Lịch biểu...............................................................66
- Thống kê – báo cáo công việc trong dự án....................................................................................66
2.2. Tổng quan về yêu cầu phi chức năng của hệ thống :................................................................66
Bảng 3.4. Danh sách yêu cầu...........................................................................................................67
III. Đặc tả yêu cầu ...........................................................................................................................69
Xác định tác nhân của hệ thống :....................................................................................................69
Bảng 3.5. Tác nhân của hệ thống.....................................................................................................69
Tác nhân..........................................................................................................................................69
Mô tả...............................................................................................................................................69
Admin..............................................................................................................................................69
Là người điều hành mọi hoạt động của hệ thống, có thể phân quyền cho người dùng trong hệ
thống để người dùng thực hiện chức năng quản lý công việc của mình.........................................69
Xử lý thông báo lỗi, thông báo thay đổi dữ liệu..............................................................................69
Người tạo (Người quản lý )..............................................................................................................69



Là người tạo dự án.........................................................................................................................69
Người này có toàn quyền: thêm, sửa, xóa dự án, chia sẻ cho người khác......................................69
Người chịu trách nhiệm...................................................................................................................69
Là người chịu trách nhiệm chính thực hiện công việc.....................................................................69
Nếu đc phân quyền chỉnh sửa thì có quyền chỉnh sửa dự án mà người khác giao cho. .................69
Biểu đồ Usecase cho hệ thống.........................................................................................................69
........................................................................................................................................................70
Hình 3.2: Đặc tả Usecase.................................................................................................................70
Usecase ‘’ Đăng nhập’’ :...................................................................................................................70
Mô tả tóm tắt:.................................................................................................................................70
Mô tả tóm tắt: Mô tả cách Người sử dụng quản lý dự án của mình,và dự án có liên quan đến mình.
........................................................................................................................................................71
Người tham gia hỗ trợ người chịu trách nhiệm để hoàn thành công việc.......................................72
Người theo dõi được gán vào với mục đích theo dõi công việc, không trực tiếp thực hiện công
việc, có thể là người có liên quan đến công việc này.......................................................................72
Mô tả tóm tắt: Mô tả cách Người tạo muốn giao quyền công việc cho người khác........................73
........................................................................................................................................................77
Hình 3.4 : Giao diện trang chủ.........................................................................................................80
Hình 3.5: Giao diện thêm mới dự án...............................................................................................81
Hình 3.6 : Giao diện báo cáo dự án không có giao dịch phát sinh...................................................81
Hình 3.7: Giao diện báo cáo công việc theo tuần............................................................................82

DANH SÁCH CÁC BẢNG BIỂU


TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI........................................................................................1
KHOA CÔNG NGHỆ THÔNG TIN.........................................................................................................1
ĐỒ ÁN...............................................................................................................................................1

TỐT NGHIỆP ĐẠI HỌC........................................................................................................................1
Đề tài : Kiểm thử ứng dụng Web “ KPIonline” với công cụ ..............................................................1
Selenium ...........................................................................................................................................1
Sinh viên thực hiện : Nguyễn Thị Kim Anh..................................................................................1
Lớp

: Hệ thống thông tin – K7..............................................................................1

Khóa học : 2012 - 2016..........................................................................................................1
........................................................................................................................................................1
Giáo viên hướng dẫn : ThS.Nguyễn Thị Thanh Huyền....................................................................1
Thời gian viết đồ án : .....................................................................................................................1
..........................................................................................................................................................1
Hà Nội: 2016......................................................................................................................................1
Phiếu giao đề tài................................................................................................................................2
LỜI NÓI ĐẦU......................................................................................................................................4
TÓM TẮT ĐỒ ÁN................................................................................................................................5
DANH SÁCH CÁC HÌNH VẼ................................................................................................................10
DANH SÁCH CÁC TỪ VIẾT TẮT.........................................................................................................18
PHẦN MỞ ĐẦU................................................................................................................................19
CHƯƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM.....................................................................20
CHƯƠNG 2: SỬ DỤNG CÔNG CỤ HỖ TRỢ SELENIUM ĐỂ

............................................................32

KIỂM THƯ ỨNG DỤNG WEB.....................................................................32
Hình 2.1 : Trang Download tiện ích IDE...........................................................................................36
Hình 2.2: Popup Alow hiển thị khi cài đặt IDE.................................................................................36
Hình 2.3: Các thành phần được cài đặt trong Selenium IDE............................................................36
Hình 2.4: Thao tác mở IDE trên menu Tools....................................................................................37



Hình 2.5: Giao diện Selenium IDE....................................................................................................37
Hình 2.6: Giải thích các thành phần và ký hiệu của Selenium IDE....................................................38
Hình 2.8: Ví dụ thực hành cách ghi 1 script....................................................................................40
Hình 2.9: Chèn câu lệnh ở dạng bảng..............................................................................................42
Hình 2.10: Chèn lệnh trong mã nguồn.............................................................................................43
Hình 2.11: Chèn nhận xét ở dạng bảng............................................................................................44
Hình 2.12: Chèn nhận xét trong mã nguồn......................................................................................45
1.XPATHS và cài đặt firebug add-on................................................................................................46
Hình 2.14 :.......................................................................................................................................51
Các câu lệnh wait.............................................................................................................................51
Hình 2.15. Lệnh verifyTextPresent...................................................................................................52
Hình 2.16. Lệnh verifyText...............................................................................................................54
Hình 2.18. Sự thay đổi dữ liệu của đoạn mã JaveScript...................................................................55
Hình 2.20 : Cài đặt selenium IDE......................................................................................................60
CHƯƠNG III : DEMO CHƯƠNG TRÌNH............................................................................................63
- Xác định thông tin cơ bản về dự án và các thành phần chức năng được kiểm thử và không được
kiểm thử..........................................................................................................................................63
- Liệt kê những yêu cầu cho việc kiểm thử (Test Requirements).....................................................63
- Những chiến lược kiểm thử nên được sử dụng.............................................................................63
- Ước lượng những yêu cầu về tài nguyên và chi phí cho việc kiểm thử.........................................63
- Những tài liệu được lập sau khi hoàn thành việc kiểm thử...........................................................63
1.3. Phạm vi :...................................................................................................................................63
- Các chức năng cần kiểm tra:..........................................................................................................63
+ Tạo tài khoản và Đăng nhập........................................................................................................63
+ Thêm mới dự án..........................................................................................................................63
+ Tìm kiếm......................................................................................................................................63
+ Ủy quyền....................................................................................................................................63



+ Báo cáo công việc theo dự án (báo cáo theo sản lượng ,doanh thu còn lại , tổng hợp báo cáo
theo khách hàng ,theo nhân viên và theo dự án )...........................................................................63
1.4. Lập kế hoạch kiểm thử :...........................................................................................................63
Bảng 3.2. Danh sách phần mềm......................................................................................................65
Máy tính cá nhân có kết nối mạng Internet để có thể truy cập vào trang web
bằng trình duyệt....................................................................................65
Các chức năng của trang web được kiểm tra trên các trình duyệt IE8, Mozilla Firefox 12.0 và
Google Chrome 19.0.1084.56..........................................................................................................65
Hệ điều hành được sử dụng là Microsoft Windows 7 Professional.................................................65
II. Yêu cầu Người sử dụng...............................................................................................................65
2.1. Tổng quan về yêu cầu chức năng của hệ thống :......................................................................65
- Quản lý dự án hàng ngày do người dùng tạo................................................................................66
- Xác định được công việc đã hoàn thành, đang xử lý,..theo trạng thái hay độ ưu tiên..................66
- Xem công việc ở List tasks , biểu đồ Gantt hay Lịch biểu...............................................................66
- Thống kê – báo cáo công việc trong dự án....................................................................................66
2.2. Tổng quan về yêu cầu phi chức năng của hệ thống :................................................................66
Bảng 3.4. Danh sách yêu cầu...........................................................................................................67
III. Đặc tả yêu cầu ...........................................................................................................................69
Xác định tác nhân của hệ thống :....................................................................................................69
Bảng 3.5. Tác nhân của hệ thống.....................................................................................................69
Tác nhân..........................................................................................................................................69
Mô tả...............................................................................................................................................69
Admin..............................................................................................................................................69
Là người điều hành mọi hoạt động của hệ thống, có thể phân quyền cho người dùng trong hệ
thống để người dùng thực hiện chức năng quản lý công việc của mình.........................................69
Xử lý thông báo lỗi, thông báo thay đổi dữ liệu..............................................................................69
Người tạo (Người quản lý )..............................................................................................................69
Là người tạo dự án.........................................................................................................................69
Người này có toàn quyền: thêm, sửa, xóa dự án, chia sẻ cho người khác......................................69



Người chịu trách nhiệm...................................................................................................................69
Là người chịu trách nhiệm chính thực hiện công việc.....................................................................69
Nếu đc phân quyền chỉnh sửa thì có quyền chỉnh sửa dự án mà người khác giao cho. .................69
Biểu đồ Usecase cho hệ thống.........................................................................................................69
........................................................................................................................................................70
Hình 3.2: Đặc tả Usecase.................................................................................................................70
Usecase ‘’ Đăng nhập’’ :...................................................................................................................70
Mô tả tóm tắt:.................................................................................................................................70
Mô tả tóm tắt: Mô tả cách Người sử dụng quản lý dự án của mình,và dự án có liên quan đến mình.
........................................................................................................................................................71
Người tham gia hỗ trợ người chịu trách nhiệm để hoàn thành công việc.......................................72
Người theo dõi được gán vào với mục đích theo dõi công việc, không trực tiếp thực hiện công
việc, có thể là người có liên quan đến công việc này.......................................................................72
Mô tả tóm tắt: Mô tả cách Người tạo muốn giao quyền công việc cho người khác........................73
........................................................................................................................................................77
Hình 3.4 : Giao diện trang chủ.........................................................................................................80
Hình 3.5: Giao diện thêm mới dự án...............................................................................................81
Hình 3.6 : Giao diện báo cáo dự án không có giao dịch phát sinh...................................................81
Hình 3.7: Giao diện báo cáo công việc theo tuần............................................................................82


DANH SÁCH CÁC TỪ VIẾT TẮT
Ký hiệu/ Thuật ngữ

Ý nghĩa

V&V


Xác nhận và thẩm định

API

Giao diện lập trình ứng dụng

DEV

Người lập trình

QA

Nhân viên quản lý chất lượng

Q&A

Câu hỏi và trả lời

PL

Project Leader

User

Tên đăng nhập,

Test case

Trường hợp kiểm thử


Test suite

Tập hợp các trường hợp kiểm thử trong Selenium

Test script

Tập hợp các trường hợp kiểm thử

Selenium RC

Selenium Remote Control

DOM

Document Object Model


PHẦN MỞ ĐẦU
Mục tiêu nghiên cứu
-

Đề tài giới thiệu về phần mềm, các loại kiểm thử phần mềm, các
công cụ hỗ trợ kiểm thử tự động.

- Đi sâu vào nghiên cứu tính năng của công cụ Selenium, các thành
phần của bộ công cụ.
-

Đưa ra tài liệu, hướng dẫn cài đặt, sử dụng một cách đơn giản và


hiệu quả các bộ công cụ đó.
-

Ứng dụng kiến thức về kiểm thử phần mềm và kiến thức về

Selenium viết kịch bản cho một ứng dụng cụ thể.
Bố cục nội dung của đồ án
Đồ án tốt nghiệp được tổ chức làm 5 phần như sau :
-

Mở đầu: Trình bày rõ lý do chọn đề tài, mục tiêu nghiên cứu đồ án

và bố cục của đồ án.
-

Chương 1: Tổng quan về kiểm thử : Chương này trình bày các khái
niệm cơ bản về phần mềm, kiểm thử phần mềm, các loại kiểm thử
phần mềm.

-

Chương 2: Sử dụng công cụ test Selenium để test ứng dụng Web:

Giới thiệu chung về Selenium, các cài đặt và sử dụng bộ công cụ, ứng dụng
thực tế với Selenium.
-

Chương 3: Demo chương trình

-


Kết luận: Chương này đưa ra những kết quả đồ án đạt được, những
thiếu sót chưa thực hiện được và hướng phát triển đề tài trong tương
lai.


CHƯƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM
1.1.

Định nghĩa kiểm thử phần mềm
Kiểm thử phần mềm có nhiều định nghĩa khác nhau đề xuất bởi nhiều tổ

chức hay cá nhân khác nhau. Phần này của đồ án sẽ trình bày một số định nghĩa
nổi bật:
- Định nghĩa của Myer (1979): "Kiểm thử là quá trình thực thi một chương

trình với mục đích tìm ra lỗi". Theo như định nghĩa này, quá trình kiểm thử bao
gồm tất cả các hoạt động từ kiểm tra mã nguồn được thực hiện bởi trưởng nhóm
phát triển, đến việc chạy thử chương trình được tiến hành bởi các đồng nghiệp
khác. Tất cả các hoạt động trên đều được coi là các hoạt động kiểm thử.
- Hai định nghĩa của IEEE (1990):

 Định nghĩa 1: Kiểm thử phần mềm là quá trình vận hành một hệ
thống hoặc một thành phần của hệ thống với các điều kiện xác định, nhận xét và
ghi lại các kết quả, tạo ra đánh giá về những khía cạnh của hệ thống hay thành
phần hệ thống.
 Định nghĩa 2: Kiểm thử phần mềm là quá trình phân tích các yếu tố
phần mềm để phát hiện những khác biệt giữa chương trình với các điều kiện yêu
cầu và đánh giá các đặc điểm của các yếu tố phần mềm.
Theo như định nghĩa 2, việc chạy chương trình như một phần của tiến trình

kiểm thử phần mềm là không cần thiết.
- Định nghĩa của Daniel Galin: "Kiểm thử phần mềm là một quá trình

được tiến hành bởi một nhóm chuyên viên kiểm thử, trong đó một đơn vị phần
mềm, một nhóm các đơn vị được tích hợp, hoặc cả gói phần mềm được kiểm tra
bằng các chạy các chương trình trên máy tính. Tất cả các bước kiểm tra liên được


tiến hành theo các thủ tục kiểm thử và các trường hợp kiểm thử đã được thông
qua".
Định nghĩa của Daniel Galin là một định nghĩa khá hoàn thiện về kiểm
thử phần mềm. Một số thuật ngữ có trong định nghĩa của Daniel Galin:
•Nhóm chuyên viên kiểm thử: Một nhóm độc lập hoặc nhóm tư vấn từ
bên ngoài, những người chuyên kiểm thử được chỉ định để thực hiện các nhiệm
vụ chủ yếu là để phát hiện và loại bỏ sai lệch và để đảm bảo kiểm thử hiệu quả bởi
các chuyên gia kiểm thử được đào tạo.
•Các thủ tục kiểm thử đã được thông qua: Quá trình kiểm thử được thực
hiện theo kế hoạch kiểm thử và các thủ tục kiểm thử được thông qua phù hợp với
các thủ tục đảm bảo chất lượng phần mềm được thông qua bởi tổ chức phát triển
phần mềm.
•Các trường hợp kiểm thử được thông qua: Các trường hợp kiểm thử được
định nghĩa đầy đủ trong kế hoạch kiểm thử. Không có sự thiếu xót hoặc bổ sung
nào được mong đợi xảy ra trong suốt quá trình thực thi kiểm thử.
1.2. Mục tiêu của kiểm thử phần mềm
1.2.1. Mục tiêu trực tiếp
- Phát hiện và xác định càng nhiều lỗi càng tốt ở các phần mềm được kiểm
thử.
- Tiến hành sửa lỗi ở các phần mềm được kiểm thử và kiểm thử lại cho

đến khi đạt một mức độ chất lượng phần mềm chấp nhận được.

- Thực thi những trường hợp kiểm thử một cách hiệu quả trong một giới

hạn ngân sách và lịch trình cho phép.
1.2.2. Mục tiêu gián tiếp
- Để biên dịch một tài liệu về các lỗi phần mềm thường gặp nhằm mục
đích ngăn ngừa và sửa chữa lỗi.
1.3. Các nguyên tắc cơ bản của kiểm thử phần mềm
Có bảy nguyên tắc cơ bản cần chú ý khi kiểm thử phần mềm, các nguyên tắc
đó là:
- Kiểm thử để chứng minh sự có mặt của lỗi và không chứng minh điều


ngược lại
- Không thể kiểm thử vét cạn
- Kiểm thử sớm
- Phân cụm lỗi
- Kiểm thử ngược
- Kiểm thử phụ thuộc vào ngữ cảnh
- Sai lầm về việc không có lỗi

1.4 Qui trình kiểm thử phần mềm
Mục đích của kiểm thử là thiết kế một chuỗi các trường hợp kiểm thử mà có
khả năng phát hiện lỗi cao. Để cho việc kiểm thử đạt được kết quả tốt cần có sự
chuẩn bị về kế hoạch kiểm thử, thiết kế các trường hợp kiểm thử và các dữ liệu
kiểm thử cho các trường hợp. Đây chính là đầu vào cho giai đoạn kiểm thử. Và sản
phẩm công việc của giai đoạn kiểm thử chính là “báo cáo kiểm thử” mà tài liệu hóa
tất cả các trường hợp kiểm thử đã chạy, dữ liệu đầu vào, đầu ra mong đợi, đầu ra
thực tế và mục đích của kiểm thử,…

Lập kế

hoạch

Phân
tích

Thiết
kế


hóa

KIỂM
THỬ

Bàn
giao SP

phẩm
Kế hoạch kiểm thử
Các trường hợp kiểm thử

Các báo cáo kiểm thử

Dữ liệu kiểm thử

Hình 1.1: Quy trình phát triển phần mềm
Tùy vào từng tổ chức, hệ thống, ngữ cảnh, mức độ rủi do của phần mềm
mà qui trình kiểm thử phần mềm có thể gồm nhiều bước khác nhau. Nhưng nhìn
chung mọi qui trình kiểm thử đều có những bước cơ bản như qui trình dưới đây:



Hình 1.2: Quy trình kiểm thử
Theo đó một qui trình kiểm thử phần mềm cơ bản gồm 4 giai đoạn:
- Lập kế hoạch kiểm thử : Nhiệm vụ quan trọng trong phần lập kế hoạch

kiểm thử là xác định được các yếu tố sau:
•Các giai đoạn kiểm thử áp dụng cho dự án
•Các phương pháp kiểm thử
•Các công cụ kiểm thử
•Nguồn lực kiểm thử
•Tài nguyên môi trường kiểm thử, bao gồm các tài nguyên phần cứng và
phần mềm
•Mốc bàn giao các tài liệu kiểm thử
- Chuẩn bị kiểm thử : Nhiệm vụ chiến lược của giai đoạn này là:

•Tìm hiểu nghiệp vụ của hệ thống phải kiểm thử
•Xây dựng kịch bản kiểm thử, phát triển các thủ tục và các kịch bản kiểm
thử tự động (trong trường hợp kiểm thử tự động)
•Chuẩn bị dữ liệu kiểm thử
•Xem xét phê duyệt các tài liệu kiểm thử
- Thực thi kiể m thử :

•Thực hiện kiểm thử dựa trên các kịch bản kiểm thử,test script, thủ tục, dữ
liệu có sẵn từ bước chuẩn bị kiểm thử
•Tham gia quá trình quản lý lỗi: báo lỗi, sửa lỗi
- Báo cáo và phân tích dữ liệu kiể m thử :

•Báo cáo kiểm thử
•Phân tích nguyên nhân và đề xuất các hành động khắc phục
1.5. Phân loại kiểm thử



1.5.1. Căn cứ vào kỹ thuật kiểm thử
 Kiểm thử tĩnh: (Static Testing)
Là phương pháp kiểm thử phần mềm đòi hỏi phải duyệt lại các yêu cầu và
các đặc tả bằng tay, thông qua việc sử dụng giấy, bút để kiểm tra logic, lần từng chi
tiết mà không cần chạy chương trình. Kiểu kiểm thử này thường được sử dụng bởi
chuyên viên thiết kế người mà viết mã lệnh một mình.
Kiểm thử tĩnh cũng có thể được tự động hóa. Nó sẽ thực hiện kiểm tra toàn
bộ bao gồm các chương trình được phân tích bởi một trình thông dịch hoặc biên
dịch mà xác nhận tính hợp lệ về cú pháp của chương trình.
 Kiểm thử động: (Dynamic Testing)
Là phương pháp kiểm thử phần mềm thông qua việc dùng máy chạy
chương trình để điều tra trạng thái tác động của chương trình. Đó là kiểm thử
dựa trên các ca kiểm thử xác định bằng sự thực hiện của đối tượng kiểm thử hay
chạy các chương trình. Kiểm thử động kiểm tra cách thức hoạt động của mã lệnh,
tức là kiểm tra sự phản ứng vật lý từ hệ thống tới các biến luôn thay đổi theo thời
gian.
Trong kiểm thử động, phần mềm phải thực sự được biên dịch và chạy.
Kiểm thử động thực sự bao gồm làm việc với phần mềm, nhập các giá trị đầu vào
và kiểm tra xem liệu đầu ra có như mong muốn hay không. Các phương pháp
kiểm thử động gồm có kiểm thử Unit – Unit Tests, Kiểm thử tích hợp –
Intergration Tests, Kiểm thử hệ thống – System Tests, và Kiểm thử chấp nhận sản
phẩm – Acceptance Tests.
1.5.2. Căn cứ vào phương pháp kiểm thử
Có 3 phương pháp kiểm thử phần mềm chính là:
- Kiểm thử hộp đen
- Kiểm thử hộp trắng
- Kiểm thử hộp xám
 Kiểm thử hộp đen

- Kỹ thuật kiểm thử hộp đen xem chương trình như là một “hộp đen”,
trong đó người kiểm thử không quan tâm đến cấu trúc bên trong của chương trình
mà chỉ quan tâm tới dữ liệu đầu vào và đầu ra sau khi được xử lý.


- Mục đích của chiến lược này là tìm kiếm các trường hợp mà chương trình
không thực hiện theo các đặc tả của nó.
- Ưu, nhược điểm: Kiểm thử hộp đen có ưu điểm là có thể đánh giá phần
mềm một cách khách quan, người kiểm thử có thể không hiểu biết về mã lệnh
và có thể tìm ra các lỗi mà nhân viên phát triển không tìm ra. Song kiểm thử hộp
đen lại có nhược điểm là thăm dò mù, do nhân viên kiểm thử không biết các
chương trình thực sự được xây dựng như thế nào, dẫn đến trường hợp nếu kiểm
thử hộp đen phải viết rất nhiều trường hợp kiểm thử trong khi chỉ cần viết một ca
kiểm thử duy nhất để có thể kiểm tra được.
 Kiểm thử hộp trắng
Kỹ thuật kiểm thử hộp trắng hay còn gọi là “kiểm thử cấu trúc” là kỹ thuật
kiểm thử cho phép khảo sát kiến trúc bên trong của chương trình. Kiểm thử hộp
trắng là chiến lược được thực hiện trên ba trong sáu loại kiểm thử cơ bản trong
các giai đoạn kiểm thử phần mềm là: kiểm thử đơn vị, kiểm thử tích hợp và kiểm
thử hồi quy. Mục tiêu của kiểm thử hộp trắng là kiểm thử bao phủ nhiều nhất các
câu lệnh, điểm quyết định và các rẽ nhánh trong mã nguồn nếu có thể.
 Kiểm thử hộp xám
Kiểm thử hộp xám là kỹ thuật kiểm thử có sự kết hợp giữa kiểm thử hộp
đen và kiểm thử hộp trắng. Trong đó ta cũng quan tâm đến dữ liệu đầu vào và đầu
ra giống như trong kiểm thử hộp đen, song lại đòi hỏi có sự truy cập đến cấu trúc
dữ liệu và giải thuật để thiết kế các trường hợp kiểm thử.
1.5.3. Căn cứ vào mức độ giai đoạn
Kiểm thử phần mềm gồm 4 giai đoạn chính:
• Kiểm thử đơn vị
• Kiểm thử tích hợp

• Kiểm thử hệ thống

KIỂMTHỬ ĐƠN VỊ

• Kiểm thử chấp nhận

KIỂM THỬ TÍCH HỢP

KIỂM THỬ HỆ THỐNG

KIỂM THỬ CHẤP


×