暗黙的になりがちな開発仕様パターンを活用してモデルベーステストを改善する
ソフトウェア品質シンポジウム2022(2022年)
ソフトウェア開発プロジェクトにおいて開発仕様に記載されない暗黙的な仕様が存在することがあり、テストを設計する際、暗黙的な開発仕様もテストケースに盛り込むことが重要となる。しかし、 暗黙的な仕様を捉えるには経験やスキルが必要になるため容易ではない。
この課題に対して、開発仕様にて暗黙的になりがちな仕様に共通するパターンを蓄積し、再利用する取り組みを開始した。
今回WebAPIテストにてモデルベースドテスト(MBT)を適用したプロジェクトを対象に取り組みを行った。MBTはテスト設計仕様として表したMBTモデルから直接テストケースを自動生成する技術であり、近年注目が高まっている。WebAPIテストのMBTにおけるインプットとしてSwaggerにより形式的に表現されたWebAPI仕様を前提とした。
まず、あるプロジェクトにてSwaggerで表現されたWebAPI仕様を元にして、過去にテスト設計者が作成したテストケースを分析し、仕様書には無くテストケースにはあった仕様を、暗黙的な仕様と捉えて抽出した。その中で共通性のあるものから、暗黙的になりがちな仕様に共通するパターンを抽出して蓄積した。次に、異なるプロジェクトのWebAPI仕様に対して、これらのパターンを使いMBTモデルを開発することを試した。
その結果、Swaggerで表現されたWebAPI仕様で暗黙的になっていた仕様を含めたMBTモデルを開発できたことが確認できた。
この課題に対して、開発仕様にて暗黙的になりがちな仕様に共通するパターンを蓄積し、再利用する取り組みを開始した。
今回WebAPIテストにてモデルベースドテスト(MBT)を適用したプロジェクトを対象に取り組みを行った。MBTはテスト設計仕様として表したMBTモデルから直接テストケースを自動生成する技術であり、近年注目が高まっている。WebAPIテストのMBTにおけるインプットとしてSwaggerにより形式的に表現されたWebAPI仕様を前提とした。
まず、あるプロジェクトにてSwaggerで表現されたWebAPI仕様を元にして、過去にテスト設計者が作成したテストケースを分析し、仕様書には無くテストケースにはあった仕様を、暗黙的な仕様と捉えて抽出した。その中で共通性のあるものから、暗黙的になりがちな仕様に共通するパターンを抽出して蓄積した。次に、異なるプロジェクトのWebAPI仕様に対して、これらのパターンを使いMBTモデルを開発することを試した。
その結果、Swaggerで表現されたWebAPI仕様で暗黙的になっていた仕様を含めたMBTモデルを開発できたことが確認できた。