(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023161741
(43)【公開日】2023-11-08
(54)【発明の名称】テスト支援プログラム、テスト支援装置、ならびに、テスト支援方法
(51)【国際特許分類】
G06F 11/36 20060101AFI20231031BHJP
【FI】
G06F11/36 184
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022072264
(22)【出願日】2022-04-26
(11)【特許番号】
(45)【特許公報発行日】2022-06-29
(71)【出願人】
【識別番号】521481669
【氏名又は名称】GC株式会社
(74)【代理人】
【識別番号】100110135
【弁理士】
【氏名又は名称】石井 裕一郎
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100148633
【弁理士】
【氏名又は名称】桜田 圭
(74)【代理人】
【識別番号】100163452
【弁理士】
【氏名又は名称】南郷 邦臣
(74)【代理人】
【識別番号】100180312
【弁理士】
【氏名又は名称】早川 牧子
(72)【発明者】
【氏名】渡辺 泰治
(72)【発明者】
【氏名】田中 放
(72)【発明者】
【氏名】芦名 雲人
(72)【発明者】
【氏名】藤山 知子
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA12
5B042HH19
5B042NN09
5B042NN14
5B042NN23
(57)【要約】
【課題】ウェブサーバが公開するウェブサイトに対するテストの決定を支援する。
【解決手段】テスト支援装置101において、表示部102は、画面に、複数のページのそれぞれを表す複数のノードと、複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する。識別部103は、表示されたサイトマップに対する指示入力に基づいて、複数のページと、複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する。特定部104は、識別された対象ページに対応付けられるテストケース、および、識別された対象遷移に対応付けられるテストシナリオを、ウェブサーバにて実行されるべき対象テストとして特定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ウェブサーバが公開する複数のページを含むウェブサイトに対して実行されるべきテストであって、
(a)前記複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース、および、
(b)前記複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ
を含むテストを決定するための支援をするテスト支援プログラムであって、前記テスト支援プログラムは、テスト支援コンピュータを、
画面に、前記複数のページのそれぞれを表す複数のノードと、前記複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する表示部、
前記表示されたサイトマップに対する指示入力に基づいて、前記複数のページと、前記複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する識別部、
前記識別された対象ページに対応付けられるテストケース、および、前記識別された対象遷移に対応付けられるテストシナリオを、前記ウェブサーバにて実行されるべき対象テストとして特定する特定部
として機能させることを特徴とするテスト支援プログラム。
【請求項2】
前記表示部は、前記画面に表示されるサイトマップのうち、前記識別された対象ページに係るノードと、前記識別された対象遷移に係るエッジと、を含むテストマップを強調表示する
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項3】
前記指示入力は、前記画面の領域を指定する指示入力であり、
前記指定された領域に含まれるノードおよびエッジが表すページおよび遷移が、前記対象ページおよび前記対象遷移として識別される
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項4】
前記指示入力は、前記ノードからいずれか2つを指定する指示入力であり、
前記識別部は、
前記指定された2つのノードに係る2つの端ページの一方から他方へ至る1以上の遷移経路から対象経路を識別し、
前記2つの端ページと、前記識別された対象経路において通過される途中ページと、を、前記対象ページとして識別し、
前記識別された対象経路に含まれる遷移が、前記対象遷移として識別される
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項5】
前記識別部は、前記ウェブサイトに対するアクセス履歴における遷移数に基づいて、前記1以上の遷移経路から前記対象経路を識別する
ことを特徴とする請求項4に記載のテスト支援プログラム。
【請求項6】
前記対象テストは、あらかじめ優先度が定められて用意された候補テストから特定され、
前記テスト支援コンピュータは、前記特定された対象テストを、当該対象テストのそれぞれの優先度に基づいて提案する
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項7】
前記優先度は、前記候補テストのそれぞれが過去に失敗した履歴に基づいて決定される
ことを特徴とする請求項6に記載のテスト支援プログラム。
【請求項8】
前記テストケースの優先度は、前記ウェブサイトに対するアクセス履歴において当該テストケースに対応付けられたページがアクセスされた頻度に基づいて定められ、
前記テストシナリオの優先度は、前記ウェブサイトに対するアクセス履歴において当該テストシナリオに対応付けられた遷移がなされた頻度に基づいて定められる
ことを特徴とする請求項6に記載のテスト支援プログラム。
【請求項9】
前記テストケースの優先度は、当該テストケースに対応付けられたページが更改の対象となっているか否かに基づいて定められ、
前記テストシナリオの優先度は、当該テストシナリオに対応付けられた遷移が更改の対象となっているか否かに基づいて定められる
ことを特徴とする請求項6に記載のテスト支援プログラム。
【請求項10】
前記対象テストは、前記識別された対象ページと、前記識別された対象遷移と、に基づいて生成され、
前記対象テストのそれぞれの優先度は、既定値により、もしくは、前記表示されたサイトマップに対する指示入力に基づいて定められ、
前記テスト支援コンピュータは、前記特定された対象テストを、当該対象テストの優先度に基づいて提案する
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項11】
前記テスト支援コンピュータは、
前記テストケースに対応付けられるページに含まれる複数の要素の各要素に付与された属性に基づいて、テンプレートを生成もしくは選定し、
前記生成もしくは選定されたテンプレートに補充すべき値を指定する指示入力に基づいて、前記テストケースを生成する
ことを特徴とする請求項10に記載のテスト支援プログラム。
【請求項12】
前記テスト支援コンピュータは、
前記対象遷移に際して通過したページに含まれる複数の要素の各要素に付与された属性に基づいて、テンプレートを生成もしくは選定し、
前記生成もしくは選定されたテンプレートに補充すべき値を指定する指示入力に基づいて、前記テストシナリオを生成する
ことを特徴とする請求項10に記載のテスト支援プログラム。
【請求項13】
前記対象遷移が、第1ページから0個以上のページを経由して第2ページへ至る遷移であり、
前記第1ページにおける入力欄に第1値が入力され、
前記第2ページにおける出力欄に前記入力された第1値が含まれていれば、
前記第2ページにおける前記出力欄には、前記第1ページにおける前記入力欄に入力された入力値が出力されるべき旨を、当該テンプレートにおける初期設定とする
ことを特徴とする請求項12に記載のテスト支援プログラム。
【請求項14】
前記対象遷移が、第1ページから0個以上のページを経由して第2ページへ至る遷移であり、
前記第1ページにおける入力欄に第1値が入力され、
前記第2ページにおける出力欄に前記入力された第1値にあらかじめ対応付けられた第2値が含まれていれば、
前記第2ページにおける前記出力欄には、前記第1ページにおける前記入力欄に入力された入力値にあらかじめ対応付けられた対応値が出力されるべき旨を、当該テンプレートにおける初期設定とする
ことを特徴とする請求項12に記載のテスト支援プログラム。
【請求項15】
前記表示されたサイトマップにおいてノードもしくはエッジを選択する指示入力があると、前記選択されたノードもしくはエッジにより表される対象ページもしくは対象遷移に対応付けられるテストケースもしくはテストシナリオの優先度を前記既定値より高くする
ことを特徴とする請求項10に記載のテスト支援プログラム。
【請求項16】
前記サイトマップは、前記ウェブサイトの起点ページから、ページに含まれるリンクを辿って他のページへ遷移をすることを繰り返すことによって生成される
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項17】
前記ウェブサーバと、前記テスト支援コンピュータと、のいずれか少なくとも一方は、クラウドサービスにより実現され、もしくは、
前記ウェブサーバと、前記テスト支援コンピュータとは、1つのサーバコンピュータにより実現される
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項18】
ウェブサーバが公開する複数のページを含むウェブサイトに対して実行されるべきテストであって、
(a)前記複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース、および、
(b)前記複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ
を含むテストを決定するための支援をするテスト支援装置であって、
画面に、前記複数のページのそれぞれを表す複数のノードと、前記複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する表示部、
前記表示されたサイトマップに対する指示入力に基づいて、前記複数のページと、前記複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する識別部、
前記識別された対象ページに対応付けられるテストケース、および、前記識別された対象遷移に対応付けられるテストシナリオを、前記ウェブサーバにて実行されるべき対象テストとして特定する特定部
を備えることを特徴とするテスト支援装置。
【請求項19】
ウェブサーバが公開する複数のページを含むウェブサイトに対して実行されるべきテストであって、
(a)前記複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース、および、
(b)前記複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ
を含むテストを決定するための支援をするテスト支援装置が、
画面に、前記複数のページのそれぞれを表す複数のノードと、前記複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する表示工程、
前記表示されたサイトマップに対する指示入力に基づいて、前記複数のページと、前記複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する識別工程、
前記識別された対象ページに対応付けられるテストケース、および、前記識別された対象遷移に対応付けられるテストシナリオを、前記ウェブサーバにて実行されるべき対象テストとして特定する特定工程
を実行することを特徴とするテスト支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ウェブサーバが公開するウェブサイトに対して実行されるべきテストの決定を支援するためのテスト支援プログラム、テスト支援装置、ならびに、テスト支援方法に関する。
【背景技術】
【0002】
ウェブサーバが公開するウェブサイトに含まれる複数のページ間における遷移の可能性については、サイトマップにより図示をする技術が利用されている。
【0003】
特許文献1では、ウェブサイトに含まれるページを階層的に構成し、当該階層関係を表示する技術が開示されている。
【0004】
一方で、高い品質で適切なサービスを提供するウェブサイトを運営するためには、ウェブサイトに対するテストを実行する必要があるが、テストの実行にはコストがかかる。
【0005】
特許文献2では、リグレッションテストの際に、プログラムのテストデータをリファクタリングして重複するものを統合して、新たなテストデータを生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特表2011-522343号公報
【特許文献2】特開2015-035185号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記のように、ウェブサイトのテストには時間、労力、費用を要する。
【0008】
したがって、ウェブサイトの運営者等がサイトの提供前、あるいは、更改前に完遂すべきテストを決定できるようにするため、所望のページや遷移にて実行されるテストを、サイトに対して実行されうる多数のテストの中から特定する支援をウェブサイトの運営者等が受けられるようにしたい、との要望は強い。
【0009】
本発明は、上記の課題を解決するもので、ウェブサーバが公開するウェブサイトに対するテストの決定を支援するためのテスト支援プログラム、テスト支援装置、ならびに、テスト支援方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明に係るテスト支援プログラムを実行するテスト支援コンピュータ、ならびに、本発明に係るテスト支援装置は、ウェブサーバが公開する複数のページを含むウェブサイトに対して実行されるべきテストであって、
(a)前記複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース、および、
(b)前記複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ
を含むテストを決定するための支援をするため、
画面に、前記複数のページのそれぞれを表す複数のノードと、前記複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示し、
前記表示されたサイトマップに対する指示入力に基づいて、前記複数のページと、前記複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別し、
前記識別された対象ページに対応付けられるテストケース、および、前記識別された対象遷移に対応付けられるテストシナリオを、前記ウェブサーバにて実行されるべき対象テストとして特定する。
【発明の効果】
【0011】
本発明によれば、ウェブサーバが公開するウェブサイトに対するテストの決定を支援するためのテスト支援プログラム、テスト支援装置、ならびに、テスト支援方法を提供することができる。
【図面の簡単な説明】
【0012】
【
図1】本実施形態に係るテスト支援装置が動作する環境の一例を示す説明図である。
【
図2】本実施形態に係るテスト支援装置の構成を示す説明図である。
【
図5】テスト支援装置に対して領域指定したときの画面の表示例である。
【
図6】テスト支援装置に対して2つのノードを指定したときの画面の表示例である。
【
図7】テスト支援装置が実行する処理の制御の流れを示すフローチャートである。
【発明を実施するための形態】
【0013】
以下に、本発明の実施形態を説明する。なお、本実施形態は、説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であれば、本実施形態の各要素もしくは全要素を、これと均等なものに置換した実施形態を採用することが可能である。また、各実施例にて説明する要素は、用途に応じて適宜省略することも可能である。このように、本発明の原理にしたがって構成された実施形態は、いずれも本発明の範囲に含まれる。
【0014】
(環境)
図1は、本実施形態に係るテスト支援装置が動作する環境の一例を示す説明図である。以下、本図を参照して説明する。なお、本図に示す例では、インターネット等のコンピュータ通信網は図示を省略し、各要素が通信する経路を示している。
【0015】
本例では、ウェブサーバ21は、テストの対象となるウェブサイトを公開している。一般ユーザの閲覧端末31は、インターネット等を介してウェブサーバ21にアクセスし、ウェブサイトが提供するコンテンツを閲覧したり、種々のサービスを受けることができる。
【0016】
本図では、テスト支援装置101は、インターネットやLAN(Local Area Network)等を介して、ウェブサーバ21に直接アクセスする通信経路が示されている。
【0017】
テスト実行者は、パーソナルコンピュータ等のテスト端末131からテスト支援装置101をブラウザ経由で制御する。すなわち、本図に示す例では、テスト支援装置101は、テスト環境を実現するウェブサービスを提供している。
【0018】
本例のほか、ウェブサーバ21やテスト支援装置101は、クラウド上に実現することが可能である。また、ウェブサーバ21とテスト支援装置101を、一つのコンピュータ上に実装することも可能である。このほか、テスト端末131とテスト支援装置101を一つのコンピュータ上に実装することも可能である。
【0019】
ウェブサーバ21における実際のテストは、テスト端末131や閲覧端末31からウェブサーバ21に対してアクセスすることによって実行しても良いし、テスト支援装置101を介して実行をしても良い。
【0020】
テスト支援装置101により生成された対象テストは、テスト端末131や閲覧端末31からウェブサーバ21にアクセスした上で、手作業で実行することもできるし、テスト実行モジュールをインストールしたテスト端末131から、半自動もしくは全自動で実行することもできる。
【0021】
このほか、ウェブサーバ21にて公開されている情報の収集(ウェブサイトの各ページのクロール等。)は、テスト端末131からウェブサーバ21に対してアクセスする収集モジュールを利用することで行うこととしても良い。この態様では、テスト端末131にて収集された情報は、テスト端末131からテスト支援装置101へ伝達される。この態様では、ウェブサーバ21とテスト支援装置101は直接の通信をしなくとも良い。テスト端末131にてウェブサイトの各ページをクロールしてテスト支援装置101ヘ伝達する作業は、テスト端末131にインストールされた情報収集モジュールにより、半自動もしくは全自動で実行することもできる。
【0022】
(テスト支援装置)
図2は、本実施形態に係るテスト支援装置の構成を示す説明図である。以下、本図を参照して説明する。
【0023】
本図に示すように、テスト支援装置101は、表示部102、識別部103、特定部104を備える。
【0024】
テスト支援装置101の各部は、典型的には、プログラムを実行するコンピュータ(テスト支援コンピュータ)によって実現される。当該コンピュータは、各種の出力装置や入力装置に接続され、これらの機器と情報を送受する。
【0025】
当該コンピュータにて実行されるプログラム(テスト支援プログラム)は、当該コンピュータが通信可能に接続されたサーバにより配布、販売することができるほか、CD-ROM(Compact Disk Read Only Memory)やフラッシュメモリ、EEPROM(Electrically Erasable Programmable ROM)などの非一時的(non-transitory)な情報記録媒体に記録した上で、当該情報記録媒体を配布、販売等することも可能である。
【0026】
プログラムは、コンピュータが有するハードディスク、ソリッドステートドライブ、フラッシュメモリ、EEPROM等などの非一時的な情報記録媒体にインストールされる。すると、当該コンピュータにより、本実施形態におけるテスト支援装置101が実現されることになる。一般的には、コンピュータのCPU(Central Processing Unit)あるいはプロセッサは、コンピュータのOS(Operating System)による管理の下、情報記録媒体からRAM(Random Access Memory)へプログラムを読み出してから、当該プログラムに含まれるコードを解釈、実行する。ただし、CPU等がアクセス可能なメモリ空間内に情報記録媒体をマッピングできるようなアーキテクチャでは、RAMへの明示的なプログラムのロードは不要なこともある。なお、プログラムの実行の過程で必要とされる各種情報は、RAM内に一時的(temporarily)に記録しておくことができる。
【0027】
なお、汎用のコンピュータにより本実施形態のテスト支援装置101を実現するのではなく、専用の電子回路を用いて本実施形態のテスト支援装置101を構成することも可能である。この態様では、プログラムを電子回路の配線図やタイミングチャート等を生成するための素材として利用することもできる。このような態様では、プログラムに定められる仕様を満たすような電子回路がFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)により構成され、当該電子回路は、当該プログラムに定められた機能を果たす専用機器として機能して、本実施形態のテスト支援装置101を実現する。
【0028】
以下では、理解を容易にするため、テスト支援装置101は、テスト支援コンピュータのCPU等がテスト支援プログラムを実行することによって実現される態様を想定して説明する。
【0029】
なお、テスト支援装置101は、テストの対象となるウェブサイトを公開するウェブサーバ21とは異なるコンピュータにより実現しても良いし、当該ウェブサーバ21と同一のコンピュータにより実現しても良い。
【0030】
本実施例で想定するテストは、ウェブサーバ21によって公開されるウェブサイトに対して実行されるべきテストである。ここで、ウェブサイトは、複数のページを含み、テストには、以下の2種類を含む。
【0031】
(a)当該複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース。すなわち、テストケースは、あるページA内にて完結するようなテストを意味する。
【0032】
(b)当該複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ。なお、ページA →(遷移X)→ ページB →(遷移Y)→ ページC →(遷移Z)→ ページDのように遷移を順に行う際に実行されるテストシナリオは、3つの遷移X, Y, Zのそれぞれに対応付けられることとしても良いし、1つの遷移列「X, Y, Z」に対応付けられることとしても良い。
【0033】
本実施形態に係るテスト支援装置101は、ウェブサイトに対して実行しうる多数のテストの中から、ウェブサイトの運営者等が望むページや遷移に関連するテストケースやテストシナリオを対象テストとして特定することで、運営者等がウェブサイトの公開前あるいは更改前に完遂すべきテストを決定できるようにするための支援を行う。
【0034】
さて、上記の通り、テスト支援装置101は、表示部102、識別部103、特定部104を備える。
【0035】
ここで、表示部102は、画面に、複数のページのそれぞれを表す複数のノードと、複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する。
【0036】
図3は、サイトマップの例を示す説明図である。以下、本図を参照して説明する。
【0037】
本図に示すサイトマップ201では、ウェブサイトの各ページは、長方形で表されたノード202によって表現される。また、あるページから別のページへの遷移は、当該あるページを表現するノード202から当該別のページを表現する他のノード202へ向かう矢印で表されたエッジ203によって表現される。
【0038】
本図では、ノード202内には、当該ノード202により表現されるページを識別するための名称として、大文字の英字1文字が付されている。
【0039】
また、エッジ203の近傍には、当該エッジ203に対応する遷移を識別するための名称として、小文字の英字1文字が付されている。
【0040】
本実施形態で利用するサイトマップは、ウェブサイトの仕様を設計する段階で作成したものを利用することができる。また、一旦完成したウェブサイトをクロールすることによってサイトマップを生成することも可能である。
【0041】
クロールをする場合、ウェブサイトの起点ページから、ページに含まれるリンクを辿って他のページへ遷移をすることを繰り返して、どのページからどのページへの遷移があるのかを探索することとなる。
【0042】
このとき、エッジの巡回が生じないようにすると、サイトマップは階層的な木構造によって表現され、人間にとって理解しやすい形状となる。
【0043】
そこで、以下のような対策をとることで、人間が理解しやすいサイトマップを生成することができる。
【0044】
まず、ページAからページBへの遷移Pが見つかった後、ページBからページAへ戻る遷移Qについては、探索結果には含めないこととする。
【0045】
また、クロールされた複数のページに共通して含まれるナビゲーション要素(メニューバー、メニューリスト、スプリングボード、ドロワー、タブ、カルーセル、ドロップダウンなど、種々の形状や体裁で提供される。)については、一旦そのナビゲーション要素を介した探索がされた後は、他のページに同じ当該ナビゲーション要素が含まれていたとしても、そのナビゲーション要素はないものとして扱い、これを介した探索はしないこととする。
【0046】
このほか、ウェブサイトがすでに公開されており、アクセス履歴が収集されている状況では、以下のような対策によって、巡回を除くことができる。まず、ページ間の遷移を収集する。そして、遷移に巡回がある間、実際に利用された頻度が最も少ない遷移を除去することを繰り返す。これによって、巡回のないサイトマップを得ることができる。
【0047】
さて、ユーザによるログインやサインインが必要なウェブサイトにおいては、テストを行うためのテストアカウントを用意する。テストアカウントには、テスト用のユーザIDやパスワードが割り当てられる。ユーザIDやパスワードは、ウェブサイトを利用するために、ウェブサーバ21に対して入力する必要がある入力情報の例である。
【0048】
さらに、当該テストアカウントについて、種々のダミーのデータの記録を用意する。これらの記録は、当該テストアカウントについてウェブサイトから出力される出力情報として利用される。
【0049】
たとえば、当該ウェブサイトが電子市場サイトである場合、出力情報としては、当該ユーザの住所、氏名、電話番号、現在所有しているポイント数、過去の購入履歴などが考えられる。
【0050】
さて、当該ウェブサイトに対して適用可能なテストが多数ある場合には、その一部のみを抽出したいことがある。ここで抽出される一部のテストを、本実施形態では対象テストと呼ぶ。識別部103と特定部104は、対象テストの特定を行う機能を果たす。
【0051】
すなわち、識別部103は、表示されたサイトマップに対する指示入力に基づいて、複数のページと、複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する。
【0052】
ここで、表示部102は、画面に表示されるサイトマップ201のうち、識別された対象ページに係るノード202と、識別された対象遷移に係るエッジ203と、を含むテストマップを強調表示することとしても良い。
【0053】
テストマップは、サイトマップの一部に相当するもので、適用したい対象テストを選び出すための範囲を表すものである。
【0054】
そして、特定部104は、識別された対象ページに対応付けられるテストケース、および、識別された対象遷移に対応付けられるテストシナリオを、ウェブサーバ21にて実行されるべき対象テストとして特定する。
【0055】
以下では、サイトマップに対する指示入力の態様を説明する。
【0056】
本実施形態では、使用者は、テスト支援装置101を構成するテスト支援コンピュータ、もしくは、これとインターネット等を介して通信可能に接続されたテスト端末131のブラウザを用いて、テスト支援装置101を利用する。
【0057】
ブラウザからテスト支援装置101にアクセスし、所望のウェブサイトを指定すると、そのウェブサイトのサイトマップがブラウザ内の画面に表示される。
図4は、テスト支援装置による画面の表示例である。
【0058】
本図に示す表示例では、画面301のマップ表示領域302内に、所望のウェブサイトのサイトマップ201(理解を容易にするため、図では符号は省略している。以下同様。)が表示されている。使用者が、マップ表示領域302においてサイトマップ201に対する指示入力をした後に、特定ボタン303をクリックすると、対象テストの特定が行われる。また、クリアボタン304をクリックすると、サイトマップ201における種々の選択が解除され、最初からやり直しになる。
【0059】
さて、サイトマップ201に対する指示入力としては、画面の領域を指定する手法が考えられる。
図5は、テスト支援装置に対して領域指定したときの画面の表示例である。以下、本図を参照して説明する。
【0060】
本図では、画面301に表示されたサイトマップ201に対して、マウスのボタンをクリックしたままマウスの位置を移動することで、矩形の領域311が指定されている。
【0061】
そして、指定された矩形の領域311に含まれるノード202(理解を容易にするため、図では符号は省略している。以下同様。)およびエッジ203(理解を容易にするため、図では符号は省略している。以下同様。)が表すページA, C, D, E, Bおよび遷移x, y, z, p, qが、対象ページおよび対象遷移として識別されることになる。
【0062】
また、本図では、指定された矩形の領域311に含まれるノード202およびエッジ203が太線で強調表示され、背景色が変化している(本図では、横線の網かけにより表現している)。すなわち、この太線表示や背景色の変化により強調された部分が、テストマップに相当する。
【0063】
次に、指示入力として、2つのノードを指定する手法が考えられる。
図6は、テスト支援装置に対して2つのノードを指定したときの画面の表示例である。
【0064】
本図では、画面301に表示されたサイトマップ201中で、2つのページA, Bをそれぞれ表す2つのノード202を、マウスで指しながらクリックして指定している。ここで指定された2つのノードに係るページを、端ページと呼ぶ。本図では、端ページに係るノード202は、背景色が変化している(本図では、縦線の網かけにより表現している)。
【0065】
本図に示すサイトマップ201では、ページAに係るノード202からページBに係るノード202に至るパスには、以下の2つがある。
(1) A →x→ C →y→ D →z→ B
(2) A →p→ E →q→ B
【0066】
本手法では、一方の端ノードから直接他方の端ノードに遷移する場合のみならず、他のノード(途中ノード)を経由して遷移する場合には、その途中ノードも、テストマップに含めるようにする。
【0067】
領域指定では、指定された領域内のノードからテストマップを作るのに対し、2つの端ノード指定では、2つの端ノードと、指定された端ノードの一方から他方へ遷移する際に通過する途中ノードと、から、テストマップを作る。
【0068】
本図に示す例では、識別部103は、最も単純には、上記2つのパスに相当する遷移経路、すなわち、2つの端ページA, Bを結ぶ2つの遷移経路「X, Y, Z」「P, Q」が、そのまま対象経路として識別されている。
【0069】
このため、本図では、ユーザが指定した2つのノード202(ページA, Bを表現している。)と、これらを結ぶパスにおけるノード202(ページC, D, Eを表現している)と、これらのパスに含まれるエッジ203(遷移x, y, z, p, qを表現している)と、が、テストマップとして、太線で強調表示されている。
【0070】
本例では、端ノードに対するページA, Bと、途中ノードに対するページC, D, Eの、合計5つの対象ページが識別されている。
【0071】
また、本図では、上記2つのパスに含まれる5つのエッジに係る遷移x, y, z, p, qが、対象遷移として識別されている。
【0072】
対象遷移は、個別に5個の遷移x, y, z, p, qと考えることもできる。これらの対象遷移に基づいて対象テストとして特定されるテストシナリオは、遷移x, y, z, p, qのいずれかに対応付けられるもの、すなわち、テストシナリオを実行するための遷移列の一部または全部として、遷移x, y, z, p, qのいずれかを利用するものになる。
【0073】
また、遷移経路の部分列「x, y, z」「x, y」「y, z」「x」「y」「z」「p, q」「p」「q」を対象遷移とすることもできる。この場合、テストシナリオを実行するための遷移列として、「x, y, z」「x, y」「y, z」「x」「y」「z」「p, q」「p」「q」に一致するものを、対象テストとして特定することができる。
【0074】
なお、指定された領域に含まれるノードやエッジ、あるいは、指定された2つのノードの一方から他方に至るパスにおいて途中で通過するノードや当該パスに含まれるエッジに係るページや遷移のすべてを対象ページや対象遷移とするのではなく、その一部を対象ページや対象遷移として識別することとしても良い。
【0075】
たとえば、識別部103は、ウェブサイトに対するアクセス履歴における遷移数に基づいて、1以上の遷移経路から対象経路を識別することとしても良い。
【0076】
すなわち、所定の閾値以上の頻度で利用されていることを対象遷移として識別する条件とし、選択された対象遷移の始点もしくは終点となるページを対象ページとして識別することができる。
【0077】
本実施例では、画面301に表示されたサイトマップ201に対する領域指定の指示入力やノード指定の指示入力をすると、選択された領域内のノード、あるいは、指定された複数のノードに応じて、対象ページと対象遷移が識別され、これらに対応付けられるノードとエッジからなるテストマップが、サイトマップ201内で強調表示される。
【0078】
この後、特定ボタン303をクリックすると、識別された対象ページや対象遷移に基づいて、対象テストの特定の処理が実行され、特定された対象テストがテスト支援装置101から出力される。
【0079】
テストの出力は、画面301内に別途用意されたテスト表示領域(図示せず。)に対して行うこととしても良いし、画面301から別のテスト表示・編集用フォームに遷移することとしても良いし、所望の形式のファイルとしてダウンロードされることとしても良い。
【0080】
対象テストは、あらかじめ用意された候補テストから条件が合うものを選び出すことによって特定されることとしても良いし、識別された対象ページや対象遷移に基づいて生成することによって特定されることとしても良い。
【0081】
各テストに優先度を定めておくこともできる。この場合は、優先度に基づいて、たとえば、優先度が高い順に対象テストを並べて提案することで、期間やコストに制限がある場合に、適切な順序で対象テストを実行することが可能となる。
【0082】
テストの優先度は、たとえば、候補テストのそれぞれが過去に失敗した履歴に基づいて決定することができる。すなわち、過去の開発時に失敗したことがある候補テストについては、優先度を上げる等である。
【0083】
このほか、ウェブサイトに対するアクセス履歴を精査し、ページがアクセスされた頻度に基づいて、当該ページが対応付けられるテストケースの優先度を定めたり、遷移がなされた頻度に基づいて、当該遷移が対応付けられるテストシナリオの優先度を定めることも可能である。
【0084】
たとえばウェブサイトがサービスインした後、ウェブサイトを更改しようとするときには、よく利用されているページや遷移に係るテストの優先度を上げることで、ユーザが不具合等に出会う可能性を下げることができる。
【0085】
また、ウェブサイトの更改時には、ページが更改の対象となっているか否かに基づいて、当該ページが対応付けられるテストケースの優先度を定めたり、遷移が更改の対象となっているか否かに基づいて、当該遷移が対応付けられるテストシナリオの優先度を定めることも可能である。
【0086】
更改の対象となっているページや遷移にかかるテストは、優先して実行すべきだからである。
【0087】
上記のように、対象テストは、識別された対象ページと、識別された対象遷移と、に基づいて、自動的あるいは半自動で生成することもできる。
【0088】
生成される対象テストの優先度は、既定値をそのまま使用しても良い。
【0089】
また、生成される対象テストやあらかじめ用意された候補テストの優先度については、画面301に表示されたサイトマップに対してされた指示入力に基づいて定めることとしても良い。
【0090】
たとえば、表示されたサイトマップにおいてノードもしくはエッジを選択する選択指示入力があると、選択されたノードもしくはエッジにより表される対象ページもしくは対象遷移に対応付けられるテストケースもしくはテストシナリオの優先度を既定値より高くする。
【0091】
これにより、所望のページや遷移の優先度を上げて対象テストの提案をさせることができるようになる。
【0092】
テストケースの生成は、以下の手法を採用することができる。すなわち、テスト支援装置101は、テストケースに対応付けられるページに含まれる複数の要素の各要素に付与された属性に基づいて、テンプレートを生成もしくは選定する。
【0093】
たとえば、type属性としてtextが指定されて、name属性としてuseridが指定され、size属性やmaxlength属性の数値が指定されたinputタグは、長さに制限があるユーザIDが入力されるものと考えられるので、ユーザIDの長さ制限に応じたテストケースのテンプレートが使われる。
【0094】
そして、このテンプレートに補充すべき値を指定する補充値指示入力に基づいて、テストケースが生成される。
【0095】
テストシナリオの生成は、以下の手法を採用することができる。すなわち、テスト支援装置101は、対象遷移に際して通過したページに含まれる複数の要素の各要素に付与された属性に基づいて、テンプレートを生成もしくは選定し、生成もしくは選定されたテンプレートに補充すべき値を指定する値指示入力に基づいて、テストケースを生成する。
【0096】
たとえば、サイトマップ生成のために、ウェブサーバ21へログインするためにユーザ名とパスワードを入力してから、ウェブサイトをクロールする例を考える。
【0097】
ユーザ名とパスワードをログインページ(第1ページ)にて入力し、ログインに成功すると、ユーザは、当該ユーザに関するサイト内のさまざまなページに遷移して、種々のコンテンツを閲覧できるようになる。
【0098】
このような各ページ内にて、ログインの際に使用したユーザ名と同じ文字列が、各ページに表示されることがある。このような場合には、「ログインページ(第1ページ)にてユーザ名の入力欄に入力した値」が、ログイン成功以降に訪問した各ページ(第2ページ)における「出力欄」に出力されていることになる。
【0099】
そこで、クロールされた情報に基づいて、テストシナリオのテンプレートの初期設定として、「対象遷移の第1ページの入力欄にて入力された入力値が、その後に遷移した第2ページの出力欄に出力される出力値となる」旨が半自動で推定される。
【0100】
このほか、ウェブサイトが電子市場サービス等を提供している場合には、ログインページの後の遷移先にて、そのユーザが所有するポイントの残高が表示されるページに至ることがある。
【0101】
このポイント残高は、「対象遷移の第1ページの入力欄にて入力された入力値」(第1値)であるユーザ名にあらかじめ対応付けられた値(第2値)と考えることができる。
【0102】
このような場合には、テストシナリオのテンプレートの初期設定として、「対象遷移の第1ページの入力欄にて入力された入力値(ユーザ名)にあらかじめ対応付けられた対応値(ポイント残高)が、その後に遷移した第2ページの出力欄に出力される出力値となる」旨が半自動で推定される。
【0103】
このようにして半自動で推定された第1ページの入力欄と第2ページの出力欄との関係に基づくテストシナリオのテンプレートの採否は、テスト実行者に委ねることができるほか、テスト実行者がテンプレートを適宜修正することで、テストシナリオを作成したり編集したりする手間を減らすことができる。
【0104】
(処理の流れ)
図7は、テスト支援装置が実行する処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0105】
本実施形態では、使用者がブラウザを介してテスト支援装置101にアクセスし、テスト支援処理が開始されると、テスト支援装置101は、まず、ウェブサイトの特定等の初期化を実施する(ステップS500)。
【0106】
ついで、テスト支援装置101は、ノード202を記憶するための配列等の記憶領域をクリアする(ステップS501)。この記憶領域には、テストマップに含まれるべきノード202に関する情報が記憶される。
【0107】
その後、テスト支援装置101は、ブラウザを介して、画面301のマップ表示領域302内にサイトマップ201を表示する(ステップS502)。
【0108】
そして、テスト支援装置101は、ユーザからの指示入力を受け付ける(ステップS503)。
【0109】
受け付けられた指示入力が、領域を指定する指示入力であれば(ステップS503;領域選択)、テスト支援装置101は、サイトマップ201のうち、指定された領域に含まれるノード202を同定する(ステップS504)。
【0110】
そして、テスト支援装置101は、同定されたノード202のうち、記憶領域に記憶されていないものを記憶領域に追加して(ステップS505)、ステップS511へ進む。
【0111】
一方、受け付けられた指示入力が、サイトマップ201内のノード202を指定する指示入力であり(ステップS503;ノード)、当該指定されたノード202が記憶領域に記憶されていなければ(ステップS506;No)、テスト支援装置101は、指定されたノード202を記憶領域に追加して(ステップS507)、制御をステップS511へ進める。
【0112】
さて、記憶領域にノード202が追加されると(ステップS505, S507)、テスト支援装置101は、記憶領域に記憶されているノード202の数等に応じて、途中ノードを探索するか否かを判定する(ステップS511)。
【0113】
たとえば、記憶領域に記憶されているノード202の数が2であれば、途中ノードを探索する、と決めることができる。
【0114】
また、現在記憶領域に記憶されているノード202の数を報告して、使用者に、途中ノードの探索をするか否かを問い合わせても良い。
【0115】
途中ノードを探索する場合(ステップS511;Yes)、テスト支援装置101は、記憶領域に記憶されているいずれかのノード202から、他の途中ノードを経由して、記憶領域に記憶されている他のノード202へ至るパスを探索する(ステップS512)。
【0116】
そして、テスト支援装置101は、探索されたパスに含まれる途中ノードのうち、記憶領域に記憶されていない途中ノードを、記憶領域に追加して(ステップS513)、制御をステップS514へ進める。
【0117】
この処理により、記憶領域に記憶されることとなったノードに対するページが、対象ページとして識別されたことになる。
【0118】
一方、途中ノードを探索しない場合(ステップS511;No)、テスト支援装置101は、制御をステップS514へ進める。
【0119】
ついで、テスト支援装置101は、記憶領域に記憶されることとなったノード間を直接結ぶエッジを取得する(ステップS514)。上記の通り、エッジの取得に際しては、エッジに係る遷移についてのアクセス履歴を参照して、その可否を決めても良い。
【0120】
この処理により、取得されたエッジに対する遷移が、対象遷移として識別されたことになる。
【0121】
そして、テスト支援装置101は、テストマップに含まれるべきノード202およびエッジ、すなわち、ステップS513の処理の後に記憶領域に記憶されることとなったノード202、および、ステップS514の処理によって取得されたエッジ203を、テストマップとして画面301に表示されるサイトマップ201内にて強調表示し(ステップS515)、制御をステップS503に戻す。
【0122】
さて、受け付けられた指示入力がクリアボタン304のクリック等によるクリア指示である場合(ステップS503; クリア)、テスト支援装置101は、記憶領域をクリアするため、制御をステップS501に戻す。
【0123】
これにより、画面301には、テストマップのないサイトマップ201が表示されることになる。
【0124】
受け付けられた指示入力が、特定ボタン303のクリック等、対象テストの特定を指示する特定指示である場合(ステップS503; 特定)、テスト支援装置101は、識別された対象ページおよび識別された対象遷移に対応付けられるテストケースならびにテストシナリオを、対象テストとして特定する(ステップS531)。
【0125】
そして、テスト支援装置101は、特定された対象テストを出力して(ステップS532)、本処理を終了する。
【0126】
さて、ノードを指定する指示入力(ステップS503;ノード)において、既に記憶領域に記憶済みのノードが指定されているとき(ステップS506;Yes)、本実施形態では、テスト支援装置101は、当該指定されたノードを記憶領域から削除して(ステップS541)、制御をステップS514に進める。
【0127】
このような処理を行うことで、使用者は、たとえばテストマップを矩形の領域311によって指定した後、矩形の領域311外のノード202を追加したり、テストマップから不要なノード202を削除したりできるようになる。
【0128】
また、その他の指示入力が受け付けられたのであれば(ステップS503; その他)、テスト支援装置101は、受け付けられた指示入力に応じた処理を実行して(ステップS551)、制御をステップS503に戻す。
【0129】
たとえば、その他の指示入力として、ノード202やエッジ203をダブルクリックして優先度を設定するポップアップメニューを表示し、ポップアップメニュー内で優先度を選択することによって入力される、というような優先度の指示入力を採用することができる。
【0130】
この場合は、優先度の指示入力に応じて、ノード202やエッジ203に対応するページや遷移の優先度を設定する処理を実行すれば良い。
【0131】
(まとめ)
以上説明したように、本実施形態に係るテスト支援プログラムは、ウェブサーバが公開する複数のページを含むウェブサイトに対して実行されるべきテストであって、
(a)前記複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース、および、
(b)前記複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ
を含むテストを決定するための支援をするため、テスト支援コンピュータを、
画面に、前記複数のページのそれぞれを表す複数のノードと、前記複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する表示部、
前記表示されたサイトマップに対する指示入力に基づいて、前記複数のページと、前記複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する識別部、
前記識別された対象ページに対応付けられるテストケース、および、前記識別された対象遷移に対応付けられるテストシナリオを、前記ウェブサーバにて実行されるべき対象テストとして特定する特定部
として機能させる。
【0132】
また、本実施形態のテスト支援プログラムにおいて、
前記表示部は、前記画面に表示されるサイトマップのうち、前記識別された対象ページに係るノードと、前記識別された対象遷移に係るエッジと、を含むテストマップを強調表示する
ように構成することができる。
【0133】
また、本実施形態に係るテスト支援プログラムにおいて、
前記指示入力は、前記画面の領域を指定する指示入力であり、
前記指定された領域に含まれるノードおよびエッジが表すページおよび遷移が、前記対象ページおよび前記対象遷移として識別される
ように構成することができる。
【0134】
また、本実施形態に係るテスト支援プログラムにおいて、
前記指示入力は、前記ノードからいずれか2つを指定する指示入力であり、
前記識別部は、
前記指定された2つのノードに係る2つの端ページの一方から他方へ至る1以上の遷移経路から対象経路を識別し、
前記2つの端ページと、前記識別された対象経路において通過される途中ページと、を、前記対象ページとして識別し、
前記識別された対象経路に含まれる遷移が、前記対象遷移として識別される
ように構成することができる。
【0135】
また、本実施形態に係るテスト支援プログラムにおいて、
前記識別部は、前記ウェブサイトに対するアクセス履歴における遷移数に基づいて、前記1以上の遷移経路から前記対象経路を識別する
ように構成することができる。
【0136】
また、本実施形態に係るテスト支援プログラムにおいて、
前記対象テストは、あらかじめ優先度が定められて用意された候補テストから特定され、
前記テスト支援コンピュータは、前記特定された対象テストを、当該対象テストのそれぞれの優先度に基づいて提案する
ように構成することができる。
【0137】
また、本実施形態に係るテスト支援プログラムにおいて、
前記優先度は、前記候補テストのそれぞれが過去に失敗した履歴に基づいて決定される
ように構成することができる。
【0138】
また、本実施形態に係るテスト支援プログラムにおいて、
前記テストケースの優先度は、前記ウェブサイトに対するアクセス履歴において当該テストケースに対応付けられたページがアクセスされた頻度に基づいて定められ、
前記テストシナリオの優先度は、前記ウェブサイトに対するアクセス履歴において当該テストシナリオに対応付けられた遷移がなされた頻度に基づいて定められる
ように構成することができる。
【0139】
また、本実施形態に係るテスト支援プログラムにおいて、
前記テストケースの優先度は、当該テストケースに対応付けられたページが更改の対象となっているか否かに基づいて定められ、
前記テストシナリオの優先度は、当該テストシナリオに対応付けられた遷移が更改の対象となっているか否かに基づいて定められる
ように構成することができる。
【0140】
また、本実施形態に係るテスト支援プログラムにおいて、
前記対象テストは、前記識別された対象ページと、前記識別された対象遷移と、に基づいて生成され、
前記対象テストのそれぞれの優先度は、既定値により、もしくは、前記表示されたサイトマップに対する指示入力に基づいて定められ、
前記テスト支援コンピュータは、前記特定された対象テストを、当該対象テストの優先度に基づいて提案する
ように構成することができる。
【0141】
また、本実施形態に係るテスト支援プログラムにおいて、
前記テスト支援コンピュータは、
前記テストケースに対応付けられるページに含まれる複数の要素の各要素に付与された属性に基づいて、テンプレートを生成もしくは選定し、
前記生成もしくは選定されたテンプレートに補充すべき値を指定する指示入力に基づいて、前記テストケースを生成する
ように構成することができる。
【0142】
また、本実施形態に係るテスト支援プログラムにおいて、
前記テスト支援コンピュータは、
前記対象遷移に際して通過したページに含まれる複数の要素の各要素に付与された属性に基づいて、テンプレートを生成もしくは選定し、
前記生成もしくは選定されたテンプレートに補充すべき値を指定する指示入力に基づいて、前記テストシナリオを生成する
ように構成することができる。
【0143】
また、本実施形態に係るテスト支援プログラムにおいて、
前記対象遷移が、第1ページから0個以上のページを経由して第2ページへ至る遷移であり、
前記第1ページにおける入力欄に第1値が入力され、
前記第2ページにおける出力欄に前記入力された第1値が含まれていれば、
前記第2ページにおける前記出力欄には、前記第1ページにおける前記入力欄に入力された入力値が出力されるべき旨を、当該テンプレートにおける初期設定とする
ように構成することができる。
【0144】
また、本実施形態に係るテスト支援プログラムにおいて、
前記対象遷移が、第1ページから0個以上のページを経由して第2ページへ至る遷移であり、
前記第1ページにおける入力欄に第1値が入力され、
前記第2ページにおける出力欄に前記入力された第1値にあらかじめ対応付けられた第2値が含まれていれば、
前記第2ページにおける前記出力欄には、前記第1ページにおける前記入力欄に入力された入力値にあらかじめ対応付けられた対応値が出力されるべき旨を、当該テンプレートにおける初期設定とする
ように構成することができる。
【0145】
また、本実施形態に係るテスト支援プログラムにおいて、
前記表示されたサイトマップにおいてノードもしくはエッジを選択する指示入力があると、前記選択されたノードもしくはエッジにより表される対象ページもしくは対象遷移に対応付けられるテストケースもしくはテストシナリオの優先度を前記既定値より高くする
ように構成することができる。
【0146】
また、本実施形態に係るテスト支援プログラムにおいて、
前記サイトマップは、前記ウェブサイトの起点ページから、ページに含まれるリンクを辿って他のページへ遷移をすることを繰り返すことによって生成される
ように構成することができる。
【0147】
また、本実施形態に係るテスト支援プログラムにおいて、
前記ウェブサーバと、前記テスト支援コンピュータと、のいずれか少なくとも一方は、クラウドサービスにより実現され、もしくは、
前記ウェブサーバと、前記テスト支援コンピュータとは、1つのサーバコンピュータにより実現される
ように構成することができる。
【0148】
また、本実施形態に係るテスト支援プログラムは、非一時的なコンピュータ読取可能な情報記録媒体に記録して配布、販売することができる。また、コンピュータ通信網等の一時的な伝送媒体を介して配布、販売することができる。
【0149】
本実施形態に係るテスト支援装置は、ウェブサーバが公開する複数のページを含むウェブサイトに対して実行されるべきテストであって、
(a)前記複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース、および、
(b)前記複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ
を含むテストを決定するための支援をするため、
画面に、前記複数のページのそれぞれを表す複数のノードと、前記複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する表示部、
前記表示されたサイトマップに対する指示入力に基づいて、前記複数のページと、前記複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する識別部、
前記識別された対象ページに対応付けられるテストケース、および、前記識別された対象遷移に対応付けられるテストシナリオを、前記ウェブサーバにて実行されるべき対象テストとして特定する特定部
を備えるように構成する。
【0150】
本実施形態に係るテスト支援方法は、ウェブサーバが公開する複数のページを含むウェブサイトに対して実行されるべきテストであって、
(a)前記複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース、および、
(b)前記複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ
を含むテストを決定するための支援をするテスト支援装置が、
画面に、前記複数のページのそれぞれを表す複数のノードと、前記複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する表示工程、
前記表示されたサイトマップに対する指示入力に基づいて、前記複数のページと、前記複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する識別工程、
前記識別された対象ページに対応付けられるテストケース、および、前記識別された対象遷移に対応付けられるテストシナリオを、前記ウェブサーバにて実行されるべき対象テストとして特定する特定工程
を実行するように構成する。
【0151】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【0152】
本発明によれば、ウェブサーバが公開するウェブサイトに対するテストの決定を支援するためのテスト支援プログラム、テスト支援装置、ならびに、テスト支援方法を提供することができる。
【符号の説明】
【0153】
21 ウェブサーバ
31 閲覧端末
101 テスト支援装置
102 表示部
103 識別部
104 特定部
131 テスト端末
201 サイトマップ
202 ノード
203 エッジ
301 画面
302 マップ表示領域
303 特定ボタン
304 クリアボタン
311 矩形の領域
【手続補正書】
【提出日】2022-05-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ウェブサーバが公開する複数のページを含むウェブサイトに対して実行されるべきテストであって、
(a)前記複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース、および、
(b)前記複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ
を含むテストを決定するための支援をするテスト支援プログラムであって、前記テスト支援プログラムは、テスト支援コンピュータを、
画面に、前記複数のページのそれぞれを表す複数のノードと、前記複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する表示部、
前記表示されたサイトマップに対する指示入力に基づいて、前記複数のページと、前記複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する識別部、
前記識別された対象ページに対応付けられるテストケース、および、前記識別された対象遷移に対応付けられるテストシナリオを、前記ウェブサーバにて実行されるべき対象テストとして特定する特定部、
前記特定された対象テストを、当該対象テストの優先度に基づいて提案する提案部
として機能させ、
前記対象テストのそれぞれの優先度は、既定値により、もしくは、前記表示されたサイトマップに対する指示入力に基づいて定められ、
前記表示されたサイトマップにおいてノードもしくはエッジを選択する指示入力があると、前記選択されたノードもしくはエッジにより表される対象ページもしくは対象遷移に対応付けられるテストケースもしくはテストシナリオの優先度を前記既定値より高くする
ことを特徴とするテスト支援プログラム。
【請求項2】
前記表示部は、前記画面に表示されるサイトマップのうち、前記識別された対象ページに係るノードと、前記識別された対象遷移に係るエッジと、を含むテストマップを強調表示する
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項3】
前記指示入力は、前記画面の領域を指定する指示入力であり、
前記指定された領域に含まれるノードおよびエッジが表すページおよび遷移が、前記対象ページおよび前記対象遷移として識別される
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項4】
前記指示入力は、前記ノードからいずれか2つを指定する指示入力であり、
前記識別部は、
前記指定された2つのノードに係る2つの端ページの一方から他方へ至る1以上の遷移経路から対象経路を識別し、
前記2つの端ページと、前記識別された対象経路において通過される途中ページと、を、前記対象ページとして識別し、
前記識別された対象経路に含まれる遷移が、前記対象遷移として識別される
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項5】
前記識別部は、前記ウェブサイトに対するアクセス履歴における遷移数に基づいて、前記1以上の遷移経路から前記対象経路を識別する
ことを特徴とする請求項4に記載のテスト支援プログラム。
【請求項6】
前記対象テストは、前記識別された対象ページと、前記識別された対象遷移と、に基づいて生成される
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項7】
前記テスト支援コンピュータは、
前記テストケースに対応付けられるページに含まれる複数の要素の各要素に付与された属性に基づいて、テンプレートを生成もしくは選定し、
前記生成もしくは選定されたテンプレートに補充すべき値を指定する指示入力に基づいて、前記テストケースを生成する
ことを特徴とする請求項6に記載のテスト支援プログラム。
【請求項8】
前記テスト支援コンピュータは、
前記対象遷移に際して通過したページに含まれる複数の要素の各要素に付与された属性に基づいて、テンプレートを生成もしくは選定し、
前記生成もしくは選定されたテンプレートに補充すべき値を指定する指示入力に基づいて、前記テストシナリオを生成する
ことを特徴とする請求項6に記載のテスト支援プログラム。
【請求項9】
前記対象遷移が、第1ページから0個以上のページを経由して第2ページへ至る遷移であり、
前記第1ページにおける入力欄に第1値が入力され、
前記第2ページにおける出力欄に前記入力された第1値が含まれていれば、
前記第2ページにおける前記出力欄には、前記第1ページにおける前記入力欄に入力された入力値が出力されるべき旨を、当該テンプレートにおける初期設定とする
ことを特徴とする請求項8に記載のテスト支援プログラム。
【請求項10】
前記対象遷移が、第1ページから0個以上のページを経由して第2ページへ至る遷移であり、
前記第1ページにおける入力欄に第1値が入力され、
前記第2ページにおける出力欄に前記入力された第1値にあらかじめ対応付けられた第2値が含まれていれば、
前記第2ページにおける前記出力欄には、前記第1ページにおける前記入力欄に入力された入力値にあらかじめ対応付けられた対応値が出力されるべき旨を、当該テンプレートにおける初期設定とする
ことを特徴とする請求項8に記載のテスト支援プログラム。
【請求項11】
前記サイトマップは、前記ウェブサイトの起点ページから、ページに含まれるリンクを辿って他のページへ遷移をすることを繰り返すことによって生成される
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項12】
前記ウェブサーバと、前記テスト支援コンピュータと、のいずれか少なくとも一方は、クラウドサービスにより実現され、もしくは、
前記ウェブサーバと、前記テスト支援コンピュータとは、1つのサーバコンピュータにより実現される
ことを特徴とする請求項1に記載のテスト支援プログラム。
【請求項13】
ウェブサーバが公開する複数のページを含むウェブサイトに対して実行されるべきテストであって、
(a)前記複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース、および、
(b)前記複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ
を含むテストを決定するための支援をするテスト支援装置であって、
画面に、前記複数のページのそれぞれを表す複数のノードと、前記複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する表示部、
前記表示されたサイトマップに対する指示入力に基づいて、前記複数のページと、前記複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する識別部、
前記識別された対象ページに対応付けられるテストケース、および、前記識別された対象遷移に対応付けられるテストシナリオを、前記ウェブサーバにて実行されるべき対象テストとして特定する特定部、
前記特定された対象テストを、当該対象テストの優先度に基づいて提案する提案部
を備え、
前記対象テストのそれぞれの優先度は、既定値により、もしくは、前記表示されたサイトマップに対する指示入力に基づいて定められ、
前記表示されたサイトマップにおいてノードもしくはエッジを選択する指示入力があると、前記選択されたノードもしくはエッジにより表される対象ページもしくは対象遷移に対応付けられるテストケースもしくはテストシナリオの優先度を前記既定値より高くする
ことを特徴とするテスト支援装置。
【請求項14】
ウェブサーバが公開する複数のページを含むウェブサイトに対して実行されるべきテストであって、
(a)前記複数のページのいずれかに対応付けられ、当該対応付けられたページ内で実行されるべきテストケース、および、
(b)前記複数のページのいずれか2以上のページ間の遷移に対応付けられ、当該対応付けられた遷移に際して実行されるべきテストシナリオ
を含むテストを決定するための支援をするテスト支援装置が、
画面に、前記複数のページのそれぞれを表す複数のノードと、前記複数のページ間の遷移のそれぞれを表す複数のエッジと、を含むサイトマップを表示する表示工程、
前記表示されたサイトマップに対する指示入力に基づいて、前記複数のページと、前記複数のページ間の遷移と、から、対象ページと、対象遷移と、を識別する識別工程、
前記識別された対象ページに対応付けられるテストケース、および、前記識別された対象遷移に対応付けられるテストシナリオを、前記ウェブサーバにて実行されるべき対象テストとして特定する特定工程、
前記特定された対象テストを、当該対象テストの優先度に基づいて提案する提案工程
を実行し、
前記対象テストのそれぞれの優先度は、既定値により、もしくは、前記表示されたサイトマップに対する指示入力に基づいて定められ、
前記表示されたサイトマップにおいてノードもしくはエッジを選択する指示入力があると、前記選択されたノードもしくはエッジにより表される対象ページもしくは対象遷移に対応付けられるテストケースもしくはテストシナリオの優先度を前記既定値より高くする
ことを特徴とするテスト支援方法。