Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
1,64 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ ĐỒN MẠNH ĐỨC NGHIÊN CỨU VÀ XÂY DỰNG CƠNG CỤ KIỂM THỬ ỨNG DỤNG WEB LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CƠNG NGHỆ ĐỒN MẠNH ĐỨC NGHIÊN CỨU VÀ XÂY DỰNG CÔNG CỤ KIỂM THỬ ỨNG DỤNG WEB Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS VÕ ĐÌNH HIẾU Hà Nội – 2014 LỜI CẢM ƠN Luận văn Thạc sĩ thực Đại học Công Nghệ - Đại học Quốc Gia Hà Nội hướng dẫn TS Võ Đình Hiếu Xin gửi lời cảm ơn sâu sắc đến thầy định hướng khoa học, liên tục quan tâm, tạo điều kiện thuận lợi suốt trình nghiên cứu hồn thành luận văn Tơi xin gửi lời cảm ơn đến thầy, cô Bộ môn Công nghệ phần mềm Khoa Công nghệ thông tin mang lại cho kiến thức vơ q giá bổ ích q trình theo học trường Tôi xin chân thành cảm ơn đến gia đình tơi, quan tâm động viên bố, mẹ em gái giúp tơi có thêm nghị lực, cố gắng để hồn thành luận văn Cuối cùng, xin gửi lời cảm ơn chân thành đến bạn học K19, bạn đồng nghiệp giúp đỡ suốt năm học tập Hà Nội, ngày 30 tháng 10 năm 2014 Đồn Mạnh Đức LỜI CAM ĐOAN Tơi xin cam đoan luận văn “Nghiên cứu xây dựng công cụ kiểm thử ứng dụng Web” cơng trình nghiên cứu cá nhân hướng dẫn TS Võ Đình Hiếu, trung thực khơng chép tác giả khác Trong toàn nội dung nghiên cứu luận văn, vấn đề trình bày tìm hiểu nghiên cứu cá nhân tơi trích dẫn từ nguồn tài liệu có ghi tham khảo rõ ràng, hợp pháp Tơi xin chịu trách nhiệm hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, ngày 30 tháng 10 năm 2014 Đoàn Mạnh Đức MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ LỜI GIỚI THIỆU CHƢƠNG TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 11 1.1 Các khái niệm 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 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 liệu động 26 1.4 Các loại kiểm thử ứng dụng Web 29 CHƢƠNG 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ả chịu tải ứ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 XÂY DỰNG CÔNG CỤ KIỂM THỬ TỰ ĐỘNG 44 3.1 Đặt vấn đề toán 44 3.2 Phân tích tốn 45 3.3 Thỏa thuận 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 tin 58 3.6 Đánh giá ưu nhược điểm công cụ 60 CHƢƠNG KẾT LUẬN 61 4.1 Tóm tắt kết làm 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 sau thực kiểm thử form thành viên đăng nhập 63 Phụ lục 2: Kết sau thực kiểm thử form đăng ký nhận tin 64 DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT API C-S CSS HTML HTTP HTTPS STT TDD URL Application Programming Interface, giao diện lập trình ứng dụng Client-Server, máy khách – máy chủ Cascading Style Sheets, ngơn ngữ dùng để miêu tả cách trình bày tài liệu viết ngôn ngữ HTML XHTML Hypertext Markup Language, ngôn ngữ đánh dấu tạo website HyperText Transfer Protocol - Giao thức truyền tải siêu văn dùng để trao đổi máy khách máy chủ ứng dụng Web Hypertext Transfer Protocol Secure, kết hợp giao thức HTTP giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin cách bảo mật Internet Số thứ tự Testing Driven Development, kỹ thuật phát triển phần mềm dựa kiểm thử Uniform Resource Locator, đường dẫn tham chiếu tới tài nguyên Internet DANH MỤC CÁC BẢNG Bảng 1.1 Các điều kiện kết hợp câu lệnh điều kiện 26 Bảng 1.2 Một số lỗi thường gặp ứng dụng Web 32 Bảng 2.1 Minh họa số quy ước lập trình Microsoft 34 Bảng 2.2 Hàm từ khóa thường dùng Selenium WebDriver 42 Bảng 3.1 Một số điều kiện đầu vào với input ứng dụng Web 47 Bảng 3.2 Một số liệu đầu vào mẫu cho input ngày tháng Việt Nam 49 Bảng 3.3 Kết thực kiểm thử công cụ kiểm thử tự động với form đăng ký nhận tin 59 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1 Mã nguồn minh họa Driver Stub 13 Hình 1.2 Kiểm thử hồi quy thực mức kiểm thử khác 17 Hình 1.3 Các câu lệnh có bất thường loại 22 Hình 1.4 Câu lệnh có bất thường loại 22 Hình 1.5 Sơ đồ chuyển trạng thái biến tương ứng với bất thường dòng 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 số từ đến 25 Hình 1.8 Đồ thị dịng điều khiển 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 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 phân tích Fxcop 34 Hình 2.3 Kết 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 phân tích JSLint 36 Hình 2.6 Kết 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ình duyệt khác 38 Hình 2.9 Giao diện Selenium IDE 38 Hình 2.10 Các thao tác xử lý Selenium IDE ghi lại 39 Hình 2.11 Mã HTML ca kiểm thử 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 thực thi kiểm thử với loader.io 41 Hình 3.1 Form thêm người dùng ứ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 Hình 3.4 Các liệu mẫu sinh 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 điều kiện cần kiểm thử input 51 Hình 3.8 Lỗi xuất thông báo cho kiểm thử viên 52 Hình 3.9 Kiểm tra tính hợp lệ điều kiện độ dài tối thiểu tối đa 52 Hình 3.10 Thơng báo khơng tìm thấy phần tử có id nhập 53 Hình 3.11 Điều kiện giá trị sinh 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 chuỗi ký tự có độ dài 53 tham số truyền vào 54 Hình 3.13 Kết sau thực 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 bỏ trống tên đăng nhập 55 Hình 3.16 Thơng báo tên đăng nhập khơng nhỏ ký tự 55 Hình 3.17 Thơng báo sai tên đăng nhập mật 55 Hình 3.18 Lấy id 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 input 57 Hình 3.21 Kết kiểm thử form thành viên đăng nhập 57 Hình 3.22 Giao diện form đăng ký nhận tin 58 Hình 3.23 Thơng báo khơng 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 tin vào công cụ 59 Hình 3.26 Chọn điều kiện cho input email 59 50 Nếu sử dụng thuật toán tự động sinh liệu mẫu cho input ngày tháng Việt Nam số lượng ca kiểm thử nhiều gây lãng phí tốn thời gian thực Xem xét ví dụ sau, với định dạng ##/##/####, nhập “a1/11/1988” chương trình báo lỗi khẳng định chương trình khơng cho phép nhập ký tự đặc biệt khác số vào ngày tháng, việc kiểm tra trường hợp khác “11/1a/1988” hay “1a/11/1988” không cần thiết Do việc tự động sinh ca kiểm thử công cụ không dựa vào thuật tốn mà cịn phải dựa vào việc thu thập kinh nghiệm kiểm thử viên để có ca kiểm thử tốt Lƣu lại quan sát kết sau thực ca kiểm thử Sau ca kiểm thử thực tự động việc lưu lại kết quan trọng, công cụ kiểm thử tự động lưu kết dạng file text excel Kết cần trình bày cách hợp lý cho kiểm thử viên dễ quan sát đánh giá Trong công cụ kiểm thử tự động luận văn này, kết lưu vào file text để đảm bảo kiểm thử viên mở file mà khơng cần cài đặt công cụ đọc file excel Kết bao gồm thông tin tên input kiểm thử, liệu mẫu thông báo ứng dụng sau tiếp nhận liệu từ input 3.3 Thỏa thuận sử dụng công cụ Công cụ kiểm thử tự động luận văn lập trình ngơn ngữ lập trình C# có sử dụng API Selenium WebDriver để điều khiển tương tác với thành phần trình duyệt Web Để sử dụng cơng cụ địi hỏi máy tính cần có hệ điều hành Windows XP SP3, Windows 7, Windows 8, cài đặt Net Framework 4.0 trở lên cài đặt trình duyệt Mozilla Firefox Ngồi để sử dụng cơng cụ ứng dụng phải đồng ý với thỏa thuận sau: Các input form phải có thuộc tính id Phải có thành phần HTML chứa thông báo phản hồi từ ứng dụng dạng dịng chữ thơng báo để cơng cụ nhận ghi lại 3.4 Xây dựng cơng cụ Hình 3.5 Giao diện công cụ kiểm thử tự động 51 Qua phân tích 3.2, cơng cụ kiểm thử tự động xây dựng hình 3.5 Các thành phần cơng cụ có nhiệm vụ sau (minh họa thành phần hình trịn có đánh số): 1: URL chứa form cần kiểm thử 2: id nút thực thi form 3: id thành phần HTML chứa thông báo sau thực thi form 4: đường dẫn máy tính chứa tệp kết sau kiểm thử form 5: nút chọn đường dẫn máy tính để chứa tệp kết sau kiểm thử form 6: id thành phần input form cần kiểm thử 7: nút chọn điều kiện cần kiểm tra cho input, nhấn vào nút xuất hình 3.7 8: nút thêm textbox để nhập thêm input cần kiểm thử Khi thêm ô textbox giống hình 3.6 9: nút xóa bớt textbox chứa input 10 nút xác nhận bắt đầu thực kiểm thử form Hình 3.6 Thêm textbox chứa input Hình 3.7 Lựa chọn điều kiện cần kiểm thử input Dựa vào bảng 3.1 ta có điều kiện hình 3.7 Kiểm thử viên lựa chọn điều kiện input cần kiểm thử, dựa vào cơng cụ tự động sinh ca kiểm thử cách kết hợp điều kiện input khác 52 Cơng cụ có xây dựng riêng lớp ngoại lệ có tên “CustomException” để chứa thơng báo lỗi cảnh báo tới kiểm thử viên có nhầm lẫn sai sót q trình nhập thơng tin vào cơng cụ Hình 3.8 minh họa mã nguồn mở tệp kết có lỗi mở, thông báo lỗi đưa vào lớp ngoại lệ để báo cho kiểm thử viên biết try { Process.Start(“notepad.exe”, txtLocation.Text + “/result.txt”); } catch { throw new CustomException() { customMessage = “Khong mo duoc file ket qua”; } } Hình 3.8 Lỗi xuất thơng báo cho kiểm thử viên Công cụ đảm bảo kiểm tra đầy đủ điều kiện input, để đảm bảo tính hợp lệ liệu đầu vào Hình 3.9 minh họa mã nguồn kiểm tra liệu đầu vào điều kiện độ dài tối thiểu độ dài tối đa, độ dài tối thiểu lớn độ dài tối đa không hợp lệ if (txtMaxlength.Text.Trim() != “” && txtMinlength.Text.Trim() != “”) { int from = Convert.ToInt32(txtMinlength.Text.Trim()); int to = Convert.ToInt32(txtMaxlength.Text.Trim()); if(from >= to) throw new CustomException() { customMessage = “Do dai toi thieu khong duoc lon hon hoac bang dai toi da”; } } Hình 3.9 Kiểm tra tính hợp lệ điều kiện độ dài tối thiểu tối đa Trong trình thực thi kiểm thử form, cơng cụ khơng tìm thấy input hay thành phần có id giống với id kiểm thử viên nhập vào, công cụ đưa cảnh báo hình 3.10 53 Hình 3.10 Thơng báo khơng tìm thấy phần tử có id nhập Cơng cụ có xây dựng lớp “Condition” để chứa tên điều kiện giá trị nó, input sau lựa chọn điều kiện kiểm thử có danh sách cặp điều kiện : giá trị sinh Hình 3.11 minh họa cặp điều kiện : giá trị sinh chọn điều kiện độ dài tối thiểu độ dài tối đa Mã nguồn hình 3.11 sử dụng kỹ thuật kiểm thử giá trị biên mạnh, với độ dài tối thiểu lấy giá trị có độ dài giá trị tối thiểu, nhỏ giá trị tối thiểu đơn vị lớn giá trị tối thiểu đơn vị độ dài int from = Convert.ToInt32(txtMinlength.Text.Trim()); int to = Convert.ToInt32(txtMaxlength.Text.Trim()); list.Add(“txtid” + id + “:” + Helpful.RandomString(from)); list.Add(“txtid” + id + “:” + Helpful.RandomString(from - 1)); list.Add(“txtid” + id + “:” + Helpful.RandomString(from + 1)); list.Add(“txtid” + id + “:” + Helpful.RandomString(to)); list.Add(“txtid” + id + “:” + Helpful.RandomString(to - 1)); list.Add(“txtid” + id + “:” + Helpful.RandomString(to + 1); list.Add(“txtid” + id + “:” + Helpful.RandomString((to+from)/2)); conditions.Add(new Condition() { name = “MaxLength”, value = to}); conditions.Add(new Condition() { name = “MinLength”, value = from}); Hình 3.11 Điều kiện giá trị sinh lựa chọn điều kiện cho input Để đảm bảo giá trị liệu đầu vào sinh cách tự động, ngẫu nhiên, công cụ xây dựng hàm sinh liệu ngẫu nhiên với tham số truyền vào tùy theo u cầu thuật tốn Hình 3.12 mã nguồn hàm ngẫu nhiên sinh chuỗi ký tự có độ dài tham số truyền vào public static string RandomString(int length) { Random random = new Random(); String characters = “0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz”; StringBuilder result = new StringBuilder(length); for (int i = 0; i < length; i++) { Result.Append(characters[random.Next(characters.Length)]); } return result.ToString(); } Hình 3.12 Mã nguồn hàm ngẫu nhiên sinh chuỗi ký tự có độ dài 54 tham số truyền vào Sau thực kiểm thử xong form, công cụ xuất kết tệp có định dạng txt mở ln hình để kiểm thử viên tiện quan sát, minh họa tệp kết hình 3.13 Trong tệp ghi rõ tên đường dẫn kiểm thử, đánh số ca kiểm thử, tên input giá trị đầu vào kết KẾT QUẢ KIỂM THỬ - Url kiểm thử: http://login.toi88.com - Test case số Input: Name – Giá trị: PBsZ6V Input: Pass – Giá trị: abc.com Thông báo: Wrong Login Name or Password - Test case số Input: Name – Giá trị: PBsZ6V Input: Pass – Giá trị: abc@com Thông báo: Wrong Login Name or Password - Test case số Input: Name – Giá trị: Input: Pass – Giá trị: Thơng báo: Please enter Login Name Hình 3.13 Kết sau thực kiểm thử form 3.5 Ứng dụng công cụ vào thực tế Bằng việc sử dụng ngơn ngữ lập trình Javascript ngơn ngữ khác có khả hoạt động phía máy khách, ứng dụng Web thực việc kiểm tra tính hợp lệ input phía máy Tuy nhiên người sử dụng sử dụng cài đặt plug-in chặn mã trình duyệt thiết lập khơng cho Javascript hoạt động việc kiểm tra bị vơ hiệu hóa Trong trường hợp này, ứng dụng web phụ thuộc nhiều vào việc kiểm tra tính hợp lệ việc kiểm tra máy khách mà qn thiếu sót việc kiểm tra tính hợp lệ phía máy chủ nhiều khả lỗi xảy Chính vậy, q trình áp dụng cơng cụ vào thực tế, trình duyệt Web sử dụng để truy cập đến ứng dụng Web thiết lập để chặn Javascript nhằm xác định xem ứng dụng có cịn kiểm tra tính hợp lệ input xác khơng 3.5.1 Ứng dụng vào form thành viên đăng nhập Công cụ áp dụng form thành viên đăng nhập diễn đàn nhatkila.com Trên form gồm input “Tên đăng nhập” “Mật khẩu” hình 3.14 55 Hình 3.14 Giao diện form thành viên đăng nhập Input “Tên đăng nhập” có điều kiện đầu vào khơng bỏ trống độ dài từ sáu ký tự trở lên, input “Mật khẩu” có điều kiện đầu vào không bỏ trống Khi người dùng đăng nhập, khơng thỏa mãn điều kiện đầu vào xuất thơng báo hình 3.15, 3.16 Nếu sai tên đăng nhập mật hình 3.17 Hình 3.15 Thông báo không bỏ trống tên đăng nhập Hình 3.16 Thơng báo tên đăng nhập khơng nhỏ ký tự Hình 3.17 Thơng báo sai tên đăng nhập mật 56 Các bƣớc kiểm thử form thành viên đăng nhập công cụ tự động Bước 1: Lấy id input có form thành viên đăng nhập hình 3.18, nhấp chuột phải vào input chọn “Inspect Element” lấy giá trị thuộc tính id Hình 3.18 Lấy id input Bước 2: Điền thông tin vào công cụ đường dẫn, id nút thực hiện, id thành phần thông báo, đường dẫn lưu kết máy tính, id hai input cần kiểm thử hình 3.19 Hình 3.19 Điền thơng tin form thành viên đăng nhập vào công cụ Bước 3: Chọn điều kiện cần kiểm thử cho input Với input “Tên đăng nhập” chọn điều kiện “Khơng nhập giá trị rỗng” “Độ dài tối thiểu” hình 3.20 57 Hình 3.20 Chọn điều kiện cho input Bước 4: Nhấn nút “Thực Test Case” Bước 5: Quan sát kết hình 3.21 Ta thấy vơ hiệu hóa Javascript, ứng dụng khơng có khả kiểm tra điều kiện đầu vào nên với tất ca kiểm thử, dù có nhập hay khơng nhập liệu vào input form thực thi Thông báo “Sai tên đăng nhập mật khẩu” xuất liệu đầu vào hai input kiểm tra thỏa mãn hết điều kiện, nhiên ứng dụng không kiểm tra điều kiện liệu đầu vào Có thể kết luận form thành viên đăng nhập phụ thuộc vào kiểm tra phía máy khách mà bỏ quên kiểm tra giá trị đầu vào phía máy chủ nên lỗi xảy Javascript bị chặn KẾT QUẢ KIỂM THỬ - Url kiểm thử:http://nhatkila.com/home/dangnhap - Test case số Input: txtTendangnhap – Giá trị: fewDh9 Input: txtMatkhau – Giá trị: BSimQR Thông báo: Sai tên đăng nhập mật - Test case số Input: txtTendangnhap – Giá trị: fewDh9 Input: txtMatkhau – Giá trị: Thông báo: Sai tên đăng nhập mật - Test case số Input: txtTendangnhap – Giá trị: Input: txtMatkhau – Giá trị: BSimQR Thông báo: Sai tên đăng nhập mật Hình 3.21 Kết kiểm thử form thành viên đăng nhập 58 3.5.2 Ứng dụng vào form đăng ký nhận tin Công cụ áp dụng form đăng ký nhận tin trang thông tin điện tử moitruongxanh.org.vn Hội bảo vệ thiên nhiên mơi trường Hà Nội Trên form có input “Email” hình 3.22 Hình 3.22 Giao diện form đăng ký nhận tin Input “Email” có điều kiện đầu vào không bỏ trống yêu cầu nhập định dạng email Khi người dùng đăng ký nhận tin qua email, không thỏa mãn điều kiện đầu vào xuất thơng báo hình 3.23, 3.24 Hình 3.23 Thơng báo khơng bỏ trống email Hình 3.24 Thơng báo nhập sai định dạng email Các bƣớc kiểm thử form đăng ký nhận tin công cụ tự động Bước 1: Lấy id input email Bước 2: Điền thông tin vào công cụ đường dẫn, id nút thực hiện, id thành phần thông báo, đường dẫn lưu kết máy tính, id input email hình 3.25 59 Hình 3.25 Điền thơng tin form đăng ký nhận tin vào công cụ Bước 3: Chọn điều kiện cần kiểm thử cho input “Không nhập giá trị rỗng” “Kiểm tra kiểu email” Hình 3.26 Chọn điều kiện cho input email Bước 4: Nhấn nút “Thực Test Case” Bước 5: Quan sát kết bảng 3.3 nhận xét: (chi tiết kết xin xem phụ lục luận văn) Bảng 3.3 Kết thực kiểm thử công cụ kiểm thử tự động với form đăng ký nhận tin Ca kiểm thử Dữ liệu đầu vào Thông báo P3LMs1 Email không hợp lệ (không nhập) Xin nhập địa email để đăng ký nhận tin abc.com Email không hợp lệ abc@com Email không hợp lệ 60 @abc.com Đăng ký nhận tin thành công abc@abc.com Đăng ký nhận tin thành công abc@.abc.com Đăng ký nhận tin thành công abc.com@ Đăng ký nhận tin thành công Với ca kiểm thử 2, liệu đầu vào rỗng ứng dụng đưa thông báo yêu cầu nhập liệu Chứng tỏ ứng dụng kiểm tra điều kiện không nhập rỗng tốt Với ca kiểm thử số 3, 4, liệu đầu vào kiểu email, ứng dụng đưa thông báo “Email không hợp lệ” Tuy nhiên với ca kiểm thử số 5, 7, với liệu đầu vào không kiểu email ứng dụng báo “Đăng ký nhận tin thành công” chứng tỏ ứng dụng không kiểm tra xác hồn tồn liệu đầu vào kiểu email hay khơng Từ ca kiểm thử kết luận, ứng dụng kiểm tra điều kiện khơng cho nhập rỗng khơng kiểm tra xác hoàn toàn với định dạng liệu email 3.6 Đánh giá ƣu nhƣợc điểm công cụ Công cụ kiểm thử tự động đề xuất luận văn tự sinh ca kiểm thử dựa lựa chọn điều kiện input từ người dùng, công cụ tự động thực ca kiểm thử xuất kết báo cáo Một ưu điểm công cụ không yêu cầu cài đặt không yêu cầu người thực kiểm thử cần có kinh nghiệm Tuy nhiên cơng cụ cịn số nhược điểm hoạt động Net Framework, hoạt động form chưa hoạt động với ứng dụng có nhiều bước kiểm tra Ngồi công cụ chưa lấy kết kết thông báo qua hộp thoại thành phần có id khác Các điều kiện dành cho input cơng cụ cịn chưa đầy đủ, việc sinh ca kiểm thử chưa linh hoạt đầy đủ thiếu kinh nghiệm thực tế 61 CHƢƠNG KẾT LUẬN 4.1 Tóm tắt kết làm đƣợc Luận văn tìm hiểu hệ thống lại kỹ thuật kiểm thử bản, phân tích ưu nhược điểm kỹ thuật trình bày loại kiểm thử cần trọng cho ứng dụng Web Luận văn đồng thời giới thiệu phân tích ưu nhược điểm công cụ kiểm thử tự động phổ biến dành cho ứng dụng Web giúp kiểm thử viên có thêm lựa chọn muốn thực kiểm thử tự động Cuối luận văn đề xuất ý tưởng xây dựng công cụ kiểm thử tự động nhằm đánh giá khả kiểm tra tính hợp lệ liệu đầu vào ứng dụng Web Công cụ kiểm thử xây dựng có khả tự sinh ca kiểm thử, thực thi lưu lại kết 4.2 Hạn chế Các kỹ thuật kiểm thử trình bày luận văn mức tìm hiểu, chưa trình bày chi tiết loại kiểm thử ứng dụng Web Việc giới thiệu tìm hiểu cơng cụ kiểm thử tự động cho ứng dụng Web mức đề nghị hướng dẫn sử dụng Công cụ kiểm thử tự động cịn đơn giản, chưa thực kiểm tra hồn toàn điều kiện đầu vào ứng dụng Web Các ca kiểm thử sinh công cụ chưa thật đầy đủ chưa cài đặt nhiều thuật tốn 4.3 Hƣớng nghiên cứu Cơng cụ kiểm thử tự động luận văn hoạt động hệ điều hành Windows nên hướng nghiên cứu xây dựng công cụ ứng dụng Web để chạy nhiều hệ điều hành khác Bên cạnh đó, cơng cụ bổ sung thêm ca kiểm thử cho input có điều kiện phức tạp cách thu thập kinh nghiệm từ kiểm thử viên cài đặt thuật toán để sinh ca kiểm thử cho input có điều kiện phức tạp Ngồi thời gian tới, tác giả xây dựng tài liệu hướng dẫn giúp kiểm thử viên tự thiết kế công cụ kiểm thử tự động phù hợp cho ứng dụng Web có tính chất đặc thù riêng không muốn dùng công cụ kiểm thử tự động có sẵn 62 TÀI LIỆU THAM KHẢO Tiếng Việt [1.] Phạm Ngọc Hùng, Trương Anh Hoàng, Đặng Văn Hưng (2014), “Giáo trình kiểm thử phần mềm”, NXB Đại học Quốc gia Hà Nội Tiếng Anh [2.] D.E Perry and W.M Evangelist (1985), “An empirical study of software interface faults”, Proceedings of the Twentieth Annual Hawaii International Conference on Systems Sciences, Volume II, tr.113–126 [3.] Hung Q.Nguyen, Bob Johnson, Michael Hackett (2003), “Testing application on the web: Test planning for mobile and internet-based systems”, Wiley Publishing [4.] Ian Sommerville (2011), “Software engineering”, 9th Edition, Pearson Education, Inc [5.] J.C Huang (1979), “Detection of data flow anomaly through program instrumentation”, IEEE Transactions on Software Engineering, Volume 3, tr.226–236 [6.] Kshirasagar Naik, Priyadarshi Tripathy (2008), “Software testing and quality assurance”, Wiley Publishing 63 PHỤ LỤC Phụ lục 1: Kết sau thực kiểm thử form thành viên đăng nhập KẾT QUẢ KIỂM THỬ- Url kiểm thử: http://nhatkila.com/home/dangnhap - Test case số Input: txtTendangnhap - Giá trị: fewDh9 Input: txtMatkhau - Giá trị: BSimQR Thông báo: Sai tên đăng nhập mật - Test case số Input: txtTendangnhap - Giá trị: fewDh9 Input: txtMatkhau - Giá trị: Thông báo: Sai tên đăng nhập mật - Test case số Input: txtTendangnhap - Giá trị: Input: txtMatkhau - Giá trị: BSimQR Thông báo: Sai tên đăng nhập mật - Test case số Input: txtTendangnhap - Giá trị: Input: txtMatkhau - Giá trị: Thông báo: Sai tên đăng nhập mật - Test case số Input: txtTendangnhap - Giá trị: fewDh9 Input: txtMatkhau - Giá trị: BSimQR Thông báo: Sai tên đăng nhập mật - Test case số Input: txtTendangnhap - Giá trị: fewDh9 Input: txtMatkhau - Giá trị: Thông báo: Sai tên đăng nhập mật - Test case số Input: txtTendangnhap - Giá trị: fewDh Input: txtMatkhau - Giá trị: BSimQR Thông báo: Sai tên đăng nhập mật - Test case số Input: txtTendangnhap - Giá trị: fewDh Input: txtMatkhau - Giá trị: Thông báo: Sai tên đăng nhập mật - Test case số Input: txtTendangnhap - Giá trị: fewDh9F Input: txtMatkhau - Giá trị: BSimQR Thông báo: Sai tên đăng nhập mật - Test case số 10 - 64 Input: txtTendangnhap - Giá trị: fewDh9F Input: txtMatkhau - Giá trị: Thông báo: Sai tên đăng nhập mật Phụ lục 2: Kết sau thực kiểm thử form đăng ký nhận tin KẾT QUẢ KIỂM THỬ- Url kiểm thử: http://moitruongxanh.org.vn/newsletter - Test case số Input: txtEmail - Giá trị: P3LMs1 Thông báo: Email không hợp lệ - Test case số Input: txtEmail - Giá trị: Thông báo: Xin nhập địa email để đăng ký nhận tin - Test case số Input: txtEmail - Giá trị: abc.com Thông báo: Email không hợp lệ - Test case số Input: txtEmail - Giá trị: abc@com Thông báo: Email không hợp lệ - Test case số Input: txtEmail - Giá trị: @abc.com Thông báo: Đăng ký nhận tin thành công - Test case số Input: txtEmail - Giá trị: abc@abc.com Thông báo: Đăng ký nhận tin thành công - Test case số Input: txtEmail - Giá trị: abc@.abc.com Thông báo: Đăng ký nhận tin thành công - Test case số Input: txtEmail - Giá trị: abc.com@ Thông báo: Đăng ký nhận tin thành công