0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

QualityForward APIを使って、日々のテスト結果を担当者ごとに集計する

Last updated at Posted at 2020-03-19

QualityForwardはクラウドベースのテスト管理サービスです。APIを公開しており、テスト管理に関するデータのCRUD操作ができるようになっています。SDKとしてはNode.js、Python、そしてGoogle Apps Scriptを作成中です。

Google Apps Script版SDKについてはデータの取得系は一通り実装されています。今回はSDKを使って担当者ごとのテスト結果集計を行ってみます。

QualityForward用Google Apps Script SDKを使う

Google Apps ScriptでのプロジェクトIDは 1ppRPLjuClG0MhtnXYbskdZ8uYGbyCFHv7MFhr0GYa-3IAKEh8B7lmTMb になります。これを取り込んでください。以下はデフォルトの QualityForward として取り込んだ場合の書き方です。

初期化

初期化はAPIキーを適用して行います。

var apiKey = 'aaa';
var qf = new QualityForward.Client(apiKey);

テスト結果の取得

まずはテスト結果をすべて取得します。これはループ処理が多いので注意してください。

  1. テストフェーズ
  2. テストスイートアサインメント
  3. テストサイクル
  4. テスト結果

の順番にドリルダウンしていきます。

var ary = [];
var today = new Date;
var testPhases = qf.getTestPhases();
for (var i in testPhases) {
  var test_suite_assignments = testPhases[i].get('test_suite_assignments');
  for (var j in test_suite_assignments) {
    var testSuiteAssignment = 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];
        ary.push(testResult);
      }
    }
  }
}

テスト結果の集計

後はテスト結果の入った配列(ary)を集計してきます。

var group = {};
for (var key in ary) {
  var testResult = ary[key];
  var name = testResult.user.name;
  var d = testResult.executed_at;
  var date = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
  if (!group[date]) {
    group[date] = {};
    group[date][name] = 0;
  }
  group[date][name] ++;
}

これを出力した結果は、例えば次のようになります。

Logger.log('担当者ごとの作業結果');
for (var date in group) {
  for (var name in group[date]) {
    Logger.log('  ' + date + ' : ' + name + "" + group[date][name] + '');
  }
}  

結果です。

[20-01-20 17:11:51:164 JST] 担当者ごとの作業結果
[20-01-20 17:11:51:166 JST]   2019-7-8 : 中津川篤司:43件
[20-01-20 17:11:51:166 JST]   2019-7-9 : 中津川篤司:7件
[20-01-20 17:11:51:167 JST]   2019-8-15 : 中津川篤司:25件
[20-01-20 17:11:51:164 JST]   2019-8-16 : 中津川篤司:3件
[20-01-20 17:11:51:165 JST]   2019-11-26 : 中津川篤司:9件
[20-01-20 17:11:51:165 JST]   2019-12-25 : 中津川篤司:13件

まとめ

この日付、担当者名、数字をGoogleスプレッドシートなどに保存しておくことで、チーム管理に利用することもできるでしょう。データを収集するまでが若干コードが長いですが、収集してしまえば集計は簡単でしょう。

QualityForward

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?