(57)【要約】      （修正有）【課題】対象システムのテストの準備にかかる工数を低減する、テスト支援装置、テスト支援方法及びコンピュータプログラムを提供する。【解決手段】テスト支援装置１００は、対象システムの仕様が記載された仕様書から仕様項目を抽出する抽出手段１１と、対象システムのテストを行う際の観点を夫々示す複数のテスト観点を含むテスト観点データベース１５と、テスト観点データベースから、仕様項目に合致する一又は複数のテスト観点を選択する選択手段１２と、仕様項目と一又は複数のテスト観点とから、一又は複数のテストケースを生成するとともに、一又は複数のテストケースに対応する一又は複数のテストプログラム及びテストデータを生成する生成手段１３とを備える。【選択図】図１
2020098413.tif 000002
【特許請求の範囲】
【請求項１】
対象システムの仕様が記載された仕様書から仕様項目を抽出する抽出手段と、
前記対象システムのテストを行う際の観点を夫々示す複数のテスト観点を含むテスト観点データベースと、
前記テスト観点データベースから、前記抽出された仕様項目に合致する一又は複数のテスト観点を選択する選択手段と、
前記抽出された仕様項目と、前記選択された一又は複数のテスト観点とから、一又は複数のテストケースを生成するとともに、前記一又は複数のテストケースに対応する一又は複数のテストプログラム及びテストデータを生成する生成手段と、
を備えることを特徴とするテスト支援装置。
【請求項２】
前記対象システムのテストを自動で実行する一又は複数のテスト自動実行システムに夫々対応するように、前記一又は複数のテストプログラム及びテストデータに変更を加える変更手段を更に備えることを特徴とする請求項１に記載のテスト支援装置。
【請求項３】
対象システムの仕様が記載された仕様書から仕様項目を抽出する抽出工程と、
前記対象システムのテストを行う際の観点を夫々示す複数のテスト観点を含むテスト観点データベースから、前記抽出された仕様項目に合致する一又は複数のテスト観点を選択する選択工程と、
前記抽出された仕様項目と、前記選択された一又は複数のテスト観点とから、一又は複数のテストケースを生成するとともに、前記一又は複数のテストケースに対応する一又は複数のテストプログラム及びテストデータを生成する生成工程と、
を含むことを特徴とするテスト支援方法。
【請求項４】
前記対象システムのテストを自動で実行する一又は複数のテスト自動実行システムに夫々対応するように、前記一又は複数のテストプログラム及びテストデータに変更を加える変更工程を更に含むことを特徴とする請求項３に記載のテスト支援方法。
【請求項５】
コンピュータを、
対象システムの仕様が記載された仕様書から仕様項目を抽出する抽出手段と、
前記対象システムのテストを行う際の観点を夫々示す複数のテスト観点を含むテスト観点データベースから、前記抽出された仕様項目に合致する一又は複数のテスト観点を選択する選択手段と、
前記抽出された仕様項目と、前記選択された一又は複数のテスト観点とから、一又は複数のテストケースを生成するとともに、前記一又は複数のテストケースに対応する一又は複数のテストプログラム及びテストデータを生成する生成手段と、
として機能させることを特徴とするコンピュータプログラム。
【請求項６】
前記コンピュータを更に、前記対象システムのテストを自動で実行する一又は複数のテスト自動実行システムに夫々対応するように、前記一又は複数のテストプログラム及びテストデータに変更を加える変更手段として機能させることを特徴とする請求項５に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト支援装置、テスト支援方法及びコンピュータプログラムの技術分野に関する。
【背景技術】
【０００２】
この種の装置として、例えば、仕様書等の文書データからテストケースを自動的に作成する装置であって、文書データに含まれる文字列のデータを用いて、テストケースとしての新たな文を生成する装置が提案されている（特許文献１参照）。或いは、評価観点に基づいて、仕様書から抽出された仕様項目毎に設定された特性値と、該評価観点のうちいずれに重点を置くかを定義するテスト戦略とから優先的にテストを実行する仕様項目を決定してテストケースを設計する装置が提案されている（特許文献２参照）。その他、関連する先行技術文献として特許文献３乃至６が挙げられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２２７６９５号公報
【特許文献２】特開２００３−９９２８３号公報
【特許文献３】特開２００３−１０８４０５号公報
【特許文献４】特開平１１−３０６０４６号公報
【特許文献５】特開平７−２５３９０５号公報
【特許文献６】特開２０１３−２１８４９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
システム開発においては、システムの信頼性を保証するためにテスト（例えば結合テスト、総合テスト、パフォーマンステスト、運用テスト等）が行われる。テストでは、対象のシステムの機能が網羅的にテストされる必要があり、全ての機能をテストするためには膨大な工数をかけて膨大なテストケースを消化する必要がある。ここで、テストケースは、エンジニア（例えばシステム開発者、テスト担当者）の独自の経験と判断とに基づいて作成されることが多く、テストの準備にも比較的多くの時間を要するという技術的問題点がある。この問題点に対して、上述の特許文献１及び２に記載の技術が提案されている。しかしながら、特許文献１及び２に記載の技術では、テストケースは作成されるが、該テストケースを実行するためのテストプログラムやテストデータを別途用意しなければならないという技術的問題点がある。
【０００５】
本発明は、例えば上記問題点に鑑みてなされたものであり、テストの準備にかかる工数を低減することができるテスト支援装置、テスト支援方法及びコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
＜テスト支援装置＞
本発明のテスト支援装置は、上記課題を解決するために、対象システムの仕様が記載された仕様書から仕様項目を抽出する抽出手段と、前記対象システムのテストを行う際の観点を夫々示す複数のテスト観点を含むテスト観点データベースと、前記テスト観点データベースから、前記抽出された仕様項目に合致する一又は複数のテスト観点を選択する選択手段と、前記抽出された仕様項目と、前記選択された一又は複数のテスト観点とから、一又は複数のテストケースを生成するとともに、前記一又は複数のテストケースに対応する一又は複数のテストプログラム及びテストデータを生成する生成手段と、を備える。
【０００７】
抽出手段は、対象システムの仕様書から仕様項目を抽出する。仕様項目としては、例えば画面仕様に係る項目、機能仕様に係る項目、データ構造に係る項目、インフラストラクチャ構成に係る項目、等が一例として挙げられる。尚、仕様書から仕様項目を抽出する方法には、例えば形態素解析や自然言語処理等の既存の技術を適用可能であるので、その詳細な説明は省略する。また、仕様項目は、一つに限らず複数抽出されてよい。
【０００８】
「テスト観点」とは、システムが仕様書通りに（言い換えれば、正常に）動作するか否かを確認するための、例えばテスト項目、着眼点、発想方法といった、テストを行う上での「切り口」であり、テストを実施するときの操作及び手順の着眼点である。このテスト観点を適切に設定することで、システムの不具合を十分に発見することができる。
【０００９】
テスト観点としては、例えば、品質特性の指標である「機能性」、「効率性」、「信頼性」等が挙げられる。また、別のテスト観点としては、例えば、テスト対象のシステムの特性に応じて不具合が発見されやすい動作に係る指標である「同値」、「境界値」、「タイミング」、「中断」、「繰り返し」、「順序」、「例外」、「異常入力」、「矛盾設定」、「負荷」、「意地悪」等が挙げられる。
【００１０】
選択手段は、テスト観点データベースから、仕様項目に合致する一又は複数のテスト観点を選択する。ここで、仕様項目に合致するテスト観点を選択する方法としては、例えばテスト観点データベースに含まれる複数のテスト観点各々に属性を予め付与するとともに、仕様項目を属性毎に分類して、両者の属性が合致するか否かを判定する方法が一例として挙げられる。
【００１１】
生成手段は、仕様項目と、一又は複数のテスト観点とから、一又は複数のテストケースを生成する。生成手段は、概念的には、仕様項目（即ち、何ができるか、どのように振舞うか）に対して、テスト観点（即ち、何をテストするのか）を当てはめて、確認すべき項目を設定することによりテスト条件を生成する。このとき、一つの仕様項目に対して複数のテスト条件が生成される場合、生成手段は、該複数のテスト条件に基づいてパターン分けを行う。生成手段は、テスト条件及び／又はパターン分けの結果に基づいて、テストケースを生成する。
【００１２】
生成手段は更に、テストケースを実行するためのテストプログラム及びテストデータを生成する。ここで、テストケース、テストプログラム及びテストデータは相互に関連付けられている。テストプログラムは、ユーザがその内容を確認できるようにテキスト形式（即ち、ソースコード）で生成されることが望ましい。
【００１３】
当該テスト支援装置によれば、テストケース、テストプログラム及びテストデータが自動的に生成されるので、テストの準備にかかる工数を低減することができる。尚、当該テスト支援装置は、システム開発時に限らず、システム運用中の保守・改修時におけるテスト（例えばリグレッションテスト等）にも適用可能である。
【００１４】
当該テスト支援装置の一態様では、前記対象システムのテストを自動で実行する一又は複数のテスト自動実行システムに夫々対応するように、前記一又は複数のテストプログラム及びテストデータに変更を加える変更手段を更に備える。
【００１５】
テスト自動実行システムを用いて、対象システムのテストを行う場合、テスト自動実行システムで実行可能なテストプログラム及びテストデータを用意する必要がある。この態様では、変更手段により、テスト自動実行システムに対応するように、テストプログラム及びテストデータに変更が加えられる。従って、この態様によれば、比較的容易にして、テスト自動実行システムで実行可能なテストプログラム及びテストデータを用意することができる。尚、テスト自動実行システムには、例えばＳｅｌｅｎｉｕｍ、ＡｓｓｅｒｔＪ、Ｓｉｌｋ  Ｔｅｓｔ等の既存のシステムを適用可能であるので、その詳細な説明は省略する。
【００１６】
＜テスト支援方法＞
本発明のテスト支援方法は、上記課題を解決するために、対象システムの仕様が記載された仕様書から仕様項目を抽出する抽出工程と、前記対象システムのテストを行う際の観点を夫々示す複数のテスト観点を含むテスト観点データベースから、前記抽出された仕様項目に合致する一又は複数のテスト観点を選択する選択工程と、前記抽出された仕様項目と、前記選択された一又は複数のテスト観点とから、一又は複数のテストケースを生成するとともに、前記一又は複数のテストケースに対応する一又は複数のテストプログラム及びテストデータを生成する生成工程と、を含む。
【００１７】
本発明のテスト支援方法によれば、上述した本発明のテスト支援装置と同様に、テストの準備にかかる工数を低減することができる。本発明のテスト支援方法についても、上述した本発明のテスト支援装置に係る各種態様と同様の態様を採ることができる。
【００１８】
＜コンピュータプログラム＞
本発明のコンピュータプログラムは、上記課題を解決するために、コンピュータを、対象システムの仕様が記載された仕様書から仕様項目を抽出する抽出手段と、前記対象システムのテストを行う際の観点を夫々示す複数のテスト観点を含むテスト観点データベースから、前記抽出された仕様項目に合致する一又は複数のテスト観点を選択する選択手段と、前記抽出された仕様項目と、前記選択された一又は複数のテスト観点とから、一又は複数のテストケースを生成するとともに、前記一又は複数のテストケースに対応する一又は複数のテストプログラム及びテストデータを生成する生成手段と、として機能させる。
【００１９】
本発明のコンピュータプログラムによれば、当該コンピュータプログラムを格納するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ、等の記録媒体から、当該コンピュータプログラムを、コンピュータに読み込んで実行させれば、或いは、当該コンピュータプログラムを、通信手段を介してダウンロードさせた後に実行させれば、上述した本発明のテスト支援装置を比較的容易にして実現できる。これにより、上述した本発明のテスト支援装置と同様に、テストの準備にかかる工数を低減することができる。本発明のコンピュータプログラムについても、上述した本発明のテスト支援装置に係る各種態様と同様の態様を採ることができる。
【００２０】
本発明の作用及び他の利得は次に説明する実施するための形態から明らかにされる。
【図面の簡単な説明】
【００２１】
【図１】実施形態に係るテスト支援装置の構成を示すブロック図である。
【図２】実施形態に係るテスト支援装置の動作を示すフローチャートである。
【図３】実施形態に係るコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【００２２】
＜テスト支援装置＞
テスト支援装置に係る実施形態について図１及び図２を参照して説明する。
【００２３】
（構成）
実施形態に係るテスト支援装置の構成について図１を参照して説明する。図１は、実施形態に係るテスト支援装置の構成を示すブロック図である。
【００２４】
図１において、テスト支援装置１００は、抽出部１１、選択部１２、生成部１３、変更部１４及びテスト観点データベース１５（以降、適宜“テスト観点ＤＢ１５”と称する）を備えて構成されている。テスト観点ＤＢ１５には、複数のテスト観点が含まれている。
【００２５】
当該テスト支援装置１００に、テスト対象のシステムに係るシステム仕様書が入力されると、抽出部１１は、該システム仕様書から、一又は複数の仕様項目を抽出する。尚、仕様項目の抽出は、システム仕様書に対して、例えば形態素解析や自然言語処理等が施されることによって行われてよい。尚、当該テスト支援装置１００へのシステム仕様書の入力方法には、既存の各種態様を適用可能であるので、その詳細な説明は省略する。
【００２６】
選択部１２は、抽出部１１により抽出された一又は複数の仕様項目に合致する一又は複数のテスト観点を、テスト観点ＤＢ１５から選択する。このとき、選択部１２は、例えば仕様項目を属性毎に分類して、仕様項目の属性とテスト観点の属性とが合致するか否かを判定することによって、仕様項目に合致するテスト観点を選択してよい。
【００２７】
生成部１３は、抽出部１１により抽出された一又は複数の仕様項目と、選択部１２により選択されたテスト観点とから、一又は複数のテストケースを生成するとともに、該一又は複数のテストケースを実行するための一又は複数のテストプログラム及びテストデータを生成する。一のテストケースに対応するテストプログラム及びテストデータは、該一のテストケースに関連付けられている。
【００２８】
尚、生成部１３は、過去に生成されたテストケースが存在する場合、該過去に生成されたテストケースを参照してテストケースを生成してよい。同様に、生成部１３は、過去に生成されたテストプログラム及びテストデータが存在する場合、該過去に生成されたテストプログラム及びテストデータを参照して、テストプログラム及びテストデータを生成してよい。
【００２９】
変更部１４は、テスト自動実行ツール１、２、…、Ｘ各々に対応するように（言い換えれば、テスト自動実行ツール１、２、…、Ｘ各々で実行可能なように）、生成部１３により生成されたテストケース、テストプログラム及びテストデータに変更を加える。尚、テストケース等に具体的にどのような変更が加えられるかは、テスト自動実行ツールに応じて適宜設定される。
【００３０】
（動作）
次に、テスト支援装置１００の動作について、図１に加えて、図２のフローチャートを参照して説明する。
【００３１】
図２において、テスト対象のシステムに係るシステム仕様書がテスト支援装置１００に入力された後、抽出部１１は、該システム仕様書から、一又は複数の仕様項目を抽出する（ステップＳ１０１）。次に、選択部１２は、抽出部１１により抽出された一又は複数の仕様項目に合致する一又は複数のテスト観点を、テスト観点ＤＢ１５から選択する（ステップＳ１０２）。
【００３２】
次に、生成部１３は、抽出部１１により抽出された一又は複数の仕様項目と、選択部１２により選択されたテスト観点とから、一又は複数のテストケースを生成するとともに、該一又は複数のテストケースを実行するための一又は複数のテストプログラム及びテストデータを生成する（ステップＳ１０３）。
【００３３】
次に、変更部１４は、テスト自動実行ツール１、２、…、Ｘ各々に対応するように、生成部１３により生成されたテストケース、テストプログラム及びテストデータに変更を加える（ステップＳ１０４）。ステップＳ１０４の後、変更部１４により変更が加えられたテストケース等が、各テスト自動実行ツールに出力される。
【００３４】
（技術的効果）
当該テスト支援装置１００では、上述の如く、テストケースと、該テストケースを実行するためのテストプログラム及びテストデータとが自動的に生成される。当該テスト支援装置１００では更に、テスト自動実行ツールに対応するように、生成されたテストケース等に変更が加えられる。このため、当該テスト支援装置１００によれば、テストの準備にかかる工数を低減することができる。加えて、各テスト自動化ツールに対応するように変更が加えられたテストケース等を用いて、各テスト自動化ツールによりテストが実行されれば、テストの準備からテストの実行までを自動化することができるので、対象システムのテストにかかる人的負担を著しく低減することができる。
【００３５】
尚、本実施形態に係る「抽出部１１」、「選択部１２」、「生成部１３」及び「変更部１４」は、夫々、本発明に係る「抽出手段」、「選択手段」、「生成手段」及び「変更手段」の一例である。
【００３６】
＜コンピュータプログラム＞
コンピュータプログラムに係る実施形態について図３を参照して説明する。図３は、実施形態に係るコンピュータの構成を示すブロック図である。
【００３７】
図３において、コンピュータ２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２２及びＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２３を備えて構成されている。ＣＰＵ２１、ＲＡＭ２２及びＨＤＤ２３は、バス２４により相互に接続されている。ＨＤＤ２３には、テスト観点ＤＢ１５、及び、本実施形態に係るコンピュータプログラム２３１が予め格納されている。テスト対象のシステムに係るシステム仕様書２３２がコンピュータ２０に入力されると、該システム仕様書２３２は、ＨＤＤ２３に格納される。
【００３８】
コンピュータプログラム２３１によるＣＰＵ２１の処理について説明する。ＣＰＵ２１は、先ず、ＨＤＤ２３に格納されたシステム仕様書２３２を呼び出して、該システム仕様書２３２から、一又は複数の仕様項目を抽出する。
【００３９】
次に、ＣＰＵ２１は、ＨＤＤ２３に格納されたテスト観点ＤＢ１５を呼び出して、該テスト観点ＤＢ１５に含まれる複数のテスト観点のうち、上記抽出された一又は複数の仕様項目に合致する一又は複数のテスト観点を選択する。
【００４０】
次に、ＣＰＵ２１は、上記抽出された一又は複数の仕様項目と、上記選択された一又は複数のテスト観点とから、一又は複数のテストケースを生成するとともに、該一又は複数のテストケースを実行するための一又は複数のテストプログラム及びテストデータを生成する。ＣＰＵ２１は、生成された一又は複数のテストケース等をＨＤＤ２３に保存する。
【００４１】
次に、ＣＰＵ２１は、各テスト自動実行ツール（図示せず）に対応するように、テストケース、テストプログラム及びテストデータに変更を加える。ＣＰＵ２１は、変更が加えられたテストケース等をＨＤＤ２３に保存する。尚、テスト自動実行ツールが、当該コンピュータ２０とは異なる他のコンピュータにおいて実行される場合、ＣＰＵ２１は、変更が加えられたテストケース等をＨＤＤ２３に保存することに代えて又は加えて、他のコンピュータに送信してもよい。
【００４２】
（技術的効果）
コンピュータプログラム２３１によれば、上述したテスト支援装置１００と同様に、テストの準備にかかる工数を低減することができる。つまり、コンピュータプログラム２３１によれば、上述したテスト支援装置１００を比較的容易に実現することができる。
【００４３】
本発明は、上述した実施形態に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴うテスト支援装置、テスト支援方法及びコンピュータプログラムもまた本発明の技術的範囲に含まれるものである。
【符号の説明】
【００４４】
１１…抽出部、１２…選択部、１３…生成部、１４…変更部、１５…テスト観点データベース、２０…コンピュータ、２１…ＣＰＵ、２２…ＲＡＭ、２３…ＨＤＤ、２４…バス、１００…テスト支援装置、２３１…コンピュータプログラム
【図１】
2020098413.tif 000003
【図２】
2020098413.tif 000004
【図３】
2020098413.tif 000005