Phương pháp kiểm thử trang web thương mại điện tử
Kiểm thử một website thương mại điện tử đòi hỏi kiến thức về kỹ thuật test web và hiểu biết về lĩnh vực thương mại điện tử. Hầu hết các website thương mại điện tử đều có chung một một chủ đề và cấu trúc, ví dụ: Homepage Search Results Page Product Details Page Order Form Page Order ...
Kiểm thử một website thương mại điện tử đòi hỏi kiến thức về kỹ thuật test web và hiểu biết về lĩnh vực thương mại điện tử. Hầu hết các website thương mại điện tử đều có chung một một chủ đề và cấu trúc, ví dụ:
- Homepage
- Search Results Page
- Product Details Page
- Order Form Page
- Order Confirmation Page
- Login Form Page and Accounts Pages
Tất nhiên có rất nhiều các trang khác trên một trang web thương mại điện tử điển hình, nhưng những chức năng chính người dùng thường sử dụng đến thì đó chính là những trang mà website thương mại điện tử nên tập trung vào lõi hành trình chính sẽ đòi hỏi chạm vào các trang ở trên và đó là nơi mà các trang web thử nghiệm thương mại điện tử nên tập trung vào như quá trình Thanh toán chẳng hạn. Những trang "front-end" liên kết chặt chẽ với trang "back-end" chẳng hạn như Product Search Service, Content Service, Booking Engine, Payment Services, Accounts Services, … Vì vậy, điều quan trọng là khi kiểm tra các trang web thương mại điện tử là cần test độc lập từng trang sau đó test tích hợp giữa các trang Một người sử dụng thực hiện luồng tiến trình sẽ bắt đầu từ trang chủ, tìm kiếm sản phẩm, review sản phẩm, thêm sản phẩm vào giỏ hang (shopping cart), điền thong tin vào đơn hàng (order details) và thanh toán sau đó gửi đơn hang (submit). Dưới đây chúng ta sẽ xem xét một số trường hợp thử nghiệm thông thường nhưng cũng là cụ thể cho các trang web thương mại điện tử. Đây cũng là một số trường hợp kiểm thử chung chung mà được áp dụng cho hầu hết các website thương mại điện tử
1. Giỏ hàng, kiểm tra hàng (Testing Shopping Cart)
Shopping Cart là một trong những tính năng chính của một website thương mại điện tử và do đó nó là thành phần trung tâm của việc test các trang web thương mại điện tử. Nó cho phép khách hàng lựa chọn và lưu trữ nhiều mặt hàng trong giỏ hàng và mua chúng cùng một lúc. Ngày nay, shopping carts đã trở nên "thông minh" , có thể nhớ những gì các bạn lưu trữ trong giỏ hàng, do đó bạn có thể lấy lại chúng vào một ngày sau đó hoặc thậm chí từ một thiết bị khác. Trong hầu hết các trường hợp, các tập tin cookie được sử dụng để lưu trữ dữ liệu giỏ hàng hoặc nếu người dùng có tài khoản hoạt động và nó đã được đăng nhập, một ID tương ứng sẽ được lưu trữ trong cơ sở dữ liệu. Dù thế nào thì cũng cần có một số testcase quan trọng để test cho phần shopping cart Một vài trường hợp cần test:
- Thêm một item vào cart - giỏ hàng sẽ được cập nhật với tên chính xác, hình ảnh và giá
- Tăng số lượng item từ cart - giá cần được cập nhật để phản ánh con số chính xác.
- Thêm cùng một item nhiều lần – cần xuất hiện item (mặt hàng) đó chỉ 1 lần trong giỏ hàng nhưng số lượng cần tăng lên theo số lần thêm vào, giá cần phản ánh đúng tổng giá của bằng đấy item
- Thêm nhiều item nhưng khác loại- Đối với mỗi item thêm vào, cần xem tên tương ứng, hình ảnh, giá cả và giá tổng cộng của tất cả các mặt hàng.
- Bỏ một vài item ra khỏi giỏ hàng - giỏ hàng nên cập nhật cho thấy các mặt hàng hiện có (còn lại sau khi remove)trong giỏ hàng, tổng giá cần cập nhật lại.
- Hủy bỏ tất cả các mặt hàng trong giỏ - giỏ hàng phải không còn lại gì, không còn sản phẩm nào được hiển thị trong giỏ hàng nữa.
- Click vào một item trong giỏ hàng - Có thể xem thông tin chi tiết về sản phẩm, nó có thể hiển thị popup hoặc chuyển hướng đến trang chi tiết về sản phẩm.
- Thêm item (sản phẩm) vào giỏ hàng, đóng trình duyệt và mở lại các trang web tương tự - giỏ hàng phải giữ được các item đã thêm. Tuy nhiên trường hợp này có thể phụ thuộc vào các yêu cầu đặc biệt của requirement
- Coupons(Phiếu giảm giá) - cần phải kiểm tra xem giá của giỏ hàng được giảm giá(discounted ) khi áp dụng phiếu giảm giá và sẽ không được giảm giá khi phiếu giảm giá không hợp lệ hoặc đã hết hạn.
2. Tìm kiếm, phân loại, lọc, phân trang (Search Form, Sorting, Filtering, Pagination)
Search form thường được hiển thị trên nhiều trang để cho phép người dùng tìm kiếm các sản phẩm bất cứ nơi nào trên trang web. Do đó, điều quan trọng là tính năng tìm kiếm được kiểm tra từ các trang hiện hành. Hầu hết code của các search module được sử dụng lại trong nhiều trang hay các template, hoặc nó có thể là một phần của header section hiển thị trên toàn bộ trang web. Nếu trong trường hợp này, cách thức hoạt động của các tính năng tìm kiếm nên được giống nhau ở bất cứ nơi nào nó xuất hiện và không cần thiết phải chạy tất cả các testcase trên tất cả các trang Sau khi tìm kiếm một sản phẩm sẽ được chuyển đến các trang kết quả tìm kiếm (Search Result Page) với tất cả các sản phẩm liên quan. Có rất nhiều tính năng để kiểm tra, nhưng ba tính năng quan trọng và có liên quan đặc biệt để kết quả tìm kiếm là sắp xếp, lọc và phân trang (sorting, filtering and pagination.) Trong quá trình kiểm tra tính năng tìm kiếm thì cần kiểm tra những phần sau
- Các sản phẩm có liên quan(Relevant products) - kiểm tra xem các sản phẩm được gợi ý có liên quan với những gì đã được tìm kiếm.
- Thông tin sản phẩm(Product information) - các sản phẩm sẽ hiển thị hình ảnh, tên, giá và có thể xếp hạng (rating) và số nhận xét (comment)
- Số lượng sản phẩm mỗi trang - kiểm tra số lượng sản phẩm mỗi trang phù hợp với yêu cầu.
- Phân trang (Pagination) - kiểm tra xem tất cả các mục trong trang tiếp theo cần phải khác với trang trước, tức là không có sản phẩm nào bị lặp lại.
- Sắp xếp (Sorting) – có thể có nhiều lựa chọn trong dropdown.
- Lọc (Filter)- không giống như sắp xếp, bộ lọc có thể có nhiều lựa chọn, có thể lọc theo nhiều thông số. Kết hợp tìm kiếm
- Sorting và Pagination – Khi có nhiều sản phẩm trên nhiều trang thì khi chuyển trang vẫn cần phải đúng theo thứ tự sắp xếp
- Filtering và Pagination – Khi chúng ta thực hiện filter trên một trang thì trên toàn bộ các trang cũng cần được áp dụng filter theo
- Sorting và Filtering – Một testcase quan trọng là kết hợp giữa sort và filter, khi kết hợp các cách thức này với nhau thì các tính năng cần được giữ nguyên, không gây ảnh hưởng lẫn nhau
- Sorting, Filtering và Pagination – Khi các tính năng này kết hợp với nhau cần đảm bảo các tính năng chạy đúng và sản phẩm được hiển thị đầy đủ
3. Tạo tài khoản và đăng nhập
Một số trang web thương mại điện tử cho phép bạn mua một sản phẩm với vai trò là guest, nghĩa là không cần phải tạo một tài khoản, và sau đó sẽ có một bước tùy chọn để tạo ra một tài khoản khi một đơn hàng được đặt. Khi một tài khoản được tạo ra, người dùng có thể đăng nhập ở giai đoạn nào đó trong quá trình mua. Điều quan trọng là chúng ta cần kiểm tra tất cả các bug có thể xảy ra trong quá trình mua của trang web thương mại điện tử.
- Mua một món hàng với vai trò guest - Nếu trang web cho phép thì có thể mua hàng mà không cần phải tạo một tài khoản.
- Với tài khoản mới hoặc đã tồn tại
- Tạo tài khoản và đăng nhập trước khi mua hàng - điều này là để kiểm tra rằng các mặt hàng đã mua được thêm vào tài khoản chính xác. Ngoài ra, cũng không bị nhắc login khi đã đăng nhập
- Đăng nhập chuyển hướng – kiểm tra việc chuyển hướng của trang sau khi đăng nhập đã chính xác hay chưa. Một số trang web sau khi đăng nhập đưa user về chính trang họ đã click vào link login và một số trang web khác thì đưa vào trang tài khoản người dùng (account page) việc này tùy thuộc vào requirement.
- Login session - khi đăng nhập cần kiểm tra rằng người dùng luôn trong trạng thái đã đăng nhập trong khi duyệt các sản phẩm. Ngoài ra, cần phải kiểm tra khi người dùng không tương tác với trang web trong một thời gian. session sẽ hết hạn sau một khoảng thời gian. Cần chắc chắn rằng người dùng đã thực sự bị đăng xuất sau khi session time out
- Đăng nhập và Đăng xuất - khi người dùng đã đăng xuất cần chắc chắn rằng họ không thể truy cập vào trang tài khoản người dùng nữa.
4. Thanh toán
Thanh toán là một phần thiết yếu của các trang web thương mại điện tử. Tất cả nhằm mục đích cho phép người dùng mua các mặt hàng của họ muốn mà không cần phải gọi điện để đặt hàng.
- Các loại hình thanh toán - tất cả các loại thanh toán khác nhau phải được kiểm tra, ví dụ Thẻ tín dụng(Credit Card), Paypal, Chuyển khoản ngân hàng(Bank Transfers), Instalments,...
5. Các hành vi của người dùng sau khi mua hàng
Khi đặt hàng, có rất nhiều hành động mà người dùng có thể làm liên quan đến việc mua hàng. Sau khi mua hàng người dùng cũng có thể có nhiều hành động họ thực hiện đối với đơn hàng đã mua.
- Hủy bỏ lệnh hoặc thay đổi số lượng đơn đặt hàng
- Xem lại order hiện tại và lịch sử mua hàng
- Thay đổi tài khoản chẳng hạn như địa chỉ thanh toán (billing address), địa chỉ vận chuyển (shipping address), thay đổi mật khẩu (change password), thay đổi thông tin hồ sơ (profile information) như tên, địa chỉ email và thậm chí xóa một tài khoản.
Việc test các trang thương mại điện tử có rất nhiều thách thức và đòi hỏi nhiều kỹ năng. Bài viết này chỉ nêu nên những chức năng chính và quan trọng khi tiếp cận một trang web thương mại điện tử Ngoài ra còn các tính năng khác như:
- Sản phẩm được gợi ý (Recommended product)
- Chi tiết sản phẩm (Product detail)
- Dữ liệu (Database) – Dữ liệu thay đổi thế nào sau khi mua một sản phẩm
- Warehouse System
- Liên hệ, xác nhận email, nội dung email, tiếp nhận ý kiến khách hàng Việc quan trọng là trang web cần hoạt động đúng theo requirement
Nguồn: http://www.testingexcellence.com/