Kiểm tra website nói một cách đơn giản là kiểm tra ứng dụng web của bạn để tìm các lỗi tiềm ẩn được tạo ra trực tiếp hoặc trước khi sản phẩm phần mềm được chuyển vào môi trường sử dụng chính thức (released).
Trong giai đoạn này, các vấn đề như bảo mật ứng dụng web, hoạt động của trang web, quyền truy cập của nó đối với người dùng thông thường và khả năng xử lý lưu lượng truy cập phải được kiểm tra kỹ lưỡng và đảm bảo hết lỗi hoặc gần hết lỗi nghiêm trọng làm ảnh hưởng trực tiếp tính năng hoặc quy trình sử dụng sản phẩm phần mềm mà cụ thể là website.
Anh Tester chia sẻ cho bạn checklist kiểm thử trên website với kinh nghiệm cá nhân và bổ sung thêm từ anh em trong cộng đồng. Giúp các bạn mới vào nghề Tester tham khảo và mong mọi người có kinh nghiệm góp ý thêm để An bổ sung và chỉnh sửa cho hoàn thiện hơn.
Các loại kiểm thử trên ứng dụng web
1. Functionality Testing
Kiểm tra chức năng là gì ?
- Kiểm tra các tính năng và hành vi hoạt động của một sản phẩm để đảm bảo chúng tương quan với các thông số kỹ thuật của nó.
- Kiểm tra bỏ qua cơ chế nội bộ của một hệ thống hoặc thành phần và chỉ tập trung vào các đầu ra được tạo ra để đáp ứng với các đầu vào và điều kiện thực thi đã chọn.
Mục tiêu của kiểm tra chức năng
Mục tiêu của Kiểm tra chức năng là xác minh xem sản phẩm của bạn có đáp ứng các thông số kỹ thuật chức năng dự kiến được đề cập trong tài liệu phát triển của bạn hay không.
Các hoạt động thử nghiệm bao gồm
Kiểm tra tất cả các liên kết trong các trang web của bạn cóchính xác không và đảm bảo rằng không có liên kết nào bị hỏng.
Các liên kết cần kiểm tra sẽ bao gồm -
- Liên kết điều hướng đi đến
- Liên kết nội bộ (Internal links)
- Liên kết trong phần nội dung (Anchor Links)
- Liên kết MailTo
Kiểm tra các biểu mẫu đang hoạt động như mong đợi. Nó sẽ bao gồm:
- Kiểm tra kịch bản trên biểu mẫu đang hoạt động như mong đợi. Ví dụ- nếu người dùng không điền vào trường bắt buộc trong biểu mẫu, một thông báo lỗi sẽ được hiển thị.
- Kiểm tra các giá trị mặc định đang được điền.
- Sau khi được gửi, dữ liệu trong các biểu mẫu được gửi đến cơ sở dữ liệu trực tiếp hoặc được liên kết với một địa chỉ email làm việc.
- Biểu mẫu là đồng minh optimđược định dạng để dễ đọc hơn.
Kiểm tra Cookie đang hoạt động như mong đợi. Cookie là các tệp nhỏ được các trang web sử dụng để chủ yếu ghi nhớ các phiên người dùng đang hoạt động, do đó bạn không cần phải đăng nhập mỗi khi truy cập một trang web. Kiểm tra cookie sẽ bao gồm
- Cookie testing (phiên) sẽ bị xóa khi bộ nhớ cache bị xóa hoặc khi chúng hết hạn.
- Xóa cookie (phiên) và kiểm tra xem thông tin đăng nhập có được yêu cầu khi bạn truy cập trang web tiếp theo hay không.
Kiểm tra HTML và CSS để đảm bảo rằng các công cụ tìm kiếm có thể thu thập dữ liệu trang web của bạn một cách dễ dàng. Điều này sẽ bao gồm
- Kiểm tra lỗi cú pháp.
- Lược đồ màu có thể đọc được.
- Tuân thủ tiêu chuẩn. Đảm bảo tuân thủ các tiêu chuẩn như W3C, OASIS, IETF, ISO, ECMA hoặc WS-I.
Kiểm tra quy trình kinh doanh (business flow)
- Kiểm tra quy trình làm việc / kịch bản kinh doanh từ đầu đến cuối của bạn đưa người dùng qua một loạt các trang web để hoàn thành.
- Kiểm tra các tình huống tiêu cực xảy ra, chẳng hạn như khi người dùng thực hiện một bước không mong muốn, thông báo lỗi hoặc trợ giúp thích hợp sẽ được hiển thị trong ứng dụng web của bạn .
Các kịch bản kiểm tra chức năng
- Kiểm tra tất cả các trường bắt buộc cần được xác nhận.
- Kiểm tra dấu hoa thị sẽ hiển thị cho tất cả các trường bắt buộc .
- Kiểm tra hệ thống sẽ không hiển thị thông báo lỗi cho các trường tùy chọn .
- Kiểm tra rằng năm nhuận được xác nhận một cách chính xác và không gây ra lỗi / tính toán sai lầm.
- Kiểm tra các trường số không nên chấp nhận bảng chữ cái và thông báo lỗi thích hợp sẽ hiển thị.
- Kiểm tra số âm nếu được phép đối với các trường số.
- Kiểm tra phân chia theo số không nên được xử lý đúng cách để tính toán.
- Kiểm tra độ dài tối đa của mọi trường để đảm bảo dữ liệu không bị cắt bớt.
- Kiểm tra thông báo bật lên ("Trường này được giới hạn ở 500 ký tự") sẽ dis- phát nếu dữ liệu đạt đến kích thước tối đa của trường.
- Kiểm tra xem một thông báo xác nhận sẽ hiển thị để cập nhật và xóa các hoạt động.
- Kiểm tra các giá trị số tiền sẽ hiển thị ở định dạng tiền tệ.
- Kiểm tra tất cả các trường đầu vào để tìm các ký tự đặc biệt.
- Kiểm tra chức năng hết thời gian chờ.
- Kiểm tra chức năng Sắp xếp.
- Kiểm tra chức năng của các nút có sẵn.
- Kiểm tra Chính sách quyền riêng tư & Câu hỏi thường gặp được xác định rõ ràng và nên có sẵn cho người dùng.
- Kiểm tra xem có bất kỳ chức năng nào không thành công hay không, người dùng sẽ được chuyển hướng đến trang lỗi tùy chỉnh.
2. Usability Testing
Kiểm tra khả năng sử dụng là gì ?
- Kiểm tra khả năng sử dụng là kiểm tra tính thân thiện và đúng với người dùng.
- Trong Kiểm tra khả năng sử dụng, quy trình ứng dụng được kiểm tra để người dùng mới có thể sử dụng ứng dụng một cách dễ dàng.
- Về cơ bản, điều hướng hệ thống cũng sẽ được kiểm tra trong Kiểm tra khả năng sử dụng.
Mục tiêu của kiểm tra khả năng sử dụng
Kiểm tra Khả năng sử dụng để thiết lập tính dễ sử dụng và hiệu quả của sản phẩm bằng cách sử dụng các phương pháp kiểm tra Khả năng sử dụng tiêu chuẩn.
Các hoạt động thử nghiệm
Kiểm tra điều hướng trang web
- Menu, nút hoặc Liên kết đến các trang khác nhau trên trang web của bạn phải dễ dàng hiển thị và nhất quán trên tất cả các trang web.
Kiểm tra nội dung
- Nội dung phải dễ đọc và không có lỗi chính tả hoặc ngữ pháp.
- Hình ảnh nếu có phải liên quan những nội dung văn bản đề cập.
Kịch bản kiểm tra khả năng sử dụng
- Nội dung trang web phải chính xác mà không có bất kỳ lỗi chính tả hoặc ngữ pháp nào.
- Tất cả các phông chữ phải giống nhau theo yêu cầu.
- Tất cả các văn bản phải được căn chỉnh đúng cách.
- Tất cả các thông báo lỗi phải chính xác mà không có bất kỳ lỗi chính tả hoặc ngữ pháp nào và thông báo lỗi phải khớp với tên trường (label).
- Văn bản chú thích mở rộng (tooltip) phải có cho mọi trường.
- Tất cả các trường phải được căn chỉnh đúng cách.
- Cần cung cấp đủ không gian giữa các nhãn trường, cột, hàng và thông báo lỗi.
- Tất cả các nút phải ở định dạng và kích thước tiêu chuẩn.
- Liên kết trang chủ phải ở đó trên mỗi trang.
- Các trường bị vô hiệu hóa sẽ chuyển sang màu xám .
- Kiểm tra các liên kết và hình ảnh bị hỏng.
- Thông báo xác nhận sẽ được hiển thị cho bất kỳ loại cập nhật nào và hoạt động xóa cái gì đó.
- Kiểm tra trang web trên các độ phân giải khác nhau (640 x 480, 600x800 , v.v.?)
- Kiểm tra người dùng cuối có thể chạy hệ thống mà không thất vọng.
- Nếu có thông báo lỗi khi gửi, information được điền bởi người dùng sẽ ở đó.
- Tiêu đề sẽ hiển thị trên mỗi trang web.
- Tất cả các trường (Hộp văn bản, danh sách thả xuống, nút radio, v.v.) và các nút phải có thể truy cập được bằng các phím tắt và người dùng sẽ có thể thực hiện tất cả các thao tác bằng cách sử dụng bàn phím.
- Kiểm tra xem dữ liệu thả xuống có bị cắt bớt do kích thước trường hay không và cũng kiểm tra xem dữ liệu có được mã hóa cứng hoặc quản lý thông qua quản trị viên hay không.
3. Interface Testing
Ba lĩnh vực cần thử nghiệm ở đây là - Ứng dụng, Máy chủ Web và Máy chủ cơ sở dữ liệu
- Application: Các yêu cầu kiểm tra được gửi chính xác đến Cơ sở dữ liệu và đầu ra ở phía máy khách được hiển thị chính xác. Lỗi nếu có phải được phát hiện bởi application và phải chỉ được hiển thị cho quản trị viên chứ không phải người dùng cuối.
- Web Server: Test Web server đang xử lý tất cả các request của ứng dụng mà không có bất kỳ từ chối dịch vụ nào .
- Database Server: Đảm bảo các truy vấn được gửi đến cơ sở dữ liệu cho kết quả mong đợi. Kiểm tra phản hồi của hệ thống khi không thể thiết lập kết nối giữa ba lớp (Ứng dụng, Web và Cơ sở dữ liệu) và thông báo thích hợp được hiển thị cho người dùng cuối.
4. Database Testing
Database là một trong những thành phần quan trọng của ứng dụng web của bạn và căng thẳng phải được đặt ra để kiểm tra nó kỹ lưỡng. Các hoạt động thử nghiệm sẽ bao gồm:
- Kiểm tra xem có bất kỳ lỗi nào được hiển thị trong khi thực hiện truy vấn hay không.
- Tính toàn vẹn dữ liệu được duy trì trong khi tạo, cập nhật hoặc xóa dữ liệu trong cơ sở dữ liệu.
- Kiểm tra thời gian phản hồi của các truy vấn và tinh chỉnh chúng nếu cần.
- Dữ liệu thử nghiệm được truy xuất từ cơ sở dữ liệu của bạn được hiển thị chính xác trong cation ứng dụng web của bạn.
Để thực hiện database testing thì Tester cần lưu ý các điểm đề cập dưới đây:
- Người kiểm tra nên hiểu các yêu cầu chức năng, logic kinh doanh, luồng ứng dụng và thiết kế cơ sở dữ liệu một cách kỹ lưỡng.
- Người kiểm tra nên tìm ra các bảng, trình kích hoạt, quy trình lưu trữ, chế độ xem và con trỏ được sử dụng cho ứng dụng.
- Người kiểm tra nên hiểu logic của các trình kích hoạt, quy trình lưu trữ, chế độ xem và con trỏ được tạo.
- Người kiểm tra nên tìm ra các bảng bị ảnh hưởng khi chèn các hoạt động cập nhật và xoá (DML) được thực hiện thông qua web hoặc ứng dụng trên máy tính để bàn.
Các tình huống thử nghiệm để kiểm tra cơ sở dữ liệu
- Xác minh tên cơ sở dữ liệu: Tên cơ sở dữ liệu phải khớp với thông số kỹ thuật.
- Xác minh Bảng, cột, loại cột và mặc định. Tất cả mọi thứ phải phù hợp với các 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 chính và khóa ngoại của mỗi bảng.
- Xác minh quy trình được lưu trữ.
- Kiểm tra xem quy trình được lưu trữ có được cài đặt hay không.
- Xác minh tên thủ tục được lưu trữ.
- Xác minh tên tham số, loại và số lượng tham số.
- Kiểm tra các thông số nếu chúng được required hay không.
- Kiểm tra quy trình được lưu trữ bằng cách xóa một số tham số
- Kiểm tra khi đầu ra bằng KHÔNG, các bản ghi không sẽ bị ảnh hưởng.
- Kiểm tra quy trình được lưu trữ bằng cách viết các truy vấn SQL đơn giản.
- Kiểm tra xem thủ tục được lưu trữ có trả về các giá trị hay không
- Kiểm tra quy trình stored với dữ liệu đầu vào mẫu .
- Xác minh hành vi của từng cờ trong bảng.
- Xác minh dữ liệu được lưu đúng cách vào cơ sở dữ liệu sau mỗi trang conmi-sion.
- Xác minh dữ liệu nếu các thao tác DML (Cập nhật, xóa và chèn) được thực hiện.
- Kiểm tra độ dài của mọi trường. Chiều dài trường ở phía sau và đầu trước phải giống nhau.
- Xác minh tên cơ sở dữ liệu của QA, UAT và production. Những cái tên nên là duy nhất (unique).
- Xác minh dữ liệu được mã hóa trong cơ sở dữ liệu.
- Xác minh kích thước cơ sở dữ liệu. Đồng thời kiểm tra thời gian phản hồi của mỗi truy vấn được thực thi.
- Xác minh dữ liệu được hiển thị trên giao diện người dùng và đảm bảo rằng nó giống nhau ở phía sau.
- Xác minh tính hợp lệ của dữ liệu bằng cách chèn dữ liệu không hợp lệ vào cơ sở dữ liệu.
- Xác minh Trình kích hoạt (Triggers).
5. Compatibility Testing
Kiểm tra tính tương thích là gì?
Kiểm tra khả năng tương thích được sử dụng để xác định xem phần mềm của bạn có tương thích với các yếu tố khác của hệ thống mà nó sẽ hoạt động hay không. Ví dụ: Trình duyệt, Hệ điều hành hoặc phần cứng.
Mục tiêu của kiểm tra khả năng tương thích
Mục tiêu của Kiểm tra tính tương thích là để đánh giá mức độ hoạt động của phần mềm trong một trình duyệt, Hệ điều hành, phần cứng hoặc phần mềm cụ thể. Kiểm tra khả năng tương thích đảm bảo rằng ứng dụng web của bạn hiển thị chính xác trên các thiết bị khác nhau.
Hoạt động thử nghiệm
Kiểm tra khả năng tương thích trình duyệt: Cùng một trang web trong các trình duyệt khác nhau sẽ hiển thị dif- ferently. Bạn cần kiểm tra xem ứng dụng web của mình có đang được hiển thị chính xác trên các trình duyệt, JavaScript, AJAX hay không và xác thực có hoạt động tốt hay không. Bạn cũng có thể kiểm tra Tính tương thích của trình duyệt dành cho thiết bị di động.
Việc hiển thị các yếu tố web như nút, trường văn bản, v.v. thay đổi theo sự thay đổi trong Hệ điều hành. Đảm bảo rằng trang web của bạn hoạt động tốt cho sự kết hợp khác nhau của các hệ điều hành như Windows, Linux, Mac và các trình duyệt như Firefox, Internet Explorer, Safari, v.v.
Kịch bản kiểm tra khả năng tương thích
- Kiểm tra trang web trong các trình duyệt khác nhau (IE, Firefox, Chrome, Safari và Opera) và đảm bảo trang web đang hiển thị đúng.
- Kiểm tra phiên bản HTML đang được sử dụng có tương thích với các phiên bản trình duyệt thích hợp không.
- Kiểm tra hình ảnh hiển thị chính xác trong các trình duyệt khác nhau.
- Kiểm tra các phông chữ có thể sử dụng được trong các trình duyệt khác nhau không.
- Kiểm tra mã tập lệnh java có thể sử dụng được trong các trình duyệt khác nhau không.
- Kiểm tra GIF động trên các trình duyệt khác nhau.
6. Performance Testing
Kiểm tra hiệu suất là gì?
Kiểm tra hiệu suất được thực hiện để đánh giá sự tuân thủ của một hệ thống hoặc thành phần với các yêu cầu hiệu suất được chỉ định.
Các hoạt động thử nghiệm bao gồm
- Thời gian phản hồi của ứng dụng trang web ở các tốc độ kết nối khác nhau.
- Tải kiểm tra ứng dụng web của bạn để xác định hành vi của nó dưới tải bình thường và cao điểm .
- Kiểm tra căng thẳng trang web của bạn để xác định điểm ngắt của nó khi được đẩy lên mức tải bình thường vào thời gian cao điểm.
- Kiểm tra nếu sự cố xảy ra do tải cao điểm, làm thế nào để trang web phục hồi từ một sự kiện như vậy .
- Đảm bảo các kỹ thuật tối ưu hóa như nén gzip, trình duyệt và bộ nhớ cache phía máy chủ được bật để giảm thời gian tải.
Các tình huống kiểm tra chung
- Để xác định hiệu suất, độ ổn định và khả năng mở rộng của một ứng dụng trong các điều kiện tải khác nhau.
- Để xác định xem kiến trúc hiện tại có thể support ứng dụng ở cấp độ người dùng cao nhất hay không.
- Để xác định kích thước cấu hình nào cung cấp mức hiệu suất tốt nhất.
- Để xác định các nút thắt cổ chai về ứng dụng và cơ sở hạ tầng.
- Để xác định xem phiên bản mới của phần mềm có ảnh hưởng xấu đến thời gian phản hồi hay không.
- Để đánh giá sản phẩm và / hoặc phần cứng để xác định xem nó có thể xử lý khối lượng tải dự án hay không.
7. Security Testing
Kiểm tra bảo mật bao gồm việc kiểm tra để xác định bất kỳ sai sót và lỗ hổng nào theo quan điểm bảo mật của riêng công ty và các vấn đề bảo mật chung có thể xảy ra.
Các kịch bản thử nghiệm để kiểm tra bảo mật
- Xác minh trang web chứa dữ liệu quan trọng như mật khẩu, số thẻ tín dụng, câu trả lời bí mật cho nhiệm vụ bảo mật, v.v. phải được gửi qua HTTPS (SSL).
- Xác minh các thông tin quan trọng như mật khẩu, số thẻ tín dụng, v.v. sẽ hiển thị ở định dạng được mã hóa .
- Xác minh các quy tắc mật khẩu được thực hiện trên tất cả các trang xác thực như đăng ký, quên mật khẩu, thay đổi mật khẩu.
- Xác minh xem mật khẩu có bị thay đổi hay không, người dùng không thể đăng nhập bằng mật khẩu cũ.
- Xác minh các thông báo lỗi sẽ không hiển thị bất kỳ thông tin quan trọng nào .
- Xác minh xem người dùng đã đăng xuất khỏi hệ thống hay phiên người dùng đã hết hạn, người dùng sẽ không thể điều hướng trang web.
- Xác minh để truy cập trực tiếp vào các trang web được bảo mật và không được bảo mật mà không cần đăng nhập.
- Xác minh rằng tùy chọn "Xem mã nguồn" bị tắt và không nên hiển thị cho người dùng.
- Xác minh rằng tài khoản người dùng bị khóa nếu người dùng nhập sai từ vượt qua nhiều lần.
- Xác minh rằng cookie không nên lưu trữ mật khẩu.
- Xác minh xem, bất kỳ chức năng nào không hoạt động, hệ thống sẽ không hiển thịthông tin y ap-plication, máy chủ hoặc cơ sở dữ liệu. Thay vào đó, nó sẽ hiển thị trang lỗi tùy chỉnh.
- Xác minh các cuộc tấn công SQL injection.
- Xác minh vai trò của người dùng và quyền của họ. Ví dụ: Người yêu cầu/sử dụng thông thường sẽ không thể truy cập trang quản trị.
- Xác minh các hoạt động quan trọng được ghi trong tệp nhật ký và thông tin đó phải được theo dõi.
- Xác minh rằng các giá trị phiên ở định dạng được mã hóa trong thanh địa chỉ .
- Xác minh thông tin cookie được lưu trữ ở định dạng được mã hóa .
- Xác minh ứng dụng cho cuộc tấn công chủ đích với các công cụ (Brute Force Attacks).
Yeah trên là checklist để test chung chung trên website thôi nhé. Để các bạn mới có cái nhìn tổng quan hơn. Còn chi tiết hơn thì phải bổ sung vào nhiều để phù hợp với từng dạng hệ thống phần mềm trên website của công ty các bạn 👍
An sẽ cố gắng chia sẻ thêm các bài viết chi tiết hơn cho từng nội dung để các bạn tham khảo. Tốt hơn nữa là cộng đồng chúng ta cùng đóng góp để nhanh hoàn thiện hơn nữa. An rất thích điều này 😊Chúc các bạn vui khoẻ nhé !!
Anh Tester
Đường dẫu khó chân vẫn cần bước đi
Đời dẫu khổ tâm vẫn cần nghĩ thấu