English

Tuyền học Cypress - No.1 Tìm hiểu kiến thức đại cương về Cypress

z3610422851801_d32fc658de56208174deb9d661482778.jpg

Tác giả

Nguyễn Thị Thanh Tuyền

23/07/2023

Chia sẻ

banner.png

Chào mừng mọi người đã quay lại với blog của mình và mình là Tuyền. Hôm nay mình sẽ trở lại với serie học gì chia sẻ nấy và series này mình sẽ tạm đặt tên là “Tuyền học Cypress” với mục tiêu vừa tìm hiểu và học và có thể thực hành thành thạo Cypress. Đồng thời, tạo một lộ trình học (mang tính tham khảo) cho những bạn mới bắt đầu học, tìm hiểu về Cypress thì mình hy vọng bài viết của mình sẽ hữu ích cho các bạn. 

Để hiểu về Cypress là gì? và nó có vai trò như thế nào thì chúng ta cùng nhau tìm hiểu về những kiến thức đại cương về nó nhé!!!!

No.1: Cùng Tuyền tìm hiểu kiến thức đại cương về Cypress

Cypress là một công cụ kiểm thử từ đầu đến cuối được thiết kế cho các ứng dụng web hiện đại. Có mã nguồn mở và được áp dụng rộng rãi trên cộng đồng phát triển web, Cypress hoạt động trực tiếp trên trình duyệt. Với cách hoạt động linh hoạt cho phép các nhà phát triển có thể viết và thực thi các bài kiểm tra một cách dễ dàng, hiệu quả.

Những ưu điểm siêu việt của Cypress có thể kể đến:

  • Đơn giản, thân thiện dễ tương tác 
  • Tải lại trang và loại bỏ lỗi theo thời gian thực: Khi chạy các bài kiểm tra cho phép chúng ta có thể theo dõi từng bước và có thể tạm dừng các bài kiểm tra. Dễ dàng quan sát trạng thái của ứng dụng trong thời gian thực làm đơn giản hóa quá trình gỡ lỗi.
  • Đợi và kiểm thử tự động: Với cơ chế thông minh tự động chờ đợi và chạy các bài kiểm tra đối chiếu so sánh dữ liệu: text, con số có đúng với testcase đề ra không?. Đồng thời, hiển thị kết quả đúng hoặc sai một cách rõ ràng, nhằm giúp tester báo cáo lỗi với developer (dev) chính xác hơn. Giúp team dev hiểu và fix lỗi chính xác hơn. Ngoài ra, việc chạy các bài test trong mỗi lần release sẽ giúp web chúng ta không bị lỗi phát sinh trong quá trình phát triển thêm tính năng mới, giúp giảm thiểu được số lượng lỗi, kết quả sai, không đáng tin cậy.
  • Khả năng tích hợp vào CI/CD: Giúp cho việc viết test trên các project và chạy lại test nó sẽ linh hoạt và thường xuyên hơn. Dễ dàng thiết lập quy trình kiểm thử mạnh mẽ và đáng tin cậy, loại bỏ lỗi nhanh chóng,  đảm bảo chất lượng của ứng dụng với mỗi lần merge pull-request.
  • Một tính năng khá hay của Cypress đó là có thể chụp ảnh màn hình ở bất kỳ thời điểm nào khi chạy bài kiểm tra hoặc quay video quá trình chạy test, như vậy có thể giúp bạn lưu trữ và so sánh được với kết quả dự kiến.
  • Cộng đồng phát triển lớn và có nhiều plugin hỗ trợ.
  • Hỗ trợ kiểm thử ở các trình duyệt: Chrome, Firefox, Edge.
  • Hỗ trợ viết nhiều loại test: E2E (End - to - end) test, Component test, Integration test, Unit test,...

Tuy vậy, Cypress vẫn có những mặt hạn chế:

  • Giới hạn ngôn ngữ viết test, được biết Cypress hiện tại chỉ dùng duy nhất ngôn ngữ là Javascript để viết test. 
  • Không hỗ trợ chạy song song nhiều trình duyệt: Cypress chỉ chạy test đồng thời ở một trình duyệt duy nhất.
  • Đối với các bài kiểm thử lớn và phức tạp gây chậm trong việc thực thi các bài kiểm thử.
  • Kiểm tra đa trang web bị hạn chế: hiện tại Cypress chỉ hỗ trợ kiểm thử cho các trang đơn (Single Page Applications - SPAs). Đối với các ứng dụng có sự chuyển đổi trang thì dùng Cypress có thể gặp khó khăn,...

Tuy, có những ưu và nhược điểm như vậy nhưng Cypress cũng đang  dần chiếm ưu thế vì sự tiện lợi của mình, giúp giải quyết tốc độ, sự tin cậy, các vấn đề khác mà các công cụ kiểm thử web không làm được. Với sự phát triển này, đội ngũ phát triển Cypress sẽ cập nhật thêm nhiều tính năng để giúp các nhà phát triển viết test nhanh chóng và tiện lợi hơn nữa đảm bảo cho các ứng dụng đầu ra sẽ chất lượng đỉnh cao, trải nghiệm người dùng tuyệt nhất…

Những kiến thức trên là những lý thuyết đại cương về khái niệm, vai trò, lợi ích mà Cypress mang lại ở môi trường thử nghiệm. Để biết cách hoạt động và xây dựng một bài test đầu tiên thì chúng ta đến với phần tiếp theo ở blog sau, hướng dẫn setup và tạo dự án đầu tiên…!!!!!

Cảm ơn các bạn đã đọc đến đây!!!!

Hẹn các bạn ở blog tiếp theo nhé và mình là Tuyền. 

Bài viết được tạo bởi ChatGPT và đã được chỉnh sửa.

Tài liệu tham khảo: https://docs.cypress.io/guides/overview/why-cypress
 

Chia sẻ

Liên hệ