Đối với một website công đoạn kiểm thử website là vô cùng quan trọng, đặc biệt là đối với các website mới. Quá trình kiểm thử sẽ phơi bày các lỗi giao diện, lỗi chức năng đang tồn đọng so với mong muốn. So với kiểm thử phần việc việc kiểm thử website được đánh giá là nhẹ nhàng hơn tuy nhiên nếu không thành thạo thì cũng gây tương đối khó khăn, đặc biệt là với các tester mới vào nghề. Tham khảo ngay quy trình 8 bước mà Testerpro đề xuất cho quá trình kiểm thử website.
kiểm thử website là gì?
kiểm thử website hay còn gọi là kiểm thử web là thuật ngữ để miêu tả quá trình kiểm thử 1 website nhằm phát hiện các lỗi tiềm ẩn trước khi website chuyển qua giai đoạn production. Nhiệm vụ chủ yếu của kiểm thử website là phát hiện và xử lý các vấn đề như bảo mật, quyền truy cập và khả năng xử lý lưu lượng dữ liệu lớn.
8 bước để thực hiện kiểm thử website
Một website khi đã được phát hành có tới hàng trăm, hàng nghìn lượt truy cập mỗi ngày ở nhiều nền tảng khác nhau, thời lượt truy cập của mỗi user phụ thuộc vào nhiều yếu tố như: Content, tốc độ truy cập, khả năng xử lý dữ liệu lớn… Chính vì vậy trước khi public đội ngũ phát triển phải đảm bảo website có thể hoạt động bình thường. DƯới đây là một quy trình kiểm thử website 8 bước mà chúng tôi muốn chia sẻ:
Functional testing
Functional test đòi hỏi tester phải thiết kế các bài test để chắc chắn tất cả các chức năng chính, các url được gắn trên trang. Bên cạnh đó định dạng được dùng trong các web để nhận và gửi thông tin phải dễ hiểu để người dùng có thể tiếp cận. Quan trọng hơn, trong website còn cần có các kết nối cơ sở dữ liệu, cookies, xác minh HTML/CSS.
>>> Functional Testing là gì? Tìm hiểu chi tiết về kiểm thử chức năng.
Kiểm thử các url
Kiểm tra tất cả các url được gắn trên trang web đang hoạt động chính xác và đảm bảo rằng không có bất kỳ liên kết nào bị hỏng (hoặc không thể truy cập). Các link được kiểm thử bao gồm:
- Liên kết ngoài trang web
- Internal link
- Liên kết tới các vị trí trong cùng trang
- Liên kết được sử dụng để gửi email hoặc người dùng khác trong trang (thường là các trang liên kết)
Kiểm thử Form
Test forms đảm bảo hoạt động tốt, bao gồm các yêu cầu sau:
- Các trường của trang đã hoạt động đúng hay chưa. Chẳng hạn nếu người dùng không nhập vào các trường bắt buộc thì có hiển thị thông báo lỗi hay không?
- Kiểm tra giá trị mặc định của các trường là gì?
- Nếu giá trị đồng vào không đúng như validate thì xảy ra tình trạng gì?
- Các thao tác như: xem, nhập, lưu, xóa, sửa… có ổn định hay không?
- Các form có đủ độ thẩm mỹ. dễ dùng đối với users hay không?
Test cookies
Đây là các tệp dùng để lưu trữ thông tin duyệt web như các tùy chọn trang web hoặc thông tin đăng nhập của người dùng. Đây là phần nhạy cảm nên người dùng có thể tùy chỉnh để quản lý cookies, thực hiện thao tác xóa, chặn, lưu… để kiểm thử tính năng lưu, hay không lưu trạng thái đăng nhập, đăng nhập tự động, tính năng bảo mật của ứng dụng web. Test cookies bao gồm:
- Kiểm tra cookies sẽ bị xóa nếu như xóa bộ nhớ cache hoặc khi chúng hết hạn đăng nhập
- Xóa cookies và kiểm tra thông tin đăng nhập sẽ được yêu cầu lại ở lần đăng nhập sau.
Test thông tin HTML và CSS
Việc xác minh HTML/CSS là rất quan trọng khi lập trình viên thực hiện tối ưu hóa cho trang web bằng công cụ tìm kiếm, mọi việc xoay quanh lỗi cú pháp HTML. Tester sẽ thực hiện các bài kiểm thử kiểm thử website bằng các công cụ tìm kiếm khác nhau.
Test business workflow
- Bằng cách thực hiện các bài test case, giúp cho trải nghiệm người dùng theo 1 flow nhất định khi truy cập web
- Kiểm thử các test case abnormal để khi user thực hiện các thao tác unexpected sẽ hiển thị thông báo lỗi
Kiểm thử khả dụng
Đây là thao tác kiểm tra vô cùng quan trọng, chính vì vậy bất kể người thực hiện là ai tester hay dev để phải thực hiện quá trình kỹ càng, tỉ mỉ. Tính khả dụng của website là biểu thị mức độ dễ dùng đối với user, mỗi một trong con đều phải đồng nhất và có chứa thanh menu chính. Muốn vậy trong quá trình kiểm thử website, test cần lưu ý thực hiện đầy đủ:
- Kiểm tra Navigation: Bao gồm Menu, button, textbox, breadcrumb hoặc các đường link trên các trang khác nhau trong cùng 1 site, mọi yếu tố phải dễ nhìn, dễ thao tác và nhất quán.
- Content check: Các content xuất hiện trên site phải có nội dung dễ đọc, không xuất hiện các lỗi sai chính tả, sai ngữ pháp. Các content Image được sắp xếp theo bố cục gọn gàng, hợp lý.
Kiểm thử giao diện
Ở giao diện của website, các nội dung cần phải được kiểm thử bao gồm:
- Ứng dụng của website: Các nội dung và yêu cầu kiểm thử được gửi tới database và nhân viên kiểm thử sẽ theo dõi đầu ra của phép ở ở phía client. Nếu kết quả được trả về là các sai số so với lý thuyết thì đội ngũ phát triển phải ngay lập tực nhận ra, chỉnh sửa và gửi cảnh báo tới cho người dùng
- Server website: kiểm thử website server là quá trình kiểm thử, xử lý tất cả những yêu cầu của web, cũng như những yêu cầu của người dùng lên website mà không để phát sinh bất cứ lỗi nào trả về
- Database server: đảm bảo mọi phản hồi, truy vấn gửi về cơ sở dữ liệu như kết quả mong đợi trên lý thuyết của đội ngũ phát triển
Các trường hợp kiểm thử giữa các nền tảng với nhau như app, website và database bị ngắt đột ngột do người dùng hay bị gián đoán kết nối server. Ở giai đoạn này, các tester sẽ thực hiện bài test Frontend kiểm thử giao diện đồ họa người dùng (GUI), bên cạnh đó là kiểm thử cả hiệu năng và khả năng ứng dụng của trang web đối với người dùng.
>>> Xem thêm: Frontend testing là gì? Sự khác nhau giữa Frontend testing và Backend testing.
Test database
Database là phần quan trọng nhất bên trong của website, chính vì tầm quan trọng này nên quá trình nên quá trình database testing cần diễn ra rất kỹ lưỡng. Quy trình test database bao gồm:
- Nếu có bất kỳ lỗi nào được hiển thị trong khi thực hiện các truy vấn
- Các dữ liệu cũ được bảo lưu khi thực hiện các thao tác tạo mới, cập nhật và xóa dữ liệu cũ trong database
- Kiểm tra thời gian, tốc độ phản hồi lại các truy vấn
- Kiểm tra các dữ liệu được lấy trong database của bạn có hiển thị chính xác trên các ứng dụng, nền tảng hay trình duyệt hay không
Kiểm tra độ tương thích
Cùng gần giống như database testing; test độ tương tích là công việc bắt buộc để đảm bảo website hoạt động ổn định và đồng nhất trên các thiết bị khác nhau:
- Quá trình trải nghiệm đồng nhất trên cả máy tính lẫn thiết bị di động: Để tránh tình trạng hiển thị khác nhau ở các trình duyệt quá trình kiểm thử độ tương thích để tránh tình trạng này. Website cần được testing độ tương thích trên nhiều ứng dụng khác nhau như: Opera, Firefox, Chrome, Safari… Đồng thời kiểm tra trên tất cả các phiên bản khác nhau của trình duyệt vì không để đảm bảo tất cả người dùng đều sử dụng chung 1 phiên bản trình duyệt. Trong trường hợp ứng dụng chạy càng tốt hoặc ưu tiên tương thích hơn với 1 trình duyệt so với các trình duyệt khác thì tester cần phải gửi lời khuyến cáo tới cho người dùng.
- Tương thức với hệ điều hành: Không phải tất cả các chức năng bên trong website mà có thể bị giới hạn bởi hệ điều hành. Nhưng yếu tố này cần phải được phát hiện và fix, đồng thời gửi khuyến cáo tới cho người dùng
- Tương thích với các thiết bị ngoại vi: Ví dụ khi người dùng muốn kết nối với các thiết bị ngoại vi như máy in, sự tương thích giữa hai chương trình sẽ đảm bảo sản phẩm in ra đúng cỡ chữ, font hay mã màu…
Test performance
Lượt truy cập hằng ngày của website là tương đối lớn, việc luôn tục làm việc với áp lực dữ liệu cao có thể khiến cho website bị quá tải, chính vì vậy quá trình test performance dựa trên các yếu tố sau:
- Thời gian website phản hồi ở các tốc độ kết nối khác nhau của người dùng
- Kiểm tra các hành vi của website có thể biểu hiện ở tình trạng quá tải
- Bố trí kịch bản phục hồi web khi rơi vào tình trạng gặp sự cố
- Đảm bảo các kỹ thuật tối ưu hóa như nén zip, bộ đếm trên quá trình duyệt để giảm áp lực lên máy chủ
Test security
Trên các website thương mại điện tử, chức năng chính của các site này là lưu trữ thông tin khách hàng. Ở trong trường hợp này, khách hàng có thể cung cấp các thông tin quan trọng như căn cước công dân, thẻ tín dụng… vậy nên quá trình bảo mật thông tin khách hàng là cốt lõi đối với các website như thế này. Quá trình test security bao gồm:
- Khi nhập đường link truy cập, gõ trực tiếp địa chỉ URL vào trình duyệt mà không cần thông qua đăng nhập. Các trang nội bộ phải được đăng nhập.
- Sau khi đăng nhập và truy cập vào các trang nội bộ, thay đổi URL bằng cách thay đổi ID của website tới trang thuộc quyền người dùng đã đăng nhập khác. Không để truy cập của người dùng này xem thông tin người dùng khác
- Không tải các tệp bị hạn chế khi không có quyền truy cập
- Sessions sẽ tự động hủy nếu như người dùng không truy cập trong 1 thời gian dài
- Các giá trị, dữ liệu đầu vào như Username, password nếu như sai phải phản hồi lại lỗi.
- Bổ sung mã CAPCHA có quá trình xác thực đăng nhập
- Các giao dịch, thành công hay thất bại, cái lỗi hiển thị đều cần được ghi chép và lưu lại trong data server
Crowd Testing
Đây là quá trình kiểm tra dựa trên người dùng thực tế, số lượng người test (crowd) càng đông cho kết quá càng đáng tin cậy. Crowd testing là bước cuối cùng bên trong kiểm thử website giúp phát hiện các khuyết điểm tồn động từ người dùng thực tế.
Các công cụ hỗ trợ kiểm thử website
Có nhiều loại công cụ hỗ trợ kiểm thử website, chúng được phân chia thành các nhóm như sau:
- Quản lý kiểm tra
- Automation testing web
- Kiểm tra API web
- Theo dõi khiếm khuyết
- Tương thích trình duyệt
- Kiểm tra hiệu suất
- Kiểm tra công cụ chuẩn bị dữ liệu
- Quản lý yêu cầu
- Phân tích tĩnh.
>>> Đừng bỏ qua: Khóa học kiểm thử nâng cao API testing cho tester chuyên nghiệp.
Trên đây là quy trình 8 bước giúp kiểm thử viên thực hiện kiểm thử website, hi vọng với các thông tin về quy trình cũng như các công cụ hỗ trợ bạn đọc có thể có được những kiến thức bổ ích trong công việc kiểm thử.