KIỂM THỬ PHẦN MỀM, NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE,Kiểm thử phần mềm là hoạt động thực tiễn sản phẩm hay dịch vụ phần mềm trong đúng môi trường chúng dự định sẽ được triển khai nhằm cung cấp cho người có lợi ích liên quan những thông tin về chất lượng của sản phẩm hay dịch vụ phần mềm ấy. Mục đích của kiểm thử phần mềm là tìm ra các lỗi hay khiếm khuyết phần mềm nhằm đảm bảo hiệu quả hoạt động tối ưu của phần mềm trong nhiều ngành khác nhau.
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ======***====== BÁO CÁO: KIỂM THỬ PHẦN MỀM NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE GVHD: Ths Hoàng Quang Huy Nhóm - Lớp: 12 - 20212IT6013002 Thành viên: Hà nội, Năm 2022 NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE MỤC LỤC I II III IV Tổng quan kiểm thử phần mềm Khái niệm Vai trò kiểm thử phần mềm Một số loại hình kiểm thử phổ biến Lý thuyết kiểm thử website Kiểm thử chức (Functionality Testing) Kiểm thử tính khả dụng (Usability Testing) 10 Kiểm thử database (Database Testing) 11 Kiểm thử khả tương thích (Compatibility Testing) 12 Kiểm thử giao diện (Interface Testing) 14 Kiểm thử hiệu (Performance Testing) 17 Kiểm thử bảo mật (Security Testing) 17 Kiểm thử đám đông (Crowd Testing) 17 Kiểm thử sở liệu (Phạm Thành Đô) 19 Kiểm thử cấu trúc (Structural) 19 Kiểm thử chức sở liệu (Functional) 22 Non-functional testing 24 Kiểm thử hiệu website (Nguyễn Huy Hưng) 25 Các loại kiểm thử hiệu website 25 Các vấn đề phổ biến hiệu 25 Quy trình kiểm thử hiệu 26 Các thông số theo dõi kiểm thử hiệu 27 Các trường hợp mẫu kiểm thử hiệu 29 Nhóm 12 NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE Một số công cụ kiểm thử hiệu cho website V VI Kiểm thử giao diện website (Lê Thảo Vân) 29 31 Khái niệm 31 Các giai đoạn kiểm tra giao diện 31 Phương pháp tiếp cận để kiểm tra giao diện 33 Kiểm thử chức website (Khúc Ngọc Việt) 34 Kiểm thử liên kết 34 Kiểm thử web form 34 Kiểm thử cookie 35 Kiểm thử HTML CSS 35 VII Tổng kết 36 VIII Tài liệu tham khảo 37 Tài liệu Tiếng Việt 37 Tài liệu tiếng Anh 37 Nhóm 12 NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE LỜI MỞ ĐẦU Ngày công nghệ thơng tin có bước phát triển mạnh mẽ theo chiều rộng chiều sâu Máy tính điện tử khơng cịn thứ phương tiện q mà ngày trở thành công cụ làm việc giải trí thơng dụng người không công sở mà gia đình Đứng trước vài trị thơng tin hoạt động cạnh tranh gay gắt, tổ chức nghiệp tìm biện pháp để xây dựng hồn thiện hệ thống thơng tin nhằm tin học hóa hoạt động tác vụ đơn vị Hiện công ty tin học hàng đầu giới không ngừng đầu tư cải thiện giải pháp sản phẩm nhằm cho phép tiến hành thương mại hóa Internet Thơng qua sản phẩm công nghệ này, để nhận tầm quan trọng tính tất yếu thương mại điện tử Với thao tác đơn giản máy có nối mạng internet bạn có tầm tay mà cần mà khơng phải nhiều thời gian Từ nhu cầu người sử dụng mạng Internet hướng dẫn tận tình thầy Hoàng Quang Huy, chúng em chọn đề tài " Nghiên cứu kỹ thuật kiểm thử website" Tuy cố gắng tìm hiểu, phân tích thiết kế cài đặt hệ thống chắn tránh khỏi thiếu sót Chúng em mong nhận thơng cảm góp ý q Thầy Nhóm 12 NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE I Tổng quan kiểm thử phần mềm Khái niệm Kiểm thử phần mềm hoạt động thực tiễn sản phẩm hay dịch vụ phần mềm môi trường chúng dự định triển khai nhằm cung cấp cho người có lợi ích liên quan thông tin chất lượng sản phẩm hay dịch vụ phần mềm Mục đích kiểm thử phần mềm tìm lỗi hay khiếm khuyết phần mềm nhằm đảm bảo hiệu hoạt động tối ưu phần mềm nhiều ngành khác Nội dung hoạt động kiểm thử bao gồm: - Kế hoạch kiểm thử - Phương pháp kiểm thử - Chiến lược kiểm thử kỹ thuật sử dụng Lý chọn đề tài Trong thời kỳ Internet of Thing (IoT), mà đồ vật, người cung cấp định danh riêng mình, tất có khả truyền tải, trao đổi thơng tin, liệu qua mạng mà không cần đến tương tác trực tiếp người với người, hay người với máy tính Bên cạnh phát triển mạnh mẽ phần mềm tách với công việc kiểm thử phần mềm – thước đo cho chuẩn đầu sản phẩm Trong trình xây dựng website hay phần mềm, quy trình kiểm thử không diễn ra, đảm bảo tính an tồn độ tin cậy cho sản phẩm Ngược lại, kiểm thử diễn tốt giúp ta có phần mềm an tồn, dễ thao tác, mục tiêu đáp ứng, chi phí bảo trì sửa chữa cho sản phẩm giảm thiểu tối đa, giúp cho sản phẩm hướng ban đầu đề ra, phần mềm có sức thuyết phục với khách hàng… Chính kiểm thử phần khơng thể thiếu vịng đời sản phẩm Nhận thức quan trọng để áp dụng kiến thức học môn “Kiểm thử phần mềm” chúng em xin áp dụng công cụ kiểm thử tự động vào dự án cụ thể : “ Nghiên cứu kỹ thuật kiểm thử website” Nhóm 12 NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE Vai trò kiểm thử phần mềm Việc tạo sản phẩm phần mềm phải trải qua nhiều giai đoạn, người ta gọi quy trình phát triển phần mềm, có ý tưởng đưa sản phẩm phần mềm thực thi Khối lượng công việc giai đoạn trình sản xuất phần mềm thay đổi theo thời gian Giai Phân Thiết kế Thiết kế Lập Tích hợp Kiểm thử đoạn tích u sơ chi tiết trình kiểm thử tích hệ thống kiểm thử hợp cầu đơn vị 1960 - 10% 1970 80% 10% 1980s 20% 60% 20% 1990s 40% 30% 30% Bảng Tỉ lệ công việc giai đoạn phát triển phần mềm Như vậy, sản phẩm phần mềm không đơn giản đoạn mã chương trình mà cịn nhiều lập trình mà cịn xảy cao cơng đoạn khách quy trình phát triển sản phẩm phần mềm Việc kiểm thử phải tiến hành tất sản phần tạo nên sản phẩm phần mềm Một số loại hình kiểm thử phổ biến Hiện nay, phát triển mạnh mã cơng nghệ phần mềm nên có số loại hình kiểm thử tiêu biểu như: - Kiểm thử phần mềm Desktop: ứng dụng cài đặt trực tiếp máy tính cá nhân Đây ứng dụng phổ biến - Kiểm thử Web hay kiểm thử đám mây: với lớn mạnh Internet ứng dụng web ngày phát triển dần thay ứng dụng Desktop truyền thống Google Document, Microsoft web apps, … Nhóm 12 NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE - Kiểm thử Mobile: ngày xã hội với phát triển nhanh chóng, thiết bị di động (điện thoại thơng minh, máy tính bảng,…) có số lượng người dùng tăng lên chóng mặt, với số lượng phần mềm phục vụ cho nhu cầu tăng cao lĩnh vực đầy tiềm thách thức cơng nghệ phần mềm Nhóm 12 NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE II Lý thuyết kiểm thử website Trước sâu vào chi tiết, cần hiểu kiểm thử website gì? Kiểm thử website hay kiểm thử web kiểm tra ứng dụng web trang web bạn để tìm lỗi tiềm ẩn trước xuất trực tuyến công chúng truy cập Kiểm tra web kiểm tra chức năng, khả sử dụng, bảo mật, khả tương thích, hiệu suất ứng dụng web trang web Trong giai đoạn này, vấn đề bảo mật ứng dụng web, hoạt động trang web, quyền truy cập người dùng khuyết tật người dùng thông thường khả xử lý lưu lượng truy cập kiểm tra Trong Kỹ thuật phần mềm, loại kỹ thuật kiểm tra sau thực tùy thuộc vào yêu cầu kiểm tra web bạn Kiểm thử chức (Functionality Testing) Việc kiểm thử chức đòi hỏi tester phải thực test tất chức link trang web, định dạng sử dụng trang web để gửi nhận thơng tin cần thiết từ người dùng Ngồi cịn có kết nối sở liệu, kiểm tra cookies xác minh HTML/CSS Test links Kiểm tra tất link trang web bạn hoạt động xác đảm bảo khơng có liên kết (links) bị chết bị hỏng Link kiểm thử bao gồm: ● Liên kết trang web ● Liên kết nội ● Liên kết tới vị trí trang ● Liên kết sử dụng để gửi email tới admin người dùng khác trang Test Forms Kiểm tra forms trang đảm bảo hoạt động mong đợi, bao gồm yêu cầu sau: Nhóm 12 NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE ● Kiểm tra trường trang hoạt động hay chưa Ví dụ: người dùng khơng nhập vào trường bắt buộc có hiển thị thông báo lỗi hay không? ● Kiểm tra giá trị mặc định trường gì? ● Nhập đầu vào khơng validate trường sao? ● Thao tác trường: xem, nhập, lưu, sửa, xóa…có ổn định hay khơng ● Các form có thân thiện dễ nhìn dễ thao tác hay khơng? Test Cookies Kiểm thử Cookies có hoạt động mong đợi Cookies tệp tạo trang web truy cập để lưu trữ thông tin duyệt web, tùy chọn trang web thông tin đăng nhập người dùng Người dùng tùy chỉnh trình duyệt nhằm quản lý cookies, thực thao tác cho phép lưu, xóa, chặn…để kiểm thử tính lưu khơng lưu trạng thái đăng nhập, tính bảo mật ứng dụng web Test Cookies bao gồm: ● Kiểm tra cookie (sessions) bị xóa xóa nhớ cache chúng hết hạn ● Xóa cookie (sessions) kiểm tra thơng tin đăng nhập có u cầu bạn truy cập trang web lần sau Test HTML and CSS Xác minh HTML/CSS: việc xác minh đặc biệt quan trọng developer thực tối ưu hóa trang web cho cơng cụ tìm kiếm, chủ yếu liên quan tới lỗi cú pháp HTML Tester kiểm thử xem trang web có nhận diện cơng cụ tìm kiếm khác hay khơng (ví dụ: Google, Yahoo, Bing…) Test business workflow - Bao gồm: ● Kiểm thử test case từ bắt đầu đến lúc kết thúc, giúp người dùng qua theo flow trang web ● Kiểm thử test case abnormal để người dùng thực số bước unexpected thơng báo lỗi có tương tác phù hợp hiển thị để người dùng biết thao tác Kiểm thử tính khả dụng (Usability Testing) Kiểm thử tính khả dụng trở thành phần quan trọng dự án Nó thực Tester, dev, người dự án Nhóm 12 NGHIÊN CỨU CÁC KỸ THUẬT KIỂM THỬ WEBSITE Tính khả dụng trang web định nghĩa trang web dễ sử dụng, có hướng dẫn sử dụng rõ ràng, rành mạch, trang có menu menu phải quán Tester cần lưu ý điều Kiểm tra Navigation: Menu, button, textbox, breadcrumb link đến trang khác trang web bạn phải dễ nhìn thấy quán tất trang web Kiểm tra nội dung: Nội dung phải dễ đọc khơng có lỗi tả ngữ pháp, thân thiện với người dùng Hình ảnh xếp gọn gàng, hợp lý Kiểm thử database (Database Testing) Trong kiểm thử database, ghi liệu phía backend đưa lên ứng dụng web desktop kiểm thử Dữ liệu hiển thị ứng dụng web phải khớp với liệu lưu trữ database Những lưu ý thực kiểm thử database: ● Người kiểm thử phải hiểu yêu cầu chức năng, logic nghiệp vụ, luồng ứng dụng thiết kế database cách kỹ lưỡng ● Người kiểm tra phải tìm bảng (tables), trình kích hoạt (triggers), thủ tục lưu trữ (stored procedures), dạng xem (views) trỏ (cursors) sử dụng cho ứng dụng ● Người kiểm tra nên hiểu logic trình kích hoạt, thủ tục lưu trữ, chế độ xem trỏ tạo ● Người kiểm tra phải tìm bảng bị ảnh hưởng chèn thao tác cập nhật xóa (DML) thực thông qua ứng dụng web desktop Với trợ giúp mục đề cập trên, người kiểm thử dễ dàng viết kịch kiểm thử cho kiểm thử database Các ca kiểm thử (test cases) mẫu sử dụng kiểm thử database: ● Xác minh (Verify) tên database: Tên database phải khớp với thông số kỹ thuật ● Xác minh Bảng, cột, loại cột giá trị mặc định: Tất thứ phải khớp với thông số kỹ thuật ● Xác minh xem cột có cho phép null hay khơng ● Xác minh khóa (primary key) khóa ngoại (foreign key) bảng ● Xác minh thủ tục lưu trữ (stored procedure): tên, cài đặt hay chưa Nhóm 12