Helpex - Trao đổi & giúp đỡ Đăng nhập

Tại sao Ghi và Phát lại không đủ để kiểm tra API tự động

Cách đây vài tuần, chúng tôi đã phát hành một khả năng mới trong Parasoft SOAtest có tên là Trình tạo thử nghiệm API thông minh. Tôi đã đam mê. Công nghệ này là bước đột phá hợp pháp - nó sử dụng trí thông minh nhân tạo để chuyển đổi các bài kiểm tra UI thủ công thành các bài kiểm tra API tự động để bạn không cần chuyên môn về kiểm tra API hoặc thậm chí khả năng viết bất kỳ mã nào để bắt đầu. Tất cả đều không có tập lệnh và được kích hoạt thông qua một plugin đơn giản cho Chrome, vì vậy bạn không phải cài đặt một bộ công cụ lớn để sử dụng nó.

Tuy nhiên, tại hội nghị thử nghiệm STAREAST hồi tháng 5, nơi tôi đã nói rất lâu về công nghệ này tuyệt vời như thế nào, tôi liên tục bắt gặp mọi người hỏi tôi khác với công nghệ thu âm và phát lại trên thị trường như thế nào. Tất nhiên trí tuệ nhân tạo là câu trả lời, nhưng AI vì AI là vô nghĩa  - tại sao chúng ta thậm chí quan tâm?

Chúng tôi quan tâm vì kiểm tra hồ sơ và phát lại chỉ là không đủ. Chúng tôi cần phải làm cho thử nghiệm API dễ dàng hơn thế! Để thực sự mở rộng quy mô áp dụng thử nghiệm API và giải quyết các vấn đề mà các nhóm thử nghiệm đang theo kịp sự phát triển, chúng tôi cần nhiều hơn nữa! Thay vì chỉ thu thập lưu lượng truy cập, ghi lại và phát lại, chúng tôi cần có khả năng tự động giúp người dùng xác định và sắp xếp hoạt động API đã chụp thành các thử nghiệm có ý nghĩa, có thể sử dụng lại và có thể mở rộng. Chúng tôi có thể hạ thấp thanh chấp nhận thử nghiệm API và thu hút thêm nhiều người thử nghiệm tham gia.

Tại sao chúng tôi thậm chí cần kiểm tra API

Đầu tiên, hãy để tôi chắc chắn rằng bạn hiểu điều này quan trọng như thế nào.

Trong lịch sử, các tổ chức đã dựa vào thử nghiệm giao diện người dùng như là thực tiễn thử nghiệm chính bởi vì nó dễ dàng và trực quan để xác định và thực hiện và dễ dàng tự động hóa, ít nhất là ban đầu. Có một rào cản thấp để vào, và nó có thể mở rộng ra một nhóm lớn những người thử nghiệm.

Thách thức với sự phụ thuộc độc quyền này vào kiểm tra thủ công và giao diện người dùng là các chi phí ẩn. Bất cứ ai từng làm việc với Selenium đều biết rằng mọi thứ trở nên khó khăn khi UI thay đổi và bạn cần cập nhật các tập lệnh của mình. Trên thực tế, chúng tôi đã phát hiện ra rằng có tới 80% thời gian thử nghiệm được sử dụng để thực hiện các thử nghiệm UI thủ công hoặc sửa chữa các thử nghiệm UI tự động bị hỏng do thay đổi ứng dụng. Trên hết, kiểm tra giao diện người dùng không thể được thực thi cho đến khi có sẵn toàn bộ ứng dụng - và nếu phát hiện ra lỗi, sẽ có chi phí làm lại cao vì ứng dụng cần được xé, sửa và lắp lại trước khi kiểm tra có thể tiếp tục. Thông thường, phát hiện lỗi chu kỳ muộn này dẫn đến sự chậm trễ đáng kể trong việc phát hành và làm tăng tổng chi phí thử nghiệm.

Bổ sung kiểm tra giao diện người dùng với kiểm tra API

Để bổ sung và giảm sự phụ thuộc vào kiểm tra giao diện người dùng, các tổ chức có thể tận dụng thử nghiệm API, giải quyết nhiều vấn đề này bằng cách cung cấp các kịch bản kết thúc, có thể duy trì có thể được sử dụng lại không chỉ là kiểm tra chức năng. Các thử nghiệm API tạo ra một kênh giao tiếp tốt giữa các nhà phát triển và người thử nghiệm vì chúng giúp ghi lại hành vi của API theo các thuật ngữ thực tế, cụ thể. Việc chuyển chẩn đoán và sửa lỗi và các lỗ hổng bảo mật được tìm thấy bằng thử nghiệm API sang trước đó trong vòng đời có một khoản tiền lớn trong việc đạt được các mục tiêu chất lượng và tiến độ.

Tuy nhiên, các tổ chức đã đấu tranh để áp dụng thử nghiệm API vì ngay cả các công cụ kiểm tra API tuyệt vời cũng chưa từng cung cấp đủ trợ giúp. Để sử dụng các công cụ kiểm tra API một cách hiệu quả, người kiểm tra cần có kiến ​​thức sâu sắc về các API mà họ đang cố kiểm tra, bao gồm cả cách sử dụng API trong ứng dụng, đòi hỏi phải có kỹ năng và chuyên môn chuyên môn. Và các nhà phát triển không có thời gian để kiểm tra chúng, vì vậy thực tế cực kỳ có lợi này trở nên tránh được - không thể áp dụng cho những người thử nghiệm và không mong muốn cho các nhà phát triển.

Tại sao xây dựng kiểm tra API từ lưu lượng truy cập ("Kiểm tra bản ghi và phát lại")

Để giải quyết thách thức này, các công ty tự động hóa thử nghiệm chức năng nhiều năm trước đã nảy ra ý tưởng ghi lại các hoạt động API và tạo các thử nghiệm API từ lưu lượng truy cập. Điều này rất hữu ích vì chỉ cần ghi lại các giao dịch giữa ứng dụng và hệ thống back-end, bạn có thể nắm bắt các hoạt động của API, bao gồm cả cách các lệnh gọi API cấu trúc lại dữ liệu được truyền.

Với công nghệ này, bạn đã có thể ghi lại các kịch bản đang diễn ra trong các hệ thống back-end. Điều này giúp người dùng không có kỹ thuật có thể hiểu API nào được gọi và hiểu cơ bản về dữ liệu đang được sử dụng khi mỗi API được gọi; tuy nhiên, thu thập lưu lượng truy cập đơn giản không giúp họ nâng cao kỹ năng hoặc học cách duy trì hoặc mở rộng các bài kiểm tra của họ. Nó không thể dạy cho họ các kỹ năng kỹ thuật cần thiết để xây dựng các thử nghiệm khác nhau với tất cả các định dạng và giao thức thông báo khác nhau được sử dụng bởi các API và nó không cung cấp đủ trợ giúp để cho phép người dùng không có kỹ thuật tiếp cận thực tiễn. Đó là một con đường dài giữa bản ghi lưu lượng truy cập và kịch bản kiểm tra API đầy đủ chức năng.

Tại sao ghi và phát lại không đủ

Đó là nơi chúng tôi bắt đầu nghĩ về bước tiếp theo trong việc hạ thấp các rào cản trong việc áp dụng thử nghiệm API. Chúng tôi phải suy nghĩ. Chỉ cần ghi lại lưu lượng truy cập mạng giữa giao diện người dùng và ứng dụng đích của người kiểm tra là không đủ để giúp tự động hóa thử nghiệm API đến điểm mà tính hữu dụng của nó được nhận ra. Nó có lẽ tương tự như một bản ghi âm MP3. Bạn có thể phát lại để nghe bài hát, nhưng nó không chứa bất kỳ thông tin nào về cách bài hát được tạo ra hoặc những nhạc cụ nào được sử dụng. Bài hát không thể được sửa đổi hoặc mở rộng.

Xem xét các vấn đề sau với bản ghi đơn giản và kiểm tra lại:

Nếu UI của tôi thay đổi thì sao?

Các UI luôn thay đổi liên tục trong quá trình phát triển và việc duy trì tự động kiểm tra dựa trên UI là tốn thời gian. Các giao diện người dùng chỉ đưa ra một đại diện nhất định, có thể có giới hạn về logic nghiệp vụ cơ bản của ứng dụng và dựa vào hồ sơ và phát lại là cả hai giới hạn và dễ bị phá vỡ từ những thay đổi thường xuyên.

Giao thông đúng là gì?

Kiểm tra ứng dụng ở cấp hệ thống từ UI sẽ tạo ra nhiều lưu lượng mạng. Ngay cả đối với mắt được đào tạo, thật khó để giải mã lưu lượng truy cập nào là một phần của kịch bản thử nghiệm thực tế xảy ra ở cấp độ UI. Dựa vào sự giải thích của con người về lưu lượng mạng vừa tốn thời gian vừa dễ bị lỗi. Hơn nữa, nó thường không phải là người kiểm tra kỹ năng, vì vậy họ phải nhờ đến các nhà phát triển để giúp đỡ.

Làm cách nào để kết nối các bước kiểm tra này vào kịch bản?

Tạo các kịch bản thử nghiệm từ các bản ghi lưu lượng truy cập cơ bản là khó khăn. Nếu cần nhiều thử nghiệm để tạo kịch bản, độ khó này sẽ nhân lên. Phát lại bản ghi lưu lượng truy cập thay cho kịch bản thường khó khăn vì nó phụ thuộc vào các điều kiện tiên quyết chính xác cho thử nghiệm ban đầu. Hơn nữa, ví dụ, không thể phát lại cùng một bài kiểm tra trong sự lặp lại, điều này rất quan trọng để tạo ra các bài kiểm tra hiệu suất hoặc liên quan đến bảo mật.

Làm thế nào tôi có thể nắm bắt và sử dụng lại kiến ​​thức?

Một bản ghi lưu lượng truy cập chỉ đơn giản là tổng của tất cả các hoạt động mạng trong một phiên kiểm tra. Không có sự hiểu biết cố hữu về thông điệp cơ bản truyền qua cũng như mối quan hệ với các dịch vụ API. Không có điều này, không thể mở rộng các bản ghi này cho các mục đích khác hoặc thậm chí thực hiện các thay đổi để thích ứng với các yêu cầu mới. Chúng thường bị đóng băng trong thời gian và chỉ hữu ích trong khoảng thời gian chúng được ghi lại.

Hãy trở lại với trí tuệ nhân tạo

Đây là lúc trí tuệ nhân tạo phát huy tác dụng để việc ghi lưu lượng truy cập không chỉ diễn ra mà còn được mở rộng thành giá trị thực, có thể thực hiện được cho người dùng. Đây là lý do tại sao chúng tôi đã phát triển Trình tạo thử nghiệm API thông minh , vì vậy chúng tôi có thể tạo một nơi để những người thử nghiệm API mới bắt đầu thử nghiệm API mà không cần viết một dòng mã. Vì vậy, người dùng có thể nhanh chóng bắt đầu xây dựng các kịch bản thử nghiệm đầy đủ, có ý nghĩa và thậm chí mở rộng các thử nghiệm API đó thành các thử nghiệm bảo mật và hiệu suất, tận dụng giao diện đơn giản, trực quan của Parasoft SOAtest .

Làm thế nào nó hoạt động?

Khi bạn đang kiểm tra giao diện người dùng của mình, Trình tạo kiểm tra API thông minh sẽ giám sát các lệnh gọi API cơ bản được thực hiện cho ứng dụng của bạn, giống như trình thu thập lưu lượng truy cập, sau đó sử dụng trí thông minh nhân tạo để khám phá các mẫu và hiểu mối quan hệ giữa các lệnh gọi API đó. Sau đó, nó có thể tạo các kịch bản kiểm tra API tự động thực hiện các hành động tương tự như kiểm tra giao diện người dùng của bạn nhưng hoàn toàn tự động và có thể dễ dàng mở rộng.

Về cơ bản, điều này:

Tại sao Ghi và Phát lại không đủ để kiểm tra API tự động

Nhưng tại sao điều đó lại quan trọng? Dưới đây là một số lợi ích mà phương pháp này cung cấp:

  • Giảm thời gian xác định đúng cách để xây dựng các kiểm tra API bằng cách tự động chuyển đổi các hành động bạn thực hiện trong trình duyệt thành các kiểm tra API tự động mô hình hóa các hành động tương tự bạn đã thực hiện trong Giao diện người dùng (theo đúng thứ tự).
  • Giúp dễ dàng xây dựng các thử nghiệm API toàn diện, có ý nghĩa bằng cách tự động tạo các kịch bản thử nghiệm đầy đủ dựa trên mối quan hệ giữa các lệnh gọi API khác nhau. (Không có điều này, người dùng phải dành thời gian để điều tra các trường hợp thử nghiệm, tìm kiếm các mẫu và xây dựng các mối quan hệ theo cách thủ công để tạo thành từng kịch bản thử nghiệm.)
  • Tự động thêm các xác nhận và xác nhận để đảm bảo API của bạn hoạt động như dự định để bạn có thể thực hiện ngay cả loại logic xác nhận phức tạp nhất mà không phải viết bất kỳ mã nào (hoặc có nguy cơ xây dựng sai).
  • Giảm thời gian duy trì các bài kiểm tra. Vì không có kịch bản, người dùng không phải dành thời gian viết lại mã cho các trường hợp thử nghiệm mỗi khi dịch vụ thay đổi.
  • Giúp các nhóm phát triển và kiểm tra cộng tác với một tạo phẩm duy nhất có thể dễ dàng chia sẻ và hiểu bởi cả hai nhóm (và tốt hơn trong việc chẩn đoán nguyên nhân gốc của lỗi so với kiểm tra UI).
  • Đặt nền tảng cho chiến lược thử nghiệm API có thể mở rộng bằng cách giúp người dùng mở rộng thử nghiệm, logic luồng thử nghiệm và giải pháp dữ liệu để hoàn thành phạm vi bảo hiểm thử nghiệm API đầy đủ cần thiết để xác thực đầy đủ các ứng dụng trong thời gian ngắn.

Tóm lại, công cụ vừa tự động tạo các thử nghiệm dựa trên diễn giải có ý nghĩa về hoạt động API đã nắm bắt và hỗ trợ mở rộng và bảo trì dễ dàng các thử nghiệm này để giá trị của chúng được nhân lên trong suốt vòng đời của phần mềm.

Hãy tiến thêm một bước

Tất cả điều này đều tốt theo đúng nghĩa của nó, nhưng phần tôi cảm thấy phấn khích hơn nữa là phần mà Trình tạo kiểm tra API thông minh giúp người dùng hiểu mối quan hệ giữa các hành động UI và các lệnh gọi API, giúp người kiểm tra dễ dàng hơn " nâng cao kỹ năng "và áp dụng thực hành kiểm tra API toàn diện. Vì thử nghiệm API có thể hoàn toàn tự động và dễ dàng chia tỷ lệ, các nhóm có thể hạ thấp tổng chi phí chất lượng trong khi tránh các bản phát hành bị trì hoãn.

Hãy phá vỡ nó một chút. Bởi vì Trình tạo thử nghiệm API thông minh đảm nhận công việc nặng nhọc, mang đến cho người thử nghiệm một nơi dễ dàng, không có kịch bản để bắt đầu xây dựng các thử nghiệm API, nó làm giảm điểm đầu vào kỹ thuật để thử nghiệm API, đưa người mới bắt đầu vào thế giới thử nghiệm API và vào Parasoft SOAtest hệ sinh thái, nơi người dùng được hưởng lợi từ các công cụ trực quan mạnh mẽ, dễ sử dụng và sử dụng.

Đó là lý do tại sao tôi phấn khích

Ôi, những hàm ý! Thu thập lưu lượng truy cập của hoạt động API trong quá trình kiểm tra hệ thống và giao diện người dùng là không đủ để tự động hóa kiểm tra API, nhưng đó là tất cả các ngành công nghiệp đã có cho đến bây giờ. Sự phụ thuộc vào các điều kiện tiên quyết làm cho các bản ghi này ít được sử dụng lại và gần như không thể mở rộng cho các mục đích khác. Không đề cập đến những khó khăn trong việc tạo ra các kịch bản thử nghiệm có ý nghĩa từ lưu lượng truy cập phức tạp, điều mà hầu hết những người thử nghiệm không có kỹ năng.

Nhưng điều đó không còn quan trọng nữa! Giờ đây, chúng ta đã có Trình tạo thử nghiệm API thông minh Parasoft SOAtest, người dùng có thể tận dụng trí thông minh nhân tạo để nâng vật nặng. Những người thử nghiệm API mới bắt đầu có thể sử dụng nó để bắt đầu và tìm hiểu cách hoạt động của thử nghiệm API và những người thử nghiệm API có kinh nghiệm có thể tận dụng nó hiệu quả hơn nhiều (đó là một trong những cách chính chúng ta sử dụng bây giờ, tại Parasoft). Vào cuối ngày, các tổ chức có thể hưởng lợi từ việc tiết kiệm thời gian và tiền bạc bằng cách xây dựng các thử nghiệm có ý nghĩa, có thể mở rộng và có thể tái sử dụng bằng cách tận dụng một máy. Đó năm 2018, phải không?

3 hữu ích 0 bình luận 4.8k xem chia sẻ

Có thể bạn quan tâm

loading