• RIKO

RakAPIt開発チームリーダーにインタビューしました!

最終更新: 7月13日

Vietnamese follows the Japanese


皆さんこんにちは

JPQの白濱です。


この度、APIテスト自動化サービスのRakAPItベータ版がリリースされました。

こちらのサービス2020年9月まで無料提供しておりますので、ぜひお試しください。

https://rakapit.dockyard.biz/

今回は、RakAPIt開発チームリーダーのマイ君のインタビューをお届けいたします。


                   *

                   *


(白濱)まず、RakAPItとはどのようなサービスですか?


(マイ) RakAPItは、API向けのテストサービスです。

他にもAPI向けのツールはあると思いますが、RakAPItの特徴としては、WEB上でテストケースを自動生成、作成されたケースの自動実行までを行い、テストケースの管理がWEB上でできるということです。

APIの仕様を入力するだけで、自動的にテストケースが生成されるので、APIテストの網羅率も上がり、手間をかけずにテストができます。

詳しい使い方については、公式ホームページにチュートリアルがあるので、ぜひご覧になってみてください!



(白濱)ありがとうございます。ちなみにこのRakAPItという名前はどのように考えたんですか?


(マイ)これはチームメンバーで考えました。「楽(らく)」に「楽しく」APIテストができるようにという意味でRakAPItと名づけました。”ラカピット”と読みます!



(白濱)覚えやすいですね!今回このサービスはどのような経緯で開発することになったのでしょうか?


(マイ)RakAPItは、APIテストをラクにするために作ったツールです。

過去にAPIの開発をしたときがありました。テスト分析やテスト設計をすること自体は面白いのですが、実施をするのはとても時間がかかり大変だった経験があります。

手間がかかりその作業にスキルが伴わない部分はコンピュータにやってもらい、人間はよりクリエイティブなことに専念できるようにしたいということでこのサービスの企画をスタートしました。

弊社はテストの専門会社なので、時々APIテストの依頼もあります。APIテストは、データパターンを組み合わせ、更に項目書を起こして、それをコードに落としてという過程があり、とても手間がかかります

また、APIテストは特に繰り返し作業となる部分が多くちゃんとテストをしようと思ったらとても工数がかかってしまいます。そこを自動化し、さらに管理までできることで他の人にも共有できるようになればいいと思い、すべて一括でできるツールとしました。


(白濱)すべてWEB上で一括管理できると社内で統一でき、メンバーが変わっても簡単に共有ができますね。RakAPItの使い方のコツはありますか?


(マイ)最近はAPIを開発するときにSwaggerでAPI定義を書くことが多いかと思います。

RakAPItはSwagger対応しているので、その定義をそのまま入力してもらうだけで自動実行までできます。

また、生成されたテストケースを自動実行する際は、オールペア法と全組み合わせ法が選択できるので、できれば全組み合わせで網羅率をあげることを推奨しますが、ケースの数によってはオールペア法を使って必要な部分を絞って効率よく実行してもらえればと思います。


※オールペア法:

組み合わせテストで、因子の全てのペアにおいて、全ての水準の組み合わせを1回以上入力するテストのことを指します。「全組み合わせ」ではなく、「ペアに限定した組み合わせ」をテストします。

(出典:https://www.atmarkit.co.jp/ait/articles/1506/11/news013_2.html )


データパターンを入力するときには、境界値分析と同地分割の技法を使ってもらえると良いと思います。今後はデータパターンとアサーションも自動入力されるように追加開発していく予定です。





(白濱)今後のテスト自動化についてどう思いますか?


(マイ)AIを駆使したテストの自動化には興味がありますね。

RakAPItもまだ追加開発をしている最中ですが、データパターンやアサーションの自動入力はAIを入れてやっていけたらと思っています。現時点ではSwaggerファイルに沿ってやっているので、Swaggerファイルで記載されたこと以外は抽出できません。これがAIを入れることによって暗黙の仕様など、記載されないことも予測できるかもしれません。また、Swaggerファイルの記載漏れも指摘できるようになるかもしれないので、今後も引き続き研究していきたいですね。



ありがとうございました。

ぜひAPIテストを担当されている開発エンジニアの皆様に使っていただきたいですね。

今後の追加開発の参考のためにもぜひ一度お試し頂いてフィードバックがありましたらご連絡頂けるとありがたいです。


Xin chào. Tôi là Shirahama, công ty TNHH Japan Quality.


Công ty chúng tôi mới đây vừa phát hành RakAPIt bản beta, một dịch vụ tự động hóa dành cho API testing.

Dịch vụ này chúng tôi sẽ chia sẻ miễn phí cho tới tháng 9 năm 2020, rất mong quý khách hàng dành thời gian trải nghiệm.

https://rakapit.dockyard.biz/


Lần này chúng tôi mang đến bài phỏng vấn với bạn Mai Cuong, trưởng nhóm phát triển RakAPIt.


Shirahama: Đầu tiên bạn có thể cho biết RakAPIt là một dịch vụ như thế nào không?


Mai: RakAPIt là một dịch vụ test tự động dành cho API.

Có khá nhiều công cụ Test dành cho API, nhưng đặc trưng của RakAPIt là có thể tạo tự động, thực hiện và quản lý Test Case trên nền tảng Web. Chỉ cần nhập thông số kĩ thuật của API thì các testcase sẽ được tạo ra một cách tự động, làm tăng tỉ lệ coverage API Testing và có thể thực hiện Test một cách dễ dàng hơn.

Chi tiết về hướng dẫn sử dụng chúng tôi có đăng tải trên trang web chính thức của RakAPIt, bạn có thể tham khảo thêm.


Shirahama: Cảm ơn câu trả lời của bạn. Nhân đây bạn có thể chia sẻ thêm về cái tên RakAPIt được không?


Mai: Đây là cái tên mà team chúng tôi tự nghĩ ra. Chúng tôi lấy tên RakAPIt từ “Raku API Testing”, với ý nghĩa có thể test API một cách dễ dàng, vui vẻ.

Chúng tôi đọc nó là “Ra-ka-pít” (cười).

※Từ hán 楽 trong tiếng Nhật đọc là ra-ku, nghĩa là dễ dàng, nhàn nhã. Từ này cũng được dùng trong từ “楽しい”, nghĩa là vui vẻ.


Shirahama: Thật là dễ nhớ. Bạn có thể cho biết cơ duyên nào khiến bạn quyết định phát triển dịch vụ này không?


Mai: RakAPIt là một công cụ giúp cho việc test API trở nên dễ dàng hơn.

Trước đây tôi cũng đã từng phát triển API. Bản thân việc phân tích và thiết kế test khá là thú vị, nhưng việc thực hiện lại rất vất vả và tốn nhiều thời gian.

Với mục đích để máy tính làm những phần công việc tốn thời gian và đòi hỏi ít kỹ năng, còn con người sẽ tập trung vào những thứ sáng tạo hơn, chúng tôi đã bắt đầu kế hoạch tạo ra dịch vụ này.

Công ty chúng tôi là một công ty chuyên về kiểm thử nên đôi khi cũng được yêu cầu test API. Khi Test API, cần phải kết hợp các dữ liệu để tạo nên các Test Case, rồi từ đó phải viết code cho các Test Case đó nên tốn rất nhiều thời gian. Trong đó có rất nhiều công việc cần lặp đi lặp lại, nên nếu kiểm tra càng kỹ thì càng tốn nhiều công sức.

Tôi nghĩ nếu tự động được hoá phần này, cộng với việc có thể quản lí Test Case hiệu quả thì sẽ có ích cho nhiều người khác nữa, nên đang cố gắng tạo ra một công cụ để mọi thứ trở nên dễ dàng hơn.


ShiraHama : Tôi nghĩ rằng đây là một dịch vụ được sử dụng chủ yếu bởi các kỹ sư phát triển phần mềm, vậy bạn có lời khuyên nào về cách sử dụng RakAPIt không ?


Mai:Gần đây, khi phát triển API, việc định nghĩa API bằng Swagger đang trở nên phổ biến.RakAPIt có tương thích với Swagger nên bạn chỉ cần nhập file Swagger thì mọi việc sẽ được thực hiện một cách tự động.

Ngoài ra, khi thực hiện các Test Case, RakAPIt cho phép chọn giữa phương thức All-pairs và phương thức tổ hợp toàn bộ. Chúng tôi khuyến khích chọn phương pháp tổ hợp toàn bộ để đảm bảo độ coverage, tuy nhiên tuỳ vào số lượng Test Case, chúng ta cũng có thể dùng phương thức All-pairs để lựa chọn các phần thật sự quan trọng để thực hiện Test một cách hiệu quả nhất.


* Phương pháp All pairs Testing:

Trong quá trình Test bằng cách tổ hợp, đây là cách nhóm cặp các thông số, sao cho mỗi cặp của các thông số phải được xuất hiện ít nhất một lần.

Nghĩa là kiểm thử "tổ hợp theo cặp cụ thể" thay vì kiểm thử "tổ hợp toàn bộ".

(Nguồn: https://www.atmarkit.co.jp/ait/articles/1506/11/news013_2.html)


Mặt khác, khi nhập Data Pattern, chúng ta có thể sử dụng các kỹ thuật phân tích giá trị biên và phân vùng tương đương. Trong tương lai, chúng tôi dự định phát triển thêm chức năng tự động sinh ra các dữ liệu của Data Pattern và Assertion này.


ShiraHama : Trong tương lai, bạn nghĩ Test tự động sẽ như thế nào?


Mai:Chúng tôi cảm thấy hứng thú với việc dùng AI để tự động hoá Test.

RakAPIt vẫn đang trong quá trình phát triển, và chúng tôi muốn sử dụng trí tuệ nhân tạo AI để tự động sinh ra Data Pattern và Assertion. Hiện tại, việc sinh ra dữ liệu được thực hiện dựa trên file Swagger, nên nó không thể được trích xuất được những gì không được mô tả trong file Swagger.Có thể AI sẽ giúp dự đoán được cả những phần không được ghi trong file Swagger, như những quy định ngầm chẳng hạn. Ngoài ra, có thể AI sẽ chỉ ra được cả những thiếu sót trong file Swagger , nên chúng tôi vẫn đang tiếp tục tìm hiểu thêm về vấn đề này.


Cảm ơn bạn rất nhiều.

Hi vọng các bạn kỹ sư phát triển phần mềm, những người đang làm kiểm thử API sẽ sử dụng công cụ này.

Trong quá trình sử dụng, nếu các bạn có phản hồi gì xin vui lòng liên hệ với chúng tôi. Những ý kiến của bạn sẽ giúp ích rất nhiều cho quá trình phát triển sau này của dịch vụ.





Japan Quality Co.,Ltd​

■Da Nang  Office

16F, Da Nang Software Park, 02 Quang Trung, Thach Thang ward, Hai Chau district,

Da Nang City, VIET NAM

Tel:0236 3981 399

​■Ho Chi Minh  Desk

WeWork 23F, E. Town Central Building, No.11 Doan Van Bo street, Ward 12, District 4,

Ho Chi Minh City, VIET NAM

  • Facebook
  • Instagram

​■Japan Quality Co.,Ltd