QualityForwardはクラウドベースのテスト管理サービスです。Web APIを提供しています。そのWeb APIを使いやすくするため、Google Apps Script用ライブラリを開発中です。
今回はそのGoogle Apps Scriptライブラリを使って、一日の作業件数を集計してみます。
インストール
Google Apps ScriptでのプロジェクトIDは 1ppRPLjuClG0MhtnXYbskdZ8uYGbyCFHv7MFhr0GYa-3IAKEh8B7lmTMb
になります。これを取り込んでください。以下はデフォルトの QualityForward
として取り込んだ場合の書き方です。
初期化
初期化はAPIキーを適用して行います。
var apiKey = 'aaa';
var qf = new QualityForward.Client(apiKey);
テストフェーズの取得
最初にテストフェーズをすべて取得します。
var testPhases = qf.getTestPhases();
次にすべてのテストフェーズについて、テストサイクルを取得します。
for (var i in testPhases) {
for (var j in testPhases[i].test_suite_assignments) {
var testSuiteAssignment = testPhases[i].test_suite_assignments[j];
var testCycles = testSuiteAssignment.getTestCycles();
// : 次の処理はこの中に記述
}
}
テスト結果の取得
すべてのテストサイクルについて、テスト結果を取得します。テスト結果の中で本日作業分をフィルタリングします。
for (var k in testCycles) {
var testCycle = testCycles[k];
var results = testCycle.getTestResults();
for (var l in results) {
var testResult = results[l];
var d = testResult.executed_at;
if (d.getFullYear() === today.getFullYear() &&
d.getMonth() === today.getMonth() &&
d.getDate() === today.getDate()) {
ary.push(testResult);
}
}
}
テスト結果ごとにグルーピングする
TestResultが取得できたら、例えばテスト結果ごとにグルーピングしてみます。
var group = {};
for (var key in ary) {
var testResult = ary[key];
if (!group[testResult.result]) group[testResult.result] = 0;
group[testResult.result]++;
}
Logger.log('本日の作業結果');
for (var key in group) {
Logger.log(' ' + key + ' : ' + group[key] + '件');
}
そうすると以下のような出力が得られます。この結果をGoogleスプレッドシートに蓄積することももちろん可能です。
[19-11-26 15:39:14:587 JST] 本日の作業結果
[19-11-26 15:39:14:590 JST] pass : 4件
[19-11-26 15:39:14:591 JST] fail : 1件
[19-11-26 15:39:14:592 JST] skip : 1件
[19-11-26 15:39:14:592 JST] cut : 1件
[19-11-26 15:39:14:593 JST] block : 1件
[19-11-26 15:39:14:593 JST] qa : 1件
作業件数を蓄積していくことで、品質の可視化にも繋がるでしょう。
まとめ
QualityForwardを使えばExcelなどで行っていた煩雑なテスト管理がクラウドベースでできるようになります。ライブラリを使うことで既存システムとの連携も用意です。ぜひお試しください!