Không phải là một bài kiểm tra UI khác: Cách kiểm tra API-First đã cứu pipeline của tôi

0 0 0

Người đăng: Kansu Leg

Theo Viblo Asia

Nếu bạn đã từng đưa ra bản sửa lỗi vào hôm trước, chỉ để nhận được báo cáo lỗi năm phút sau đó… Bạn biết nỗi đau của việc thử nghiệm trên thiết bị di động.

Giữa các thử nghiệm UI không ổn định, sự chậm trễ của trình giả lập và sự kỳ lạ của từng thiết bị, việc thử nghiệm thường giống như phỏng đoán.

Chúng tôi muốn thứ gì đó sạch hơn và nhận thấy rằng thử nghiệm di động dựa trên API sẽ thay đổi cuộc chơi.

Chu kỳ đau đớn của thử nghiệm di động

  • Trình giả lập bị sập vào thời điểm tệ nhất
  • Các bài kiểm tra đạt yêu cầu cục bộ nhưng không đạt yêu cầu CI
  • Viết các tập lệnh kiểm tra giao diện người dùng dễ vỡ, hỏng khi thực hiện mọi thay đổi giao diện người dùng
  • Mất nhiều giờ chờ đợi để hoàn tất quá trình xây dựng thiết bị. Bạn có thấy quen không?

Chúng tôi cho rằng phải có cách tốt hơn - và đúng là như vậy.

Kiểm thử di động theo API là gì?

Thay vì chỉ dựa vào luồng UI, chúng tôi bắt đầu kích hoạt hành vi ứng dụng di động thông qua API trong quá trình chạy CI. Điều này mang lại cho chúng tôi:

  • Kiểm soát nhiều hơn việc thực hiện thử nghiệm
  • Khả năng bỏ qua UI khi không cần thiết
  • Tự động hóa thực sự trên nhiều thiết bị, ngay cả khi không có UI

Thực ra, bạn không cần phải "nhìn thấy" ứng dụng để biết nó có hoạt động hay không - bạn chỉ cần kiểm tra đúng đường dẫn, nhanh chóng.

Chúng tôi đã đưa nó vào CI/CD như thế nào?

  • Chúng tôi đã tích hợp một lớp thử nghiệm API nhẹ vào quy trình hiện có của mình.
  • Chúng tôi đã sử dụng một công cụ cho phép chúng tôi:
  • Chạy thử nghiệm trên thiết bị thực, từ xa
  • Kích hoạt quy trình làm việc từ GitHub Actions
  • Nhận kết quả qua webhook
  • Bỏ qua việc duy trì các tập lệnh giả lập

Nó dễ dàng được đưa vào đường ống của chúng tôi và chúng tôi không bao giờ phải hối hận nữa.

Tại sao cách tiếp cận này hiệu quả?

  • Ít bong tróc hơn
  • Phản hồi nhanh hơn
  • Hoạt động trên nhiều loại thiết bị
  • Dễ dàng mở rộng quy mô

Quan trọng nhất là nó cho phép chúng ta di chuyển nhanh mà không làm hỏng đồ vật.

Những gì chúng tôi đã sử dụng

Chúng tôi đã thử một vài thứ, nhưng cuối cùng đã sử dụng các công cụ như NativeBridge (rẻ nhất), Appetize, BrowserStack và Lambda giúp cho phần tích hợp API trở nên trơn tru. Không cần cài đặt SDK, không cần thiết lập nặng nề — chỉ cần chạy thử nghiệm sạch sẽ được API kích hoạt.

Chúng tôi không có kế hoạch thay đổi toàn bộ chiến lược thử nghiệm, nhưng điều này diễn ra một cách tự nhiên khi chúng tôi thấy nó ổn định và có khả năng mở rộng như thế nào.

Suy nghĩ cuối cùng

Bạn không cần phải viết lại toàn bộ bộ kiểm thử của mình.

Chỉ cần tìm những nơi mà các kiểm thử theo API có thể thay thế các kiểm thử thủ công — và bắt đầu từ quy mô nhỏ. Không phải là chạy theo xu hướng — mà là không làm kiệt sức nhóm phát triển của bạn khi duy trì mã kiểm thử không ổn định.

Bình luận

Bài viết tương tự

- vừa được xem lúc

UI UX là gì? UI, UX design là gì?

Công nghệ thiết kế UI, UX là một trong các công nghệ thiết kế web phổ biến được nhiều công ty, sử dụng để làm web cho các doanh nghiệp. Đây cũng là xu hướng thiết kế web được đánh giá sẽ tiếp tục được ưa chuộng và phát triển trong năm 2018.

1 1 299

- vừa được xem lúc

Ví dụ về UIActivityViewController

Trên iOS, UIActivityViewController cung cấp giao diện thống nhất để người dùng chia sẻ và thực hiện các hành động trên văn bản, hình ảnh, URL và các mục khác trong ứng dụng. let string = "Hello, world!". let url = URL(string: "https://nshipster.com").

0 0 64

- vừa được xem lúc

[CSS]: max(), min(), clamp(): when the size is no longer fixed

Chào mọi người, hôm nay mình xin phép được chia sẻ về 3 hàm tính toán đặc biệt trong CSS mà mình vừa mới được học, và có lẽ là 1 trong những hàm mà mình thích nhất . Là một Front-End dev, đặc biệt trong bối cảnh mobile first hiện tại, responsive không còn là 1 điều quá xa lạ, và hiển nhiên những sản

0 0 40

- vừa được xem lúc

UI Design - Các yếu tố cơ bản trong thiết kế giao diện

. UI components by Tran Mau Tri Tam. Nếu là một front-end developer, chắc hẳn bản thân bạn cũng sẽ ít nhiều hiểu được tầm quan trọng của UI đối với người dùng, cũng như việc một ứng dụng có giao diện đẹp, ưa nhìn sẽ giúp người dùng có cái nhìn tốt hơn và sẽ lựa chọn việc sử dụng ứng dụng của bạn nhi

0 0 43

- vừa được xem lúc

15 thư viện UI Components tốt nhất cho ReactJS

Giới thiệu:. .

0 0 59

- vừa được xem lúc

Optimistic UI update là cái gì?

Có thể bạn đã nghe từ Optimistic UI Update ở đâu đó rồi. Vậy nó là cái gì? Tại sao ta lại cần nó và cách mà nó được thực hiên.

0 0 49