静的解析ツール・単体テストツール Parasoft C++test で実行した単体テストの結果を TestRail に登録するデモンストレーション動画を作成しました。
自動化した単体テストの管理方法にお悩みの方は、ぜひご覧ください。
自動化した単体テスト結果を TestRail に登録するメリット
自動化テストのために作成したテストケースとその実行結果を TestRail で管理することのメリットとして以下の点があげられます。
プロジェクトのテスト情報を一元管理
開発プロジェクトには、単体テストのテスト対象となるソースコードの他にも API、UI など様々なテスト対象が存在します。それらに対するテスト方法はテストコードやスクリプトの実行、手動 テストなど様々です。テスト方法が異なればテスト結果の出力フォーマットも異なるため、テスト結果の確認も別々に行う必要があります。また、それぞれのテスト結果を個別に確認することはできてもプロジェクト全体でテストの状態を把握するにはさらに時間や労力が必要です。プロジェクトに点在しているあらゆるテストの情報を効率的に確認するには、テスト情報を一元管理することが有用です。
テスト実行から情報の管理までを自動化
TestRail には REST API が搭載されており、自動実行した単体テストの情報を REST API を利用して TestRail に取り込むことができます。REST API の実行をスクリプト化することで、CI 環境で自動化した単体テストの結果を TestRail に登録、レポートの出力するまでを自動化できます。
テスト情報の詳細なレポート出力
TestRail には標準で 15 種類のレポートが用意されています。複数回実行したテスト結果の推移を確認するレポートや、最新のテスト結果ステータスを確認するレポートなどが搭載されています。自動テストと手動テストなど、異なる方法で実行したテスト結果であっても、TestRail 上に登録されている情報であればまとめて出力することができます。プロジェクトにおける全てのテスト情報をたった一つのレポートで確認することもできます。
不具合管理ツールと連携
JIRA や Redmine などの課題管理ツールと連携できます。 課題管理ツールと連携すると、TestRail 上のテストケースから課題管理ツールにアクセスしたり、TestRail のテスト結果登録画面から不具合情報を起票したりすることが可能になります。TestRail と課題管理ツールを連携させることにより、2つのツールを個別に立ち上げて転記するといった煩わしい作業から解放されます。
TestRail と C++test 単体テストの連携
今回のデモンストレーション動画では CI 環境で自動実行した C++test 単体テストのレポートファイルを専用のスクリプト (Python) で TestRail の REST API を利用して TestRail に登録しています。
作業の流れ:
- TestRail にプロジェクトを用意
- TestRail の REST API を有効化
- C++test で単体テストを実行、レポートを出力
- Python スクリプトでテストケース情報、テスト結果を TesRail に登録
- TestRail で結果の確認
- TestRail で複数回の実行結果を比較するレポートを作成
まとめ
本記事では、C++test で実行した単体テストの結果を TestRail に登録するデモンストレーション動画と、単体テストの結果を TestRail に登録するメリットについてご紹介しました。今回は C++test 単体テストの実行結果を利用していますが、CppUnit や JUnit などの他のテストティングフレームワークで自動化されたテスト結果も同様に TestRail で管理することが可能です。
自動化したテストの管理方法にお困りの方は、ぜひ一度 TestRail によるテスト管理をご検討ください。
関連する製品
テスト管理ツール TestRail
Webベースのテスト管理ツールのトップブランドである TestRail。テストケースの管理やテスト結果の記録、チームでの情報共有など、Excel を使ったテスト業務に限界を感じていませんか?TestRail はシンプルで使いやすい UI を提供し、テストにかかるさまざまな管理コストの削減に貢献します。
静的解析ツール・単体テストツール C++test
C++test は、米国 Parasoft 社が開発した C 言語 / C++ 言語対応テストツールです。 車載機器、産業機器、医療機器、OA 機器といった組み込みソフトウェアの開発や、ミドルウェアの開発、Windows / Linux アプリケーションの開発など、さまざまな現場で利用されています。 ソフトウェア開発の工程に、C++test による静的解析や単体テストを組み込むことにより、テストの効率化とソースコードの品質向上が期待できます。