このブログについて

ソフトウェア開発におけるエラーの予防やプロジェクト管理、品質管理を支援するParasoft製品のTIPSなどを、国内総販売代理店テクマトリックスのサポートスタッフが紹介しています。

2014年12月19日金曜日

C++test 新バージョン リリース!

C言語/C++言語対応テストツール 「Parasoft C++test 9.5.4」をリリースいたしました。
多くのお客様からご要望をいただいておりましたIAR Compiler for RXをはじめ、サポート環境を拡充しております。


IAR Compiler for RXのサポート

機能安全規格への取り組みが広がる中、TÜV SÜDより認証された開発ツールへの関心が高まっています。

IARシステムズ社のルネサス RX用 IAR Embedded Workbench は、IEC 61508およびISO 26262に基づき認証された機能安全バージョンがリリースされており、今後ニーズが高まっていくことが予想されます。

こうした状況の中、C++test 9.5.4では、IAR Compiler for RXを正式サポートいたしました。

C++testは、ルネサス RX用 IAR Embedded Workbench のプロジェクトをインポートできるため、簡単に静的解析、単体テストを実施することができます。

サポート環境の拡充

IAR Compiler for RXのほか、以下がサポート環境に加わりました。

<IDE>
・Microsoft Visual Studio 2013
・Eclipse 4.3 Kepler

<コンパイラ>
・Microsoft Visual C++ 2013(12.0)
・GNU gcc/g++ 4.8.x、4.9.x
・Renesas HEW M16C/R8C C Compiler
・Green Hills MULTI C/C++ Compiler for PowerPC
・Green Hills MULTI C/C++ Compiler for INTEGRITY on PowerPC
・Texas Instruments CCS ARM C/C++ Compiler
・ARM C/C++ Compiler for uVision

最新の稼働環境一覧については、こちらをご覧ください。

※C++testはインストールしたホストマシンだけではなく、マイコンベンダーが提供するシミュレーターや、実機(ターゲット機)でも単体テスト、カバレッジ計測が可能です。 また、クロスコンパイラを使用した静的解析も行うことができます。

稼働環境一覧に含まれていないマイコンについては、個別でのご相談も承っておりますので、ぜひお問い合わせください。

C++testの機能概要は以下をご覧ください。

・単体テスト
  http://www.techmatrix.co.jp/quality/ctest/unittest/index.html
・コーディングルールチェック
  http://www.techmatrix.co.jp/quality/ctest/staticanalysis/index.html
・フロー解析
  http://www.techmatrix.co.jp/quality/ctest/bugdetective/index.html
・実行時メモリエラー検出
  http://www.techmatrix.co.jp/quality/ctest/memoryanalysis/index.html


無償体験版をお試しください

ほかにも、「Parasoft C++test 9.5.4」では、MISRA C 2012をはじめとする約80個のコーディングルール追加や、ISO 26262対応で要求される「関数カバレッジ」の対応等、さまざまな機能拡張が行われています。

これらの機能は、無償体験版にてご確認いただけます。

まだC++testをご利用いただいていない方は、この機会にぜひお試しください。

※本文中に記載されている製品名、および社名はそれぞれ各社の商標または登録商標です。


最新版のC++test 9.5.4体験版ダウンロードは ↓ こちら ↓です。


 技術資料請求

2014年12月12日金曜日

第1回:Webアプリのテスト自動化は、なぜ失敗するのか?

世の中には、Webアプリケーションの機能テストおよび、システムテストの自動化をサポートするツールが存在します。しかし、これらのツールを使用しても、テストの自動化が上手く運用できなかった方が多いのではないでしょうか?

問題は、「テストシナリオのメンテナンスの難しさ」にあり、問題に対して、以下の課題が挙げられます。
今回は、これらの課題に対する対策について、紹介します。


  課題1 : 画面の構成が変わるたびに、シナリオを修正する必要がある

  課題2 : 画面数や、ブラウザのサポート数に比例して、テストシナリオの数や長さが大きくなる

  課題3 : テストシナリオがコード(Javaなど)で管理される場合、運用できる人が限定される

  課題4 : テストを行うための環境(DBの初期化、システムの更新)が必要となる


-------------------------------------------------------------------------------------------------------
 ◆◇◆   画面の構成が変わるたびに、シナリオを修正する必要がある   ◆◇◆
-------------------------------------------------------------------------------------------------------

◆ 課題
開発の中で、画面構成の変更の度に、テストシナリオの修正が必要となる場合、修正に手間がかかり、テスト自動化の恩恵が受けられなくなります。

一般的にテストツールを使用した場合、Webの操作は、HTMLの要素(または、XPath)で制御されますが、画面構成の変更の度に、この要素を修正するには、効率的とは言えません。



◆ 原因
画面構成の変更により、HTMLの要素が変わることで、テストツールで制御していた要素が特定できなくなります。このようなケースは、XPathでオペレーションが記録された場合も、同様に起こります。

以下は、画面構成によって、属性値が変わった(「ショッピングカートに入れる」 ⇒ 「ショッピングカートに追加」)ことにより、ボタンがクリックできなくなります。



◆ 対策
要素を一意の情報で制御することで、画面の構成に変更があったとしても、テストシナリオを修正することなくテストを継続できます。

以下のように、要素の属性にid(または、name)を指定することで、画面の構成要素を一意の情報で制御できます。


テストツールを使用し、テスト自動化を行うためには、ただテストシナリオを作成して、実行すれば良いだけではなく、テストの自動化を想定したアプリケーションを設計することも重要となってきます。


◆ テストツールによる対策!
以下、SOAtestのテストツールを使用した、対策方法についてご紹介します。

※ 静的解析ルールによる、HTMLの属性値の確認が可能!
WebアプリケーションのHTMLの要素に対して、idおよび、name属性が一意の値として振られているかをチェックするためのルールを使用し、確認を行うことができます。



保守性レポートによる、テストシナリオの確認が可能!
テストツールによって生成されたテストシナリオに対して、画面構成の変更により、テストシナリオが動作しなくなる可能性がある箇所をレポートします。




次回予告
-----------------
次回は、2つ目の課題である『画面数や、ブラウザのサポート数に比例して、テストシナリオの数や長さが大きくなる』の対策について紹介します。


 体験版ダウンロード
-----------------------------
http://www.techmatrix.co.jp/quality/download/index.html#soatest