リリース日: 2017年6月1日

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 つの方法に集中できます。
    1. まず「実際の失敗」を修正します。なぜなら、通常これは緊急の問題/リグレッションがあることを表すからです。
    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 ノードの変更点

PIE 1.x からより新しいバージョンの Extension Designer にアップグレードするには、データベースとフローを手動で移行する必要があります。

Endpoint ノード

Endpoint ノードはこのリリースで新たに追加されました。Endpoint ノードは、フル スタックの Web コンポーネントを作成するために必要なすべての機能をカプセル化するサービス エンド ポイントを公開します。このノードは "http in" ノードとして振る舞いますが、実際のエンドポイントは UUID の代わりにユーザーから抽象化されます。代わりに、ユーザーは エンドポイントに関連付けるべきフロントエンド UI コンポーネントの選択と作成に集中するだけでなく、そのようなコンポーネントを推進するデータを生成するフローの実装に集中します。これは、ユーザーから実装の詳細を抽象化し、ユーザーがビジネス ロジックにのみ集中することを可能にします。

機能:

  • DTP カスタム ウィジェット: DTP ダッシュボードに自動的にデプロイされる DTP カスタム ウィジェットで使用されます。
  • DTP カスタム レポート: DTP レポートまたはカスタム レポートにさらに展開されるカスタム ウィジェットで使用されます。サンプルについては 「Risky Code Changes」を参照してください。
  • Policy Center プラクティス: Policy Center のプラクティスを有効にするために使用されます。
  • General: サード パーティの統合のための一般的な REST API エンドポイントや、データをエクスポートするための CLI 呼び出しとして使用できます。

PIE Event In

Event In ノードで置き換えられました。

PIE Event Out

Event Out ノードで置き換えられました。

DTP MQTT

Event In および Event Out ノードで置き換えられました。

Event In

Event In/Out ノードはこのリリースで新たに追加されました。Event In/Event Out ノードは Extension Designer 独自の MQTT イベント ブローカーに接続し、サービスまたは外部コンポーネント間でイベントを管理します。また、起動時に DTP のイベント ブローカーをサブスクライブするため、ユーザーが DTP イベントをサブスクライブするために個別の DTP 接続を用意する必要はありません。

アーキテクチャ面での変更によって、内部的な PIE イベントはすべて Extension Designer イベント ブローカーのカスタム イベントに置き換えられました。

DTP イベントは “DTP” グループと共に使用できます。詳細についてはノードの説明を参照してください。

DTP イベントの詳細については「DTP イベントのサブスクリプション」を参照してください。

ビルトインの PIE イベントは利用できなくなりました。新規の違反イベントと修正済みの違反イベントは、Extension Designer のメニューから [読み込み] > [ライブラリ] > [ Common] > [Violation Events] を選択してデプロイすることができます。DTP 5.3.0 より、API の更新を受けて、再発する違反のイベントはサポートされなくなりました。

Event Out

Event In」を参照してください。

PC REST API (新規)

ノードはこのリリースで新たに追加されました。このノードは、Policy Center REST API を介した Policy Center とやり取りを可能にするために Policy Center のプラクティス (Policy Center Practice - Code Coverage など) によって使用されます。

Model Settings

Profile Search ノードで置き換えられました。

Profile Search

Model Settings ノードは Profile Search ノードで置き換えられました。プロパティの変更はありませんが、PIE Slice Designer (バージョン 1.x) から古いフローをインポートすると、エラーが発生します。

Profile Search ノードを使用するには、Model Settings ノードを使用するフローを再構成してください。

Project Filter

このリリースで削除されました。静的解析ペイロードをフィルタリングするために、function の lodash ライブラリを使用できます。lodash ライブラリの詳細については、「ノードの使用」の function ノードの説明を参照してください。lodash の使用例については「違反のメタデータの更新」を参照してください。

Violation Filter

このリリースで削除されました。詳細については「Project Filter」を参照してください。

Violation Grouper

このリリースで削除されました。詳細については「Project Filter」を参照してください。

Prioritization View

このリリースで削除されました。このノードは DTP REST API バージョン 1.2 以前とのみ互換性があります。

詳細については「REST API」ドキュメントを参照してください。

メタデータの設定の詳細については、[読み込み] > [ライブラリ] > [Examples] > [Static Analysis Prioritization] を選択して説明を参照してください。

Test Case Metadata

このリリースで削除されました。このノードは DTP REST API バージョン 1.2 以前とのみ互換性があります。

詳細については「REST API」ドキュメントを参照してください。

メタデータの設定の詳細については、[読み込み] > [ライブラリ] > [Examples] > [Dynamic Analysis Metadata] を選択して説明を参照してください。

PIE Mail

Mail ノードで置き換えられました。

Mail

PIE Mail ノードを置き換えます。

Enterprise Pack のその他の変更点

  • 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説明
122043rulemap.xml をアップロードするときに確認ダイアログが必要


* Enterprise ライセンスが必要です




  • No labels