makotan _at_ gmail dot com

CTK 開発をぼんやり想像してみた

Amazonが新規サービスを作る際にプレスリリースを先に作るという話とか
RestfulAPIがかなり多用されてきてる感じとか
マイクロサービスはサービス間もAPIベースでとか
そういうのをぼんやり見てて・・・ふと思いついた


APIを作成する前にCompatibility Test Kit(以後CTK)を別プロジェクト&仕様として作る
もちろん、APIの仕様を詳細化するに従ってCTKは追加されていく
APIバージョンアップをする際には前のバージョンのCTKが全て通る=置き換え可能、前のバージョンのCTKの一部を改変する=互換性を失ったバージョンアップとなる
CTKの範囲外を実装した場合はCTKが通っても互換性を失う可能性がある(自己責任)ので、事前にCTK追加の手続きを取る
UnitTestとの違いはあくまでAPIを外から叩くテスト
エラー時の挙動もテストしたい場合はFault injectionをサポートする(運用時には停止する)


なんてことを考えたんだけど、SIっぽい開発でそこまで出来ないよなぁ〜
社内で作るAPIを長期で保守運用するなら良いかもしれないと思った


ふと思い出したけど、Buriの開発って内部APIまで含めてこんな感じだったw
別プロジェクトじゃ無かったけどね