QualityForward APIをER図化してみました


QualityForwardはクラウドベースのテスト管理サービスです。Web APIを提供しているのですが、その全体像が掴みづらいので、erdを使ってER図化してみました。

実際のerファイルの内容です。

[Tenant]
*id
name
cidr_whitelist

[Project]
*id
tenant
name
description
label_pass
excluded_from_progress_pass
supplement_pass
default_label_category1
default_label_category25
default_label_content1
default_label_content10
created_at
updated_at

[User]
*id
name
email
current_tenant_id

[TestSuite]
*id
project_id
name
label_category1
use_category1
label_category25
use_category25
label_content1
use_content1
label_content10
use_content10
coverage_panel_column
created_at
updated_at

[TestSuiteVersion]
*id
test_suite_id
name
status
user
note
latest_test_cycle_duration_sec
lock
lock_memo
created_at
updated_at

[TestCase]
*id
test_suite_version_id
no
priority
category1
category25
created_at
updated_at

[TestPhase]
*id
project_id
name
start_on
end_on
redmine_issues_url
test_suite_assignments
created_at
updated_at

[TestSuiteAssignment]
*id
test_phase_id
test_suite_version_id

[TestCycle]
*id
status
name
target_priorities
target_results
target_test_case_no_list
test_suite_assignment_id
start_on
end_on
created_at
updated_at

[TestResult]
*id
user
test_case_id
test_case_no
test_cycle_id
result
result_supplement
executed_at
content1
content3
created_at
updated_at


Tenant *--1 User
Project *--1 Tenant
TestSuiteVersion *--1 User

TestSuite *--1 Project
TestPhase *--1 Project
TestSuiteAssignment *--1 TestPhase
TestSuiteAssignment *--1 TestSuiteVersion
TestCycle *--1 TestSuiteAssignment

TestSuiteVersion *--1 TestSuite
TestCase *--1 TestSuiteVersion
TestResult *--1 User
TestResult *--1 TestCase
TestResult *--1 TestCycle

実際のデータベースではもっと細かくフィールドやテーブルが存在しますが、外部に公開しているレベルでは以下の10個のモデルを扱います。

  • Tenant
  • Project
  • User
  • TestSuite
  • TestSuiteVersion
  • TestCase
  • TestPhase
  • TestSuiteAssignment
  • TestCycle
  • TestResult

基本的にこの各モデルに対してWeb APIが提供されていますが、TenantとTestSuiteAssignmentはWeb APIが用意されていないので注意してください。Tenant(利用企業情報)を使うことは殆どないと思いますが、TestSuiteAssignmentは利用機会が多いでしょう。TestSuiteAssignmentはTestPhaseを取得する際に一緒に入ってくる情報になります。

Web APIの全体像が分からない場合にはER図化してみると分かりやすいです。提供側としてもうまく連結していない部分や過不足した情報が分かるようになるのでお勧めです。

QualityForward