Kiểm thử tự động (automation testing) trong các nền tảng e-commerce được tester sử dụng để nâng cao chất lượng test lên một tầm cao mới trong khi làm website thương mại điện tử. Bởi vì, với thị trường online cạnh tranh như hiện nay, chất lượng của trang web có thể là yếu tố quyết định mang lại thành công cho một doanh nghiệp.

Tại sao việc thực hiện kiểm thử tự động trên các nền tảng e-commerce lại cần thiết?

Các hệ thống thương mại điện tử thường rất phức tạp. Người dùng cuối chỉ nhìn thấy giỏ hàng, các danh mục và cách thanh toán, nhưng bên dưới đó có nhiều hoạt động khác đang diễn ra. Tất cả các trang web thương mại điện tử đều bao gồm trang quản trị và tích hợp với các dịch vụ bên ngoài như cổng thanh toán và các công cụ so sánh giá.

Toàn bộ trang web yêu cầu cách tiếp cận và chiến lược kiểm thử một cách cẩn thận nhằm tránh khỏi bất kỳ hành động không mong muốn nào có thể dẫn tới việc không thể thực hiện giao dịch và mất khách hàng. Các trang web thương mại điện tử thường phát triển theo hướng động, điều này khiến cho việc theo dõi chất lượng sản phẩm và triển khai các giải pháp mới càng thêm phức tạp.

Trong trường hợp này, automation testing là một giải pháp hữu hiệu. Đây chính là một yếu tố cần thiết để duy trì một trang web có chất lượng cao đối với tốc độ phát triển nhanh chóng của thương mại điện tử như hiện nay.

Kịch bản kiểm thử cho hệ thống thương mại điện tử

Các hệ thống thương mại điện tử được phát triển ở các mức độ khác nhau. Tuy nhiên, bạn có thể tạo một danh sách chứa các kịch bản kiểm thử phổ biến nhất cho trang web thương mại điện tử. Một kế hoạch kiểm thử tốt sẽ đảm bảo chất lượng của dịch vụ mà bạn cung cấp đạt ở mức cao nhất.

Mặc dù mỗi một cửa hàng trực tuyến có một kích thước khác nhau, nhưng chúng đều chứa các yếu tố và chức năng cơ bản mà sẽ xuất hiện ở mọi trang web. Dựa vào đó chúng ta có thể xây dựng danh sách các kịch bản kiểm thử.

Checklist kiểm thử cho một trang web thương mại điện tử

  1. Trang chủ: là trang chính của một website, nơi sẽ trưng bày các sản phẩm. Nội dung của trang chủ bao gồm từ banner thông thường chứa thông tin cơ bản của sản phẩm đến các slider chứa thông tin chi tiết sản phẩm. Ấn tượng đầu tiên mang đến cho khách hàng có thể là chìa khóa quan trọng để quyết định việc họ có tiếp tục khám phá hay không.
  2. Đăng nhập và đăng ký: Đây là các chức năng chính, sự thất bại của chúng có thể chặn việc sử dụng trang web và dẫn đến việc mất khách hàng.
  3. Đặt hàng: Quá trình mua sắm là vấn đề quan trọng và phức tạp nhất trong cửa hàng. Nó bao gồm toàn bộ quá trình tạo đơn hàng – từ việc chỉnh sửa sản phẩm được thêm vào giỏ hàng – đến việc chọn phương thức vận chuyển và thanh toán, và cuối cùng là đặt hàng. Nếu chức năng này không được kiểm tra và phát sinh lỗi, chắc chắn sẽ dẫn đến việc mất khách hàng.
  4. Thanh toán: Các phương thức thanh toán trên một trang web lớn thường rất đa dạng. Vì thế chúng sẽ tạo ra nhiều lựa chọn cho khách hàng. Mỗi một trường hợp là một hoạt động khác nhau của trang web khi tạo đơn hàng và đều có thể gây ra vấn đề không thể đặt đơn hàng. Bạn cần kiểm tra tất cả các trường hợp để đảm bảo rằng tất cả các phương thức thanh toán đều được kiểm thử.
  5. Tìm kiếm: Một công cụ tìm kiếm nên cung cấp một lượng lớn thông tin thuận tiện cho khách hàng đang tìm kiếm một sản phẩm cụ thể. Nếu công cụ tìm kiếm gặp sự cố, người dùng có thể nghĩ rằng các sản phẩm họ đang tìm kiếm không có ở trong cửa hàng, điều này dẫn đến việc họ sẽ rời khỏi trang web.
  6. Giao diện thân thiện người dùng (UI): Khi kiểm thử một trang web, bạn cần đặt mình vào vị trí của khách hàng để xem những yếu tố nào trên trang có thể gây khó khăn trong việc sử dụng tất cả các chức năng của trang web và dẫn đến tỷ lệ thoát cao. QA thường kiểm tra các chức năng cụ thể thay vì xem xét toàn bộ trang web, nhưng đây lại chính là cách mà người dùng nhìn vào trang.
  7. Giỏ hàng: Trang thông tin sản phẩm thường chứa rất nhiều thông tin quan trọng cho những khách hàng đang quan tâm đến sản phẩm. Bạn nên kiểm tra và chắc chắn rằng tất cả các thông tin đều rõ ràng và mọi chức năng đều hoạt động đúng cách. Trang thông tin sản phẩm cũng quan trọng khi thêm sản phẩm vào giỏ hàng; nếu nó xuất hiện lỗi, khách hàng sẽ từ bỏ việc mua sắm của họ.
  8. Mã khuyến mại: Các chương trình khuyến mại rất quan trọng và sẽ thu hút người dùng đến cửa hàng bởi các ưu đãi đặc biệt. Những chức năng này thường bị quên trong quá trình sử dụng cơ bản của trang web và có thể đóng vai trò quan trọng trong quyết định đặt đơn hàng của người dùng.

Các loại kiểm thử phổ biến là gì?

Vì các ứng dụng/trang web thương mại điện tử là các ứng dụng web hoặc ứng dụng di động với độ phức tạp khác nhau nên chúng cần phải trải qua tất cả các loại kiểm thử phổ biến. Để đạt được mức độ chắc chắn về chất lượng của các giải pháp mà bạn cung cấp, cần tiếp cận kiểm thử theo nhiều khía cạnh. Kiểm thử không chỉ là việc “kích vào” trang; bạn cần phải kiểm tra toàn bộ hệ thống thương mại điện tử theo nhiều cách để bao phủ hầu hết các chức năng của trang web.

Các loại kiểm thử phổ biến

  • Functionality tests/black-box testing (Kiểm thử chức năng/kiểm thử hộp đen)
  • Usability test (Kiểm thử khả năng sử dụng)
  • Security testing (Kiểm thử bảo mật)
  • Performance test (Kiểm thử hiệu suất)
  • Database testing (Kiểm thử cơ sở dữ liệu)
  • Mobile application testing (Kiểm thử ứng dụng dành cho thiết bị di động)
  • A/B tests (Thử nghiệm A/B)

Tại sao nên lựa chọn automation testing khi làm website thương mại điện tử?

Kiểm thử tự động không thay thế hoàn toàn kiểm thử thủ công; chúng tạo thành một tổng thể đảm bảo chất lượng cao nhất khi đang phát triển một trang web thương mại điện tử.

Trong các bài kiểm thử tự động, các bước kiểm thử được thực hiện bằng phần mềm và kịch bản. Mục tiêu của phương pháp này là thực hiện các bài kiểm thử trong một thời gian ngắn, thực hiện các nhiệm vụ lặp đi lặp lại và kiểm thử hồi quy sau mỗi thay đổi, từ đó giảm thiểu thời gian cho QA. Đôi khi trong trường hợp này, một số phần của quy trình yêu cầu sự can thiệp từ một người kiểm thử thủ công để duy trì và phát triển các kịch bản kiểm thử tự động khi hệ thống phát triển.

Khó có thể nói rằng phương pháp nào tốt hơn. Kiểm thử thủ công và kiểm thử tự động đều được sử dụng trong nhiều trường hợp, phụ thuộc vào nhiều yếu tố như ngân sách, yêu cầu dự án, nguồn lực, thời gian, kinh nghiệm, cấu trúc dự án,… Tuy nhiên, một số loại kiểm thử được xử lý tốt hơn bằng cách thủ công trong khi những loại khác thì thích hợp với việc tự động hóa.

So sánh giữa kiểm thử thủ công và kiểm thử tự động

Trong bảng dưới đây, tôi đã tổng hợp những khía cạnh quan trọng nhất của mỗi loại kiểm thử liên quan đến thời gian, chất lượng, báo cáo, khả năng lặp lại và khi nào nên áp dụng mỗi loại. Bạn có thể thấy sự khác biệt và đưa ra kết luận rằng loại kiểm thử nào sẽ phù hợp hơn cho ứng dụng của bạn.

Vấn đề Kiểm thử thủ công Kiểm thử tự động
Thời gian Kiểm thử được thực hiện bởi con người nên yêu cầu nhiều thời gian của ngân sách hơn Chạy kịch bản kiểm thử nhanh hơn và cho phép bạn kiểm tra nhiều chức năng một cách đồng thời
Chất lượng Rủi ro lỗi do con người Kịch bản kiểm thử là chính xác và sẽ không xảy ra sai sót gì. Tuy nhiên, nó chỉ chạy theo những gì đã được thiết kế. Ngoài ra cũng giúp việc tạo kịch bản kiểm thử một cách lặp đi lặp lại, kiểm thử hồi quy sau mỗi lần thay đổi
Báo cáo Báo cáo được tạo bởi tester cần có thời gian và đánh giá về cách hệ thống hoạt động Kết quả kiểm thử luôn có sẵn. Báo cáo hiển thị chính xác kết quả và lỗi.
Sự lặp lại Người kiểm thử phải tạo lại các trường hợp và kịch bản kiểm thử giống nhau, điều này sẽ tiêu tốn nhiều thời gian mỗi khi có sự thay đổi Kịch bản kiểm thử có thể chạy lại nhiều lần với các tham số khác nhau mà không yêu cầu thời gian của chuyên gia. Điều này giúp có thời gian để kiểm tra các chức năng mà yêu cầu kiến thức để tạo lại test case
Khi nào nên sử dụng? Exploratory testing (kiểm thử thăm dò) – yêu cầu hiểu biết về website
Usability testing (kiểm tra khả năng sử dụng) – đánh giá sự thân thiện của UX (trải nghiệm người dùng)
Ad hoc testing (kiểm thử ad hoc) – kiểm thử mà không cần một kịch bản, yêu cầu sự hiểu biết về website và kinh nghiệm đối với sự hoạt động của tất cả các chức năng hệ thống
Functional testing (kiểm thử chức năng) – kiểm thử tự động cho phép bạn kiểm thử chức năng, đường dẫn mua hàng, các thử nghiệm có thể lặp lại.
Nếu việc kiểm thử dựa trên việc lặp lại một vấn đề nhất định, nên sử dụng kiểm thử tự động.
Performance testing (kiểm thử hiệu suất) – kiểm thử này dựa trên sự mô phỏng số lượng lớn hoạt động tái tạo trang web và số lượng lớn người dùng, không thể tái hiện bằng kiểm thử thủ công.
Load testing (kiểm tra tải) – kiểm thử tự động cho phép bạn kiểm tra hệ thống trong điều kiện làm việc với một số lượng lớn dữ liệu

Kiểm thử tự động không loại bỏ việc kiểm thử thủ công; ngược lại, nó hoàn thành toàn bộ quy trình kiểm thử, tạo thành một hệ thống đầy đủ. Giống như kiểm thử thủ công, kiểm thử tự động cũng đòi hỏi một chiến lược điều phối bởi quy trình lập kế hoạch, theo dõi, kiểm soát quá trình, cũng như bảo trì liên tục để đảm bảo rằng các bài kiểm thử tự động luôn phát triển cùng với website.

Ưu điểm của kiểm thử tự động trong thương mại điện tử

Một ưu điểm lớn của kiểm thử tự động và khả năng sử dụng thư viện Allure để tạo báo báo kiểm tra.

Báo cáo được tạo dưới dạng báo cáo HTML tương tác. Ưu điểm của thư viện Allure là có khả năng tích hợp với bất cứ công nghệ nào, như Java, Python, JavaScript, PHP, .Net,…

Ưu điểm của báo cáo:

  • Trạng thái kiểm thử luôn rõ ràng
  • Hiển thị danh sách các bước được thực hiện
  • Hiển thị thời gian thực hiện cho mỗi kịch bản kiểm thử
  • Hiển thị ảnh chụp màn hình của các bước được thực hiện

Các công nghệ nên sử dụng cho kiểm thử tự động

Kiểm thử tự động không thể thực hiện được mà không có công cụ tốt bởi vì chúng quyết định cách thức thực hiện kiểm thử tự động. Công cụ kiểm thử tự động là một yếu tố then chốt. Sự lựa chọn không đúng công cụ không chỉ ảnh hưởng đến quá trình tạo kiểm thử mà còn có thể gây ra chi phí cao hơn và tốn nhiều thời gian hơn. Cuối cùng dẫn tới lợi nhuận thấp khi tạo toàn bộ framework.

Sử dụng Selenium cho kiểm thử trang web

Selenium là một công cụ phổ biến cho việc tự động hóa các hoạt động được thực hiện bởi trình duyệt. Nó thường được sử dụng để kiểm thử ứng dụng web, đặc biệt là phía frontend. Nhờ công cụ này, chúng ta có thể tự động hóa hầu hết các hoạt động được thực hiện ở phía người dùng, và dẫn tới tự động hóa quá trình kiểm thử trong những hệ thống thương mại điện tử đang được phát triển.

Ưu điểm của Selenium:

  • Hỗ trợ nhiều trình duyệt: Firefox, IE, Safari, Opera và Google Chrome.
  • Hoạt động trên nhiều hệ điều hành: Windows, OS X, Linux và Solaris
  • Có khả năng lập trình bằng nhiều ngôn ngữ: C#, Java, Perl, PHP, Python và Ruby
  • Có khả năng sử dụng Selenium Grid – tiến hành thử nghiệm đồng thời trên nhiều máy – với các cấu hình, trình duyệt khác nhau,…

Cypress testing framework

Công cụ tự động hóa Cypress là một framework JavaScript chủ yếu để kiểm thử end-to-end, tức là tái hiện toàn bộ hoạt động của hệ thống theo quan điểm từ phía người dùng.

Cấu hình, tạo, khởi chạy và gỡ lỗi các thử nghiệm không yêu cầu các hành động phức tạp và cho phép tạo một framework hoàn chỉnh nhanh hơn.

Kiểm thử được thực hiện trực tiếp trên trình duyệt, đảm bảo tốc độ và khả năng kiểm soát cao hơn trong khi tạo thử nghiệm.

Ưu điểm của công cụ Cypress:

  • Cypress không sử dụng Selenium, nó dựa trên một kiến trúc mới
  • Hoạt động trên bất kỳ trang web nào và được xây dựng để hỗ trợ các framework Javascript như React, Angular, Vue và Elm
  • Code kiểm thử được thực thi trên trình duyệt
  • Thực thi nhanh các bài kiểm thử trên trình duyệt Cypress
  • Cypress hỗ trợ các trình duyệt: Canary, Chrome, Edge và Firefox

Có đáng để thực hiện kiểm thử tự động cho các trang web thương mại điện tử không?

Việc thực hiện kiểm thử tự động mang lại sự kiểm soát và tự tin rằng dự án của chúng ta hoạt động đúng cách, thậm chí khi việc phát triển trang web đang diễn ra một cách nhanh chóng và có những sự thay đổi từ những người có thể không quen thuộc với toàn bộ hệ thống.

Việc kiểm thử tự động không thay thế những người kiểm thử thủ công. Ngược lại, chúng cho phép người kiểm thử dành nhiều thời gian hơn tập trung vào những phần của hệ thống mà không thể thực hiện được bởi kiểm thử tự động. Quy trình thống nhất đảm bảo việc duy trì và cung cấp một hệ thống đang phát triển có chất lượng cao.

Liên hệ ngay với chúng tôi để khám phá điều mà các Dịch vụ Giải Pháp TMĐT và Dịch vụ Phát triển có thể mang lại cho sự phát triển doanh nghiệp của bạn.