Development Testing Platform
コード ベースへの変更が招くリスクを管理することを継続して重視しつつ、本リリースの DTP は以下の点で機能拡張されました。
- 変更エクスプローラーでの静的解析結果の追加
- テスト コンフィギュレーション インターフェイスでのルールのカスタマイズ (つまりルール マップ) のサポート
- 異なるテスト技法に対する結果とカバレッジ データの管理に関する拡張
- DTP のダッシュボードと管理インターフェイスに対するユーザビリティの拡張
- スケーラブルなデプロイ インテリジェント解析のために PIE と Policy Center を DTP Enterprise Pack に統合
- フィルターの管理とリソース グループの定義のための新しい REST API
変更エクスプローラーでの変更のコンテキストの理解
バージョン 5.3.1 で導入された 変更エクスプローラー ビューでは、ソース管理システムとは独立して、DTP で直接コード ベースの変更をすぐに参照できます。従来のピア レビュー システムとは対象的に、変更エクスプローラーでは DTP が集積したデータを利用して、コードの拡張について従来よりも深い洞察が可能であり、変更に関係するコンテキストが提供されます。変更エクスプローラーは静的解析違反をオーバーレイするようになったため、ユーザーはコードの変更のコンテキストで素早く違反を参照できます。ユーザーは、新しい違反の侵入を特定したり、いつ違反が修正されたかを確認したり、静的解析違反に関して変更がなかったことを検証したりすることができます。
柔軟なルールのカスタマイズ
内部あるいは業界の標準規格 (たとえば MISRA C 2012) への準拠を達成するために静的解析をデプロイするには、多くの場合、適切な標準規格にしたがって、レポートされた違反をマッピングおよびカテゴリ分けする必要があります。ルール マップを使用すると、DTP Engine が実行する静的解析ルールのプロパティ (重要度やカテゴリ) を変更し、テスト コンフィギュレーションと関連付けることができます。テスト コンフィギュレーション のインターフェイスが拡張され、複数のルール マップをサポートするようになりました。そのため、組織にとって重要なポリシーを簡単に実装できるようになりました。さらに、ルール マップの構成用インターフェイスが拡張され、従来より直感的に静的解析レポートをカスタマイズできます。詳細については「ルール マップ」を参照してください。
テスト結果とカバレッジの管理とマージ
異なるテスト技法にまたがってカバレッジ データとテスト データをマージし相関させるのは DTP の主要な機能です。マージされて相関されたカバレッジによって、どのようにテストが実行されたかに関係なく、テスト カバレッジの全体像を把握できます。
DTP は「カバレッジ イメージ」という概念を利用して、テスト実行に関連付けられたカバレッジ データを特定します。ダッシュボードにカバレッジ データを表示できるよう、カバレッジ イメージはフィルターにリンクされます。DTP 5.3.2 では、1 つのフィルターに複数のカバレッジを関連付けることができるようになり、従来よりもさらに柔軟に、さまざまな方法でカバレッジ データの累積や細分化を定義できます。たとえば、単体テスト、機能テスト、および回帰テストのイメージを 1 つのフィルターに関連付けて、1 つのウィジェットでカバレッジの詳しい内容を参照できます。詳細については「カバレッジ イメージとフィルターの関連付け」を参照してください。
複数のカバレッジ イメージのサポートに加えて、DTP にはさらに細かくテスト結果をカテゴリ分けできる機能が用意されています。テスト エクスプローラーと各テスト ウィジェットが、単体テスト、機能テスト、手動テスト、その他のテスト タイプを区別できるようになったほか、それらのテストを 1 つのデータ セットとして集約できるようになりました。
DTP ダッシュボードと管理の拡張
- “MISRA C 2012” ダッシュボード テンプレートのレイアウトが更新されました。
- MISRA C 2012 認証キットの一部として、新しい ‘MISRA Compliance Reports’ が Parasoft マーケットプレースで公開されました。
- DTP ダッシュボードの URL が更新され、共有と再利用が簡単になりました。クエリー文字列で直接フィルターを設定できます (たとえば http://<dtp_server>/grs/dtp/dashboards/1006?filterId=78)。
- Report Center の管理インターフェイスに、フィルターを管理及び作成するための新しいインターフェイスが追加されました。
DTP Enterprise Pack (以前の PIE + Policy Center)*
DTP Enterprise Pack は、Process Intelligence Engine (PIE)、Policy Center、およびカスタム DTP ワークフローを 1 つのフレームワークに統合します。DTP Enterprise Pack の中核を成すのが Extension Designer (以前の PIE Slice Designer) です。Extension Designer は、PIE スライス、DTP ワークフロー、および Policy Center プラクティスを作成および管理するための統合インターフェイスを提供します。
詳細については「DTP Enterprise Pack」を参照してください。
Extension Designer での SDLC 分析
Extension Designer は、スタンドアロンのデータ処理ロジックを作成して管理するためにインターフェイスを提供します。このロジックは「ワークフロー」または「スライス」と呼ばれ、潜在的に問題があるコード箇所を可視化するだけでなく、潜在的に問題のあるプロセスも可視化します。
Extension Designer 5.3.2 は、最新の Development Testing Platform API に加えて、JIRA などのサード パーティ システムの API も活用することで、レポートを処理して生成するためのデータを取得します。
また、このリリースでは、Enterprise Pack 拡張 (PIE スライス、DTP ワークフロー、および Policy Center プラクティス) のための統合インターフェイスと、これまでよりも単純化された Policy Center と DTP の統合が実現されました。
詳細については「Extension Designer」を参照してください。
新規および更新された拡張
本リリースでは以下のアーティファクトが更新されました。
PIE スライス
- Change Based Testing: コード ベースの変更の結果、(テスト スイート全体ではなく) 再実行が必要となったテストだけに重点的に取り組むことができるため、効率的にリスクを削減できます。
- Risky Code Changes: コードの変更はリスクを伴います。このスライスは、どの程度コードがテストされているかに対して、どの程度コードが保守可能かを見ることで、コードの変更を分析します。そして、リスク レベルを設定し、どの程度「品質的負債」が存在するかを示します。
- Modified Coverage: 巨大なレガシー コード ベースの場合、コード ベース全体について 100% のカバレッジを得るのは不可能です。しかし、リスクを示すのは新規のコードまたは変更されたコードです。このスライスは、変更されたコードに特化することで、変更に関係するリスクを効率的に取り除くことを可能にします。
- Test Stability Index: テストの安定性は、多くの開発チームにおいて継続的な課題です。開発者とテスターは、不安定なテストが時々失敗することを知っており、そのようなテストは無視されます。しかし、テストの数が数千個もある場合、本当に問題である失敗を特定するのは困難です。このスライスは、各テストをスコアリングしてその安定性でカテゴリ分けすることで、ノイズを削減するのに役立ちます。そのため開発チームは以下の 2 つの方法に集中できます。
- まず「実際の失敗」を修正します。なぜなら、通常これは緊急の問題/リグレッションがあることを表すからです。
- どのテストが安定性が必要かを数値化できます。
- Key Performance Indicator: 静的解析違反の量は必ずしもチームのパフォーマンスを示す最良の指標ではありません。KPI スライスを使用すると、静的解析ルールを重み付けし、KPI の全般的なスコアを計算する複数のカスタム プロファイルを定義できます。
DTP ワークフロー
- Traceability Report: カスタマイズ可能な Test Traceability ウィジェットと Requirement Traceability ウィジェットを提供します。これらのウィジェットからインタラクティブなレポートにアクセスできます。レポートを見ると、どの程度良く要件が実装/テストされているかを理解するのに役立ちます。
- Static Analysis Violation Reporter for Atlassian JIRA: Atlassian JIRA インポーターを使って、テストと解析の最中に発見された問題 (たとえば静的解析の違反や単体テストの失敗) に対して JIRA のバグやタスクを作成および管理する方法の例を提供します。
- Test Failures by Build: 動的解析テストの失敗と合わせて DTP ビルド IDE を表示するウィジェットを作成します。
- DTP Build Review Workflow: Change Reviews (詳細については「変更エクスプローラー」を参照) の作成を自動化する方法の例と、作成されたレビューについて自動通知を受け取るユーザーを指定する方法についての例を提供します。
- Export DTP Explorer Data to CSV: このワークフローは DTP の テスト エクスプローラー と 違反エクスプローラー からパラメーター URL を受け取り、CSV 出力を生成します。
- DTP File Based Licensing Report: ファイル ベースの DTP ライセンスを使用している場合、このワークフローは Parasoft DTP ライセンスの消費/使用についての詳細情報を提供します。
Policy Center プラクティス
- Code Coverage: コード カバレッジについての期待値を定義し、許容できるレベルのカバレッジが確実に達成されるようにします。
- Defects for JIRA: JIRA プロジェクトに存在するバグの数についての期待値を定義し、大量のバグが放置されないようにします。
- Metrics: しきい値とアグリゲーターを定義することで、さまざまなコード メトリクス値をモニタリングできます。
- Regression Test: 許容できる回帰テストの失敗数が、プロジェクトの指定のしきい値を超えないようにします。
- Static Analysis: 重要度が高い静的解析違反が、許容される期間内に修正されるようにします。
詳細については「DTP Enterprise Pack の拡張機能」を参照してください。
Enterprise Pack のその他の変更点
- ノードの変更: このリリースでの Extension Designer ノードの更新の詳細については「Extension Designer への PIE スライスの移行」を参照してください。
- DTP 用のカスタム ウィジェットの作成: PIE Slice Designer 1.3.x に同梱されていた直ちにデプロイ可能なカスタム ウィジェットは、Extension Designer 5.3.2 でカスタム ウィジェットを作成するためのビルディング ブロックに置き換えられました。詳細については「Extension Designer によるカスタム DTP ウィジェットの作成」を参照してください。
- Policy Center のプラクティスのデプロイが Extension Designer に統合されました。1 つのフレームワークですべての DTP 拡張 (Policy Center プラクティス、DTP ワークフロー、PIE スライス) を管理できます。
- Policy Center と Extension Designer の統合された構成 UI。Policy Center をセットアップするために別のプロパティ ファイルを編集する必要がなくなりました。
- 組込みデータベース、Policy Center、Extension Designer のための 1 個の起動スクリプト。
- Policy Center と Extension Designer が 1 個のアプリケーションとして統合されました。その結果、デプロイ、セットアップ、保守が従来よりも簡単になりました。
- Extension Designer で「サービス」の複数のインスタンスを管理できるようになりました (「重要な概念と用語」を参照)。
- 複数のサービス インスタンスで堅牢なイベントを管理するための新しいイベント ブローカー。
- アーティファクト マネージャーの拡張 (「アーティファクトのダウンロードとインストール」を参照)。DTP が同じマシンに同じユーザーでインストールされている場合、アーティファクトをインストールすると、自動的に
install-addon
コマンドが実行されます。 - 新しい Endpoint、Component、および Parameters ノードを使用すると、DTP にファイルをコピーせずに、直接 DTP にフローからカスタム ウィジェットとレポートを送ることができます。
- アップグレードされたインフラストラクチャ:
- Node.js が 6.10.0 に更新。
- MongoDB が 3.4.2 に更新。
- Node-Red が 0.16.2 に更新。
REST API の更新
REST API に以下の更新がありました (詳細については changlog を参照してください)。
- grs/api/v1.4/filters: DTP フィルターを作成および管理するための新しい API
- grs/api/v1.4/filters/{id}/resourceGroups (BETA): フィルターのリソース グループを設定するための新しい API。リソース グループは、1 つの以上の ANT ファイル パターンによって定義されたリソース (つまりファイルあるいはフォルダー) の集合です。リソース グループはバージョン 5.3.2 ではベータとして導入されます。バージョン 5.3.3 で、静的解析結果のための新しいウィジェットおよび違反エクスプローラーの拡張と共に正式に導入される予定です。
解決した問題
ID | 説明 |
---|---|
122043 | rulemap.xml をアップロードするときに確認ダイアログが必要 |
* Enterprise ライセンスが必要です。