QualityForwardはテスト管理をクラウドで提供しています。そして、多くのクラウドサービスと同様にAPIを提供しています。現在、下記のデータを取得または新規作成、更新、削除できます。
- プロジェクト
- テストケース
- テストサイクル
- テストフェーズ
- テスト結果
- テストスイート
- テストスイートバージョン
- ユーザ
これらのデータを扱うためのNode.jsライブラリを開発しています。1.0.3での対応範囲を紹介します。
使い方
npmパッケージとして公開していますので、package.jsonで指定して取り込んでください。APIキーはプロジェクトの設定で取得できます。
import { QualityForward } from 'qualityforward-node';
const API_KEY = '0aa...340';
const client = new QualityForward(API_KEY);
各データの取得が可能に
上記で示した各データがオブジェクトになりました。
- プロジェクト / Project
- テストケース / TestCase
- テストサイクル / TestCycle
- テストフェーズ / TestPhase
- テスト結果 / TestResult
- テストスイート / TestSuite
- テストスイートバージョン / TestSuiteVersion
- ユーザ / User
テストスイートの取得
例えばテストスイートの取得は次のように行います。
const testSuites: TestSuite[] = await client.getTestSuites();
テストケースバージョンの取得
テストケースバージョンはテストケースに紐付くので、次のように行います。
for (let key in testSuites) {
const testSuite = testSuites[key];
const versions = await testSuite.getVersions();
}
テストケースの取得
さらにテストケースはテストケースバージョンから取得できます。
for (let k in versions) {
const version = versions[k];
const testCases = await version.getTestCases();
if (testCases.length === 0) continue;
}
このように階層的な構造になっているので注意してください。
テスト結果の取得
テスト結果を取得する場合も階層的に取得する必要があります。テストフレーズ -> テストスイートアサインメント -> テストサイクル -> テスト結果といった具合です。
const testPhases: TestPhase[] = await client.getTestPhases();
for (let testPhase of testPhases) {
if (testPhase.test_suite_assignments.length === 0) continue;
const testSuiteAssignment = testPhase.test_suite_assignments[0];
const testCycles = await testSuiteAssignment.getTestCycles();
if (testCycles.length === 0) continue;
const testResults = await testCycles[0].getTestResults();
// console.log(testResults[0])
}
まとめ
1.0.3で、QualityForwardのデータについて一通り取得できるようになりました。今後、データの作成であったり、集計などに便利なメソッドを追加していきます。コードはgoofmint/qualityforward-nodeで公開しており、MIT Licenseとなっています。