---
title: テストツールでAIを使ってAPIを移植
tags: 
author: [青柳康平](https://docswell.com/user/aoyagikouhei)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/YJ6M62597V.jpg?width=480
description: テストツールでAIを使ってAPIを移植 by 青柳康平
published: October 27, 26
canonical: https://docswell.com/s/aoyagikouhei/Z9NQ8J-2026-10-27-201150
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/YJ6M62597V.jpg)

テストツールで AIを使って APIを
移植
ユニークビジョン株式会社 青柳康平


# Page. 2

![Page Image](https://bcdn.docswell.com/page/GJ5Z62YDE4.jpg)

目次
1
2
3
4
5
目的
方針
開発方針
結果
まとめ
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/9E2RM4YMJR.jpg)

目的
目的
方針
開発方針
結果
まとめ
古くからある APIで社内の標準的な技術要素とはずれている
Ruby+Rails
Rust + axum
このAPIはRuby+Railsで構築されている
今回はRust + axumという
フレームワークにした
社内ではRustかTypeScriptが現在の標準
直したいが、規模がそれなりに大きく、機能追加では無いので工数がかけにくい
121
約12,500行
約400例
約200例
エンドポイント
Railsのコード(app/以下)
リクエストスペック
モジュールスペック
既存のテスト
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/D7YDXMGP7M.jpg)

目的
目的
方針
開発方針
結果
まとめ
移植なので挙動は変えない
同じであることを、テストで確認したい
Ruby+Rails
PostgreSQLの
ストアードプロシージャは変更しない
＝
Rust + axum
外部システムや AWSの
呼び出しも同じ内容にする
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/VEN61WGME8.jpg)

方針
目的
方針
開発方針
結果
まとめ
AIを使って、人間の工数をなるべく使わず構築する
1
2
最初の土台は人間と伴走して
作る
人間の判断が必要なものを、あ
らかじめ調査してクリアーにす
る
人間の判断が必要なものがあったら、
それはスキップして次を開発する
3
残りのほとんどを自動実行で構
築する
たまに人間が確認して、判断する
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/Y79L5XWWJ3.jpg)

方針
目的
方針
開発方針
結果
まとめ
人間の時間を使わない品質保証を目指す
テストツールを作成して、
Railsでgreenだったもので確定し、
axumでもgreenにする
テストと移植を分けて、
移植ではテストを変更しないことを
機械的に確認する
独立したサブエージェントによる
レビューを実施する
テストツールで確認できないものは、
Rustの単体テストを実施する
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/G78XY2NRED.jpg)

開発方針
31本
作業書に分けて移植
目的
方針
開発方針
結果
まとめ
現行の Railsのコードやテストを参考に、リクエストを投
げてレスポンスを確認するテストツールを作成
(機能や、テストの土台などを
まとめている)
1
2
3
Railsがgreenになる
Rustに移植する
Rustがgreenになる
(ここでテストを確定 )
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/L7L842P2JR.jpg)

開発方針
目的
方針
開発方針
結果
まとめ
テストツールは独立して作成
Rails
テストツール
Rustで実装。
移植先とも Railsとも別
Rust（移植先）
リクエストスペック
Railsのコード
新規
約650件
DBの結果
のテストケース
外部システムの
呼び出し
AWSの
呼び出し方法
が正しいか確認
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4EM6K8497W.jpg)

結果
目的
方針
開発方針
結果
まとめ
開発時間
100時間
土台作り8時間
4件
139件
自動実行以降で人間の判
断が必要だったもの
事前に決めたもの
自動実行92時間
移植したもの
121
649件
911件
エンドポイント
＋ rakeタスク 1本
テストツールの APIテスト
Rustの単体テスト
既存のバグも発見
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/PERPX5W979.jpg)

まとめ
目的
人間があまりかかわらずに、移植することはできた
方針
開発方針
結果
まとめ
確認できていないこと
実際の画面操作
約650件のテストケースで Railsとaxumが同じ動作
であることが確認できた
人による動作確認
今後はE2Eなどを考慮した、より高い品質保証ができる方法を検討したい
10


