Kiểm thử website Thương mại điện tử đòi hỏi phải có kiến thức về kỹ thuật kiểm thử web và kiến thức 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ó cấu trúc chung điển hình, ví dụ:
- Homepage – Trang chủ
- Search Results Page – Trang kết quả tìm kiếm
- Product Details Page – Trang chi tiết sản phẩm
- Order Form Page – Trang đặt hàng
- Order Confirmation Page – Trang xác nhận đặt hàng
- Login Form Page and Accounts Pages – Trang đăng nhập và tài khoản
Tất nhiên có rất nhiều các trang khác nữa, nhưng quá trình chính của người sử dụng sẽ đòi hỏi phải đi vào các trang ở trên và đó là nơi mà kiểm thử các trang web thương mại điện tử nên tập trung vào, đặc biệt là Quá trình thanh toán.
Những trang “front-end” nhiều khả năng giao tiếp với “back-end” web services, như là Product Search Service, Content Service, Booking Engine, Payment Services, Accounts Services…. Vì vậy, điều quan trọng là khi kiểm thử các trang web thương mại điện tử mà chúng ta thử nghiêm các service riêng lẻ trong sự cô lập cũng như tích hợp toàn bộ hệ thống.
Một flow điển hình của người dùng sẽ bắt đầu tại trang chủ hoặc một trang sản phẩm, tìm kiếm sản phẩm, xem xét sản phẩm và đưa một hoặc nhiều sản phẩm vào giỏ hàng, điền thông tin đặt hàng và thông tin thanh toán và cuối cùng là gửi đơn đặt hàng.
Ý tưởng cho kiểm thử E-commerce Websites
- Những mẹo và hướng dẫn cùng các phương pháp và kỹ thuật kiểm thử thông thường để kiểm thử ứng dụng web cũng được áp dụng cho kiểm thử các trang web thương mại điện tử.
- Trong bài viết này, chúng ta xem xét một số trường hợp kiểm thử ở mức cao thích hợp với hầu hết các website thương mại điện tử, và bạn có thể sử dụng những hướng dẫn này để bắt đầu kiểm thử một website thương mại điện tử.
1. Testing Shopping Cart – Kiểm tra giỏ hàng
Shopping Cart là một trong những chức năng chính của một E-commerce Websites, cho phép khách hàng lựa chọn và lưu trữ nhiều sản phẩm trong giỏ hàng và thực hiện giao dịch mua chúng trong 1 lần.
Ngày nay Shopping Cart đã trở nên “thông minh” hơn bằng cách ghi nhớ tất cả những sản phẩm mà bạn đã lưu trữ trong đó và bạn có thể lấy lại chúng 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 sử dụng có một tài khoản đã được kích hoạt và đăng nhập, một session id được lưu trữ vào thông tin người dùng trong cơ sở dữ liệu. Dù bằng cách nào, có một số trường hợp thử nghiệm quan trọng là một phần trong quá trình kiểm tra giỏ hàng.
- Thêm sản phẩm vào giỏ hàng – giỏ hàng được cập nhật sản phẩm với tên, hình ảnh, giá tương ứng chính xác.
- Tăng số lượng sản phẩm trong giỏ hàng – giá được cập nhật chính xác tương ứng với sản phẩm.
- Thêm cùng một sản phẩm nhiều lần – có phải là cùng một mặt hàng trong giỏ hàng, nhưng số lượng phải phản ánh chính xác số sản phẩm được thêm vào và tổng giá trị đơn hàng được cập nhật bằng tổng giá của từng sản phẩm trong giỏ hàng.
- Thêm nhiều loại sản phẩm khác nhau – Đối với mỗi sản phẩm được thêm vào chúng ta sẽ thấy tên sản phẩm, hình ảnh, giá tương ứng và tổng giá trị tất cả các sản phẩm.
- Loại bỏ một số sản phẩm trong giỏ hàng – giỏ hàng cập nhật các sản phẩm còn lại trong giỏ hàng và tổng giá trị tương ứng.
- Loại bỏ tất cả sản phẩm trong giỏ hàng – số dư của giỏ hàng trở về 0, và không còn sản phẩm nào được hiển thị trong giỏ hàng.
- Click vào một sản phẩm trong giỏ hàng – có thể nhìn thấy thông tin chi tiết của sản phẩm đã chọn, có thể là một popup hoặc di chuyển đến trang sản phẩm.
- Thêm một hoặc nhiều sản phẩm vào giỏ hàng, sau đó tắt trình duyệt đi và mở lại – lý tưởng nhất là giỏ hàng vẫn lưu lại các sản phẩm của bạn đã chọn. Trường hợp đặc biệt này phụ thuộc vào yêu cầu xử lý giỏ hàng như thế nào.
- Phiếu giảm giá – cần kiểm tra giá ở trong giỏ hàng đã được giảm khi chúng ta sử dụng phiếu giảm giá hoặc sẽ không giảm giá nếu chúng ta sử dụng phiếu giảm giá không hợp lệ hoặc đã hết hạn.
2. Search Form, Sorting, Filtering, Pagination – Tìm kiếm, sắp xếp, lọc, phân trang
Form search thường được hiển thị trên nhiều trang, cho phép người dùng có thể tìm kiếm sản phẩm ở bất cứ đâu trên trang web. Do đó, điều quan trọng là chức năng tìm kiếm phải được kiểm tra ở trên tất cả các trang mà nó hiện hữu.
Hầu hết mã code cho module tìm kiếm được tái sử dụng trên nhiều trang, hoặc nó có thể là một phần của phần header được hiển thị trên toàn bộ trang web. Trong trường hợp này, hành vi của các chức năng tìm kiếm phải giống nhau ở bất cứ nơi nào nó được thực hiện.
Khi tìm kiếm một sản phẩm, chúng ta được di chuyển đến trang Search Results Page (SRP) – trang kết quả tìm kiếm, hiển thị tất cả sản phẩm tương ứng với điều kiện tìm kiếm. Có rất nhiều thứ và nhiều tính năng cần kiểm tra nhưng có 3 tính năng quan trọng nhất và liên quan chặt chẽ đến SRP là sắp xếp, lọc và phân trang.
- Sản phẩm thích hợp – Kiểm tra các sản phẩm được hiển thị tương ứng với điều kiện tìm kiếm.
- Thông tin sản phẩm – các sản phẩm hiển thị kèm theo hình ảnh, tên, giá sản phẩm và có thể có xếp hạng và ý kiến bình luận của khách hàng.
- Số lượng sản phẩm trên một trang – kiểm tra số lượng sản phẩm hiển thị trên mỗi trang phù hợp với yêu cầu của khách hàng.
- Phân trang – kiểm tra xem tất cả các sản phẩm trên các trang là khác nhau, tức là không bị trùng lặp.
- Sắp xếp – đó có thể là 4-5 tùy chọn để lựa chọn từ dropdown. Sắp xếp thường là lựa chọn đơn, nghĩa là bạn có thể sắp xếp chỉ theo một điều kiện.
- Sắp xếp và phân trang – Có nhiều sản phẩm trên nhiều trang, khi chọn sắp xếp theo một tham số nào đó, thứ tự sắp xếp sẽ được giữ nguyên khi sang trang, hoặc khi tải thêm sản phẩm (nếu được tải Ajax)
- Lọc – không giống như các tùy chọn sắp xếp, có nhiều lựa chọn bộ lọc, bạn có thể lọc theo nhiều điều kiện khác nhau. Đó là một ý tưởng tốt để khám phá các bộ lọc đơn và lựa chọn đa bộ lọc.
- Lọc và phân trang – khi ta thực hiện lọc ở một trang, về lý tưởng thì bộ lọc sẽ được áp dụng khi sang trang khác.
- Sắp xếp và lọc – một test case quan trọng là kết hợp cùng lúc tính năng sắp xếp và lọc. Ví dụ: lọc theo giá sản phẩm và sau đó sắp xếp theo giá cao xuống thấp, hoặc ngược lại. Trong khi các tính năng đơn lẻ có thể làm việc một cách chính xác, nhưng khi kết hợp với các tính năng khác, các chức năng của một hoặc cả hai tính năng có thể hoạt động sai, vì vậy điều quan trọng là chúng ta kiểm tra kết quả khi kết hợp lọc và phân loại.
- Sắp xếp, lọc và phân trang – kiểm tra xem khi sử dụng cả sắp xếp và chọn lọc, các luật này có giữ nguyên được khi sang trang hoặc tải thêm sản phẩm hay không.
3. Create Account and Login – 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 hàng như là khách, nghĩa là không cần phải tạo tài khoản, và sau đó một bước tùy chọn để tạo tài khoản mới khi một đơn hàng được đặt.
Khi một tài khoản được tạo, người dùng có thể đăng nhập ở bất cứ giai đoạn nào trong quá trình mua hàng. Điều quan trọng là chúng ta cần phải kiểm tra tất cả sự thay đổi trong quá trình sử dụng khi kiểm tra các trang web thương mại điện tử.
- Mua một món hàng như là khách – kiểm tra có thể mua hàng mà không cần tạo tài khoản.
- Hiện tại và tài khoản mới – mua hàng với tài khoản sẵn có và với tài khoản mới được tạo ra.
- Tạo tài khoản và đăng nhập trước khi mua hàng – kiểm tra rằng các mặt hàng bạn mua được thêm vào và kết nối với tài khoản chính xác. Ngoài ra, bạn không nên bị yêu cầu phải login lại nếu bạn đã login rồi.
- Chuyển hướng đăng nhập – kiểm tra trạng thái của tính năng đăng nhập trên các trang khác nhau. Một vài trang sẽ chuyển hướng người dùng trở lại trang mà người dùng đã click vào link đăng nhập. Một vài trang khác chuyển hướng người dùng đến trang tài khoản. Điều này cần được kiểm tra kỹ lưỡng.
- Phiên đăng nhập – khi bạn đã đăng nhập, kiểm tra xem bạn luôn đăng nhập khi bạn xem các sản phẩm. Ngoài ra, bạn cần phải kiểm tra trạng thái khi người dùng không tương tác với các trang web trong một khoảng thời gian nhất định. Hãy chắc chắn rằng người dùng thực sự bị đăng xuất sau khi phiên đăng nhập hết hạn.
- Đăng nhập và Đăng xuất – khi bạn đã đăng nhập và sau đó đăng xuất, hãy chắc chắn rằng bạn không thể truy cập vào trang tài khoản.
4. Payments – Thanh toán
Thanh toán là một phần thiết yếu của các E-commerce Website. Tính năng thanh toán cho phép người dùng mua hàng mà không cần phải gọi điện để đặt hàng.
- Các loại thanh toán – Các loại thanh toán khác nhau đều phải được kiểm tra, ví dụ thanh toán qua Thẻ tín dụng, Paypal, Chuyển khoản ngân hàng, vv
- Lưu trữ chi tiết thẻ – Có phải trang web đã lưu trữ thông tin thẻ của khách hàng không? Nếu có thì có an toàn không? Có tuân thủ PIC không?
5. Post Purchase Test – Kiểm thử mua hàng
Khi thực hiện mua 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 của họ. Kiểm thử các chức năng mua hàng cũng là một khía cạnh quan trọng của các E-commerce Website. Đây có thể là:
- Hủy đơn hàng hoặc thay đổi số lượng đơn hàng
- Xem lại đơn hàng và lịch sử các mặt hàng đã mua gần đây.
- Thay đổi thông tin tài khoản, chẳng hạn như địa chỉ thanh toán, địa chỉ nhận hàng, thay đổi mật khẩu, thay đổi thông tin hồ sơ như tên, địa chỉ email và thậm chí xóa một tài khoản.
Kiểm thử các trang web thử nghiệm thương mại điện tử là một thách thức và đòi hỏi rất nhiều kỹ năng. Bài viết này chỉ là một phần nhỏ trong tất cả các trường hợp thử nghiệm có liên quan có thể được thực hiện khi kiểm thử các E-commerce Website và nó có thể được sử dụng như là một điểm khởi đầu.
Có rất nhiều chức năng cần được kiểm tra như một phần của thử nghiệm các trang web thương mại điện tử như:
- Vòng đời sản phẩm và các sản phẩm được khuyên dùng.
- Trình bày đúng các thông tin trên trang thông tin sản phẩm (thường nặng về nội dung)
- Cơ sở dữ liệu của sản phẩm – Các dữ liệu thay đổi thế nào sau khi mua sản phẩm?
- Hệ thống kho chứa – Kho chứa sản phẩm hoặc các bên thứ ba được thông báo như thế nào nếu đặt mua sản phẩm?
- Liên hệ khách hàng, email xác nhận, nội dung email, phản hồi, phàn nàn…
Việc quan trọng nhất khi test website thương mại điện tử là chắc chắn rằng mỗi chức năng được xây dựng đúng với yêu cầu.