LoginSignup
0
0

More than 3 years have passed since last update.

QualityForward APIとNode.jsライブラリを使って一日の作業件数を集計する

Last updated at Posted at 2020-02-18

QualityForwardはクラウドベースのテスト管理サービスです。Web APIを提供しています。そのWeb APIを使いやすくするため、Node.jsライブラリも開発中です。

今回はそのNode.jsライブラリを使って、一日の作業件数を集計してみます。

準備

まずはライブラリを読み込みます。APIキーは.envファイルに書き出しています。

import * as dotenv from 'dotenv';
dotenv.config();

import { QualityForward} from 'qualityforward-node';

必要な変数の準備

まず今日の作業分を集計するので、必要な変数と当てはまるテストケースを格納する変数を用意します。

(async () => {
  const toDay = new Date;
  let result = [];
  // 後の処理もこの中に記述
})();

QualityForwardオブジェクトの初期化をします。

const client = new QualityForward(process.env.API_KEY);

テストフェーズの取得

最初にテストフェーズをすべて取得します。

const testPhases = await client.getTestPhases();

次にすべてのテストフェーズについて、テストケースを取得します。

for (const testPhase of testPhases) {
  for (const testSuiteAssignment of testPhase.test_suite_assignments) {
    const testCycles = await testSuiteAssignment.getTestCycles();
    // : 次の処理はこの中に記述
  }
}

テスト結果の取得

すべてのテストサイクルについて、テスト結果を取得します。テスト結果の中で本日作業分をフィルタリングします。

for (const testCycle of testCycles) {
  const testResults = await testCycle.getTestResults();
  const ary = testResults.filter(t => {
    if (t.executed_at.getFullYear() === toDay.getFullYear() &&
        t.executed_at.getMonth() === toDay.getMonth() &&
        t.executed_at.getDate() === toDay.getDate()) {
      return t;
    }
  });
  Array.prototype.push.apply(result, ary);
}

テスト結果ごとにグルーピングする

TestResultが取得できたら、例えばテスト結果ごとにグルーピングしてみます。

const group = {};
for (let testResult of result) {
  if (!group[testResult.result]) group[testResult.result] = 0;
  group[testResult.result]++;
}
console.log(`本日の作業結果`);
for (let result in group) {
  console.log(`  ${result} : ${group[result]}件`);
}

そうすると以下のような出力が得られます。

$ npx ts-node test.ts 
本日の作業結果
  pass : 4件
  fail : 1件
  skip : 1件
  cut : 1件
  block : 1件
  qa : 1件

作業件数を蓄積していくことで、品質の可視化にも繋がるでしょう。

まとめ

QualityForwardを使えばExcelなどで行っていた煩雑なテスト管理がクラウドベースでできるようになります。ライブラリを使うことで既存システムとの連携も用意です。ぜひお試しください!

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