Hướng dẫn 8 bước để kiểm thử trang WEB (Web Application Testing)

Kiểm thử phần mềm (software testing) là hoạt động nhằm tìm kiếm và phát hiện ra các lỗi của phần mềm, đảm bảo phần mềm chính xác, đúng và trọn vẹn theo yêu cầu của khách hàng, yêu cầu của sản phẩm đã đặt ra. Software testing cũng gửi tới mục tiêu, cái nhìn độc lập về phần mềm điều này cho phép đánh giá và hiểu rõ các rủi ro khi thực thi phần mềm. Căn cứ là gì? Hãy cùng LVN Group nghiên cứu thông qua nội dung trình bày dưới đây

Hướng dẫn 8 bước để kiểm thử trang WEB (Web Application Testing)

1. Kiểm thử là gì?

Đây là một trong những loại kiểm thử phần mềm cần thiết để xác nhận xem hệ thống có hoạt động đúng yêu cầu được không. Ở tất cả các mức độ kiểm thử đều được kiểm thử chức năng. 

Testing of function là một trong những loại kiểm thử phần mềm cần thiết

Testing of function có thể thực hiện theo 2 quan điểm: business – process – based và requirements-based. Với business – process – based, kiểm thử viên sẽ sử dụng các kiến thức về quy trình nghiệp vụ (mô tả các kịch bản liên quan đến nghiệp vụ của hệ thống mỗi ngày).

Trong khi đó, requirements-based sử dụng các đặc tả yêu cầu của hệ thống làm cơ sở để design test. Để đảm bảo những thành phần cần thiết nhất đều được kiểm thử, hãy xem xét độ ưu tiên của yêu cầu dựa trên tiêu chí rủi ro, theo đó, chúng ta sẽ sử dụng độ ưu tiên để kiểm thử. 

Các bước kiểm thử chức năng gồm: 

Bước 1: Xác định phần mềm sẽ kiểm thử và chức năng của nó 

Bước 2: Dựa trên tài liệu đặc tả chức năng để tạo dữ liệu đầu vào 

Bước 3: Dựa vào tài liệu đặc tả chức năng để xác định đầu ra

Bước 4: Thực hiện các trường hợp kiểm thử phần mềm  

Bước 5: So sánh kết quả thực tiễn với mong muốn đạt được 

2. Kỹ thuật kiểm thử phần mềm là gì?

Kỹ thuật kiểm thử phần mềm giúp bạn thiết kế các trường hợp kiểm thử tốt hơn. Vì kiểm thử toàn diện là không thể nên kỹ thuật kiểm tra thủ công sẽ giúp giảm số lượng các trường hợp kiểm thử được thực thi trong khi tăng phạm vi kiểm thử. Chúng giúp xác định các điều kiện kiểm tra khó nhận biết.

3. Kiểm thử chức năng

Việc kiểm thử chức năng đòi hỏi tester phải thực hiện test tất cả các chức năng chính các link trong trang web, định dạng được sử dụng trong các trang web để gửi và nhận các thông tin cần thiết từ người dùng. Mặt khác còn có kết nối cơ sở dữ liệu, kiểm tra cookies và xác minh HTML/CSS.

Kiểm tra tất cả các link trong trang web của bạn đang hoạt động chính xác và đảm bảo không có liên kết (links) nào bị chết bị hỏng. Link được kiểm thử bao gồm:

Liên kết ngoài trang web

Liên kết nội bộ

Liên kết tới các vị trí trong cùng trang

Liên kết sử dụng để gửi email tới admin hoặc người dùng khác trong trang…

3.3 Test Forms

Kiểm tra forms của các trang đảm bảo đã hoạt động như mong đợi, bao gồm các yêu cầu sau:

Kiểm tra các trường của trang đã hoạt động đúng hay chưa. Ví dụ: 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 được không?

Kiểm tra giá trị mặc định của các trường là gì?

Nhập đầu vào không đúng validate của các trường thì sao?

Thao tác trên các trường: xem, nhập, lưu, sửa, xóa…có ổn định được không

Các form có thân thiện dễ nhìn và dễ thao tác được không?

3.4 Test Cookies

Kiểm thử Cookies có đang hoạt động như mong đợi. Cookies là các tệp được tạo bởi trang web đã truy cập để 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. Người dùng có thể tùy chỉnh trên trình duyệt nhằm quản lý cookies, thực hiện các thao tác cho phép lưu, hoặc xóa, hoặc chặn…để kiểm thử các tính năng lưu hoặc không lưu trạng thái đăng nhập, tính năng bảo mật của ứng dụng web. Test Cookies sẽ bao gồm:

Kiểm tra cookie (sessions) sẽ bị xóa khi xóa bộ nhớ cache hoặc khi chúng hết hạn.

Xóa cookie (sessions) và kiểm tra thông tin đăng nhập có được yêu cầu khi bạn truy cập trang web lần sau.

Test HTML and CSS

Xác minh HTML/CSS: việc xác minh này đặc biệt cần thiết khi developer thực hiện tối ưu hóa trang web cho các công cụ tìm kiếm, chủ yếu liên quan tới lỗi cú pháp HTML. Tester sẽ kiểm thử xem trang web có được nhận diện bởi các công cụ tìm kiếm khác nhau được không (ví dụ: Google, Yahoo, Bing…)

3.5 Test business workflow

Bao gồm:

Kiểm thử các test case từ khi bắt đầu đến lúc kết thúc, giúp người dùng có thể đi qua theo 1 flow của trang web

Kiểm thử các test case abnormal để khi người dùng thực hiện một số bước unexpected thì sẽ thông báo lỗi hoặc có tương tác phù hợp sẽ được hiển thị để người dùng có thể biết khi thao tác.

4. Kiểm thử tính khả dụng

Kiểm thử tính khả dụng hiện đã trở thành một phần cần thiết của bất kỳ dự án nào. Nó có thể được thực hiện bởi Tester, dev, hoặc bất cứ người nào trong dự án.

Tính khả dụng của trang web được định nghĩa là trang web dễ sử dụng, có hướng dẫn sử dụng rõ ràng, rành mạch, mỗi trang đều có menu chính và menu này phải nhất cửa hàng. Tester cần lưu ý những điều này.

Kiểm tra Navigation: Menu, button, textbox, breadcrum hoặc link đến các trang khác nhau trên trang web của bạn phải dễ nhìn thấy và nhất cửa hàng trên tất cả các trang web.

Kiểm tra nội dung: nội dung phải dễ đọc không có lỗi chính tả hoặc ngữ pháp, thân thiện với người dùng. Hình ảnh được sắp xếp gọn gàng, hợp lý.

5. Kiểm thử giao diện

3 lĩnh vực sẽ được kiểm thử ở đây là: Ứng dụng, Web Sever và Database Sever

Ứng dụng: Yêu cầu kiểm thử được gửi chính xác đến Database và đầu ra ở phía client được hiển thị chính xác. Nếu có lỗi trả về thì ứng dụng thì ngay lập tức phải nhận được và cho hiển thị cảnh báo tới người dùng.

Web Sever: Test web sever là kiểm thử quá trình xử lý tất cả các yêu cầu của ứng dụng mà không xảy ra bất kỳ lỗi nào được trả về.

Database Sever: Đảm bảo các truy vấn được gửi đến cơ sở dữ liệu như kết quả được mong đợi.

Kiểm thử các trường hợp khi kết nối giữa 3 lớp (ứng dụng, web và database) bị ngắt đột ngột do người dùng, hoặc kết nối tới sever bị gián đoạn, bị khởi động lại…

6. Kiểm thử Database

Database là một thành phần cần thiết trong ứng dụng web của bạn và phải kiểm thử kỹ lưỡng. Các hoạt động kiểm thử sẽ 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.

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 database.

Kiểm tra thời gian phản hồi của các truy vấn và tinh chỉnh lại nếu cần thiết.

Kiểm tra dữ liệu lấy từ database của bạn được hiển thị chính xác trong ứng dụng

7. Kiểm thử khả năng tương thích

Kiểm thử 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. Tester cần lưu ý những điều sau:

Tương thích với trình duyệt (trên máy tính và trên điện thoại di động): cùng một trang web trong các trình duyệt khác nhau sẽ hiển thị khác nhau. Bạn cần kiểm thử xem ứng dụng web của bạn có được hiển thị chính xác trên các trình duyệt được không. Cần phải kiểm thử ứng dụng web trên càng nhiều trình duyệt càng tốt (IE, Firefox, Chrome, Safari, Opera…) để kiểm thử tương thích. Kiểm tra trên cả các phiên bản khác nhau của trình duyệt. Kiểm thử trên cả trình duyệt của thiết bị điện thoại thông minh. Nếu ứng dụng chạy tốt hơn, hoặc có ưu tiên tương thích hơn với trình duyệt nào đó thì cần có thông báo tới người dùng.

Tương thích với hệ điều hành: một số chức năng của ứng dụng có thể không tương thích với một số hệ điều hành, hoặc có những lưu ý khác khi sử dụng, điều này cần phải được kiểm thử kỹ và thông báo cho người dùng được biết.

Tương thích với các thiết bị ngoại vi (máy in…): khi người dùng có lệnh in trang thì phải đảm bảo tính chính xác của fonts, cỡ chữ, cỡ giấy…mà người dùng đã chọn.

8. Kiểm thử hiệu năng (Performance)

Kiểm tra hiệu năng sẽ đảm bảo trang web của bạn hoạt động dưới tất cả các tải. Bao gồm các yêu cầu:

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

Stress test ứng dụng web của bạn để xác định hành vi của nó vẫn hoạt động bình thường vào tầm cao điểm.

Stress test trang web của bạn để xác định điểm dừng của nó khi được đẩy vượt quá tải bình thường vào tầm cao điểm sẽ thế nào.

Kiểm tra xem nếu có sự cố xảy ra do tải cao điểm, làm thế nào để trang web phục hồi sau sự cố đó.

Đảm bảo các kỹ thuật tối ưu hóa như nén zip, bộ đệm phía trình duyệt và máy chủ được bật để giảm thời gian tải.

Tóm lại cần kiểm thử tải và kiểm thử áp lực

9. Kiểm thử bảo mật (Security)

Kiểm thử bảo mật là rất cần thiết đối với mỗi trang web thương mại điện tử lưu trữ thông tin khách hàng hoặc thông tin nhạy cảm đó là thẻ tín dụng. Bao gồm:

Gõ trực tiếp URL vào thanh địa chỉ của trình duyệt mà không qua đăng nhập. Các trang nội bộ phải được bảo mật.

Sau khi đăng nhập và mở các trang nội bộ, thay đổi url trực tiếp bằng cách đổi tham số ID của trang tới trang thuộc quyền người dùng đã đăng nhập khác. Truy cập phải bị từ chối bởi người dùng này không thể xem trang thống kê của người dùng khác.

Không thể tải xuống các tệp bị hạn chế nếu không có quyền truy cập phù hợp

Sessions sẽ tự động bị hủy sau khi người dùng không hoạt động trong một thời gian

Nhập các giá trị đầu vào không hợp lệ trong các trường Username, Password thì hệ thống phải báo lỗi.

Kiểm tra CAPTCHA cho các đăng nhập tự động

Tất cả các phiên giao dịch, các thông báo lỗi, các hành vi cố gắng xâm phạm an ninh phải ghi trong log và lưu tại web server.

10. Crowd Testing

Bạn sẽ chọn một số lượng lớn người (crowd) để thực hiện các bài kiểm tra mà nếu không thì sẽ thực hiện một nhóm người được chọn trong công ty. Crowd testing là một khái niệm thú vị và giúp làm sáng tỏ nhiều khiếm khuyết không được chú ý.

Nó bao gồm hầu hết tất cả các loại kiểm thử áp dụng cho ứng dụng web của bạn

Là một Tester test web, điều cần thiết cần lưu ý khi kiểm thẻ web là một quá trình khá khó khăn và bạn nhất định sẽ gặp nhiều trở ngại. Một trong những vấn đề lớn mà bạn sẽ phải đối mặt đó là áp lực deadline. Hãy chắc chắn rằng bạn lập kế hoạch công việc của bạn và biết rõ những gì bạn muốn. Nó xác định tốt nhất tất cả các nhiệm vụ liên quan đến kiểm thử web của bạn và sau đó tạo một biểu đồ công việc để ước tính và lập kế hoạch chính xác.

SOẠN HỢP ĐỒNG, ĐƠN, VĂN BẢN THEO YÊU CẦU CHỈ 500.000đ

--- Gọi ngay 1900.0191 ---

(Tư vấn Miễn phí - Hỗ trợ 24/7)

Công ty Luật LVN - Địa chỉ: Số 16B Nguyễn Thái Học, Yết Kiêu, Hà Đông, Hà Nội, Việt Nam

Gmail: luatlvn@gmail.com