QualityForwardはクラウドベースのテスト管理サービスです。Web APIを提供しています。そのWeb APIを使いやすくするため、Node.jsライブラリも開発中です。
今回はそのNode.jsライブラリを使って、一日の作業件数を集計してみます。
準備
まずはライブラリを読み込みます。APIキーは.envファイルに書き出しています。
import*asdotenvfrom'dotenv';dotenv.config();import{QualityForward}from'qualityforward-node';
必要な変数の準備
まず今日の作業分を集計するので、必要な変数と当てはまるテストケースを格納する変数を用意します。
(async()=>{consttoDay=newDate;letresult=[];// 後の処理もこの中に記述})();
QualityForwardオブジェクトの初期化をします。
constclient=newQualityForward(process.env.API_KEY);
テストフェーズの取得
最初にテストフェーズをすべて取得します。
consttestPhases=awaitclient.getTestPhases();
次にすべてのテストフェーズについて、テストケースを取得します。
for(consttestPhaseoftestPhases){for(consttestSuiteAssignmentoftestPhase.test_suite_assignments){consttestCycles=awaittestSuiteAssignment.getTestCycles();// : 次の処理はこの中に記述}}
テスト結果の取得
すべてのテストサイクルについて、テスト結果を取得します。テスト結果の中で本日作業分をフィルタリングします。
for(consttestCycleoftestCycles){consttestResults=awaittestCycle.getTestResults();constary=testResults.filter(t=>{if(t.executed_at.getFullYear()===toDay.getFullYear()&&t.executed_at.getMonth()===toDay.getMonth()&&t.executed_at.getDate()===toDay.getDate()){returnt;}});Array.prototype.push.apply(result,ary);}
テスト結果ごとにグルーピングする
TestResultが取得できたら、例えばテスト結果ごとにグルーピングしてみます。
constgroup={};for(lettestResultofresult){if(!group[testResult.result])group[testResult.result]=0;group[testResult.result]++;}console.log(`本日の作業結果`);for(letresultingroup){console.log(` ${result} : ${group[result]}件`);}
そうすると以下のような出力が得られます。
$ npx ts-node test.ts
本日の作業結果
pass : 4件
fail : 1件
skip : 1件
cut : 1件
block : 1件
qa : 1件
作業件数を蓄積していくことで、品質の可視化にも繋がるでしょう。
まとめ
QualityForwardを使えばExcelなどで行っていた煩雑なテスト管理がクラウドベースでできるようになります。ライブラリを使うことで既存システムとの連携も用意です。ぜひお試しください!