QualityForwardはテスト管理をクラウドで提供しています。そして、多くのクラウドサービスと同様にAPIを提供しています。現在、下記のデータを取得または新規作成、更新、削除できます。
- プロジェクト
- テストケース
- テストサイクル
- テストフェーズ
- テスト結果
- テストスイート
- テストスイートバージョン
- ユーザ
現在、非公式ながらNode.js用ライブラリ qualityforward-node
を作っていますが、その使い方の一例として、テストスイートの更新履歴を管理してみます。
コード例
コードは下記のようになります。テストスイートを取得し、それをCSV化しています。
import*asdotenvfrom'dotenv';const{parse}=require('json2csv');dotenv.config();import{QualityForward}from'qualityforward-node';(async()=>{constclient=newQualityForward(process.env.API_KEY);consttestSuites=awaitclient.getTestSuites();constcsv=parse(testSuites.map(s=>s.toJSON()),{});console.log(csv);})();
後はこれを定期的に実行するだけです。出力先は適当なGitリポジトリとしています。
$ npx ts-node test.ts > /home/user/repo/res.csv
cronなどで定期実行していれば、自動的に更新されるでしょう。データ取得時には自動でコミットも追加しておく方が良いでしょう。
差分を見る
CSVの差分を見る場合は、次のように行うと分かりやすいです。
$ git diff --word-diff-regex="[^,]+" res.csv
そうすると、異なるセルだけが色分けされて表示されます(via csvを見やすくgit diff (word-diff-regexオプション) - Qiita)。もちろんCSV用の差分ビューワーを使うのも良いでしょう。
まとめ
データが誰かによって変更された場合にも、その差分を取っておけば安心です。差分によって設定を戻すこともできますし、いつから変わったのか捕捉も簡単です。APIを使って、適切な運用が行えるようになるでしょう。