最新のソフトウェアテストに役立つ最新の分析技術

最新のソフトウェアテストプラクティスにふさわしいのは、最新の分析技術です。この記事では、ありきたりのソフトウェアテストのレポートとダッシュボードツールより先へ行く方法を説明します。

私の同僚クリスが言うように…今はもう2018年です! もっと期待してもいいはず、テストツールはあなたを楽にするべきです。まさにクリスの言うとおりです。私たちは、AI(人工知能)や機械学習などの最新の技術を使ってソフトウェアテストツールを強化することに力を入れてきました。これはみな、お客様がその力をすべて活用して行動を起こすことができるようにするためです。

そのためには、強力な分析機能が必要です。それは、 単なるレポートやダッシュボードを超えて、最新のテクノロジーをレポートやデータに適用することを意味します。そうです、それはソフトウェアテストの最も魅力的な部分です。

データの粒度

分析に革命を起こすには何が必要でしょうか?まず、キャプチャするデータの粒度と幅を変えることです。静的解析から手動テスト自動機能テストなど、あらゆるテスト手法、あらゆるツール( Parasoftエコシステムのツールだけでなく、その他のツールも)からのデータを組み合わせることができます。すると、柔軟性とカスタマイズの幅が広がるため、欲しいデータをほぼ何でも測定し、ある特定の時点でも、あるいは一定の期間でも、コードベースの健全性を包括的に理解できるようになります。そして最も重要なこととして、品質を向上させるために限られたリソースをどこに集中的に投下するべきかをすばやく把握するのに役立ちます。

結局のところ、一番大事なのは、コードの品質を向上させることです。そうではありませんか?

単なるレポートとダッシュボードの先を行く

単なるレポートとダッシュボードの「先を」行くというのはどういう意味でしょうか?ここでは、Parasoftは主に 5 つの点で、他のソフトウェアテストツールでの分析よりはるかに強力なものを提供できることを説明したいと思います。

キャプチャできるデータの量

Parasoftは、あらゆるテストプラクティスの膨大な量のデータをキャプチャします。これはまったく前例のないものです。静的解析およびコードメトリクスだけでなく、ユニットテスト、機能テスト、手動テスト、コードカバレッジ、およびコードレビューも含まれます。これらのデータをすべて集約して、テストプラクティスの結果を包括的に表示します。

データがすべて集約されるだけでなく、詳細なデータが収集されるため、高度な計算と洞察、柔軟性と無限のカスタマイズ可能性、大量の履歴情報の保存を実現します。たとえば、テスト実行に関して詳細なデータを保存できるため、特定のファイルに対して実行されたテストをいつでも参照でき、コードカバレッジの目標を達成するのに役立ちます。

キャプチャしたデータをナビゲートする方法

Parasoftは、テストデータを収集した後、これらの結果をナビゲートおよび分析するためのインタラクティブなフレームワークを提供します。各レポートはカスタマイズ可能な小さなウィジェットで構成されており、そのうちの1つをクリックすると、「エクスプローラー」という、テストデータを調べたり、コードベースの変更によってコードの品質がどのように変化しているかを把握するためのインタラクティブなUIに移動します。たとえば次のようなエクスプローラーがあります:

  • 変更エクスプローラーを使用すると、2つのビルドを比較して、どのファイルが変更/編集/削除されたか、どの静的解析違反がどの変更に関連しているかを把握できます。
  • コードカバレッジエクスプローラでは、すべてのテストプラクティスから収集されたカバレッジを参照し、コードに対して実行されたテストにまでさかのぼるトレーサビリティを実現できます。
  • 違反エクスプローラーでは、MISRAルール違反などのエラーレポートを履歴情報、ドキュメント、違反の詳細などとともにソース コードと関連付けて表示できるため、すぐに問題を特定して修正のワークフローを開始することができます。
SDLCワークフローの簡素化

エクスプローラーは、データを詳しく調べるとともに、対処を開始するのにも役立ちます。エクスプローラーは既存のソフトウェア開発ツールに統合されているため、簡単にチームのアクションを定義できます。たとえば、 JIRAでタスクを作成し、優先度、担当者、その他のコンテキスト情報などを定義するカスタムメタデータを追加して、ワークフローを拡張することができます。

分析ダッシュボードをワークフロー管理システムに接続すると、どのような行動を取る必要があるかを理解するのと同時に行動を起こすことができます。

しかし、これらのエクスプローラーや結果として得られるワークフローが強力であるのは、あくまで背後にあるデータおよび分析機能に支えられているからです。ここで PIE の登場です。PIEについては、人気の果物入りデザート、さもなければ高い評価を得ているProcess Intelligence Engine(PIE)としてご存じでしょう。PIEは高度な分析と「派生メトリクス」の計算を行います。真のインテリジェンスでDTPをパワーアップし、テストを支援します。

実際の分析の実行

Parasoftのプロセスインテリジェンスエンジン(PIE)は、柔軟性が高く機械学習に対応した分析に基づいて実用的な洞察を提供します。PIEには「スライス」(お分かりでしょうが、ちょっとしたシャレです)と呼ばれる計算が事前に設定されています。これは、テスト プラクティスとその後の意思決定に力を与えるインテリジェントな分析です。事前設定されたPIEスライスには、次のようなものがあります。

  • Test Stability Reporting – テストを不安定にする要素を逐一調べる代わりに、コード内にある本物のレグレッションをすばやく特定して優先順位を付けるのに役立ちます。
  • Change-Based Testing – コードの変更に関連するテストだけを再テストできるようにします。
  • Modified Coverage – レガシーコードを含む全体的なカバレッジではなく、変更されたコードのカバレッジだけに集中することを可能にします。
  • Risky Code Changes – 他のコード変更よりリスクが高い変更に注意を促します(また、「リスク」の定義をカスタマイズすることもできます)。

事前設定済みのPIEスライスだけでもじゅうぶん優れたパワーと洞察を得られます。しかし、さらにすばらしいのは、独自のPIEスライスを作成して、どのようなものでも思いつく限りの分析を実行できるという点です。フレームワークは完全にカスタマイズ可能なので、任意の方法で拡張することができます。

コンプライアンスとポリシーの推進

最後に、 ポリシーの確立と実施のための専用モジュールであるPolicy Centerがあります。このポリシーセンターは、プラクティスのしきい値、集約されたポリシー、および品質ゲートを整理された状態に保つのに役立ち、これらはCIパイプラインの一部として照会できます。

コンプライアンス面では、Parasoftは前述のようにデータ収集を集約化するため、どのようなコーディング規約や規則に準拠する必要がある場合でも、ソフトウェアテストの管理と監査を一元化する中心的な場所として利用できます。次のとおり、いくつかの大きな利点があります。

  1. コンプライアンスパック(MISRA、CWEなど)には、ダッシュボード用の設定済みウィジェットや設定済みのレポートが含まれ、コンプライアンスと監査を大幅に簡素化します。
  2. 静的解析からデータを取得し、解析を再実行せずに規約の観点から結果を表示できます。
  3. 特定のビルドが認証を受ける準備ができたら、テスト実行からすべてのデータをアーカイブし、認証が完了したらビルドをロックすることができます。

さてこの次は?

Parasoft の最新の解析は、価値ある機能の宝庫です。あなたのソフトウェアテストプラクティスに役立ち、存分に活用できるでしょう。さらに、ソフトウェアテストプラクティスをバリューストリームに統合することもできます 。ですから、実際に使ってみてください。そこには、すぐに利用できる分析の世界が待っています。

(この記事は、開発元Parasoft社 Blog 「Modern Analytics for Modern Software Testing」2018年10月11日の翻訳記事です。)

Top