C/C++test、Jtest、dotTEST 10.3.2およびDevelopment Testing Platform 5.3.2リリース

(この記事は、開発元Parasoft社 Blog 「The C/C++test, Jtest, dotTEST 10.3.2 and Development Testing Platform 5.3.2 Release」 2017年6月20日の翻訳記事です。)

今週リリースされたParasoft C/C++test、Jtest、dotTEST 10.3.2、Parasoft DTP 5.3.2は、以下のテーマに沿ってSDLCの効率を向上させるために数多くの機能強化を行っています。

  1. 堅固なテストピラミッドの構築
  2. 変更のリスク管理
  3. コンプライアンスの負担の軽減

この記事では、上記についてより具体的に説明したいと思います。

1.堅固なテストピラミッドの構築

アプリケーションの要件を検証してテストする最良の方法を評価する際には、通常、単体テストから手動テストまたは探索的なテストに至るまで、複数のテスト手法を使用します。アジャイルや継続的テストのベストプラクティスでは、これらの手法をピラミッド型に適用すること、つまり堅固な単体テストを基礎として、頂上に最小限の手動テストを置くことを推奨しています。その理由は簡単です。単体テストは簡単に自動化でき、実行が速く、環境要件は単純であるのに対して、機能テストは、複雑な環境要件があるために、継続的なセットアップと実行が難しいからです。

ただし難点は、単体テストは作成が難しいいっぽうで、手動テストは定義や実行が簡単である(手動テストはアプリケーションが完全に組み立てられるまで実行できないことをさしひいても)という点です。現実的には、ピラミッド型ではなく、アイスクリームのコーンのようなさかさまの円錐型で終わり、スプリントが終了するまで、悪くすればリリースサイクルが終わるまで、完全なテストが遅らされます。

テストを成功させるための鍵は、テストがピラミッド型になるよう努力しながら、これらの技術を融合させてチームにとって最高の投資収益率(ROI)を提供することです-このとき、Palasoftの開発テストツールスイートが役立ちます。

Parasoftのアプローチは、「今」あるものを受け継ぎ、ピラミッドの上から下までを可視化することです。単体テストだけでなく、自動および手動の機能テストでも、カバレッジエンジンを使用してテスト ケースごとの詳細なカバレッジを収集し、それらのデータを集約することで、DTPはすべてのカバレッジ情報を1つのビューにマージします。そのため、ピラミッドの上から下までのテスト カバレッジを完全に把握し、最良のテスト手法を選択したり、最大限のROIを引き出すことができます。

今回のリリースでは、ピラミッドの基礎である単体テストを有効にすることに焦点が当てられました。

  • C / C ++開発者向けに、C / C ++test10.3デスクトップが導入されました。C / C ++test10.3デスクトップは、GUIによるテストの作成、コード分離フレームワーク、高度なコードカバレッジ技術、組込み機器向けの合理的なワークフローなど、C/C ++test9.6の単体テスト機能をすべて受け継いだうえに、10.xアーキテクチャの進化した静的解析エンジン、強化されたカバレッジトレーサビリティを併せ持っています。
  • Java開発者向けには、このリリースでは、Jtest単体テストアシスタントへの大幅な機能強化が行われました。これには、スケーラブルなテスト作成のためにパッケージ/プロジェクトレベルで大量のテストケースを作成する機能、パラメータ化されたテストを作成し、データのバリエーションを適用してカバレッジを増加させたり、境界条件をテストする機能、複雑なSpring WebMVCコントローラーのテスト作成を簡略化する機能などが含まれます。

 2. 変更のリスク管理

既存のコードの変更は、コードベースに新しい欠陥が入り込む理由として最も大きなものです。 1つの問題を修正すると、予期しない結果が生じ、さらにいくつかの欠陥が入り込むことがよくあります。変更の範囲と全体的な品質への影響を理解することは、このリスクを軽減するために何をするべきかを決定するうえで重要です。

Parasoftは「変化はどのような影響を与えるか?」という質問への答えを出すのに役立ちます。ビルド全体の変更を分析することにより、DTPはリソース(ファイル)の変更だけでなく、品質データ(静的分析結果など)の変更も把握し、それらを相互に関連付けて影響の可視性を提供します。新しいリリースでは、 変更エクスプローラーを使用して、静的解析結果の変更をリソースの変更に対応付て把握できるようになりました。レビュー中に検出された問題は、ログに記録し、修正担当者を割り当て、DTPのWebインターフェイスから直接追跡することができます。

もう一つの重要な質問、「リスクを軽減するために何をすべきか?」に答えるのにもParasoftは役立ちます。その際、DTPのプロセスインテリジェンスエンジン(PIE)によるインテリジェントな分析が貴重な洞察を提供します。このリリースでは、PIEの以下の分析機能が強化されています。

  • 変更ベースのテスト – スプリントごとにすべてを再テストするのはなぜですか?変更ベースのテストでは、コードの変更を検証するために再実行が必要なテストのサブセットを特定することで、アジャイルを加速することができます。
  • 修正コードカバレッジ – コードカバレッジが20%しかない100万行のレガシーコードがあるとします。ここで100行のコードを変更しました。カバレッジが十分かどうかをどのように判断しますか?この機能により、時間を節約して新しいテスト作成に専念し、コードベースのテストするべき部分を確実にテストできるようになります。
  • 危険なコードの変更 – 変更したばかりのコードには、どのくらいのリスクがありますか?変更はどれくらいテストされましたか?変更は適切でしょうか?変更されたコードに関連する既存の品質債務の合計額はいくらですか?この機能により、そのような質問に答えることができ、開発チームはリスクを軽減する最善の方法について十分な情報に基づく意思決定を下すことができます。
  • テストの安定性スコアリング – テストの失敗は何かを意味しているのか、それともいつも失敗しているのでしょうか?本当のレグレッションはどこにありますか?テストの安定性スコアリングは、(1)どの失敗が重要か、(2)貴重な情報を提供するためにどのようなテストを安定させる必要があるかを理解するのに役立ちます。

3. コンプライアンスの負担の軽減

もともと自動車業界向けに策定されたMISRAは、さまざまな業界(医療、産業オートメーションなど)で、信頼性が高く、予測可能で安全なデバイスの開発に特化した組み込みソフトウェアエンジニアリングチームのためのデファクトスタンダードとなっています。2016年、MISRAは、 MISRAへの準拠を証明するための一連の手順と報告要件であるMISRA Compliance:2016 – Achieving compliance with MISRA Coding Guidelinesを公開しました 。

Parasoft C / C ++テストは、改訂1で追加されたセキュリティガイドラインを含む、MISRA C:2012の完全サポートを提供します。今回のリリースでは、Parasoft DTP用の新しいMISRAコンプライアンスパックが導入され、コンプライアンスを証明するために必要なすべての成果物の作成が容易になりました。

MISRAの拡張(MISRA C:2012 Amendment 1)に見られるように、IoTを核とするシステムの爆発的な増加という要因もあり、業界を問わず、セキュリティベストプラクティスを組込みソフトウェアに適用することが重視されるようになっています。今回のリリースでは、Parasoft C/C++testの実行されたセキュリティ分析を拡張し、CERT Cセキュリティ標準のいくつかの新しいルールを含めました。

これらのほかにも、Parasoftの開発テストツールスイートへのさまざまな機能拡張があります。それらについては、リリースノートで読むことができます。

Parasoft製品のカスタマーは、Parasoftカスタマーポータルをチェックしてリリースノートにアクセスし、最新インストーラーをダウンロードして最新の機能を利用できます。Parasoft製品を初めてご利用の方は、デモをリクエストしてください。ソリューションの専門家がご質問にお答えし、より詳細なプレゼンテーションをご提供します。

Top