Luận văn: Nghiên cứu và xây dựng công cụ kiểm thử ứng dụng Web: Luận văn ThS. Công nghệ thông tin: 60 48 01 03
Nhà xuất bản: ĐHCN
Tìm hiểu về kiểm thử phần mềm như các khái niệm cơ bản về kiểm thử, các mức kiểm thử, ca kiểm thử, các kỹ thuật kiểm thử tĩnh và động. Chương một cũng sẽ đưa ra khái niệm về ứng dụng Web, phân biệt ứng dụng Web với ứng dụng máy khách – máy chủ và các loại kiểm thử cần chú trọng cho ứng dụng Web. Giới thiệu các công cụ kiểm thử tự động phổ biến hiện nay dành cho ứng dụng Web, ngoài việc cung cấp thông tin và cách sử dụng từng công cụ, luận văn còn phân tích ưu nhược điểm của các công cụ giúp người đọc có một gợi ý trước khi lựa chọn công cụ phù hợp cho ứng dụng cần kiểm thử. Xuất phát trên thực tế, mỗi ứng dụng Web đều có những yêu cầu đặc thù riêng biệt nên việc sử dụng các công cụ kiểm thử tự động đã có sẵn có thể không thỏa mãn hay phù hợp với việc kiểm thử các ứng dụng này. Luận văn cũng giới thiệu một nền tảng hỗ trợ xây dựng công cụ kiểm thử tự động nhằm giúp người đọc có thể lựa chọn nền tảng giúp tựtạo công cụ kiểm thử cho phù hợp với nhu cầu của mình. Ứng dụng Web, việc kiểm tra tính hợp lệ của các dữ liệu đầu vào là rất quan trọng do dữ liệu đầu vào không chỉ yêu cầu phải đúng kiểu dữ liệu mà còn đòi hỏi phải đúng định dạng của loại dữ liệu đó. Do đó, ứng dụng Web cần có khả năng kiểm tra tính hợp lệ của dữ liệu đầu vào một cách hiệu quả thì các tiến trình xử lý tiếp theo mới được đảm bảo hoạt động tốt. Một vấn đề nữa là hiện nay có rất nhiều công cụ hỗ trợ cho việc kiểm thử tự động ứng dụng Web, tuy nhiên hầu hết các công cụ chỉ hỗ trợ cho việc thực thi tự động các ca kiểm thử còn việc thiết kế các ca kiểm thử lại rất hạn chế. Chương ba sẽ trình bày về ý tưởng, phân tích và xây dựng công cụ kiểm thử tự động nhằm đánh giá khả năng kiểm tra tính hợp lệ dữ liệu đầu vào của ứng dụng Web. Công cụ được đề xuất có khả năng tự sinh ca kiểm thử, thực thi và lưu lại kết quả kiểm thử. Ngoài ra chương này cũng minh họa áp dụng công cụ trong thực tế và đánh giá ưu nhược điểm của công cụ cùng hướng phát triển. Đưa ra kết luận về các nội dung đạt được trong luận văn, các mặt hạn chế và hướng phát triển trong thời gian tới của luận văn.
MỤC LỤC 3
DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 5
DANH MỤC CÁC BẢNG 6
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 7
LỜI GIỚI THIỆU 9
CHƢƠNG 1 TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 11
1.1. Các khái niệm cơ bản 11
1.1.1. Khái niệm kiểm thử phần mềm 11
1.1.2. Mức kiểm thử 12
1.1.3. Kiểm thử tự động 18
1.1.4. Ứng dụng Web 19
1.2. Kỹ thuật kiểm thử tĩnh 20
1.2.1. Rà soát 20
1.2.2. Kiểm thử dòng dữ liệu tĩnh 21
1.3. Kỹ thuật kiểm thử động 23
1.3.1. Kiểm thử hàm 23
1.3.2. Kiểm thử dòng điều khiển 24
1.3.3. Kiểm thử dòng dữ liệu động 26
1.4. Các loại kiểm thử ứng dụng Web 29
CHƢƠNG 2 CÁC CÔNG CỤ KIỂM THỬ TỰ ĐỘNG CHO CÁC ỨNG DỤNG WEB 33
2.1. Công cụ kiểm thử tự động tĩnh 33
2.1.1. Công cụ kiểm thử ngôn ngữ lập trình phía máy chủ 33
2.1.2. Công cụ kiểm thử ngôn ngữ lập trình phía máy khách 35
2.2. Công cụ kiểm thử tự động động 37
2.2.1. Công cụ kiểm thử giao diện người dùng 37
2.2.2. Công cụ kiểm thử hàm 38
2.2.3. Công cụ kiểm thử khả năng chịu tải của ứng dụng Web 40
2.3. Thư viện hỗ trợ xây dựng công cụ kiểm thử tự động 41
CHƢƠNG 3 XÂY DỰNG CÔNG CỤ KIỂM THỬ TỰ ĐỘNG 44
3.1. Đặt vấn đề bài toán 44
4
3.2. Phân tích bài toán 45
3.3. Thỏa thuận khi sử dụng công cụ 50
3.4. Xây dựng công cụ 50
3.5. Ứng dụng công cụ vào thực tế 54
3.5.1. Ứng dụng vào form thành viên đăng nhập 54
3.5.2. Ứng dụng vào form đăng ký nhận bản tin 58
3.6. Đánh giá ưu nhược điểm của công cụ 60
CHƢƠNG 4 KẾT LUẬN 61
4.1. Tóm tắt kết quả làm được 61
4.2. Hạn chế 61
4.3. Hướng nghiên cứu 61
TÀI LIỆU THAM KHẢO 62
PHỤ LỤC 63
Phụ lục 1: Kết quả sau khi thực hiện kiểm thử form thành viên đăng nhập 63
Phụ lục 2: Kết quả sau khi thực hiện kiểm thử form đăng ký nhận bản tin 64
5
DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
API Application Programming Interface, giao diện lập trình ứng dụng.
C-S Client-Server, máy khách – máy chủ.
CSS Cascading Style Sheets, là ngôn ngữ được dùng để miêu tả cách trình
bày các tài liệu viết bằng ngôn ngữ HTML và XHTML.
HTML Hypertext Markup Language, ngôn ngữ đánh dấu tạo website.
HTTP HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản được
dùng để trao đổi giữa máy khách và máy chủ ứng dụng Web.
HTTPS Hypertext Transfer Protocol Secure, là sự kết hợp giữa giao thức HTTP
và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách
bảo mật trên Internet.
STT Số thứ tự
TDD Testing Driven Development, kỹ thuật phát triển phần mềm dựa trên
kiểm thử.
URL Uniform Resource Locator, đường dẫn tham chiếu tới tài nguyên trên
Internet.
6
DANH MỤC CÁC BẢNG
Bảng 1.1. Các điều kiện con kết hợp trong câu lệnh điều kiện 26
Bảng 1.2. Một số lỗi thường gặp trên ứng dụng Web 32
Bảng 2.1. Minh họa một số quy ước về lập trình của Microsoft. 34
Bảng 2.2. Hàm và từ khóa thường dùng của Selenium WebDriver 42
Bảng 3.1. Một số điều kiện đầu vào với input trong ứng dụng Web 47
Bảng 3.2. Một số dữ liệu đầu vào mẫu cho input ngày tháng Việt Nam 49
Bảng 3.3. Kết quả thực hiện kiểm thử bằng công cụ kiểm thử tự động với form đăng
ký nhận bản tin 59
7
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1. Mã nguồn minh họa Driver và Stub 13
Hình 1.2. Kiểm thử hồi quy được thực hiện tại các mức kiểm thử khác nhau. 17
Hình 1.3. Các câu lệnh tuần tự có bất thường loại 1. 22
Hình 1.4. Câu lệnh có bất thường loại 2. 22
Hình 1.5. Sơ đồ chuyển trạng thái của một biến tương ứng với những bất thường về
dòng dữ liệu. 23
Hình 1.6. Các biểu tượng xây dựng đồ thị dòng điều khiển. 25
Hình 1.7. Mã nguồn tính tổng các số từ 1 đến 9. 25
Hình 1.8. Đồ thị dòng điều khiển của mã nguồn hình 1.9 25
Hình 1.9. Ví dụ mã nguồn hàm ReturnAverage. 27
Hình 1.10. Đồ thị dòng dữ liệu minh họa hàm ReturnAverage. 28
Hình 2.1. Giao diện Fxcop 33
Hình 2.2. Mã nguồn được phân tích bởi Fxcop 34
Hình 2.3. Kết quả phân tích từ Fxcop 35
Hình 2.4. Giao diện công cụ JSLint 36
Hình 2.5. Mã nguồn được phân tích bởi JSLint 36
Hình 2.6. Kết quả phân tích từ JSLint 36
Hình 2.7. Giao diện Browser Shots 38
Hình 2.8. Giao diện người dùng trên các trình duyệt khác nhau. 38
Hình 2.9. Giao diện Selenium IDE. 38
Hình 2.10. Các thao tác xử lý được Selenium IDE ghi lại. 39
Hình 2.11. Mã HTML của ca kiểm thử được Selenium IDE lưu lại. 40
Hình 2.12. Giao diện công cụ loader.io 41
Hình 2.13. Kết quả khi thực thi kiểm thử với loader.io. 41
Hình 3.1. Form thêm người dùng trên ứng dụng Web. 44
Hình 3.2. Minh họa hộp thông báo đăng nhập thành công 46
Hình 3.3. Minh họa dòng thông báo từ ứng dụng Web đến người dùng 46
8
Hình 3.4. Các dữ liệu mẫu sinh ra từ kỹ thuật kiểm thử giá trị biên mạnh. 49
Hình 3.5. Giao diện công cụ kiểm thử tự động. 50
Hình 3.6. Thêm ô textbox chứa input. 51
Hình 3.7. Lựa chọn các điều kiện cần kiểm thử của input. 51
Hình 3.8. Lỗi xuất hiện được thông báo cho kiểm thử viên. 52
Hình 3.9. Kiểm tra tính hợp lệ của điều kiện của độ dài tối thiểu và tối đa. 52
Hình 3.10. Thông báo không tìm thấy phần tử có id như đã nhập. 53
Hình 3.11. Điều kiện và giá trị được sinh ra khi lựa chọn điều kiện cho input. 53
Hình 3.12. Mã nguồn hàm ngẫu nhiên sinh ra chuỗi ký tự có độ dài là 53
tham số truyền vào. 54
Hình 3.13. Kết quả sau khi thực hiện kiểm thử form. 54
Hình 3.14. Giao diện form thành viên đăng nhập. 55
Hình 3.15. Thông báo không được bỏ trống tên đăng nhập. 55
Hình 3.16. Thông báo tên đăng nhập không được nhỏ hơn 6 ký tự. 55
Hình 3.17. Thông báo sai tên đăng nhập hay mật khẩu. 55
Hình 3.18. Lấy id của input. 56
Hình 3.19. Điền thông tin form thành viên đăng nhập vào công cụ. 56
Hình 3.20. Chọn điều kiện cho các input. 57
Hình 3.21. Kết quả kiểm thử form thành viên đăng nhập. 57
Hình 3.22. Giao diện form đăng ký nhận bản tin. 58
Hình 3.23. Thông báo không được bỏ trống email. 58
Hình 3.24. Thông báo nhập sai định dạng email. 58
Hình 3.25. Điền thông tin form đăng ký nhận bản tin vào công cụ. 59
Hình 3.26. Chọn điều kiện cho input email. 59
9
LỜI GIỚI THIỆU
Với sự phát triển của Internet và công nghệ phần mềm, các ứng dụng Web đang
dần thay thế các ứng dụng phần mềm truyền thống bởi tính tiện lợi của nó. Đi kèm với
thành công mà những ứng dụng Web mang lại cho nhà phát triển đó là những thách
thức như phải đảm bảo và nâng cao chất lượng cho người dùng khi sử dụng dịch vụ.
Một trong những giải pháp để hoàn thành tốt công việc này đó là thực hiện kiểm thử
phần mềm. Kiểm thử là một công việc tốn nhiều thời gian và chi phí, thông thường
thời gian dành cho việc kiểm thử chiếm đa số thời gian phát triển ứng dụng phần mềm.
Tuy nhiên, để thực hiện kiểm thử đòi hỏi kiểm thử viên phải kiên nhẫn và tỉ mỉ, chính
những điều này dẫn tới sự cần thiết của kiểm thử tự động. Kiểm thử tự động sẽ thực
hiện tự động các ca kiểm thử theo một kịch bản cho sẵn hay tự nó sinh ra. Những lợi
ích của các công cụ kiểm thử tự động mang lại là rất lớn tuy nhiên các tài liệu về kiểm
thử tự động được viết bằng tiếng Việt lại còn rất hạn chế. Xuất phát từ thực tế đó và
được sự gợi ý của giảng viên hướng dẫn, tui lựa chọn đề tài luận văn “Nghiên cứu và
xây dựng công cụ kiểm thử ứng dụng Web” với mong muốn mang lại cho người đọc
một tài liệu hỗ trợ hữu ích trước khi quyết định sử dụng kiểm thử tự động cho ứng
dụng Web của mình.
Luận văn đƣợc cấu trúc thành bốn chƣơng:
Chương một sẽ trình bày các tìm hiểu về kiểm thử phần mềm như các khái
niệm cơ bản về kiểm thử, các mức kiểm thử, ca kiểm thử, các kỹ thuật kiểm thử tĩnh
và động. Chương một cũng sẽ đưa ra khái niệm về ứng dụng Web, phân biệt ứng dụng
Web với ứng dụng máy khách – máy chủ và các loại kiểm thử cần chú trọng cho ứng
dụng Web.
Chương hai sẽ giới thiệu các công cụ kiểm thử tự động phổ biến hiện nay dành
cho ứng dụng Web, ngoài việc cung cấp thông tin và cách sử dụng từng công cụ, luận
văn còn phân tích ưu nhược điểm của các công cụ giúp người đọc có một gợi ý trước
khi lựa chọn công cụ phù hợp cho ứng dụng cần kiểm thử. Xuất phát trên thực tế, mỗi
ứng dụng Web đều có những yêu cầu đặc thù riêng biệt nên việc sử dụng các công cụ
kiểm thử tự động đã có sẵn có thể không thỏa mãn hay phù hợp với việc kiểm thử các
ứng dụng này. Luận văn cũng giới thiệu một nền tảng hỗ trợ xây dựng công cụ kiểm
thử tự động nhằm giúp người đọc có thể lựa chọn nền tảng giúp tự tạo công cụ kiểm
thử cho phù hợp với nhu cầu của mình.
Trong ứng dụng Web, việc kiểm tra tính hợp lệ của các dữ liệu đầu vào là rất
quan trọng do dữ liệu đầu vào không chỉ yêu cầu phải đúng kiểu dữ liệu mà còn đòi
10
hỏi phải đúng định dạng của loại dữ liệu đó. Do đó, ứng dụng Web cần có khả
năng kiểm tra tính hợp lệ của dữ liệu đầu vào một cách hiệu quả thì các tiến trình xử lý
tiếp theo mới được đảm bảo hoạt động tốt. Một vấn đề nữa là hiện nay có rất nhiều
công cụ hỗ trợ cho việc kiểm thử tự động ứng dụng Web, tuy nhiên hầu hết các công
cụ chỉ hỗ trợ cho việc thực thi tự động các ca kiểm thử còn việc thiết kế các ca kiểm
thử lại rất hạn chế. Chương ba sẽ trình bày về ý tưởng, phân tích và xây dựng công cụ
kiểm thử tự động nhằm đánh giá khả năng kiểm tra tính hợp lệ dữ liệu đầu vào của ứng
dụng Web. Công cụ được đề xuất có khả năng tự sinh ca kiểm thử, thực thi và lưu lại
kết quả kiểm thử. Ngoài ra chương này cũng minh họa áp dụng công cụ trong thực tế
và đánh giá ưu nhược điểm của công cụ cùng hướng phát triển.
Chương bốn sẽ đưa kết luận về các nội dung đạt được trong luận văn, các mặt
hạn chế và hướng phát triển trong thời gian tới của luận văn.
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:
Nhà xuất bản: ĐHCN
Tìm hiểu về kiểm thử phần mềm như các khái niệm cơ bản về kiểm thử, các mức kiểm thử, ca kiểm thử, các kỹ thuật kiểm thử tĩnh và động. Chương một cũng sẽ đưa ra khái niệm về ứng dụng Web, phân biệt ứng dụng Web với ứng dụng máy khách – máy chủ và các loại kiểm thử cần chú trọng cho ứng dụng Web. Giới thiệu các công cụ kiểm thử tự động phổ biến hiện nay dành cho ứng dụng Web, ngoài việc cung cấp thông tin và cách sử dụng từng công cụ, luận văn còn phân tích ưu nhược điểm của các công cụ giúp người đọc có một gợi ý trước khi lựa chọn công cụ phù hợp cho ứng dụng cần kiểm thử. Xuất phát trên thực tế, mỗi ứng dụng Web đều có những yêu cầu đặc thù riêng biệt nên việc sử dụng các công cụ kiểm thử tự động đã có sẵn có thể không thỏa mãn hay phù hợp với việc kiểm thử các ứng dụng này. Luận văn cũng giới thiệu một nền tảng hỗ trợ xây dựng công cụ kiểm thử tự động nhằm giúp người đọc có thể lựa chọn nền tảng giúp tựtạo công cụ kiểm thử cho phù hợp với nhu cầu của mình. Ứng dụng Web, việc kiểm tra tính hợp lệ của các dữ liệu đầu vào là rất quan trọng do dữ liệu đầu vào không chỉ yêu cầu phải đúng kiểu dữ liệu mà còn đòi hỏi phải đúng định dạng của loại dữ liệu đó. Do đó, ứng dụng Web cần có khả năng kiểm tra tính hợp lệ của dữ liệu đầu vào một cách hiệu quả thì các tiến trình xử lý tiếp theo mới được đảm bảo hoạt động tốt. Một vấn đề nữa là hiện nay có rất nhiều công cụ hỗ trợ cho việc kiểm thử tự động ứng dụng Web, tuy nhiên hầu hết các công cụ chỉ hỗ trợ cho việc thực thi tự động các ca kiểm thử còn việc thiết kế các ca kiểm thử lại rất hạn chế. Chương ba sẽ trình bày về ý tưởng, phân tích và xây dựng công cụ kiểm thử tự động nhằm đánh giá khả năng kiểm tra tính hợp lệ dữ liệu đầu vào của ứng dụng Web. Công cụ được đề xuất có khả năng tự sinh ca kiểm thử, thực thi và lưu lại kết quả kiểm thử. Ngoài ra chương này cũng minh họa áp dụng công cụ trong thực tế và đánh giá ưu nhược điểm của công cụ cùng hướng phát triển. Đưa ra kết luận về các nội dung đạt được trong luận văn, các mặt hạn chế và hướng phát triển trong thời gian tới của luận văn.
MỤC LỤC 3
DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 5
DANH MỤC CÁC BẢNG 6
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 7
LỜI GIỚI THIỆU 9
CHƢƠNG 1 TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 11
1.1. Các khái niệm cơ bản 11
1.1.1. Khái niệm kiểm thử phần mềm 11
1.1.2. Mức kiểm thử 12
1.1.3. Kiểm thử tự động 18
1.1.4. Ứng dụng Web 19
1.2. Kỹ thuật kiểm thử tĩnh 20
1.2.1. Rà soát 20
1.2.2. Kiểm thử dòng dữ liệu tĩnh 21
1.3. Kỹ thuật kiểm thử động 23
1.3.1. Kiểm thử hàm 23
1.3.2. Kiểm thử dòng điều khiển 24
1.3.3. Kiểm thử dòng dữ liệu động 26
1.4. Các loại kiểm thử ứng dụng Web 29
CHƢƠNG 2 CÁC CÔNG CỤ KIỂM THỬ TỰ ĐỘNG CHO CÁC ỨNG DỤNG WEB 33
2.1. Công cụ kiểm thử tự động tĩnh 33
2.1.1. Công cụ kiểm thử ngôn ngữ lập trình phía máy chủ 33
2.1.2. Công cụ kiểm thử ngôn ngữ lập trình phía máy khách 35
2.2. Công cụ kiểm thử tự động động 37
2.2.1. Công cụ kiểm thử giao diện người dùng 37
2.2.2. Công cụ kiểm thử hàm 38
2.2.3. Công cụ kiểm thử khả năng chịu tải của ứng dụng Web 40
2.3. Thư viện hỗ trợ xây dựng công cụ kiểm thử tự động 41
CHƢƠNG 3 XÂY DỰNG CÔNG CỤ KIỂM THỬ TỰ ĐỘNG 44
3.1. Đặt vấn đề bài toán 44
4
3.2. Phân tích bài toán 45
3.3. Thỏa thuận khi sử dụng công cụ 50
3.4. Xây dựng công cụ 50
3.5. Ứng dụng công cụ vào thực tế 54
3.5.1. Ứng dụng vào form thành viên đăng nhập 54
3.5.2. Ứng dụng vào form đăng ký nhận bản tin 58
3.6. Đánh giá ưu nhược điểm của công cụ 60
CHƢƠNG 4 KẾT LUẬN 61
4.1. Tóm tắt kết quả làm được 61
4.2. Hạn chế 61
4.3. Hướng nghiên cứu 61
TÀI LIỆU THAM KHẢO 62
PHỤ LỤC 63
Phụ lục 1: Kết quả sau khi thực hiện kiểm thử form thành viên đăng nhập 63
Phụ lục 2: Kết quả sau khi thực hiện kiểm thử form đăng ký nhận bản tin 64
5
DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
API Application Programming Interface, giao diện lập trình ứng dụng.
C-S Client-Server, máy khách – máy chủ.
CSS Cascading Style Sheets, là ngôn ngữ được dùng để miêu tả cách trình
bày các tài liệu viết bằng ngôn ngữ HTML và XHTML.
HTML Hypertext Markup Language, ngôn ngữ đánh dấu tạo website.
HTTP HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản được
dùng để trao đổi giữa máy khách và máy chủ ứng dụng Web.
HTTPS Hypertext Transfer Protocol Secure, là sự kết hợp giữa giao thức HTTP
và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách
bảo mật trên Internet.
STT Số thứ tự
TDD Testing Driven Development, kỹ thuật phát triển phần mềm dựa trên
kiểm thử.
URL Uniform Resource Locator, đường dẫn tham chiếu tới tài nguyên trên
Internet.
6
DANH MỤC CÁC BẢNG
Bảng 1.1. Các điều kiện con kết hợp trong câu lệnh điều kiện 26
Bảng 1.2. Một số lỗi thường gặp trên ứng dụng Web 32
Bảng 2.1. Minh họa một số quy ước về lập trình của Microsoft. 34
Bảng 2.2. Hàm và từ khóa thường dùng của Selenium WebDriver 42
Bảng 3.1. Một số điều kiện đầu vào với input trong ứng dụng Web 47
Bảng 3.2. Một số dữ liệu đầu vào mẫu cho input ngày tháng Việt Nam 49
Bảng 3.3. Kết quả thực hiện kiểm thử bằng công cụ kiểm thử tự động với form đăng
ký nhận bản tin 59
7
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1. Mã nguồn minh họa Driver và Stub 13
Hình 1.2. Kiểm thử hồi quy được thực hiện tại các mức kiểm thử khác nhau. 17
Hình 1.3. Các câu lệnh tuần tự có bất thường loại 1. 22
Hình 1.4. Câu lệnh có bất thường loại 2. 22
Hình 1.5. Sơ đồ chuyển trạng thái của một biến tương ứng với những bất thường về
dòng dữ liệu. 23
Hình 1.6. Các biểu tượng xây dựng đồ thị dòng điều khiển. 25
Hình 1.7. Mã nguồn tính tổng các số từ 1 đến 9. 25
Hình 1.8. Đồ thị dòng điều khiển của mã nguồn hình 1.9 25
Hình 1.9. Ví dụ mã nguồn hàm ReturnAverage. 27
Hình 1.10. Đồ thị dòng dữ liệu minh họa hàm ReturnAverage. 28
Hình 2.1. Giao diện Fxcop 33
Hình 2.2. Mã nguồn được phân tích bởi Fxcop 34
Hình 2.3. Kết quả phân tích từ Fxcop 35
Hình 2.4. Giao diện công cụ JSLint 36
Hình 2.5. Mã nguồn được phân tích bởi JSLint 36
Hình 2.6. Kết quả phân tích từ JSLint 36
Hình 2.7. Giao diện Browser Shots 38
Hình 2.8. Giao diện người dùng trên các trình duyệt khác nhau. 38
Hình 2.9. Giao diện Selenium IDE. 38
Hình 2.10. Các thao tác xử lý được Selenium IDE ghi lại. 39
Hình 2.11. Mã HTML của ca kiểm thử được Selenium IDE lưu lại. 40
Hình 2.12. Giao diện công cụ loader.io 41
Hình 2.13. Kết quả khi thực thi kiểm thử với loader.io. 41
Hình 3.1. Form thêm người dùng trên ứng dụng Web. 44
Hình 3.2. Minh họa hộp thông báo đăng nhập thành công 46
Hình 3.3. Minh họa dòng thông báo từ ứng dụng Web đến người dùng 46
8
Hình 3.4. Các dữ liệu mẫu sinh ra từ kỹ thuật kiểm thử giá trị biên mạnh. 49
Hình 3.5. Giao diện công cụ kiểm thử tự động. 50
Hình 3.6. Thêm ô textbox chứa input. 51
Hình 3.7. Lựa chọn các điều kiện cần kiểm thử của input. 51
Hình 3.8. Lỗi xuất hiện được thông báo cho kiểm thử viên. 52
Hình 3.9. Kiểm tra tính hợp lệ của điều kiện của độ dài tối thiểu và tối đa. 52
Hình 3.10. Thông báo không tìm thấy phần tử có id như đã nhập. 53
Hình 3.11. Điều kiện và giá trị được sinh ra khi lựa chọn điều kiện cho input. 53
Hình 3.12. Mã nguồn hàm ngẫu nhiên sinh ra chuỗi ký tự có độ dài là 53
tham số truyền vào. 54
Hình 3.13. Kết quả sau khi thực hiện kiểm thử form. 54
Hình 3.14. Giao diện form thành viên đăng nhập. 55
Hình 3.15. Thông báo không được bỏ trống tên đăng nhập. 55
Hình 3.16. Thông báo tên đăng nhập không được nhỏ hơn 6 ký tự. 55
Hình 3.17. Thông báo sai tên đăng nhập hay mật khẩu. 55
Hình 3.18. Lấy id của input. 56
Hình 3.19. Điền thông tin form thành viên đăng nhập vào công cụ. 56
Hình 3.20. Chọn điều kiện cho các input. 57
Hình 3.21. Kết quả kiểm thử form thành viên đăng nhập. 57
Hình 3.22. Giao diện form đăng ký nhận bản tin. 58
Hình 3.23. Thông báo không được bỏ trống email. 58
Hình 3.24. Thông báo nhập sai định dạng email. 58
Hình 3.25. Điền thông tin form đăng ký nhận bản tin vào công cụ. 59
Hình 3.26. Chọn điều kiện cho input email. 59
9
LỜI GIỚI THIỆU
Với sự phát triển của Internet và công nghệ phần mềm, các ứng dụng Web đang
dần thay thế các ứng dụng phần mềm truyền thống bởi tính tiện lợi của nó. Đi kèm với
thành công mà những ứng dụng Web mang lại cho nhà phát triển đó là những thách
thức như phải đảm bảo và nâng cao chất lượng cho người dùng khi sử dụng dịch vụ.
Một trong những giải pháp để hoàn thành tốt công việc này đó là thực hiện kiểm thử
phần mềm. Kiểm thử là một công việc tốn nhiều thời gian và chi phí, thông thường
thời gian dành cho việc kiểm thử chiếm đa số thời gian phát triển ứng dụng phần mềm.
Tuy nhiên, để thực hiện kiểm thử đòi hỏi kiểm thử viên phải kiên nhẫn và tỉ mỉ, chính
những điều này dẫn tới sự cần thiết của kiểm thử tự động. Kiểm thử tự động sẽ thực
hiện tự động các ca kiểm thử theo một kịch bản cho sẵn hay tự nó sinh ra. Những lợi
ích của các công cụ kiểm thử tự động mang lại là rất lớn tuy nhiên các tài liệu về kiểm
thử tự động được viết bằng tiếng Việt lại còn rất hạn chế. Xuất phát từ thực tế đó và
được sự gợi ý của giảng viên hướng dẫn, tui lựa chọn đề tài luận văn “Nghiên cứu và
xây dựng công cụ kiểm thử ứng dụng Web” với mong muốn mang lại cho người đọc
một tài liệu hỗ trợ hữu ích trước khi quyết định sử dụng kiểm thử tự động cho ứng
dụng Web của mình.
Luận văn đƣợc cấu trúc thành bốn chƣơng:
Chương một sẽ trình bày các tìm hiểu về kiểm thử phần mềm như các khái
niệm cơ bản về kiểm thử, các mức kiểm thử, ca kiểm thử, các kỹ thuật kiểm thử tĩnh
và động. Chương một cũng sẽ đưa ra khái niệm về ứng dụng Web, phân biệt ứng dụng
Web với ứng dụng máy khách – máy chủ và các loại kiểm thử cần chú trọng cho ứng
dụng Web.
Chương hai sẽ giới thiệu các công cụ kiểm thử tự động phổ biến hiện nay dành
cho ứng dụng Web, ngoài việc cung cấp thông tin và cách sử dụng từng công cụ, luận
văn còn phân tích ưu nhược điểm của các công cụ giúp người đọc có một gợi ý trước
khi lựa chọn công cụ phù hợp cho ứng dụng cần kiểm thử. Xuất phát trên thực tế, mỗi
ứng dụng Web đều có những yêu cầu đặc thù riêng biệt nên việc sử dụng các công cụ
kiểm thử tự động đã có sẵn có thể không thỏa mãn hay phù hợp với việc kiểm thử các
ứng dụng này. Luận văn cũng giới thiệu một nền tảng hỗ trợ xây dựng công cụ kiểm
thử tự động nhằm giúp người đọc có thể lựa chọn nền tảng giúp tự tạo công cụ kiểm
thử cho phù hợp với nhu cầu của mình.
Trong ứng dụng Web, việc kiểm tra tính hợp lệ của các dữ liệu đầu vào là rất
quan trọng do dữ liệu đầu vào không chỉ yêu cầu phải đúng kiểu dữ liệu mà còn đòi
10
hỏi phải đúng định dạng của loại dữ liệu đó. Do đó, ứng dụng Web cần có khả
năng kiểm tra tính hợp lệ của dữ liệu đầu vào một cách hiệu quả thì các tiến trình xử lý
tiếp theo mới được đảm bảo hoạt động tốt. Một vấn đề nữa là hiện nay có rất nhiều
công cụ hỗ trợ cho việc kiểm thử tự động ứng dụng Web, tuy nhiên hầu hết các công
cụ chỉ hỗ trợ cho việc thực thi tự động các ca kiểm thử còn việc thiết kế các ca kiểm
thử lại rất hạn chế. Chương ba sẽ trình bày về ý tưởng, phân tích và xây dựng công cụ
kiểm thử tự động nhằm đánh giá khả năng kiểm tra tính hợp lệ dữ liệu đầu vào của ứng
dụng Web. Công cụ được đề xuất có khả năng tự sinh ca kiểm thử, thực thi và lưu lại
kết quả kiểm thử. Ngoài ra chương này cũng minh họa áp dụng công cụ trong thực tế
và đánh giá ưu nhược điểm của công cụ cùng hướng phát triển.
Chương bốn sẽ đưa kết luận về các nội dung đạt được trong luận văn, các mặt
hạn chế và hướng phát triển trong thời gian tới của luận văn.
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:
You must be registered for see links
Last edited by a moderator: