IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

<>
  • 特許-テスト自動化装置 図1
  • 特許-テスト自動化装置 図2
  • 特許-テスト自動化装置 図3
  • 特許-テスト自動化装置 図4
  • 特許-テスト自動化装置 図5
  • 特許-テスト自動化装置 図6
  • 特許-テスト自動化装置 図7
  • 特許-テスト自動化装置 図8
  • 特許-テスト自動化装置 図9
  • 特許-テスト自動化装置 図10
  • 特許-テスト自動化装置 図11
  • 特許-テスト自動化装置 図12
  • 特許-テスト自動化装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-06
(45)【発行日】2024-08-15
(54)【発明の名称】テスト自動化装置
(51)【国際特許分類】
   G06F 11/36 20060101AFI20240807BHJP
【FI】
G06F11/36 188
【請求項の数】 4
(21)【出願番号】P 2020075215
(22)【出願日】2020-04-21
(65)【公開番号】P2021174084
(43)【公開日】2021-11-01
【審査請求日】2023-04-10
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】木下 智雄
【審査官】北川 純次
(56)【参考文献】
【文献】特開2014-186617(JP,A)
【文献】特開2007-304660(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
テストスクリプトに記述されたテストスクリプト文字列の解析を行うテストスクリプト解析部と、
解析した前記テストスクリプト文字列を、テストシナリオを有する表形式のプログラムチェックリストに整形するプログラムチェックリスト生成部と、
前記テストシナリオが記述された前記プログラムチェックリストから前記テストスクリプト文字列を抽出して前記テストスクリプトを生成するテストスクリプト生成部と、
前記テストスクリプトに基づいて画面自動テストツールを実行して実行結果ファイルを出力する画面自動テストツール部と、
前記実行結果ファイルを解析する実行結果ファイル解析部と、
前記実行結果ファイルの解析結果を前記プログラムチェックリストに反映させるテスト結果反映部と、
を有し、
前記テストスクリプトと前記プログラムチェックリストを相互に変換することを特徴とするテスト自動化装置。
【請求項2】
前記プログラムチェックリスト生成部は、
前記テストスクリプトに記述された前記テストスクリプト文字列を前記テストシナリオに変換して前記プログラムチェックリストに記述することを特徴とする請求項1に記載のテスト自動化装置。
【請求項3】
前記実行結果ファイルには、
前記テストシナリオごとに、実行結果として成功情報又は失敗情報が記述され、
前記テスト結果反映部は、
前記成功情報又は前記失敗情報を前記プログラムチェックリストに記述することにより、前記実行結果ファイルの前記解析結果を前記プログラムチェックリストに反映させることを特徴とする請求項1に記載のテスト自動化装置。
【請求項4】
前記テストスクリプト生成部は、
前記プログラムチェックリストに記述された前記テストシナリオを、前記テストスクリプト文字列に変換して前記テストスクリプトに記述することを特徴とする請求項に記載のテスト自動化装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テスト自動化装置に関する。
【背景技術】
【0002】
テストシナリオの抜け漏れを防いでテストの網羅性を高めるために、表形式のプログラムチェックリスト形式でテストを設計し、これに基づいてテストを行う方法が知られている。表形式のプログラムチェックリストを用いて、画面の操作を行うテストを自動化するためには、以下の手順1~手順3が必要である。
【0003】
手順1では、表形式のプログラムチェックリストを参照しながら、テストスクリプトを手動で作成する。手順2では、テストスクリプトを画面自動テストツールが自動実行する。手順3では、出力された結果を参照し、表形式のプログラムチェックリストに結果を記載する。この際、手順1と手順3は人手で行われている。例えば、特許文献1には自動テストツールに関する技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2001-256077号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記従来技術では、人手でテストスクリプトを作成している。このため、テストスクリプトの記述法の知識習得負荷、テストスクリプトの作成負荷及びプログラムチェックリストの内容をテストスクリプトに正確に反映する精度に関する課題が存在する。また、出力された結果を表形式のプログラムチェックリストに反映するための工数が必要であるという課題も存在する。
【0006】
本発明の目的は、テスト自動化システムにおいて、表形式のプログラムチェックリストを用いた画面自動テストを自動で実行することにある。
【課題を解決するための手段】
【0007】
本発明の一態様のテスト自動化装置は、テストスクリプトに記述されたテストスクリプト文字列の解析を行うテストスクリプト解析部と、解析した前記テストスクリプト文字列を、テストシナリオを有する表形式のプログラムチェックリストに整形するプログラムチェックリスト生成部と、前記テストスクリプトに基づいて画面自動テストツールを実行して実行結果ファイルを出力する画面自動テストツール部と、前記実行結果ファイルを解析する実行結果ファイル解析部と、前記実行結果ファイルの解析結果を前記プログラムチェックリストに反映させるテスト結果反映部と、を有することを特徴とする。
【0008】
本発明の一態様のテスト自動化装置は、テストシナリオが記述された表形式のプログラムチェックリストからテストスクリプト文字列を抽出してテストスクリプトを生成するテストスクリプト生成部と、生成された前記テストスクリプトに基づいて画面自動テストツールを実行し、実行結果ファイルを出力する画面自動テストツール部と、前記実行結果ファイルを解析する実行結果ファイル解析部と、前記実行結果ファイルの解析結果を前記プログラムチェックリストに反映させるテスト結果反映部と、を有することを特徴とする。
【発明の効果】
【0009】
本発明の一態様によれば、テスト自動化システムにおいて、表形式のプログラムチェックリストを用いた画面自動テストを自動で実行することができる
【図面の簡単な説明】
【0010】
図1】テスト自動化システムの全体構成を示す図である。
図2】実施例のテスト自動化装置の動作を示すフロー図である。
図3】実施例のテスト自動化装置の動作を示すイメージ図である。
図4】実施例のテスト自動化装置の動作を示すフロー図である。
図5】実施例のテスト自動化装置の動作を示すイメージ図である。
図6】テストスクリプトの記述内容の一例を示す図である。
図7】表形式のプログラムチェックリストの内容を示す図である。
図8】表形式プログラムチェックリストとテストスクリプトとの対応表を示す図である。
図9】表形式プログラムチェックリストとテストスクリプトとの対応図である。
図10】実行結果ファイルの内容を示す図である。
図11】結果記載済みプログラムチェックリストの内容を示す図である。
図12】実行結果ファイルと結果記入済み表形式プログラムチェックリストとの対応表を示す図である。
図13】実行結果ファイルと結果記入済み表形式プログラムチェックリストとの対応図である。
【発明を実施するための形態】
【0011】
以下、図面を用いて、実施例について説明する。
【実施例
【0012】
図1は、テスト自動化システムの全体構成を示す図である。テスト自動化システムは、テストスクリプトと表形式プログラムチェックリストを相互に変換する。
【0013】
テスト自動化システムは、アプリケーション実行端末100とテスト自動化装置200を有する。アプリケーション実行端末100とテスト自動化システム装置200は、ネットワーク300を介して接続されている。アプリケーション実行端末100はプログラム110を有する。
【0014】
テスト自動化装置200は、記憶装置210、演算装置220、メモリ230、入力装置240及び表示装置250を有する。記憶装置210は、画面自動テストツール部211、テストスクリプト解析部212、プログラムチェックリスト生成部213、実行結果ファイル解析部214、テスト結果反映部215及びテストスクリプト生成部216を有する。
【0015】
また、記憶装置210は、テストスクリプト260(図6参照)、表形式プログラムチェックリスト261(図7参照)、実行結果ファイル262(図10参照)、結果記載済プログラムチェックリスト263(図11参照)及びブラウザ要素データ264を記憶する。
【0016】
図2を参照して、実施例のテスト自動化装置の動作について説明する。
図1の入力装置240を介してテストスクリプト260、ブラウザ要素データ264、実行結果ファイル262及び表形式プログラムチェックリスト261が入力される。
図1の表示装置250を介して、表形式プログラムチェックリスト261、実行結果ファイル262及び結果記載済プログラムチェックリスト263が出力される。
【0017】
次に、処理の流れについて説明する。
処理1では、テストスクリプト解析部212が、テストスクリプト260とブラウザ要素データ264の読込とテストスクリプト文字列の解析を行う(S201)。
処理2では、プログラムチェックリスト生成部213が、テストスクリプト解析部212が解析した文字列を表形式プログラムチェックリスト261に整形し生成する(S202)。ここで、図9に、テストスクリプト解析部212における表形式プログラムチェックリスト261とテストスクリプト260と対応図を示す。
処理3では、画面自動テストツール部211が、画面自動テストツールを実行して実行結果ファイル262を出力する(S203)。
処理4では、実行結果ファイル解析部214が、実行結果ファイル262の読込と解析を行う(S204)。
処理5では、テスト結果反映部215が、解析済実行結果を表形式のプログラムチェックリスト261に記載する(S205)。ここで、図11に、結果記載済みプログラムチェックリスト263の内容を示す。図11の確認内容の3行目には、シナリオ名がPCL-003の場合、結果が“失敗”であることを示す×印が記述されている。また、図13に、テスト結果反映部215における実行結果ファイル262と結果記入済み表形式プログラムチェックリスト263の対応図を示す。
【0018】
結果記載済みプログラムチェックリスト263の内容は、表示装置250に表示される。利用者は、表示装置250に表示された結果記載済みプログラムチェックリスト263の内容を確認する。そして、結果が“失敗”であることを示す×印が記述されている場合は、例えば、図1のアプリケーション実行端末100のプログラム110を変更して再度テストを行う。
【0019】
図3を参照して、テストスクリプトを入力とする利用イメージについて説明する。
最初に、利用者は、事前処理として、テストスクリプト260とブラウザ要素データ264を用意する。
次に、処理1及び処理2で、テストスクリプト260とブラウザ要素データ264を用いて、表形式プログラムチェックリスト261を生成する。
次に、処理3で、テストスクリプト260に基づいて画面自動テストツール部211の画面自動テストツールを用いて、実行結果ファイル262を生成する。
次に、処理4及び処理5で、表形式プログラムチェックリスト261と実行結果ファイル262を用いて、結果記載済プログラムチェックリスト263を生成する。
【0020】
図4を参照して、実施例のテスト自動化装置の動作について説明する。
図1の入力装置240を介して、表形式プログラムチェックリスト261、テストスクリプト260、ブラウザ要素データ264、実行結果ファイル262及び表形式プログラムチェックリスト261が入力される。
図1の表示装置250を介して、テストスクリプト260、実行結果ファイル262及び結果記載済プログラムチェックリスト263が出力される。
【0021】
次に、処理の流れについて説明する。
処理1では、テストスクリプト生成部216が、表形式プログラムチェックリスト261を読込んでテストスクリプト文字列を生成する(S401)。
処理2では、画面自動テストツール部211が、画面自動テストツールを実行して実行結果ファイル262を出力する(S402)。
処理3では、実行結果ファイル解析部214が、実行結果ファイル262を読込んで実行結果ファイル262を解析する(S403)。
処理4では、テスト結果反映部215が、解析済の実行結果を表形式のプログラムチェックリスト261に記載する(S404)。
【0022】
ここで、図11に、結果記載済みプログラムチェックリスト263の内容を示す。図11の確認内容の3行目には、シナリオ名がPCL-003の場合、結果が“失敗”であることを示す×印が記述されている。また、図13に、テスト結果反映部215における実行結果ファイル262と結果記入済み表形式プログラムチェックリスト263の対応図を示す。
【0023】
結果記載済みプログラムチェックリスト263の内容は、表示装置250に表示される。利用者は、表示装置250に表示された結果記載済みプログラムチェックリスト263の内容を確認する。そして、結果が“失敗”であることを示す×印が記述されている場合は、例えば、図1のアプリケーション実行端末100のプログラム110を変更して再度テストを行う。
【0024】
図5を参照して、表形式プログラムチェックリストを入力とする利用イメージについて説明する。
【0025】
最初に、利用者は、事前処理として、表形式プログラムチェックリスト261とブラウザ要素データ264を用意する。
次に、処理1で、表形式プログラムチェックリスト261を用いてテストスクリプト260を生成する。
次に、処理2で、テストスクリプト260に基づいて画面自動テストツール部211の画面自動テストツールを用いて、実行結果ファイル262を生成する。
次に、処理3及び処理4で、表形式プログラムチェックリスト261、ブラウザ要素データ264及び実行結果ファイル262を用いて、結果記載済のプログラムチェックリスト263を生成する。
【0026】
図6は、テストスクリプト260の記述内容の一例を示す図である。
図6では、図書館の検索動作を例に取り説明する。
【0027】
前提条件(Background)として、ブラウザサイズを(1200,800)に設定し、”/ja/login/”をブラウザで開く。
【0028】
シナリオ(Scenario:PCL-001)の場合は、”図書”で検索を実行する。
この際、「チェック条件」として、”ログイン”ボタンを押し、”book-search.蔵書検索”を押す。そして、”book-search.書籍名”に”図書”を入力する。次に、”検索”ボタンを押す。
【0029】
「確認内容」として、”book-search.蔵書一覧の1番目”が”図書館の歴史1巻”であることを確認する。
「事後条件」として、”book-search.メインメニュー”を押す。
【0030】
シナリオ(Scenario:PCL-002)の場合は、”著者”で検索を実行する。
この際、「チェック条件」として、”ログイン”ボタンを押し、”book-search.蔵書検索”を押す。そして、”book-search.書籍名”に”著者”を入力する。次に、”検索”ボタンを押す。
【0031】
「確認内容」として、”book-search.蔵書一覧の1番目”が”著者の歴史1巻”であることを確認する。
「事後条件」として、”book-search.メインメニュー”を押す。
【0032】
シナリオ(Scenario:PCL-003)の場合は、”名前”で検索を実行する。
この際、「チェック条件」として、”ログイン”ボタンを押し、”book-search.蔵書検索”を押す。そして、”book-search.書籍名”に”名前”を入力する。次に、”検索”ボタンを押す。
【0033】
「確認内容」として、”book-search.蔵書一覧の1番目”が”名前の歴史1巻”であることを確認する。
「事後条件」として、”book-search.メインメニュー”を押す。
【0034】
図7は、表形式のプログラムチェックリスト261の内容を示す図である。
図7では、図書館の検索動作を例に取り説明する。
【0035】
「テストシナリオ記述」として、前提条件、チェック条件、確認内容、事後条件が記述されている。
【0036】
前提条件には、ブラウザサイズを(〇〇、△△)に設定が記述される。この場合、“〇〇”は1200であり、“△△”は800である。
【0037】
また、前提条件には、”〇〇”をブラウザで開くことが記述される。この場合、“〇〇”は”/ja/login/”である。
【0038】
チェック条件には、”〇〇”ボタンを押すが記述される。この場合、“〇〇”は”ログイン”である。
【0039】
また、チェック条件には、”〇〇”を押すが記述される。この場合、“〇〇”は”book-search.蔵書検索”である。
【0040】
また、チェック条件には、”〇〇”に“△△”を入力するが記述される。この場合、“〇〇”は “book-search.書籍名”である。“△△”は、“図書”、“著者”、“名前”である。
【0041】
また、チェック条件には、”〇〇”ボタンを押すが記述される。この場合、“〇〇”は”検索”である。
【0042】
確認内容には、“〇〇”が“△△”で◎◎ことが記述される。この場合、“〇〇”は“book-search.蔵書一覧の1番目”である。“△△”は、“図書館の歴史1巻”、“著者の歴史1巻”“名前の歴史1巻”である。“◎◎”は“ある”である。
【0043】
事後条件には、”〇〇”を押すが記述される。この場合、“〇〇”は”book-search.メインメニュー”である。
【0044】
プログラムチェックリストの右側には、シナリオ(Scenario:PCL-001)である“図書”で検索が記述される。また、シナリオ(Scenario:PCL-002)である“著者”で検索が記述される。また、シナリオ(Scenario:PCL-003)である“名前”で検索が記述される。
【0045】
図8は、テストスクリプト解析部212及びテストスクリプト生成部216における表形式プログラムチェックリスト261及びテストスクリプト260の対応表を示す図である。
【0046】
対応表には、番号、表形式プログラムチェックリスト、テストスクリプト及び記述内容が記述されている。
【0047】
番号1には、シート、フィーチャ、記述内容として「1つの機能についてのテストケースの集合」が記述されている。番号2には、列、シナリオ、記述内容として「1件のテストケースについての操作の集合」が記述されている。
【0048】
番号3には、前提条件行、Background、記述内容として「テストケースの前提条件」が記述されている。番号4には、チェック条件行、Thenステップ前のステップ、記述内容として「テストケースの入力条件や画面操作内容」が記述されている。
【0049】
番号5には、確認内容行、Thenステップ、記述内容として「テストケースの検証項目」が記述されている。番号6には、事後条件行、Thenステップ後のステップ、記述内容として「テストケース終了前に行う画面操作内容」が記述されている。
【0050】
図10は実行結果ファイル262の内容を示す図である。
図10に示すように、実行結果ファイルは、フィーチャ名、シナリオ名、結果、失敗行、実行日時及びブラウザを有する。
【0051】
例えば、フィーチャ名がPCLでシナリオ名がPCL-001の場合は、結果は“成功”であり、実行日時は“2019/10/01”であり、ブラウザは“ブラウザA”である。
【0052】
また、フィーチャ名がPCLでシナリオ名がPCL-003の場合は、結果は“失敗”であり、失敗行は“7”であり、実行日時は“2019/10/01”であり、ブラウザは“ブラウザA”である。
【0053】
図12は、テスト結果反映部215における実行結果ファイル262と結果記入済み表形式プログラムチェックリスト263との対応表を示す。
図12に示すように、対応表は、番号、結果ファイル、結果記入済み表形式プログラムチェックリストを有する。
【0054】
例えば、番号1では、結果ファイルはフィーチャ名であり、結果記入済み表形式プログラムチェックリストはシートである。番号2では、結果ファイルはシナリオ名であり、結果記入済み表形式プログラムチェックリストは列である。
【0055】
番号3では、結果ファイルは結果であり、結果記入済み表形式プログラムチェックリストは各列の「〇」を「×」にするか否かである。番号4では、結果ファイルは失敗行であり、結果記入済み表形式プログラムチェックリストは各列の「〇」を「×」にする位置である。
【0056】
番号5では、結果ファイルは実行日時であり、結果記入済み表形式プログラムチェックリストは確認日である。番号6では、結果ファイルはブラウザであり、結果記入済み表形式プログラムチェックリストはブラウザである。
【0057】
このように、上記実施例では、表形式プログラムチェックリスト261に記述されたテストシナリオと画面自動テスト実行に必要なテストスクリプト260を相互に自動的に変換する。また、表形式のプログラムチェックリスト261上から画面自動テストを実行し、表形式のプログラムチェックリスト261に実行結果を記載する。
【0058】
上記実施例によれば、表形式プログラムチェックリスト261を用いた画面自動テストの手順のうち、表形式プログラムチェックリスト261を参照しながらテストスクリプト260を作成する手順と、出力された結果を参照して表形式プログラムチェックリスト261に結果を記載する手順とを自動で実行することができる。
【0059】
これにより、画面自動テスト作成者のテストスクリプト260の記述法の知識習得負荷及びテストスクリプト260の作成負荷を軽減することができる。また、表形式プログラムチェックリスト261の内容をテストスクリプト260に反映する精度を向上させることができる。さらに、テスト結果記載者が出力された結果を表形式プログラムチェックリスト261に反映する工数を軽減することができる。
【符号の説明】
【0060】
100 アプリケーション実行端末
110 プログラム
200 テスト自動化装置
300 ネットワーク
210 記憶装置
211 画面自動テストツール部
212 テストスクリプト解析部
213 プログラムチェックリスト生成部
214 実行結果ファイル解析部
215 テスト結果反映部
216 テストスクリプト生成部
220 演算装置
230 メモリ
240 入力装置
250 表示装置
260 テストスクリプト
261 表形式プログラムチェックリスト
262 実行結果ファイル
263 結果記載済プログラムチェックリスト
264 ブラウザ要素データ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13