CA Technologiesは11月30日、開発工程での機能テストを支援する2つのソフトウェア新製品を発表、同日提供を開始した。テストケース(テスト仕様)の作成を支援する「CA Test Case Optimizer」と、デストデータを自動生成する「CA Test Data Manager」だ。
「DevOpsにとって、テストの効率化は地味だが大切な要素」と、CA TechnologiesでDevOps担当ディレクターを務める渡辺隆氏は新ソフトをアピールする。テストケースとテストデータの自動生成によって、開発からリリースまでのサイクルを速く回せるようになるという理屈だ(図1)。
図1:テストケースとテストデータの自動生成で開発からリリースまでのサイクルを速く回せるようになる
- TechRepublic Japan関連記事:ハイブリッドクラウド座談会
- 企業ITの行き先を徹底討論する
- エンタープライズ×AWSをさまざまな視点で議論
- SDNやDockerは何を変えるのか
- アーキテクチャを理解しておく必要がある
- IT部門に求められるスキルが変化している
機能テストケースを作成--少ないテスト時間と広いカバレッジを両立
新製品の1つ、Test Case Optimizerは、テストケースの作成を支援することによって、アプリケーションが仕様通りに正しく動作するかどうかを調べる機能テストの工程を効率化する。やらなければならないテストを充分にカバーしながら、必要のないテストやテストの重複を省き、テストにかかる時間を削減する。作成したテストケースを分析して、テスト内容を調整する機能も備える。
ソフトの導入効果は大きい(図2)。ある事例では、ソフト導入前は5時間のテストでテスト内容を16%しかカバーできなかったが、導入後は2時間のテストでテスト内容を100%カバーできるようになったという。別の事例では、ソフトの導入によってテストの重複を削減し、テストケースを150個から19個へと大幅に減らした。導入前は5時間のテストで80%をカバーしていたが、導入後は40分で100%近くカバーできるようになった。
図2:Test Case Optimizerの導入効果
テストケースの作成時には、業務プロセスモデリングの業界標準表記法であるBPMN(Business Process Modeling Notation)や他社テストツールのデータ、ExcelやWordで書かれた仕様書などからアプリケーションの機能仕様に関するデータを取り込み、これをもとにテストの流れをフローチャートで定義する。最終的には、各社の機能テストツールに加えて、ブラウザを使ったアプリケーションのテストを自動化するオープンソースソフトウェアの「Selenium」などで使えるテストスクリプトを自動生成する。
テストデータを自動生成--置き換え候補リスト使い自然なデータを生成
もう1つの新製品、Test Data Managerは、実際の業務アプリケーションから抽出したデータを分析して、これをもとにテスト用のデータを自動生成するソフトだ。個人情報を含まないようにデータをマスキングしながら、足りないデータは補って、テストに必要な要件を満たしたテストデータを生成する。
CA Technologies DevOps担当ディレクター 渡辺隆氏
「一般に、テストデータの生成には3週間から6週間といった時間がかかる」と渡辺氏は言う。Test Data Managerは、これを短縮する。さらに、いったん生成条件を定義しておけば、テスト担当者は、セルフサービス型のポータル画面からその都度リクエストして、テストデータを入手できる。
分析対象となる現状の業務データは、RDBMSやファイルなど各種のデータソースから抽出する。抽出したデータをER(エンティティリレーションシップ)図で表現し、データの構造を分析する。こうして得られた情報をもとにテストデータを生成する。
個人情報を別のデータで置き換えるマスキング処理のためのエンジンを備えており、数百万行のデータを数分でマスキングするとしている。特徴の1つは、ただ単にランダムな文字列や数値に置き換えるのではなく、苗字と読み仮名を一致させるなど、意味を持った値に置き換えることだ(図3)。置き換え候補のリストをシードテーブルとして作成できる。
図3:Test Data Managerが標準で備えるマスキング関数