Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
2 MB
Nội dung
TRƯỜNG ĐẠI HỌC GIA ĐỊNH KHOA CÔNG NGHỆ THÔNG TIN MÔN: CÔNG NGHỆ PHẦN MỀM TÊN ĐỀ TÀI: KIỂM THỬ ỨNG DỤNG WEB TÊN GIẢNG VIÊN: Ths HUỲNH PHƯỚC DANH SINH VIÊN THỰC HIỆN: NGUYỄN TRUNG HIẾU MSSV: 2104110088 LỚP: K15DCPM02 NGÀNH: KỸ THUẬT PHẦN MỀM TP HỒ CHÍNH MINH, NĂM 2023 MỤC LỤC KHÁI NIỆM CÁCH KIỂM THỬ TRANG WEB VÀ PHÂN LOẠI CÁC KỸ THUẬT KIỂM THỬ4 CÁC QUY TRÌNH KIỂM THỬ CHUNG 3.1 Requirement Analysis 3.2 Test Planning 3.3 Test Case Development 3.4 Environment Setup 3.5 Test Execution 3.6 Test Cycle Closure .8 ĐẶC ĐIỂM CỦA ỨNG DỤNG WEB .8 4.1 Khả truy cập đa tảng 4.2 Tính đa tảng 4.3 Tiết kiệm chi phí quản lý 10 4.4 Tích hợp mở rộng .11 4.5 Cập nhật nhanh chóng 12 QUY TRÌNH KIỂM THỬ CHO ỨNG DỤNG WEB 13 5.1 Functionality Testing .13 5.2 Usability testing .14 CÁC CÔNG CỤ HỖ TRỢ KIỂM THỬ CHO ỨNG DỤNG WEB 17 6.1 Testuff .17 6.2 Zephyr 17 6.3 TestingWhiz 18 6.4 Ranorex .18 6.5 LoadStorm 19 6.6.Telerik Test Studio 19 6.7 Selenium 19 CÁC BIỂU MẪU / TÀI LIỆU KIỂM THỬ CHO ỨNG DỤNG WEB 21 VÍ DỤ 22 LỜI NÓI ĐẦU Được phân công Khoa Công Nghệ thông tin Trường Đại học Gia Định, hướng dẫn Thầy giáo hướng dẫn ThS Huỳnh Phước Danh, em hoàn thành đề tài “Kiểm thử ứng dụng web” Để hoàn thành luận này, em xin chân thành cảm ơn Thầy Huỳnh Phước Danh tận tình hướng dẫn, giảng dạy suốt trình học tập nghiên cứu môn Công nghệ phần mềm Mặc dù có nhiều cố gắng để thực đề tài cách hồn chỉnh Song trình độ hiểu biết nhận thức chưa cao nên tiểu luận khó tránh khỏi sơ sài, cịn thiếu sót, em mong nhận đóng góp ý kiến thầy bạn bè để em học hỏi thêm rút kinh nghiệm cho lần tới Em xin chân thành cảm ơn! Thành phố Hồ Chí Minh, ngày tháng năm 2023 KHÁI NIỆM Kiểm thử ứng dụng web trình kiểm tra đánh giá tính năng, chất lượng độ tin cậy ứng dụng web trước phát hành đến khách hàng người dùng cuối Mục đích kiểm thử ứng dụng web tìm lỗi, vấn đề cố gây hỏng hóc ảnh hưởng đến trải nghiệm người dùng trình duyệt web khác Qua giúp cho nhà phát triển nhà sản xuất phần mềm sửa lỗi cải thiện ứng dụng họ trước phát hành để đảm bảo ổn định đáp ứng nhu cầu người dùng nhiều tảng khác Các công cụ phần mềm kiểm thử ứng dụng web bao gồm kỹ thuật kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử chấp nhận người dùng, kiểm thử bảo mật kiểm thử tốc độ tải trang web Kiểm thử web theo thuật ngữ đơn giản kiểm tra ứng dụng web bạn để tìm lỗi tiềm ẩn trước deloy lên môi trường production Trong giai đoạn này, vấn đề bảo mật ứng dụng web, chức trang web, quyền truy cập khả xử lý lưu lượng kiểm thử PHÂN LOẠI CÁC KỸ THUẬT KIỂM THỬ Các bước kiểm thử thực tùy thuộc vào yêu cầu kiểm thử web bạn Một ứng dụng web thường có nhiều nhóm người sử dụng với nhiều tảng khác (hệ điều hành, trình duyệt…), người ta khó đốn số lượng người sử dụng ứng dụng web bao nhiêu, thời gian hồi đáp yêu cầu người sử dụng ứng dụng yếu tố mang tính định thành bại ứng dụng…dẫn đến việc kiểm thử ứng dụng web có khác biệt định so với kiểm thử phần mềm truyền thống Trong đó, kiểm thử giao diện người dùng, kiểm thử hiệu kiểm thử bảo mật loại kiểm thử mà ứng dụng web cần trọng – Các kỹ thuật kiểm thử web phân loại vào hạng mục sau: Kiểm thử đơn vị (Unit Testing): Kiểm thử đơn vị kỹ thuật kiểm thử phần mềm mà ta kiểm tra phần riêng lẻ mã nguồn, giúp kiểm tra xem phần hoạt động xác hay khơng Kiểm thử tích hợp (Integration Testing): Kiểm thử tích hợp (Integration Testing) kỹ thuật kiểm thử phần mềm mà ta kiểm tra phần phần mềm kết hợp hiệu với hay không Kiểm thử hệ thống (System Testing): Kiểm thử hệ thống kỹ thuật kiểm thử phần mềm mà ta kiểm tra hệ thống phần mềm, kiểm tra hành vi thành phần phần mềm với tính yêu cầu phần mềm Kiểm thử chấp nhận người dùng (User Acceptance Testing - UAT): UAT kỹ thuật kiểm tra thực tế, thực khách hàng người dùng cuối để đảm bảo sản phẩm phần mềm đáp ứng đầy đủ nhu cầu yêu cầu khách hàng người dùng cuối Kiểm thử hiệu tải (Performance and Load Testing): Kiểm thử hiệu tải kỹ thuật kiểm thử phần mềm để đánh giá sức mạnh khả hệ thống gặp tải sử dụng cao Kiểm thử bảo mật (Security Testing): Là kỹ thuật kiểm thử phần mềm nhằm kiểm tra khả bảo mật ứng dụng khía cạnh chống XSS (Cross-Site Scripting), chống SQL Injection, chống Tràn đệm, chống DDos (Distributed Denial of Service), phân quyền, SSL Kiểm thử tương thích (Compatibility Testing): Là kỹ thuật kiểm thử phần mềm để kiểm tra xem ứng dụng bạn có tương thích với trình duyệt web khác nhau, hệ điều hành thiết bị điện thoại di động, máy tính bảng, máy tính để bàn hay khơng CÁC QUY TRÌNH KIỂM THỬ CHUNG 3.1 Requirement Analysis Giai đoạn quy trình kiểm thử phần mềm Requirement Analysis (Phân tích yêu cầu) Trong giai đoạn này, tester phân tích tài liệu Prototype (Tài liệu đặc tả yêu cầu) tạo Software Development Life Cycle (Vòng đời phát triển phần mềm) để kiểm tra yêu cầu khách hàng đưa Yêu cầu chia làm dạng: Functional (Chức năng) Non-Functional (Phi chức năng) Yêu cầu Functional mơ tả tính cịn Non-Functional mơ tả hiệu năng, tính bảo mật, tính hữu dụng phần mềm Trong q trình phân tích, u cầu mơ hồ xem xét lại, tester đồng thời làm việc với bên liên quan để làm rõ vấn đề Cuối cùng, tester xác định loại kiểm thử dùng độ ưu tiên hoạt động kiểm thử, xác định môi trường test cần chuẩn bị 3.2 Test Planning Sau giai đoạn một, tester tiến hành Lập kế hoạch kiểm thử để kiểm tra xem phần mềm có đáp ứng yêu cầu hay không Kế hoạch kiểm thử tài liệu tổng quan việc kiểm thử dự án bao gồm thông tin sau: Phạm vi kiểm thử, hướng tiếp cận, quy trình kiểm thử, tài nguyên nhân lực test Các chức năng/module cần kiểm tra; cơng cụ mơi trường kiểm thử cần có Ai test chức nào? - Khi bắt đầu thực viết hoàn thành test case? Khi bắt đầu thực hoàn thành test? 3.3 Test Case Development Sau có Test Plan, Tester bắt đầu xây dựng Test Case dựa yêu cầu phần mềm Test Case cần mô tả chi tiết liệu đầu vào, hành động, kết mong đợi để xác định chức ứng dụng phần mềm có hoạt động hay khơng Template Test Case có nhiều trường hợp bắt buộc phải có mục chính: ID, mục đích kiểm thử, bước thực hiện, kết mong đợi & kết thực tế Nếu sử dụng tool để thực test tự động (Automation testing) chức giao diện sản phẩm, tester tạo thêm kịch kiểm thử gọi Test Script Test Script hướng dẫn chi tiết viết mã code nhằm hỗ trợ kiểm thử trường hợp test thủ cơng tay khó khăn Các Tester team review chéo Test Case tránh bỏ sót trường hợp test quan trọng Một Test Case chất lượng giúp đảm bảo chất lượng sản phẩm, hạn chế lỗi rủi ro cho khách hàng 3.4 Environment Setup Thiết lập môi trường thử nghiệm hoạt động độc lập bắt đầu với giai đoạn phát triển kịch kiểm thử Môi trường kiểm thử developers tạo để deploy sản phẩm hồn thiện phần lập trình Sau thiết lập môi trường thử nghiệm, tester thực nhanh Smoke Testing (Kiểm thử khói) để kiểm tra tính sẵn sàng mơi trường thử nghiệm đồng thời tính ổn định build sản phẩm Trường hợp xuất lỗi môi trường không ổn định hay build lỗi chức chính, tester báo lại developers sửa Nếu môi trường build đủ ổn định để tiến hành test chi tiết, tester tiến hành giai đoạn - Thực kiểm thử 3.5 Test Execution Khi developers code đưa sản phẩm lên môi trường kiểm thử, tester thực thi dựa Test Case viết Trong trình test, phát bug (lỗi) tester log (viết) lên tool quản lý lỗi Bug lập trình viên giao lại cho người xử lý Khi developers fix bug xong, tester nhận lại tiến hành kiểm thử Nếu lỗi sửa, tính hoạt động ổn định, tester đổi trạng thái thành Close Bug Trường hợp lỗi chưa fix thành công, trạng thái đổi thành Re-open để developers thực fix lại Khi bug fix thành cơng đóng lại việc test tính Trong trình kiểm thử phần mềm, tester ưu tiên kiểm tra chức trước, chức phụ giao diện thực test sau Quá trình kiểm thử phần mềm bắt buộc phải tuân thủ thời gian đề ra, người team đôn đốc để kịp tiến độ bàn giao sản phẩm Cuối cùng, tester thực làm báo cáo tùy theo yêu cầu dự án để đánh giá việc kết thúc quy trình kiểm thử phần mềm 3.6 Test Cycle Closure Ở giai đoạn cuối cùng, tester chuẩn bị báo cáo kết thúc kiểm thử, tổng hợp lại số trình test Cả team phát triển ngồi họp để đánh giá toàn tiêu chí xác định kiểm thử đủ hay chưa Những tiêu chí khác tùy theo dự án, thông thường bao gồm: Số lượng test case tối đa thực thi Passed Tỷ lệ lỗi giảm xuống mức định Deadline chốt từ giai đoạn làm kế hoạch kiểm thử Quy trình kiểm thử phần mềm thường kết thúc sản phẩm bàn giao cho khách hàng Ngoài ra, hoạt động kiểm thử kết thúc trường hợp sau: Khi dự án bị hủy bỏ Khi mục tiêu hồn thành Khi việc bảo trì cập nhật hồn thành ĐẶC ĐIỂM CỦA ỨNG DỤNG WEB Dưới đặc điểm bật ứng dụng web rõ ràng chi tiết 4.1 Khả truy cập đa tảng Khả truy cập đa tảng ứng dụng web đặc điểm quan trọng, cho phép người dùng truy cập sử dụng ứng dụng nhiều thiết bị khác máy tính, điện thoại di động, máy tính bảng thiết bị khác Điều mang lại nhiều lợi ích cho người dùng, đồng thời gặp phải số bất lợi Dưới lợi ích bất lợi khả truy cập đa tảng ứng dụng web, kèm theo ví dụ cụ thể: - Lợi ích: Cải thiện trải nghiệm người dùng: Khả truy cập đa tảng giúp người dùng truy cập sử dụng ứng dụng nhiều thiết bị khác nhau, mang lại trải nghiệm tốt cho người dùng Ví dụ: Ứng dụng Google Drive truy cập sử dụng nhiều thiết bị máy tính, điện thoại di động máy tính bảng, giúp người dùng dễ dàng lưu trữ chia sẻ liệu Tăng tính linh hoạt tiện lợi: Khả truy cập đa tảng giúp người dùng dễ dàng truy cập sử dụng ứng dụng lúc, nơi, nhiều thiết bị khác Ví dụ: Ứng dụng Viber cho phép người dùng truy cập sử dụng nhiều thiết bị khác máy tính, điện thoại di động, máy tính bảng, giúp người dùng dễ dàng liên lạc với bạn bè gia đình đâu - Bất lợi: Khó khăn việc tối ưu hóa trải nghiệm người dùng: Vì ứng dụng web phải hỗ trợ nhiều tảng thiết bị khác nhau, việc tối ưu hóa trải nghiệm người dùng tất tảng khó khăn Ví dụ: Một số trang web chưa tối ưu hóa cho thiết bị di động, gây khó khăn cho người dùng truy cập từ điện thoại di động Cần phải thường xuyên cập nhật bảo trì: Vì ứng dụng web phải hỗ trợ nhiều tảng thiết bị khác nhau, nên việc cập nhật bảo trì cho tất phiên thiết bị quan trọng Nếu khơng thường xun cập nhật bảo trì, ứng dụng gặp cố khơng tương thích với số thiết bị tảng Ví dụ: Trang web eBay thường xuyên cập nhật để hỗ trợ nhiều tảng thiết bị khác 4.2 Tính đa tảng Tính đa tảng ứng dụng web thể thông qua việc phát triển ứng dụng web có khả chạy nhiều tảng thiết bị khác thơng qua trình duyệt web - Lợi ích: Đạt tới đơng đảo người dùng: Tính đa tảng cho phép ứng dụng bạn chạy nhiều loại thiết bị tảng khác nhau, từ điện thoại di động, máy tính bảng đến máy tính thiết bị IoT Điều giúp bạn tiếp cận đa dạng người dùng mở rộng lượng khách hàng tiềm - Bất lợi: Giới hạn chức năng: Đôi khi, việc phát triển đa tảng gặp hạn chế chức đặc biệt khác biệt tảng Điều yêu cầu phải giới hạn số tính tuỳ chỉnh cho phù hợp với tảng cụ thể Điều ảnh hưởng đến trải nghiệm người dùng khả tương thích tảng khác Hiệu suất tối ưu hóa: Một ứng dụng đa tảng khơng đạt hiệu suất tốt tất tảng Do đa dạng thiết bị tảng, cần phải đánh đổi hiệu suất tối ưu hóa cho tảng riêng biệt Điều ảnh hưởng đến tốc độ hoạt động trải nghiệm ứng dụng số thiết bị hệ điều hành cụ thể 4.3 Tiết kiệm chi phí quản lý Tiết kiệm chi phí quản lý dễ dàng: So với phần mềm truyền thống cần cài đặt máy tính cá nhân, ứng dụng web giảm thiểu chi phí phát triển, triển khai trì Nó cho phép quản lý tập trung dễ dàng, bảo mật liệu tốt cung cấp khả theo dõi điều chỉnh hoạt động ứng dụng cách hiệu - Lợi ích: Tiết kiệm chi phí phần cứng: Do khơng u cầu phần cứng đặc biệt, ứng dụng web giúp tiết kiệm chi phí cho việc mua sắm trì phần cứng cho tảng Người dùng truy cập vào ứng dụng từ thiết bị có kết nối internet, mà khơng cần phải mua thiết bị đặc biệt Dễ dàng cập nhật triển khai: Với ứng dụng web, việc cập nhật triển khai phiên trở nên dễ dàng Người dùng cần tải lại trang web để truy cập vào phiên ứng dụng, mà không cần phải cài đặt cập nhật lần Điều giúp tiết kiệm thời gian công sức việc quản lý triển khai ứng dụng 10 Quản lý dễ dàng: Do ứng dụng web chạy trình duyệt web, việc quản lý trì ứng dụng trở nên dễ dàng Việc cập nhật sửa lỗi thực máy chủ áp dụng cho tất người dùng lúc Điều giúp đơn giản hóa quy trình quản lý hỗ trợ ứng dụng - Bất lợi: Phụ thuộc vào kết nối internet: Ứng dụng web yêu cầu kết nối internet liên tục để hoạt động Nếu người dùng khơng có kết nối internet kết nối không ổn định, họ truy cập vào ứng dụng sử dụng tính Giới hạn tính năng: Một số tính phức tạp đặc biệt khó triển khai ứng dụng web Một số khả mạnh mẽ hệ điều hành thiết bị khơng hỗ trợ khó đạt mơi trường web 4.4 Tích hợp mở rộng Tích hợp mở rộng: Ứng dụng web có khả tích hợp với dịch vụ hệ thống khác, cho phép chia sẻ liệu tương tác với ứng dụng nguồn tài nguyên khác - Lợi ích: Linh hoạt mở rộng: Ứng dụng web dễ dàng tích hợp với dịch vụ API khác để mở rộng chức tính Điều cho phép phát triển ứng dụng web theo nhu cầu thay đổi doanh nghiệp người dùng Tích hợp liệu: Ứng dụng web có khả tích hợp tương tác với nguồn liệu bên sở liệu, hệ thống quản lý nội dung (CMS), dịch vụ web, API bên thứ ba Điều cho phép ứng dụng web truy cập sử dụng liệu từ nguồn khác để cung cấp thông tin chức phong phú Mở rộng tính năng: Tích hợp mở rộng cho phép ứng dụng web mở rộng tính mà khơng cần phải xây dựng lại toàn ứng dụng Việc tích 11 hợp thành phần, plug-in, module dịch vụ bên giúp ứng dụng web mở rộng chức cách linh hoạt nhanh chóng - Bất lợi: Phụ thuộc vào bên thứ ba: Khi tích hợp dịch vụ API bên thứ ba, ứng dụng web trở nên phụ thuộc vào tồn sẵn sàng hoạt động bên - Nếu dịch vụ không hoạt động ngừng hỗ trợ, ứng dụng web bị ảnh hưởng không hoạt động cách Quản lý phức tạp: Với tích hợp mở rộng, quản lý trì ứng dụng web trở nên phức tạp Việc theo dõi cập nhật phiên tích hợp mới, xử lý lỗi tích hợp, quản lý thành phần bên thứ ba đòi hỏi kiến thức kỹ thuật cao thời gian đáng kể 4.5 Cập nhật nhanh chóng Dễ dàng cập nhật triển khai: Ứng dụng web cho phép việc cập nhật triển khai nhanh chóng dễ dàng Thay phải cài đặt phiên máy tính cá nhân, cần cập nhật máy chủ tất người dùng nhận phiên truy cập vào ứng dụng Điều giúp đơn giản hóa trình trì đảm bảo tất người dùng sử dụng phiên đồng ứng dụng - Lợi ích: Tiết kiệm thời gian công sức: Dễ dàng cập nhật triển khai giảm bớt thời gian công sức cần thiết để triển khai phiên ứng dụng Người phát triển không cần phải cài đặt ứng dụng thiết bị máy tính cá nhân người dùng, mà cần triển khai máy chủ tất người dùng truy cập vào phiên Đồng phiên bản: Với ứng dụng web, người dùng truy cập vào phiên ứng dụng Điều giúp đảm bảo tất người dùng sử dụng phiên khơng có khơng đồng phiên - Bất lợi: 12 Phụ thuộc vào kết nối internet: Ứng dụng web yêu cầu kết nối internet ổn định để hoạt động cách hiệu Nếu kết nối internet không ổn định người dùng khơng có kết nối internet, họ khơng thể truy cập vào ứng dụng sử dụng tính Có thể gây gián đoạn truy cập: Trong q trình triển khai phiên mới, xảy tình trạng gián đoạn truy cập vào ứng dụng Khi máy chủ triển khai phiên mới, người dùng khơng thể truy cập vào ứng dụng gặp khó khăn việc thực thao tác QUY TRÌNH KIỂM THỬ CHO ỨNG DỤNG WEB 5.1 Functionality Testing Hay gọi kiểm thử chức trang web, trình gồm tham số kiểm tra Gồm: giao diện người dùng, API, kiểm tra sở liệu, bảo mật chức trang web.tester cần phải tiến hành kiểm tra chức link trang web Cùng định dạng dùng để gửi nhận thông tin cần thiết từ người dùng Bên cạnh cịn có kết nối sở liệu, kiểm tra cookies xác minh HTML/CSS Các hoạt động kiểm thử bao gồm: - Test link: Kiểm tra link trang web có hoạt động chuẩn xác phát link bị hỏng hay chết Những link kiểm thử gồm: Liên kết nội (Internal Link) , Liên kết (External Link) , Liên kết mail, Liên kết anchor Liên kết tới vị trí trang - Kiểm thử web form: trình kiểm thử biểu mẫu ứng dụng web Biểu mẫu thường sử dụng để thu thập thông tin từ người dùng, đăng ký, đăng nhập, gửi thông tin liên hệ, đặt hàng, v.v Test Forms đảm bảo biểu mẫu hoạt động đúng, xử lý liệu cách cung cấp trải nghiệm người dùng tốt, số trường hợp nhắc tới kiểm thử ứng dụng web: 13 Điều kiểm tra tính hợp lệ field form, hai loại Validation cần xem xét – “Client side” “Server side” validations - Kiểm tra giá trị mặc định: Kiểm tra tất field bắt buộc Kiểm tra người dùng không nhập vào field bắt buộc cần hiển thị thông báo Thêm sửa thông tin cách sử dụng form Thứ tự tab web form Kiểm tra giá trị mặc định field Form cần định dạng tối ưu khả đọc - Kiểm thử cookie: Cookie tập tin chứa thông tin hệ thống người dùng, tệp lưu vị trí mong muốn sử dụng trình duyệt Các session đăng nhập, thơng tin lưu lại cookie (như session) truy xuất cho trang web Người dùng kích hoạt vơ hiệu Cookies tùy chọn trình duyệt, kiểm thử để kiểm tra xem cookie có lưu trữ máy người dùng định dạng mã hóa hay khơng - Kiểm thử HTML CSS: Kiểm thử kiểm tra xem cơng cụ tìm kiếm thu thập liệu trang web bạn mà không xảy lỗi nào, bạn nên kiểm tra tất lỗi cú pháp, màu sắc tuân thử theo tiêu chuẩn W3C, ISO, ECMA, IETF, WS-I, OASIS 5.2 Usability testing Kiểm thử khả sử dụng website: Đóng vai trị quan trọng ứng dụng web, Usability testing đảm bảo kiểm tra tất test case xuất phát từ người dùng Bao gồm: - Kiểm tra điều hướng website: Tất tùy chọn UI/UX, menu, liên kết button website phải hiển thị truy cập.Điều hướng trang web dễ dàng sử dụng Nội dung hướng dẫn phải rõ ràng phải đáp ứng mục đích 14 Tất tùy chọn header, footer điều hướng trái / phải phải quán trang - Kiểm tra nội dung website: Khơng có lỗi tả ngữ pháp lỗi nội dung Tích hợp Alt hình ảnh Khơng có ảnh hỏng Xác nhận tính hợp lệ tất giao diện người dùng Thực theo số tiêu chuẩn xây dựng nội dung trang web Tất nội dung phải rõ ràng dễ hiểu Màu tối gây bất bình cho người sử dụng, tránh sử dụng theme màu tối Kích thước hình ảnh kích nên phù hợp Anchor text phải hoạt động bình thường - Kiểm thử tương thích: Việc kiểm tra khả tương thích nhằm đảm bảo ứng dụng web thị xác thiết bị khác gồm: Kiểm tra độ tương thích trình duyệt: Các ứng dụng web hiển thị khác trình duyệt khác nhau, mục tiêu kiểm tra khả tương thích trình duyệt đảm bảo khơng có lỗi xảy trình duyệt web khác hiển thị website Bạn cần đảm bảo ứng dụng web bạn hiển thị trình duyệt khác kiểm tra AJAX, JavaScript xác thực hoạt động xác Khả tương thích hệ điều hành: Các thành phần web: button, trường văn bản,… việc hiển thị có thay đổi Hãy đảm bảo trang web hoạt động tốt kết hợp với hệ điều hành: Windows, Linux, Mac,…Một số chức web thay đổi không tương thích với hệ điều hành cần kiểm thử kỹ thơng báo cho người dùng Trình duyệt web di động: Bạn nên kiểm tra khả tương thích website điện thoại di động, đơi xảy cố tương thích trình duyệt điện thoại di động 15 - Kiểm thử sở liệu: Độ tin cậy liệu phần quan trọng việc kiểm thử sở liệu Vì vậy, ứng dụng web nên kiểm tra cách kỹ lưỡng Các hoạt động kiểm tra bao gồm: Kiểm tra truy vấn thực mà không xảy lỗi Thêm mới, cập nhật xoá liệu sở liệu nên trì tính tồn vẹn liệu Truy vấn liệu không nên nhiều thời gian Kiểm tra việc load liệu kết nhận với câu truy vấn dài Dữ liệu nhận sở liệu hiển thị website có xác hay không - Kiểm thử giao diện chủ yếu có ba lĩnh vực cần kiểm tra: Web Server, Application server Database server Đảm bảo tất thông tin liên lạc server phải thực đúng, xác minh kết nối máy chủ thiết lập lại bị mất, kiểm tra xem có xung đột lúc ứng dụng hoạt động, trả lỗi từ web server database server đến application server sau xử lý cuối hiển thị kết tới người dùng Web server: kiểm tra xem tất yêu cầu web có chấp nhận không yêu cầu bị từ chối bị rò rỉ Application server: kiểm tra xem yêu cầu có gửi đến server, lỗi có bắt hiển thị cho người quản trị Atabase server: kiểm tra kết truy vấn sở liệu - Kiểm thử hiệu website: Tiến hành kiểm tra hiệu để đảm bảo trang web hoạt động tốt tải Các hoạt hoạt kiểm thử không giới hạn gồm: Kiểm tra thời gian phản hồi website với tốc độ kết nối khác Kiểm tra website có xử lý nhiều yêu cầu người dùng vào thời điểm Kiểm tra website có hoạt động tốt thời điểm lượt tải cao Kiểm tra liệu đầu vào lớn từ người dùng 16 Kiểm tra hành vi website kết nối với sở liệu Đảm bảo tối ưu hóa kỹ thuật: nén gzip, trình duyệt đệm phía máy chủ bật để giảm thời gian tải - Kiểm thử bảo mật website: Việc kiểm tra độ bảo mật trang web quan trọng đặc biệt trang web thương mại điện tử lưu trữ thông tin cá nhân khách hàng Hoạt động kiểm thử gồm: Kiểm tra truy cập trái phép vào trang web an tồn khơng phép Các tệp bị hạn chế khơng thể tải xuống khơng có quyền truy cập Kiểm tra session hết hạn sau thời gian xác định người dùng không thao tác website CÁC CÔNG CỤ HỖ TRỢ KIỂM THỬ CHO ỨNG DỤNG WEB 6.1 Testuff Là công cụ kiểm thử ứng dụng web desktop Công cụ cung cấp khả quản lý toàn vịng đời kiểm thử phần mềm Bên cạnh đó, Testuff cịn hỗ trợ kiểm tra tự động, tích hợp chiều với trình theo dõi lỗi video Cơng cụ cho biết rủi ro việc sử dụng dị tìm bug, sau ghi lại video dị tìm rủi ro - Ưu điểm bật: Chi phí thấp Thân thiện với người dùng Cung cấp tính quay video để kịp thời phát lỗi 6.2 Zephyr Trong công cụ kiểm thử phần mềm hiệu Đây cơng cụ giúp kiểm thử viên lập kế hoạch theo dõi trường hợp kiểm thử cách đơn giản Trong không gian quản lý kiểm thử, Zephyr có khác biệt nhấn mạnh vào thử nghiệm theo yêu cầu thời gian thực Zephyr tập trung vào phân khúc thị 17 trường trung bình nhỏ thông qua Atlassian, nhiên, công cụ kiểm thử lại không xây dựng cho doanh nghiệp - Ưu điểm bật: Cung cấp khả hiển thị thời gian thực Có khả hỗ trợ lúc nhiều trường hợp kiểm thử 6.3 TestingWhiz Là công cụ kiểm thử phần mềm tự động, cung cấp giải pháp gói hồn chỉnh bao gồm giải pháp kiểm thử khác nhau, bao gồm: test API, test web, test database, test phần mềm, test ứng dụng di động, tối ưu hóa, tự động hóa, bảo trì kiểm tra hồi quy kiểm thử trình duyệt khác - Tính bật: SMTP Integration Object Eye Internal Recorder Kiểm thử tiện ích mở rộng trình duyệt Quy tắc tùy chỉnh – Customized Recording Rule Có khả kiểm thử theo từ khóa kiểm thử phân tán Có thể tích hợp với cơng cụ theo dõi lỗi Jira, TFS, Mantis, FogBugz Tích hợp hệ thống kiểm soát phiên – Version Control System Integration Tích hợp với cơng cụ quản lý kiểm thử TestRail, Zephyr, Microsoft VSTS, HP Quality Center 6.4 Ranorex Là cơng cụ kiểm thử phần mềm cung cấp IDE cho C#, Java API mở Để cung cấp kết với tốc độ DevOps, Ranorex tự động kiểm tra giao diện người dùng Ranorex hỗ trợ tất loại kiểm thử chính: kiểm thử hồi quy, kiểm thử khói, thử nghiệm trình duyệt chéo - Ưu điểm bật: Phát lỗi 18 Kiểm thử GUI Ghi phát lại Có thể sử dụng lại test code Tích hợp nhiều cơng cụ khác 6.5 LoadStorm Là “ứng cử viên” sáng giá kiểm thử ứng dụng mobile, web, LoadStorm Công cụ kiểm thử phần mềm có khả chịu tải tốt Thêm nữa, LoadStorm kiểm tra hiệu app thơng qua user lượng traffic Bên cạnh đó, LoadStorm cho phép kiểm thử viên chỉnh sửa kịch test Sau pentest, kiểm thử viên nhìn thấy báo cáo chi tiết - Ưu điểm bật: Khả chịu tải LoadStorm tốt Dựa user, traffic để kiểm thử hiệu ứng dụng Tester chỉnh sửa kịch test LoadStorm 6.6.Telerik Test Studio Đây công cụ kiểm thử hỗ trợ nhiều trình duyệt, ghi phát lại test trình duyệt Ngồi ra, Telerik Test Studio có tính báo cáo kiểm thử mạnh mẽ Telerik Test Studio có khả kết nối với hệ thống kiểm soát nguồn (GIT, Team Foundation Server) tiến hành kiểm thử liên tục Công cụ kiểm thử cho phép lên lịch thực kiểm thử song song - Ưu điểm bật: Có thể ghi phát lại Hỗ trợ nhiều ngơn ngữ lập trình Kiểm thử nhiều trình duyệt Tích hợp với cơng cụ theo dõi lỗi Tích hợp với Visual Basic Studio 2010 2012 19 6.7 Selenium Là công cụ kiểm thử phần mềm ưa chuộng Đây công cụ kiểm thử phần mềm tự động mã nguồn mở miễn phí, dùng phổ biến cho ứng dụng web nhiều hệ điều: Linux, Windows, macOS Công cụ giúp kiểm thử viên thử nhiều ngôn ngữ khác như: Python, Java, PHP, C#, Ruby, Perl hay Groovy Công cụ chia thành ba loại: Selenium Grid, Selenium IDE, Selenium Webdriver Selenium Grid số testing tool Selenium, cho phép chạy nhiều kịch test nhiều máy, nhiều hệ điều hành nhiều trình duyệt khác lúc Selenium Integrated Development Environment (IDE), framework đơn giản dễ học Selenium Nó plug-in dành cho trình duyệt FireFox – bạn sử dụng Selenium IDE với trình duyệt FireFox mà thơi Bạn kết hợp Selenium IDE với plug-in khác để tận dụng nhiều tính với IDE Selenium Webdriver đánh giá tốt Selenium IDE Selenium RC nhiều khía cạnh Selenium Webdriver thực automate tương tác với trình duyệt với hướng tiếp cận đại ổn định Các tương tác với trình duyệt gửi trực tiếp từ Selenium driver mà không thông qua Javascript selenium RC - Ưu điểm bật: Kiểm thử nhiều ngơn ngữ lập trình (Python, Java, PHP,…) Hỗ trợ nhiều nhiều hệ điều hành (Linux, Windows, macOS) Hỗ trợ cho nhiều trình duyệt (Chrome, Opera, Firefox, Microsoft Edge 20 CÁC BIỂU MẪU / TÀI LIỆU KIỂM THỬ CHO ỨNG DỤNG WEB Kế hoạch kiểm thử (Test Plan): Tài liệu mô tả kế hoạch tổng quan cho trình kiểm thử, bao gồm mục tiêu kiểm thử, phạm vi kiểm thử, nguồn lực, lịch trình phương pháp kiểm thử Kịch kiểm thử (Test Scenarios): Tài liệu mơ tả tình kiểm thử cụ thể bước để thực kiểm thử Kịch kiểm thử phải bao gồm chức năng, tính trường hợp kiểm thử quan trọng Kịch kiểm thử tự động (Test Automation Scripts): Đối với kiểm thử tự động, sử dụng tài liệu để mô tả kịch kiểm thử tự động bước cần thiết để chạy chúng Báo cáo kiểm thử (Test Report): Tài liệu tóm tắt kết trình kiểm thử, bao gồm danh sách lỗi tìm thấy, mức độ nghiêm trọng khuyến nghị để khắc phục Bảng xếp hạng ưu tiên lỗi (Defect Priority Ranking Table): Bảng liệt kê lỗi tìm thấy trình kiểm thử xếp hạng ưu tiên chúng dựa mức độ ảnh hưởng ưu tiên sửa chữa Đăng ký lỗi (Bug Log): Tài liệu ghi lại thông tin lỗi tìm thấy trình kiểm thử, bao gồm tên lỗi, mô tả, bước để tái hiện, người ghi nhận, người thực sửa chữa trạng thái lỗi Báo cáo hiệu suất (Performance Report): Nếu kiểm thử hiệu suất thực hiện, tài liệu tóm tắt thông số hiệu suất, thời gian đáp ứng vấn đề liên quan đến hiệu suất ứng dụng web 21 Bản tóm tắt kiểm thử (Test Summary): Tài liệu tổng hợp kết thơng tin từ trình kiểm thử, cung cấp nhìn tổng quan hiệu suất chất lượng ứng dụng web VÍ DỤ Ví dụ kiểm thử ứng dụng web TP Bank Kiểm thử Kiểm thử đăng nhập trang web Trường hợp thử nghiệm Mô tả bước Truy cập trang web https://ebank.tpb.vn/ Để trống ô "Tên Bỏ trống ô "Tên đăng đăng nhập" nhập" Nhập ô "Mật khẩu" Chọn đăng nhập Truy cập trang web https://ebank.tpb.vn/ Để trống ô "Mật Nhập ô "Tên đăng khẩu" nhập" Bỏ trống ô "Mật khẩu" Chọn đăng nhập Truy cập trang web https://ebank.tpb.vn/ Nhập tên đăng Nhập ô "Tên đăng nhập mật nhập" với tên đăng nhập đăng ký đăng kí Chọn "Mật khẩu" với mật đăng ký Chọn đăng nhập Truy cập trang web Nhập tên đăng https://ebank.tpb.vn/ Nhập ô "Tên đăng nhập mật ngẫu nhiên nhập" với tên đăng nhập ngẫu nhiên 22 Kết mong muốn Hiển thị thông báo "Thông tin đăng nhập bỏ trống" yêu cầu người dùng nhập lại Hiển thị thông báo "Thông tin đăng nhập bỏ trống" yêu cầu người dùng nhập lại Kết kiểm thử Pass Pass Đăng nhập thành công chuyển sang trang chủ Ngân hàng TP Bank Pass Hiển thị thông báo "Tên đăng nhập mật không Tài khoản Bạn Pass Chọn ô "Mật khẩu" với mật ngẫu nhiên Chọn đăng nhập 23 bị khoá nhập sai lần!" yêu cầu người dùng nhập lại