JP2021135921A - 派生テスト装置、派生テスト方法、および、派生テストプログラム - Google Patents

派生テスト装置、派生テスト方法、および、派生テストプログラム Download PDF

Info

Publication number
JP2021135921A
JP2021135921A JP2020033674A JP2020033674A JP2021135921A JP 2021135921 A JP2021135921 A JP 2021135921A JP 2020033674 A JP2020033674 A JP 2020033674A JP 2020033674 A JP2020033674 A JP 2020033674A JP 2021135921 A JP2021135921 A JP 2021135921A
Authority
JP
Japan
Prior art keywords
test
screen
scenario
derivation
derived
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020033674A
Other languages
English (en)
Other versions
JP6916327B1 (ja
Inventor
良太 辻尾
Ryota Tsujio
良太 辻尾
仁志 相馬
Hitoshi Soma
仁志 相馬
圭佑 齊藤
Keisuke Saito
圭佑 齊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp, Mitsubishi Electric Information Systems Corp filed Critical Mitsubishi Electric Corp
Priority to JP2020033674A priority Critical patent/JP6916327B1/ja
Application granted granted Critical
Publication of JP6916327B1 publication Critical patent/JP6916327B1/ja
Publication of JP2021135921A publication Critical patent/JP2021135921A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】品質強化のための派生シナリオを、テスト手順がわかるように生成し、エラー発生時の再現を可能とすることを目的とする。【解決手段】派生シナリオ生成部110は、テスト対象画面10の画面要素と、画面要素に対応するキーワードと、必要なデータとから成るテストシナリオ20と、画面構成情報30と、テスト対象画面10とを用いて、複数の派生シナリオ40を生成する。派生シナリオ40は、画面要素とキーワードとデータとから構成される。派生テスト実行部120は、複数の派生シナリオ40を用いてテスト対象画面10の派生テストを実行する。【選択図】図1

Description

本開示は、派生テスト装置、派生テスト方法、および、派生テストプログラムに関する。特に、品質強化のための派生テストを行う派生テスト装置、派生テスト方法、および、派生テストプログラムに関する。
システム開発では、ウォーターフォール型による開発が多い。製造工程の遅れが発生すると、複数のテスト工程を並行する、あるいは、テスト工程を短くするといった方法が採られる。このように、工数に対してテスト項目を多くすると、製造とテストの実施順に制約ができ、重要度の高いテストが後回しになる場合がある。また、優先度が低いテストが実施されない場合がある。また、テスト工程においては、期間が短くなっても品質を確保する必要がある。
そこで、品質強化を図るために、バグが収束し始めた段階で使用されるモンキーテストと呼ばれるバグ検知ツールが存在する。具体的には、Webアプリケーション向けの「gremlins.js」といったツールがある。「gremlins.js」では、画面のクリックおよびキーボード入力をランダムに実施する。
また、特許文献1には、テスト未実行である分岐処理を実行させる分岐条件を満たすように、テストケースのバリエーションを生成する技術が開示されている。
特開2016−048471号公報
特許文献1の技術では、分岐条件を満たすようにテストケースのバリエーションを生成するため、ランダムな操作を実現することはできない。よって、バグが収束し始めた段階で使用されるモンキーテストのような効果は期待できない。
また、「gremlins.js」といったランダムな操作を行うツールでは、テスト手順が残らないため、エラー発生時の再現が困難であるという課題がある。
本開示では、ランダムな操作に相当する操作を実現する派生テストのための派生シナリオを、テスト手順がわかるように生成し、品質強化に貢献するとともにエラー発生時の再現を可能とすることを目的とする。
本開示に係る派生テスト装置は、
テスト対象画面のテストに使用されたテストシナリオであって、前記テスト対象画面における操作対象である画面要素と、前記画面要素に対する操作を表すキーワードと、前記キーワードにより表される操作において必要なデータとから成るテストシナリオと、前記画面要素に対する操作を定義した画面構成情報と、前記テスト対象画面とを用いて、前記テスト対象画面のテストに用いる複数の派生シナリオであって、各々が前記画面要素と前記キーワードと前記データとから成る複数の派生シナリオを生成する派生シナリオ生成部と、
前記複数の派生シナリオを用いて前記テスト対象画面のテストを派生テストとして実行し、前記派生テストの実行により出力された実行結果画面と、前記派生テストに用いられた派生シナリオとを対応付けて実行結果情報として記憶部に記憶する派生テスト実行部とを備える。
前記派生シナリオ生成部は、
前記テストシナリオに設定されているデータをテストデータとしてテストデータ情報に蓄積し、
前記テストデータ情報と、前記画面構成情報と、前記テスト対象画面とを用いて、前記テスト対象画面において操作可能なシナリオを前記複数の派生シナリオとして生成する。
前記画面構成情報は、
前記テスト対象画面における画面要素と前記画面要素の種別とを対応付けた画面要素情報と、
前記画面要素の種別と前記画面要素の種別に対して使用可能な操作を表すキーワードとを対応付けた使用可能キーワード情報と、
前記画面要素に対する操作を表すキーワードと前記キーワードにより表される操作についてのデータの使用とを対応付けたデータ使用情報と
を備える。
前記派生シナリオ生成部は、
前記テスト対象画面から画面要素を抽出し、前記画面要素情報と前記使用可能キーワード情報と前記データ使用情報と前記テストデータ情報とに基づいて、抽出された前記画面要素の各々に対して、使用可能なキーワードを設定するとともに、設定された前記キーワードにデータが使用される場合はテストデータを設定することにより画面要素単位でのシナリオを生成し、前記画面要素単位でのシナリオを組み合わせることにより派生元シナリオを生成し、前記派生元シナリオから各々がテスト手順の順序を有する前記複数の派生シナリオを生成する。
前記派生テスト装置は、
前記実行結果情報に含まれる実行結果画面を実行結果に基づいて複数のグループに分類し、前記複数のグループの各グループに分類された前記実行結果画面の数に基づいて、各グループに、当該グループに含まれる実行結果画面を確認する作業の優先順位を設定する結果評価部を備える。
前記派生シナリオ生成部は、
前記複数の派生シナリオのうち少なくとも1つの派生シナリオについて、前記画面要素の操作順を入れ替えることにより新たな派生シナリオを生成する。
前記派生シナリオ生成部は、
前記複数の派生シナリオのうち少なくとも1つの派生シナリオについて、前記画面要素の操作を繰り返すことにより新たな派生シナリオを生成する。
本開示に係る派生テスト方法は、
派生シナリオ生成部が、テスト対象画面のテストに使用されたテストシナリオであって、前記テスト対象画面における操作対象の画面要素と、前記画面要素に対する操作を表すキーワードと、前記キーワードにより表される操作において必要なデータとから成るテストシナリオと、前記画面要素に対する操作を定義した画面構成情報と、前記テスト対象画面とを用いて、前記テスト対象画面のテストに用いる複数の派生シナリオであって、各々が前記画面要素と前記キーワードと前記データとから成る複数の派生シナリオを生成し、
派生テスト実行部が、前記複数の派生シナリオを用いて前記テスト対象画面のテストを派生テストとして実行し、前記派生テストの実行により出力された実行結果画面と前記派生テストを行った派生シナリオと対応付けて実行結果情報として記憶部に記憶する。
本開示に係る派生プログラムは、
派生シナリオ生成部が、テスト対象画面のテストに使用されたテストシナリオであって、前記テスト対象画面における操作対象の画面要素と、前記画面要素に対する操作を表すキーワードと、前記キーワードにより表される操作において必要なデータとから成るテストシナリオと、前記画面要素に対する操作を定義した画面構成情報と、前記テスト対象画面とを用いて、前記テスト対象画面のテストに用いる複数の派生シナリオであって、各々が前記画面要素と前記キーワードと前記データとから成る複数の派生シナリオを生成する派生シナリオ生成処理と、
派生テスト実行部が、前記複数の派生シナリオを用いて前記テスト対象画面のテストを派生テストとして実行し、前記派生テストの実行により出力された実行結果画面と前記派生テストを行った派生シナリオと対応付けて実行結果情報として記憶部に記憶する派生テスト実行処理と
をコンピュータに実行させる。
本開示に係る派生テスト装置によれば、ランダムな操作テストに相当する派生テストに用いられる派生シナリオを、テスト手順がわかるように生成するので、品質強化に貢献するとともにエラー発生時の再現を可能とすることができる。
実施の形態1に係る派生テスト装置の構成例。 実施の形態1に係るテスト対象画面の例を示す図。 実施の形態1に係るテストシナリオおよび派生シナリオの例を示す図。 実施の形態1に係るテストシナリオおよび派生シナリオと同様の構造を有する試験スクリプトによるキーワード駆動テストの例。 実施の形態1に係る派生テスト装置の派生テスト処理のフロー図。 実施の形態1に係るテストシナリオと画面構成情報とテストデータ情報の構成例を示す図。 実施の形態1に係る派生シナリオの構成例を示す図。 実施の形態1に係る派生シナリオ生成部のシナリオ設定処理のフロー図。 実施の形態1に係るシナリオ設定処理のステップS41の具体例。 実施の形態1に係るシナリオ設定処理のステップS42の具体例。 実施の形態1に係るシナリオ設定処理のステップS43の具体例。 実施の形態1に係る結果評価部による結果評価処理を示すフロー図。 実施の形態1に係る結果評価部による実行結果画面の分類処理の具体例を示す模式図。 実施の形態1に係る結果評価部による優先順位付与の具体例を示す模式図。 実施の形態1の変形例に係る派生テスト装置の構成例。
以下、本実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。また、以下の図では各構成部材の大きさの関係が実際のものとは異なる場合がある。また、実施の形態の説明において、上、下、左、右、前、後、表、裏といった向きあるいは位置が示されている場合がある。これらの表記は、説明の便宜上の記載であり、装置、器具、あるいは部品等の配置、方向および向きを限定するものではない。
実施の形態1.
***構成の説明***
図1を用いて、本実施の形態に係る派生テスト装置100の構成例について説明する。 派生テスト装置100は、コンピュータである。派生テスト装置100は、プロセッサ910を備えるとともに、メモリ921、補助記憶装置922、入力インタフェース930、出力インタフェース940、および通信装置950といった他のハードウェアを備える。プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
派生テスト装置100は、機能要素として、派生シナリオ生成部110と派生テスト実行部120と結果評価部130と記憶部140を備える。
記憶部140には、テスト対象画面10とテストシナリオ20と画面構成情報30とテストデータ情報31と派生シナリオ40と実行結果情報50と実行結果分類51が記憶される。
派生シナリオ生成部110と派生テスト実行部120と結果評価部130の機能は、ソフトウェアにより実現される。記憶部140は、メモリ921に備えられる。なお、記憶部140は、補助記憶装置922に備えられていてもよいし、メモリ921と補助記憶装置922に分散して備えられていてもよい。
プロセッサ910は、派生テストプログラムを実行する装置である。派生テストプログラムは、派生シナリオ生成部110と派生テスト実行部120と結果評価部130の機能を実現するプログラムである。
プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ921は、データを一時的に記憶する記憶装置である。メモリ921の具体例は、SRAM(Static Random Access Memory)、あるいはDRAM(Dynamic Random Access Memory)である。
補助記憶装置922は、データを保管する記憶装置である。補助記憶装置922の具体例は、HDDである。また、補助記憶装置922は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬の記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
入力インタフェース930は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB(Universal Serial Bus)端子である。なお、入力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。
出力インタフェース940は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース940は、具体的には、USB端子またはHDMI(登録商標)(High Definition Multimedia Interface)端子である。ディスプレイは、具体的には、LCD(Liquid Crystal Display)である。
通信装置950は、レシーバとトランスミッタを有する。通信装置950は、LAN、インターネット、あるいは電話回線といった通信網に接続している。通信装置950は、具体的には、通信チップまたはNIC(Network Interface Card)である。
派生テストプログラムは、派生テスト装置100において実行される。派生テストプログラムは、プロセッサ910に読み込まれ、プロセッサ910によって実行される。メモリ921には、派生テストプログラムだけでなく、OS(Operating System)も記憶されている。プロセッサ910は、OSを実行しながら、派生テストプログラムを実行する。派生テストプログラムおよびOSは、補助記憶装置922に記憶されていてもよい。補助記憶装置922に記憶されている派生テストプログラムおよびOSは、メモリ921にロードされ、プロセッサ910によって実行される。なお、派生テストプログラムの一部または全部がOSに組み込まれていてもよい。
派生テスト装置100は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、派生テストプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、派生テストプログラムを実行する装置である。
派生テストプログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ921、補助記憶装置922、または、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。
派生シナリオ生成部110と派生テスト実行部120と結果評価部130の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。派生テストプログラムは、派生シナリオ生成処理と派生テスト実行処理と結果評価処理を、コンピュータに実行させる。派生シナリオ生成処理と派生テスト実行処理と結果評価処理の「処理」を「プログラム」、「プログラムプロダクト」、「プログラムを記憶したコンピュータ読取可能な記憶媒体」、または「プログラムを記録したコンピュータ読取可能な記録媒体」に読み替えてもよい。また、派生テスト方法は、派生テスト装置100が派生テストプログラムを実行することにより行われる方法である。
派生テストプログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、派生テストプログラムは、プログラムプロダクトとして提供されてもよい。
***動作の説明***
次に、本実施の形態に係る派生テスト装置100の動作について説明する。派生テスト装置100の動作手順は、派生テスト方法に相当する。また、派生テスト装置100の動作を実現するプログラムは、派生テストプログラムに相当する。
まず、テスト対象となるテスト対象画面10の例、テスト対象画面10のテストに使用されたテストシナリオ20の例、および、テスト対象画面10の派生テストに使用する派生シナリオ40の例について説明する。
図2は、本実施の形態に係るテスト対象画面10の例を示す図である。
テスト対象画面10において操作が可能な要素を画面要素11という。画面要素11はオブジェクトとも呼ばれる。
図2のテスト対象画面10において操作が可能な画面要素11は、「ユーザ名」、「パスワード」、「ログイン」、および「クリア」である。
「ユーザ名」および「パスワード」の画面要素11の種別は、テキストを入力することが可能なテキストボックスである。また、「ログイン」および「クリア」の画面要素11の種別は、クリックあるいはダブルクリックが可能なボタンである。
図3は、本実施の形態に係るテストシナリオ20および派生シナリオ40の例を示す図である。
テストシナリオ20は、テスト対象画面10のテストに使用されたシナリオである。具体的には、テストシナリオ20は、テスト対象画面10の通常のテストに使用されるシナリオであり、テスト対象画面10の通常のテストに使用された後に、派生テスト装置100に読み込まれる。テストシナリオ20は、正解値を有するシナリオである。テストシナリオ20は、正解値が予め設定された通常のテストのために手動で生成される場合が多い。
テストシナリオ20は、テスト対象画面10における操作対象の画面要素11と、画面要素11に対する操作を表すキーワード12と、キーワード12により表される操作において必要なデータ13とから構成される。キーワード12により表される操作においてデータが必要ない場合には、データ13の欄に「−」が設定される。
図3のテストシナリオ20では、テスト対象画面10において、ユーザ名に「user」を入力し、パスワードに「pass」を入力し、ログインボタンをクリックする、というシナリオが設定されている。
図3では、派生シナリオ生成部110は、テストシナリオ20を読み込み、複数の派生シナリオ40を自動で生成する。派生シナリオ40は、品質強化のために行われる派生テストに用いられる。派生シナリオ40は、大量に生成され、ランダムな操作に相当する操作を実現する。
派生シナリオ40も、テストシナリオ20と同様に、画面要素11と、キーワード12と、データ13とから構成される。
例えば、図3の上段の派生シナリオ40では、テスト対象画面10において、ユーザ名に「p@ss」を入力し、パスワードに「pass」を入力し、ログインボタンをクリックする、というシナリオが設定されている。また、図3の下段の派生シナリオ40では、テスト対象画面10において、ユーザ名に「user」を入力し、パスワードに「pass」を入力し、キャンセルボタンをクリックする、というシナリオが設定されている。
なお派生シナリオ40は、上の行から順番に実行していくものとし、実行順序、つまりテスト手順がわかるように生成している。
図4を用いて、本実施の形態に係るテストシナリオ20および派生シナリオ40と同様の構造を有する試験スクリプトによるキーワード駆動テストの例を簡単に説明する。
本実施の形態に係るテストシナリオ20および派生シナリオ40と同様の構造を有する試験スクリプトは、スクリプティングレベル5(ISO/IEC/IEEE 29119−5)のキーワード駆動スクリプトである。キーワード駆動スクリプトによるキーワード駆動テストとは、操作をキーワード化し、操作関数とデータとを外部ファイルから読み込んで使用する方式である。
キーワード駆動テストツールは、キーワードと操作関数を対応付けたキーワードライブラリと、画面要素であるオブジェクトとオブジェクトを識別するオブジェクトID(IDentifier)を対応付けたオブジェクトリポジトリとを備える。キーワード駆動テストツールの動作の概要は、以下の通りである。
(1)キーワード駆動テストツールが、試験スクリプトを読み込む。
(2)キーワード駆動テストツールは、キーワードライブラリとオブジェクトリポジトリを参照し、実行用コードを生成する。
(3)キーワード駆動テストツールが実行用コードを実行することにより、テスト対象画面の操作テストが実施される。
図5は、本実施の形態に係る派生テスト装置100の派生テスト処理のフロー図である。
また、図6は、本実施の形態に係るテストシナリオ20と画面構成情報30とテストデータ情報31の構成例を示す図である。図7は、本実施の形態に係る派生シナリオ40の構成例を示す図である。
図8は、本実施の形態に係る派生シナリオ生成部110のシナリオ設定処理のフロー図である。図9は、本実施の形態に係るシナリオ設定処理のステップS41の具体例である。図10は、本実施の形態に係るシナリオ設定処理のステップS42の具体例である。図11は、本実施の形態に係るシナリオ設定処理のステップS43の具体例である。
図5から図11を用いて、本実施の形態に係る派生テスト装置100の動作について説明する。
ステップS101において、派生テスト装置100が、テストシナリオ20を読み込む。テストシナリオ20は、記憶部140に記憶される。ここでのテストシナリオ20は、上述の通り、既に通常のテストに用いられた後のシナリオであり、正解値ありのシナリオである。
ステップS102において、派生シナリオ生成部110は、テストシナリオ20に設定されているデータをテストデータとしてテストデータ情報31に蓄積する。
図6に示すように、テストデータ情報31は、番号311と、テストデータ312とから構成される。派生シナリオ生成部110は、複数のテストシナリオ20の各々に設定されているデータの内容のすべてを、テストデータ312としてテストデータ情報31に蓄積する。なお、異なるテストデータに同一のデータが設定されている場合は、1つのみをテストデータ312とする。すなわち、テストデータ312は、番号311に対応付けられてユニークに蓄積され、重複することはない。
図6では、テストシナリオ20として、テストシナリオ1、テストシナリオ2、およびテストシナリオ3が読み込まれている。そして、各テストシナリオのデータの内容が、テストデータ情報31に蓄積される。テストシナリオ1とテストシナリオ3では、「pass」が重複しているが、テストデータ情報31には、番号3の「pass」のみが設定される。
テストデータ情報31は、試験データを蓄積する試験データリポジトリとも呼ばれる。
ステップS103において、派生テスト装置100が、画面構成情報30を読み込む。画面構成情報30は、記憶部140に記憶される。なお、派生テスト装置100が画面構成情報30を読み込むのは、派生シナリオ40を生成する前であればいつでもよい。
図6を用いて、本実施の形態に係る画面構成情報30の構成例について説明する。
画面構成情報30は、画面要素に対する操作を定義した情報である。画面構成情報30は、画面要素情報301と、使用可能キーワード情報302と、データ使用情報303を備える。
画面要素情報301は、テスト対象画面10における画面要素11と画面要素11の種別とを対応付けた情報である。
図6では、「ユーザ名」および「パスワード」の画面要素11の種別には、テキストを入力することが可能なテキストボックスが設定される。また、「ログイン」および「クリア」の画面要素11の種別は、スキップ、クリック、あるいはダブルクリックが可能なボタンが設定される。
使用可能キーワード情報302は、画面要素11の種別と、画面要素11の種別に対して使用可能な操作を表すキーワードとを対応付けた情報である。
図6では、画面要素11の種別であるテキストボックスには、使用可能な操作を表すキーワードとして、「スキップ」と「入力」が設定されている。また、画面要素11の種別であるボタンには、使用可能な操作を表すキーワードとして、「スキップ」、「クリック」、および「ダブルクリック」が設定されている。
データ使用情報303は、画面要素11に対する操作を表すキーワードと、キーワードにより表される操作についてのデータの使用とを対応付けた情報である。
図6では、「スキップ」に対してデータ使用なしが設定され、「入力」に対してデータ使用ありが設定され、「クリック」に対してデータ使用なしが設定され、「ダブルクリック」に対してデータ使用なしが設定されている。
これらの画面構成情報30は、例えば、テスト対象画面10の通常のテストに用いられるテストシナリオ20が作成される際に生成される。よって、テストシナリオ20を用いて派生シナリオと作成する際には、画面構成情報30は、既に生成されている。
ステップS104において、派生シナリオ生成部110は、複数の派生シナリオ40を生成するシナリオ設定処理を実行する。シナリオ設定処理は、図7に示すように、テストデータ情報31と、画面構成情報30と、テスト対象画面10とを用いて、テスト対象画面10において操作可能なシナリオを複数の派生シナリオ40として生成する処理である。
<シナリオ設定処理:ステップS104>
ステップS41において、派生シナリオ生成部110は、テスト対象画面10から画面要素11を抽出する。具体的には、テスト対象画面10がHTML(HyperText・Markup・Language)形式で構成されているのであれば、タグ情報を抽出することにより、画面要素であるオブジェクトとオブジェクトIDとを抽出する。具体的には、図7のテスト対象画面10から、「ユーザ名」、「パスワード」、「ログイン」、および、「クリア」が抽出される。派生シナリオ生成部110は、これらの画面要素11の名称をメモリ921上に記憶する。
次に、派生シナリオ生成部110は、画面要素情報301と使用可能キーワード情報302とデータ使用情報303とテストデータ情報31とに基づいて、記憶された画面要素11の各々に対して、使用可能なキーワードを設定するとともに、設定されたキーワードにデータが使用される場合はテストデータを設定する。
具体的には、図9に示すように、派生シナリオ生成部110は、「ユーザ名」、「パスワード」、「ログイン」、および、「クリア」の各々に対して、キーワード12を設定し、該当のキーワード12がデータ使用情報303にデータ使用すると指定されている場合は、テストデータ312を順次設定したレコードを生成する。ステップS41では、全ての画面要素11に対して、キーワード12とデータ13の組み合わせ候補を生成し、画面要素11単位でのシナリオとして、メモリ921のメモリ領域に記憶する処理を繰り返す。画面要素11単位でのシナリオを画面要素単位シナリオ41とする。
ステップS41の処理により、図9の例では、「ユーザ名」と「パスワード」とには6レコード、「ログイン」と「クリア」とには3レコードの画面要素単位シナリオ41が生成されることになる。
ステップS42において、派生シナリオ生成部110は、各画面要素における画面要素単位シナリオ41から1レコードずつ選定して組み合わせることにより、派生元シナリオ42を生成する。派生元シナリオ42は、各画面要素における画面要素単位シナリオ41のレコード数を乗算した数が生成される。
図10に示す具体例では、派生シナリオ生成部110は、「ユーザ名」、「パスワード」、「ログイン」、「クリア」おける画面要素単位シナリオ41を1レコードずつ選定し、組み合せを生成する。よって、各画面要素における画面要素単位シナリオ41のレコード数を乗算した数、つまり、6×6×3×3=324とおりの派生元シナリオ42が生成される。なお派生元シナリオ42は、まだテスト手順の情報を有していない。なお、図10における組み合わせの線は、画面要素単位シナリオ41の1レコード目と隣接する画面要素単位シナリオ41のレコードとを組み合わせる線であり、組み合わせの一部のみを示している。
ステップS43において、派生シナリオ生成部110は、派生元シナリオ42に基づき、各々がテスト手順の情報を有する複数の派生シナリオ40を生成する。派生シナリオ40は、派生元シナリオ42の最大値から1まで1ずつ減算した数を乗算した数が生成される。図11に示すように、1つの派生元シナリオ42からテスト手順の情報を有する複数の派生シナリオ40が生成される。
図11に示す具体例では、派生シナリオ生成部110は、「ユーザ名」、「パスワード」、「ログイン」、「クリア」の順序を全て網羅した複数の派生シナリオ40を生成する。図11に示す具体例では、1つの派生元シナリオ42に対応して、4×3×2×1、つまり24とおりの派生シナリオ40が生成される。全体としては、324×24、つまり7,776とおりの派生シナリオ40が生成される。
なお、本実施の形態の方法によらず、操作可能な画面要素とキーワードとデータの組み合わせをすべて網羅するように複数の派生シナリオを生成することができれば、処理はどのような方法を採用してもよい。
<派生テスト実行処理:ステップS105>
ステップS105において、派生テスト実行部120は、複数の派生シナリオ40を用いてテスト対象画面10のテストを派生テストとして実行する。そして、派生テスト実行部120は、派生テストの実行により出力された実行結果画面と派生テストを行った派生シナリオと対応付けて実行結果情報50として記憶部140に記憶する。
<結果評価処理:ステップS106>
ステップS106において、結果評価部130は、実行結果情報50に含まれる実行結果画面を、実行結果に基づいて複数のグループに分類する。そして、結果評価部130は、複数のグループの各グループに分類された実行結果画面の数に基づいて、各グループに、当該グループに含まれる実行結果画面を確認する作業の優先順位を設定する。
図12は、本実施の形態に係る結果評価部130による結果評価処理を示すフロー図である。
図13は、本実施の形態に係る結果評価部130による実行結果画面の分類処理の具体例を示す模式図である。
図14は、本実施の形態に係る結果評価部130による優先順位付与の具体例を示す模式図である。
ステップS61において、結果評価部130は、実行結果情報50に含まれる実行結果画面501を読み込む。図13および図14に示すように、各実行結果画面501は、派生テストに用いた派生シナリオに対応付けられている。
ステップS62およびステップS63において、結果評価部130は、実行結果画面501を分類する。具体的には、結果評価部130は、クラスタリングを用いて実行結果画面501を分類する。まず、結果評価部130は、クラスタ数を決定する(ステップS62)。クラスタ数は、予めユーザにより設定されていてもよいし、実行結果画面501の数から自動的に算出される数でもよい。そして、結果評価部130は、クラスタリングを用いて実行結果画面501を分類する(ステップS63)。例えば、学習なしの手法であれば、x−means、あるいは、k−meansといった手法を用いる。また、学習ありの手法であれば、SVM(サポートベクタマシン)といった手法を用いる。SVMの場合は、手動で作成したテストシナリオ20の結果を学習させて、分類のためのモデルを作成する。
図13に示すように、結果評価部130は、例えば、画面遷移なし、エラー発生、および、ログイン完了の3つのグループに実行結果画面501を分類する。
また、結果評価部130は、各グループに分類された実行結果画面501の数に基づいて、各グループに確認作業の優先順位を設定してもよい。例えば、結果評価部130は、各グループに分類された実行結果画面501の数が少ない方から高い優先順位を設定する。これにより、確認作業に要する時間を削減することができる。あるいは、結果評価部130は、エラーが発生したグループのみについて、各グループに分類された実行結果画面501の数が少ない方から高い優先順位を設定するとしてもよい。これにより、確認作業に要する時間をより削減することができる。
ステップS64において、結果評価部130は、実行結果分類51を、出力インタフェース940を介して出力する。
図14に示すように、結果評価部130は、各グループに分類した実行結果画面501および派生シナリオ40と、各グループに付与された優先順位とを出力する。なお、優先順位に替えて、各グループに分類された派生シナリオ40の数を出力してもよい。
***他の構成***
<変形例1>
本実施の形態の変形例として、派生シナリオ生成部110は、図5のステップS104の処理を終了し、複数の派生シナリオ40が生成された後に、さらに派生シナリオ40を生成してもよい。
具体的には、派生シナリオ生成部110は、生成した複数の派生シナリオのうち少なくとも1つの派生シナリオについて、画面要素11の一部の操作を順次繰り返すことにより新たな派生シナリオを生成する。
例えば、図7の派生シナリオ1において、2行目を複数回繰り返す派生シナリオを新たに作成してもよい。さらに、その派生シナリオの操作順を変更することで新たな派生シナリオを作成することができる。
<変形例2>
本実施の形態では、派生シナリオ生成部110と派生テスト実行部120と結果評価部130の機能がソフトウェアで実現される。変形例として、派生シナリオ生成部110と派生テスト実行部120と結果評価部130の機能がハードウェアで実現されてもよい。
具体的には、派生テスト装置100は、プロセッサ910に替えて電子回路909を備える。
図15は、本実施の形態の変形例に係る派生テスト装置100の構成を示す図である。
電子回路909は、派生シナリオ生成部110と派生テスト実行部120と結果評価部130の機能を実現する専用の電子回路である。電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field−Programmable Gate Arrayの略語である。
派生シナリオ生成部110と派生テスト実行部120と結果評価部130の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、派生シナリオ生成部110と派生テスト実行部120と結果評価部130の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。また、派生シナリオ生成部110と派生テスト実行部120と結果評価部130の一部またはすべての機能がファームウェアで実現されてもよい。
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、派生シナリオ生成部110と派生テスト実行部120と結果評価部130の機能は、プロセッシングサーキットリにより実現される。
***本実施の形態の効果の説明***
以上のように、本実施の形態に係る派生テスト装置100では、品質強化のために行われる派生テストに用いる派生シナリオを、大量に自動生成することができるので、ランダムな操作に相当する操作を実現することができる。
また、本実施の形態に係る派生テスト装置100では、派生シナリオを、テスト手順がわかるように生成するので、エラー発生時の再現することで、予期していないテスト結果があった場合にトレースすることが可能となる。
本実施の形態に係る派生テスト装置100による派生テストは、さらなる品質強化のために、バグが収束し始めた段階において、深夜帯または専用テスト環境といた状況で実施されることが想定される。つまりバグの収束のために行う通常のテストの後で、派生シナリオ40を用いて実施されるのが派生テストとなる。
本実施の形態に係る派生テスト装置100によれば、分類された実行結果画面および派生シナリオと、確認作業の優先順位とが出力されるので、試験担当者による確認作業に要する時間を削減することができる。例えば、分類された試験結果画面の少ないグループを優先的にチェックすることにより、まれに発生するケースのチェックを効率的に実施することができ、作業時間の削減につながる。
以上の実施の形態1では、派生テスト装置の各部を独立した機能ブロックとして説明した。しかし、派生テスト装置の構成は、上述した実施の形態のような構成でなくてもよい。派生テスト装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、派生テスト装置は、1つの装置でなく、複数の装置から構成されたシステムでもよい。
また、実施の形態1のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、1つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態1では、実施の形態の自由な組み合わせ、あるいは実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
なお、上述した実施の形態は、本質的に好ましい例示であって、本開示の範囲、本開示の適用物の範囲、および本開示の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
10 テスト対象画面、11 画面要素、12 キーワード、13 データ、20 テストシナリオ、30 画面構成情報、31 テストデータ情報、40 派生シナリオ、41 画面要素単位シナリオ、42 派生元シナリオ、50 実行結果情報、51 実行結果分類、100 派生テスト装置、110 派生シナリオ生成部、120 派生テスト実行部、130 結果評価部、140 記憶部、301 画面要素情報、302 使用可能キーワード情報、303 データ使用情報、311 番号、312 テストデータ、501 実行結果画面、909 電子回路、910 プロセッサ、921 メモリ、922 補助記憶装置、930 入力インタフェース、940 出力インタフェース、950 通信装置。

Claims (9)

  1. テスト対象画面のテストに使用されたテストシナリオであって、前記テスト対象画面における操作対象の画面要素と、前記画面要素に対する操作を表すキーワードと、前記キーワードにより表される操作において必要なデータとから成るテストシナリオと、前記画面要素に対する操作を定義した画面構成情報と、前記テスト対象画面とを用いて、前記テスト対象画面のテストに用いる複数の派生シナリオであって、各々が前記画面要素と前記キーワードと前記データとから成る複数の派生シナリオを生成する派生シナリオ生成部と、
    前記複数の派生シナリオを用いて前記テスト対象画面のテストを派生テストとして実行し、前記派生テストの実行により出力された実行結果画面と前記派生テストを行った派生シナリオと対応付けて実行結果情報として記憶部に記憶する派生テスト実行部と
    を備える派生テスト装置。
  2. 前記派生シナリオ生成部は、
    前記テストシナリオに設定されているデータをテストデータとしてテストデータ情報に蓄積し、
    前記テストデータ情報と、前記画面構成情報と、前記テスト対象画面とを用いて、前記テスト対象画面において操作可能なシナリオを前記複数の派生シナリオとして生成する請求項1に記載の派生テスト装置。
  3. 前記画面構成情報は、
    前記テスト対象画面における画面要素と前記画面要素の種別とを対応付けた画面要素情報と、
    前記画面要素の種別と前記画面要素の種別に対して使用可能な操作を表すキーワードとを対応付けた使用可能キーワード情報と、
    前記画面要素に対する操作を表すキーワードと前記キーワードにより表される操作についてのデータの使用とを対応付けたデータ使用情報と
    を備える請求項2に記載の派生テスト装置。
  4. 前記派生シナリオ生成部は、
    前記テスト対象画面から画面要素を抽出し、前記画面要素情報と前記使用可能キーワード情報と前記データ使用情報と前記テストデータ情報とに基づいて、抽出された前記画面要素の各々に対して、使用可能なキーワードを設定するとともに、設定された前記キーワードにデータが使用される場合はテストデータを設定することにより画面要素単位でのシナリオを生成し、前記画面要素単位でのシナリオを組み合わせることにより派生元シナリオを生成し、前記派生元シナリオから各々がテスト手順の順序を有する前記複数の派生シナリオを生成する請求項3に記載の派生テスト装置。
  5. 前記派生テスト装置は、
    前記実行結果情報に含まれる実行結果画面を実行結果に基づいて複数のグループに分類し、前記複数のグループの各グループに分類された前記実行結果画面の数に基づいて、各グループに、当該グループに含まれる実行結果画面を確認する作業の優先順位を設定する結果評価部を備える請求項1から請求項4のいずれか1項に記載の派生テスト装置。
  6. 前記派生シナリオ生成部は、
    前記複数の派生シナリオのうち少なくとも1つの派生シナリオについて、前記画面要素の操作順を入れ替えることにより新たな派生シナリオを生成する請求項1から請求項5のいずれか1項に記載の派生テスト装置。
  7. 前記派生シナリオ生成部は、
    前記複数の派生シナリオのうち少なくとも1つの派生シナリオについて、前記画面要素の操作を繰り返すことにより新たな派生シナリオを生成する請求項1から請求項6のいずれか1項に記載の派生テスト装置。
  8. 派生シナリオ生成部が、テスト対象画面のテストに使用されたテストシナリオであって、前記テスト対象画面における操作対象の画面要素と、前記画面要素に対する操作を表すキーワードと、前記キーワードにより表される操作において必要なデータとから成るテストシナリオと、前記画面要素に対する操作を定義した画面構成情報と、前記テスト対象画面とを用いて、前記テスト対象画面のテストに用いる複数の派生シナリオであって、各々が前記画面要素と前記キーワードと前記データとから成る複数の派生シナリオを生成し、
    派生テスト実行部が、前記複数の派生シナリオを用いて前記テスト対象画面のテストを派生テストとして実行し、前記派生テストの実行により出力された実行結果画面と前記派生テストを行った派生シナリオと対応付けて実行結果情報として記憶部に記憶する派生テスト方法。
  9. 派生シナリオ生成部が、テスト対象画面のテストに使用されたテストシナリオであって、前記テスト対象画面における操作対象の画面要素と、前記画面要素に対する操作を表すキーワードと、前記キーワードにより表される操作において必要なデータとから成るテストシナリオと、前記画面要素に対する操作を定義した画面構成情報と、前記テスト対象画面とを用いて、前記テスト対象画面のテストに用いる複数の派生シナリオであって、各々が前記画面要素と前記キーワードと前記データとから成る複数の派生シナリオを生成する派生シナリオ生成処理と、
    派生テスト実行部が、前記複数の派生シナリオを用いて前記テスト対象画面のテストを派生テストとして実行し、前記派生テストの実行により出力された実行結果画面と前記派生テストを行った派生シナリオと対応付けて実行結果情報として記憶部に記憶する派生テスト実行処理と
    をコンピュータに実行させる派生テストプログラム。
JP2020033674A 2020-02-28 2020-02-28 派生テスト装置、派生テスト方法、および、派生テストプログラム Active JP6916327B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020033674A JP6916327B1 (ja) 2020-02-28 2020-02-28 派生テスト装置、派生テスト方法、および、派生テストプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020033674A JP6916327B1 (ja) 2020-02-28 2020-02-28 派生テスト装置、派生テスト方法、および、派生テストプログラム

Publications (2)

Publication Number Publication Date
JP6916327B1 JP6916327B1 (ja) 2021-08-11
JP2021135921A true JP2021135921A (ja) 2021-09-13

Family

ID=77172620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020033674A Active JP6916327B1 (ja) 2020-02-28 2020-02-28 派生テスト装置、派生テスト方法、および、派生テストプログラム

Country Status (1)

Country Link
JP (1) JP6916327B1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005115582A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd テスト・スクリプト部品の自動生成システム及び自動生成方法
JP2009163609A (ja) * 2008-01-09 2009-07-23 Fujitsu Ltd テストデータ生成用プログラム、および装置
JP2011076498A (ja) * 2009-09-30 2011-04-14 Fujitsu Ltd 検証用データ作成方法,及び、検証用データ作成プログラム
JP2011170643A (ja) * 2010-02-18 2011-09-01 Nakayo Telecommun Inc 試験方法、試験装置、およびプログラム
JP2015156076A (ja) * 2014-02-20 2015-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 生成装置、生成方法、及び、プログラム
JP2019021341A (ja) * 2018-10-11 2019-02-07 日本電気株式会社 アプリケーションテスト支援装置、そのデータ処理方法、およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005115582A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd テスト・スクリプト部品の自動生成システム及び自動生成方法
JP2009163609A (ja) * 2008-01-09 2009-07-23 Fujitsu Ltd テストデータ生成用プログラム、および装置
JP2011076498A (ja) * 2009-09-30 2011-04-14 Fujitsu Ltd 検証用データ作成方法,及び、検証用データ作成プログラム
JP2011170643A (ja) * 2010-02-18 2011-09-01 Nakayo Telecommun Inc 試験方法、試験装置、およびプログラム
JP2015156076A (ja) * 2014-02-20 2015-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 生成装置、生成方法、及び、プログラム
JP2019021341A (ja) * 2018-10-11 2019-02-07 日本電気株式会社 アプリケーションテスト支援装置、そのデータ処理方法、およびプログラム

Also Published As

Publication number Publication date
JP6916327B1 (ja) 2021-08-11

Similar Documents

Publication Publication Date Title
US9164870B2 (en) Integrated fuzzing
US8645912B2 (en) System and method for use in replaying software application events
US6735719B2 (en) Method and system for performing load testings on software applications
US20070271207A1 (en) Determining Compliance Rates for Probabilistic Requests
US9959199B2 (en) Diagnosis of test failures in software programs
US20080276129A1 (en) Software tracing
US11409623B2 (en) Integrated circuit (IC) power-up testing method and device, and electronic equipment
US9658948B2 (en) Workload mapper for potential problem areas using modules and defect data
CN115080398A (zh) 一种接口自动化测试系统及方法
CN110990274A (zh) 一种生成测试案例的数据处理方法、装置及系统
CA2811617C (en) Commit sensitive tests
US20130339798A1 (en) Methods for automated software testing and devices thereof
JP6916327B1 (ja) 派生テスト装置、派生テスト方法、および、派生テストプログラム
US7036045B2 (en) Method and system for isolating exception related errors in Java JVM
JP2013077124A (ja) ソフトウェアテストケース生成装置
CN114443375A (zh) 测试方法及装置、电子装置及计算机可读存储介质
CN114328062A (zh) 校验缓存一致性的方法、装置和存储介质
JPWO2012049816A1 (ja) モデル検査装置、方法及びプログラム
TWI766419B (zh) 測試方法及裝置、電子裝置及電腦可讀存儲介質
CN116861829B (zh) 用于定位逻辑系统设计中错误的方法、电子设备
WO2023187869A1 (ja) テスト支援装置、テスト支援方法、およびテスト支援プログラム
JP7385105B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
JP7274063B2 (ja) テストケース生成装置、テストケース生成方法及びテストケース生成プログラム
US7971164B2 (en) Assessing resources required to complete a VLSI design
CN117707982A (zh) 测试方法、装置、设备、介质和程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210513

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210715

R150 Certificate of patent or registration of utility model

Ref document number: 6916327

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150