JP7487135B2 - 工数算出支援装置及び工数算出支援方法 - Google Patents

工数算出支援装置及び工数算出支援方法 Download PDF

Info

Publication number
JP7487135B2
JP7487135B2 JP2021056049A JP2021056049A JP7487135B2 JP 7487135 B2 JP7487135 B2 JP 7487135B2 JP 2021056049 A JP2021056049 A JP 2021056049A JP 2021056049 A JP2021056049 A JP 2021056049A JP 7487135 B2 JP7487135 B2 JP 7487135B2
Authority
JP
Japan
Prior art keywords
automatic generation
man
verification
verification data
verified
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.)
Active
Application number
JP2021056049A
Other languages
English (en)
Other versions
JP2022153030A (ja
Inventor
遼 曾我
秀行 鹿糠
繁 栗田
貴都 大原
光雄 稲垣
哲哉 米光
浩央 菅生
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2021056049A priority Critical patent/JP7487135B2/ja
Publication of JP2022153030A publication Critical patent/JP2022153030A/ja
Application granted granted Critical
Publication of JP7487135B2 publication Critical patent/JP7487135B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、工数算出支援装置及び工数算出支援方法に関するものである。
既存のプログラムをテストする際、まず検証したい関数毎にテストの事前設定値及び期待値を含む検証データを作成する。この検証データを効率的に作成するには、作成作業の管理を行うべく、検証関数毎の検証データ作成工数を見積もる必要がある。
こうした検証データ作成工数を見積もる方法として、例えば、全ての関数に対して同じ条件を設定する方法が存在する。ところが、関数毎に複雑さや規模といった品質情報が違う場合、見積もり結果である工数は大きく変化しうる。その場合、作成作業を適宜に管理することはできず、テストデータの作成効率は低下する可能性がある。
そこで、例えば、ソフトウェアシステムのテストにどれだけのリソースをどのように割り当てるべきかを、テスト計画として決定することを支援する、テスト計画作成支援方法(特許文献1参照)などが提案されている。
この技術は、ソフトウェアシステムのプログラムモジュールごとの品質情報を設定するモジュール品質情報設定工程と、前記品質情報から前記プログラムモジュールの不具合検出工数を予測するモジュール不具合検出工数予測工程と、前記モジュールと前記ソフトウェアシステムの仕様書から抽出される仕様項目との対応関係を表すモジュール・仕様項目対応関係情報を設定するモジュール・仕様項目対応関係設定工程と、前記不具合検出工数と前記モジュール・仕様項目対応関係情報とから仕様項目不具合検出工数を予測する仕様項目不具合検出工数予測工程と、前記仕様項目不具合検出工数に基づいて、前記ソフトウェアシステムのテストに利用可能なテストリソースを配分するテスト計画を作成するテスト計画作成工程を備えるものである。
特開2003-256206号公報
従来手法において、手動での検証データ作成を前提とした工数算出は可能である。しかしながら、検証データの自動生成を前提とする場合、自動生成実行前に、当該自動生成の成否は不明である。よって、検証データの作成工数を適宜に見積もることが困難であった。
そこで本発明の目的は、検証データの自動生成に先立ち当該自動生成の成否を判定し、検証データの作成工数を推定可能とすることにある。
上記課題を解決する本発明の工数算出支援装置は、検証対象となる関数を規定した検証対象表と、プログラムの検証データ自動生成における阻害要因を規定した自動生成阻害要因表と、検証データ自動生成の成功確率に関する基準値規定した自動生成対象判断閾値と、検証データの生成方法毎の工数を規定した工数設定表と、を格納する記憶装置と、所定プログラムにおける検証対象関数を前記検証対象表に基づき特定し、前記自動生成阻害要
因表が規定する自動生成阻害要因について、前記特定した検証対象関数それぞれにおける該当数を算出する処理と、前記検証対象関数それぞれの該当数に基づき、前記所定プログラムに関する検証データ自動生成の成功確率を算出する処理と、前記検証対象関数それぞれについて、前記成功確率に基づいて検証データの自動生成対象か判定する処理と、前記検証対象関数それぞれについて、前記判定の結果に基づいて検証データ作成工数を算出する処理を実行する演算装置と、を含むことを特徴とする。
また、本発明の工数算出支援方法は、情報処理装置が、検証対象となる関数を規定した検証対象表と、プログラムの検証データ自動生成における阻害要因を規定した自動生成阻害要因表と、検証データ自動生成の成功確率に関する基準値規定した自動生成対象判断閾値と、検証データの生成方法毎の工数を規定した工数設定表と、を格納する記憶装置を保持し、所定プログラムにおける検証対象関数を前記検証対象表に基づき特定し、前記自動生成阻害要因表が規定する自動生成阻害要因について、前記特定した検証対象関数それぞれにおける該当数を算出する処理と、前記検証対象関数それぞれの該当数に基づき、前記所定プログラムに関する検証データ自動生成の成功確率を算出する処理と、前記検証対象関数それぞれについて、前記成功確率に基づいて検証データの自動生成対象か判定する処理と、前記検証対象関数それぞれについて、前記判定の結果に基づいて検証データ作成工数を算出する処理と、を実行することを特徴とする。
本発明によれば、検証データの自動生成に先立ち当該自動生成の成否を判定し、検証データの作成工数を推定可能となる。
本実施形態における工数算出支援装置を備える情報処理システムのハードウェア構成例を示す図である。 本実施形態における工数算出支援装置のソフトウェア構成例を示す図である。 本実施形態における検証対象表の一例を示す図である。 本実施形態における自動生成阻害要因表の一例を示す図である。 本実施形態における自動生成対象判断閾値の一例を示す図である。 本実施形態における工数設定表の一例を示す図である。 本実施形態における検証関数毎自動生成阻害要因該当数表の一例を示す図である。 本実施形態における検証関数毎検証データ自動生成成功確率表の一例を示す図である。 本実施形態における検証関数毎自動生成対象表の一例を示す図である。 本実施形態における検証関数毎検証データ作成工数表の一例を示す図である。 本実施形態における非機能関連生成失敗非該当確率算出式の一例を示す図である。 本実施形態における自動生成阻害要因算出処理フローチャートの一例を示す図である。 本実施形態における自動生成成功確率算出処理フローチャートの一例を示す図である。 本実施形態における検証データ自動生成対象判断処理フローチャートの一例を示す図である。 本実施形態における工数算出処理フローチャートの一例を示す図である。 本実施形態における検証関数プログラムの一例を示す図である。 本実施形態における表示装置の一例を示す図である。
<<システム構成>>
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の工数算出支援装置100を含むシステム構成例を示す図である。なお、本実施形態では、ユーザが指定した検証関数に対して検証データ作成工数を算出する方法の一例を説明する。
本実施形態における工数算出支援装置100は、中央演算装置101、主記憶装置102、二次記憶装置103、入力装置104、表示装置105、及び通信装置107を備える。また、これらの各装置はバス106で接続され、互いに通信可能である。
このうち中央演算装置101は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)で構成される。この中央演算装置101は、二次記憶装置103に保持されるプログラムを主記憶装置102に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なう。
また、主記憶装置102は、RAM(Random Access Memory)やROM(Read Only Memory)など揮発性記憶素子で構成される。
また、二次記憶装置103は、SSD(Solid State Drive)やHDD(Hard Disk Drive:ハードディスクドライブ)など適宜な不揮発性記憶素子で構成される。この二次記憶装置102には、本実施形態の工数算出支援装置100として必要な機能を実装する為のプログラムに加えて、当該プログラムが利用する各種データ類が記憶されている。
また、入力装置104は、キーボードやマウス等のデータ入力デバイスから構成される。
また、表示装置105は、ディスプレイ等の出力装置で構成される。
また、通信装置107は、中央演算装置101が通信ネットワーク130と通信するための機能が実装されたネットワークインタフェースカード(NIC:Network Interface Card)等で構成される。
なお、工数算出支援装置100は、検証関数を含むプログラムファイル(テスト対象のプログラム)を格納するプログラムファイル格納装置110と、インターネット等の通信ネットワーク130を介して接続している。
<<ソフトウェア構成>>
次に、工数算出支援装置100とプログラムファイル格納装置110の構成について説明する。図2は、本実施形態に係る工数算出支援装置100とプログラムファイル格納装置110の構成からなる機能ブロックの一例を示す図である。
なお、本実施形態においては、工数算出支援装置100の機能ブロックの全てが中央演算装置101によって実行または操作されるソフトウェアプログラムとデータであるものとして説明する。ただし、上述の機能ブロックの一部または全ては、ハードウェアとして実現されてもよい。
また、本来は、図2に例示している機能ブロックに加え、各機能ブロックの起動と管理等を行うオペレーティングシステム(OS)と制御プログラム等が存在する。しかし本実施形態では、これらの機能ブロックの連携動作を適宜説明することとし、OSと制御プログラムについては説明及び記載を省略する。OSと制御プログラムが、ここで適宜説明する連携動作に必要となる機能ブロックの起動と動作管理を行うことは自明であるためである。
図2に示すように、本実施形態に係る工数算出支援装置100は、機能ブロックとして、自動生成阻害要因該当数算出部201と、生成成功確率算出部202と、検証データ自動生成対象判断部203と、工数算出部204を有する。
このうち自動生成阻害要因該当数算出部201は、検証関数毎の自動生成阻害要因の該当数を算出する。
また、生成成功確率算出部202は、検証関数毎の自動生成成功確率を算出する
また、検証データ自動生成対象判断部203は、検証関数毎に検証データの自動生成対象か否かを判断する
また、工数算出部204は、検証関数毎に検証データの作成工数を算出する。
また、工数算出支援装置100は、データ群として、検証対象表210と、自動生成阻害要因表211と、自動生成対象判断閾値212と、工数設定表213と、検証関数毎自動生成阻害要因該当数表214と、検証関数毎検証データ自動生成成功確率表215と、検証関数毎自動生成対象表216と、非機能関連自動生成成功確率算出式220と、検証関数毎検証データ作成工数表217を有する。
このうち、検証対象表210は検証対象の関数を含む。
また、自動生成阻害要因表211は、自動生成の複数の阻害要因の情報を含む。
また、自動生成対象判断閾値212は、検証関数を自動生成するか否か判断するための自動生成成功確率の基準値を含む。
また、工数設定表213は、自動生成する場合としない場合の関数毎の工数を規定する。
また、検証関数毎自動生成阻害要因該当数表214は、検証関数毎に自動生成の複数の阻害要因の該当数の情報を含む。
また、検証関数毎検証データ自動生成成功確率表215は、検証関数毎に検証データの自動生成成功確率の情報を含む。
また、検証関数毎自動生成対象表216は、検証関数毎に自動生成対象か否かの情報を含む。
また、非機能関連自動生成成功確率算出式220は、自動生成が所定時間内に完了しないといった非機能要件に関連した失敗が発生しない確率を算出する式である。
また、検証関数毎検証データ作成工数表217は、検証関数毎に検証データ作成工数の
情報を含む。
なお、上記の各機能ブロック及びデータ群については、工数算出支援装置100等のデータ処理内容に関連して以下に順次説明する。
<<データ定義>>
ここで、本実施形態の工数算出支援装置100での検証データ作成工数算出処理に使用されるデータ類について説明する。
<<事前準備データ定義>>
まず、検証対象表210、自動生成阻害要因表211、自動生成対象判断閾値212、工数設定表213について説明する。これらの表は、工数算出支援装置100の運用開始前に、システム管理者等が予め適宜の記憶領域内に設定し、格納しておくものとする。
検証対象表210の一構成例を図3に示す。検証対象表210には、検証データを作成すべき関数名が格納されている。例えば、図3では、検証関数項番1に、関数名として、「和暦西暦変換」を格納している。
続いて、自動生成阻害要因表211の一構成例を図4に示す。自動生成阻害要因表211には、検証データ自動生成の阻害要因の情報として、阻害要因の名称と、生成失敗が決定的か否かをYesまたはNoで表す情報を格納している。
例えば、図4では、阻害要因項番1の「阻害要因」として、「命令毎付随更新変数数の合計数」を格納し、「決定的か?」欄に、「No」を格納している。
次に、自動生成対象判断閾値212の一構成例を図5に示す。自動生成対象判断閾値212には、検証データの自動生成対象か判断するための、自動生成成功確率の基準値が格納されている。例えば、図5では、自動生成成功判断閾値として、0.5を格納している。
続いて、工数設定表213の一構成例を図6に示す。工数設定表213には、工数設定毎に、検証データの自動生成対象か否かをYesまたはNoで表す情報と工数を格納している
。例えば、図6では、工数設定項番「1」の、「自動生成対象か?」欄に「Yes」、「工
数」に「1」を格納している。
<<処理過程使用データ定義>>
続いて、検証関数毎自動生成阻害要因該当数表214、検証関数毎検証データ自動生成成功確率表215、検証関数毎自動生成対象表216、及び検証関数毎検証データ作成工数表217について説明する。
これらの表は、工数算出支援装置100が検証データ作成工数を算出する過程で使用する。生成過程については、各表説明後に詳しく説明する。
まず、検証関数毎自動生成阻害要因該当数表214の一構成例を図7に示す。この検証関数毎自動生成阻害要因該当数表214は、検証関数毎に、プログラムを解析して算出した阻害要因の該当数を格納するテーブルである。検証関数毎自動生成阻害要因該当数表214は、検証関数項番、阻害要因項番、及びその該当数の各値が格納される。
こうした検証関数毎自動生成阻害要因該当数表214は、自動生成阻害要因該当数算出部201に、検証対象表210と自動生成阻害要因表211を入力することで作成される。
例えば、検証関数項番「1」の阻害要因項番「1」では、関数「和暦西暦変換」の阻害要因「命令毎付随更新変数数の合計数」の該当数として「2」が格納されている。
続いて、検証関数毎検証データ自動生成成功確率表215の一構成例を図8に示す。検証関数毎検証データ自動生成成功確率表215では、検証関数毎に、検証データ自動生成の成功確率の情報を格納する。
こうした検証関数毎検証データ自動生成成功確率表215は、自動生成成功確率算出部202に、検証関数毎自動生成阻害要因該当数表214と自動生成阻害要因表211を入力することで作成する。例えば、検証関数項番「1」の生成成功確率として、「0.4」が
格納されている。
次に、検証関数毎自動生成対象表216の一構成例を図9に示す。検証関数毎自動生成対象表216では、検証関数毎に、検証データの自動生成対象か否かをYesかNoで表す情
報を格納する。
こうした検証関数毎自動生成対象表216は、検証データ自動生成対象判断部203に、検証関数毎検証データ自動生成成功確率表215と自動生成成功判断閾値212を入力することで作成する。例えば、検証関数項番「1」の「自動生成対象?」へ「Yes」が格
納されている。
続いて、検証関数毎検証データ作成工数表217の一構成例を図10に示す。検証関数毎検証データ作成工数表217では、検証関数毎に、検証データ作成工数を格納する。こうした検証関数毎検証データ作成工数表217は、工数算出部204に、検証関数毎自動生成対象表216と工数設定表213を入力することで作成する。例えば、検証関数項番「1」の工数として「1」を格納している。
<<算出式定義>>
続いて、非機能関連生成失敗非該当確率算出式220について説明する。この式は、工数算出支援装置100の運用開始前に、システム管理者等が予め適宜の記憶領域内に設定し、格納しておく。
この非機能関連生成失敗非該当確率算出式220の一例を図11に示す。非機能関連生成失敗非該当確率算出式220は、生成成功確率算出部202にて、自動生成時間が完了しないといった非機能要件に関連した失敗が発生しない確率を算出するために用いる。
本式の構成としては、阻害要因ごとに重み(図11下段の重みテーブル1101)と該当数を乗じて切片を加えたものの総和を算定するものとなっている。
<フロー例>
以下、本実施形態における工数算出支援方法の実際手順について図に基づき説明する。以下で説明する工数算出支援方法に対応する各種動作は、工数算出支援装置100が主記憶装置102等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
<<処理内容>>
次に、本実施形態の工数算出支援装置100により、検証データ作成工数を算出する処理について説明する。その概要は以下のとおりである。
まず工数算出支援装置100は、入力装置102からの指示等により、検証データ作成工数算出を開始すると、まず検証対象表210と自動生成阻害要因表211を自動生成阻害要因該当数算出部201に入力し、検証関数毎自動生成阻害要因該当数表214を出力する。
続いて、工数算出支援装置100は、検証関数毎自動生成阻害要因表214と自動生成阻害要因表211と非機能関連生成失敗非該当確率算出式220を、生成成功確率算出部202に入力し、検証関数毎検証データ自動生成成功確率表215を出力する。
続いて、工数算出支援装置100は、検証関数毎検証データ自動生成成功確率表215と自動生成成功判断閾値212を、検証データ自動生成対象判断部203に入力し、検証関数毎自動生成対象表216を出力する。
続いて、工数算出支援装置100は、検証関数毎自動生成対象表216と工数設定表213を、工数算出部204に入力し、検証関数毎検証データ作成工数表217を出力する。
以上の処理により、検証対象表210に対応した検証関数毎検証データ作成工数表217を生成できる。
本実施形態では、自動生成阻害要因表211、自動生成対象判断閾値212、工数設定表213として図4、図5、図6を用意し、検証関数を含むプログラムとして図16に示すソースファイルをプログラムファイル格納装置110へ格納し、検証対象表210として図3を入力したときに、検証データ作成工数を算出する例を示す。
<<詳細:自動生成阻害要因該当数算出部>>
図12に、自動生成阻害要因該当数算出部201が、検証対象関数毎の自動生成阻害要因の該当数を算出する処理の一例を示す。
この処理は、工数算出支援装置100が、自動生成阻害要因該当数算出部201へ、検証対象表210と自動生成阻害要因表211を入力した時点で開始する(S1200)。なお、本実施形態では、自動生成阻害要因該当数算出部201へ図3、図4の情報が入力されたものとする。
この場合、まず自動生成阻害要因該当数算出部201が、検証対象表210から検証関数を一つ取得し、処理対象検証関数とする(S1201)。
続いて、自動生成阻害要因該当数算出部201が、S1201で得た処理対象検証関数についてプログラム解析を行い、自動生成阻害要因表211で規定する阻害要因に関して、その該当個数を算定する(S1202)。
続いて、自動生成阻害要因該当数算出部201が、検証対象表210に未処理(S1201及びS1202を未処理)の検証関数が残っているか判定する(S1203)。
上述の判定の結果、残っている場合(S1203:Yes)、自動生成阻害要因該当数算出部201は、検証対象表210から残りの検証関数を一つ取得し、新たな処理対象検証関数とする(S1201)。
一方、上述の判定の結果、残っていない場合(S1203:No)、自動生成阻害要因該当数算出部201は、検証関数毎の自動生成阻害要因の該当数を、検証関数毎自動生成
阻害要因該当数表214として出力し(S1204)、処理を終了する(S1205)。
一例として、自動生成阻害要因該当数算出部201がS1201にて、処理対象検証関数として、図3に示す検証対象表210より検証関数項番「2」の「会員ランク算出」を取得した場合について説明する。
自動生成阻害要因該当数算出部201は、S1202にて、図16に示すソースファイルから、会員ランク算出に該当するプログラム(33-48行目)を解析対象プログラムとして取得する。
以下、自動生成阻害要因該当数算出部201が、この解析対象プログラムを解析し、図4に示す自動生成阻害要因表211で規定する阻害要因のうち、「令毎付随更新変数数の合計数」を計上する過程について説明する。
自動生成阻害要因該当数算出部201は、解析対象プログラムから、変数値を更新する命令文(34、35、38、40、42、44、46行目)を取得する。
続いて、自動生成阻害要因該当数算出部201は、上述のように取得した各命令で更新する変数を列挙する。例えば、34行目の命令から「運転者基本情報」と「運転熟練度」を列挙する。
続いて、自動生成阻害要因該当数算出部201は、ソースファイルのデータ定義(1-
24行目)を参照し、各命令で更新する各変数に対して、値の保存領域を共有するために
付随して更新される変数を列挙する。
例えば、「運転者基本情報」は、「会員情報」(9行目)、「免許区分」(10行目)、「免許種類」(11行目)、「種別」(12行目)、「名称」(13行目)、「免許取得後年数」(14行目)の6つの変数と保存領域を共有している。
続いて、自動生成阻害要因該当数算出部201は、変数値を更新する命令毎の付随更新変数数を合計して、「17」を算出し、この値を、検証関数毎自動生成阻害要因該当数表214の検証関数項番「2」、阻害要因項番「1」の該当数として格納する(図7)。
以上の処理により、検証対象関数毎の自動生成阻害要因の該当数を算出できる。
<<詳細:生成成功確率算出部>>
図13に、自動生成成功確率算出部202が、検証対象関数毎の自動生成阻害要因の該当数を用いて生成成功確率を算出する処理の一例を示す。この処理は、自動生成成功確率算出部202へ、検証関数毎自動生成阻害要因該当数表214と自動生成阻害要因表211が入力された時点で開始する(S1300)。本実施形態では、自動生成成功確率算出部202へ図7、図4の各情報が入力されたとする。
まず、自動生成成功確率算出部202が、検証関数毎自動生成阻害要因該当数表214から、検証関数を一つ取得し、処理対象検証関数とする(S1301)。
続いて、自動生成成功確率算出部202は、S1301で得た処理対象検証関数に関して、0より大きい自動生成阻害要因があるか確認する(S1302)。
この確認の結果、0より大きい自動生成阻害要因がない場合(S1302:No)、自動生成成功確率算出部202は、処理対象検証関数の生成成功確率を「1」とする(S1
303)。以下、0より大きい自動生成阻害要因がある場合について説明する。
続いて、自動生成成功確率算出部202が、決定的である自動生成阻害要因に、0より大きいものがあるか確認する(S1304)。決定的である自動生成阻害要因に、0より大きいものがある場合(S1304:Yes)、自動生成成功確率算出部202は、処理対象検証関数の生成成功確率を「0」とする(S1305)。
例えば、図7の検証関数項番「3」の阻害要因項番「4」の該当数は「3」であり、阻害要因項番「4」は図4より決定的であるため、図8の検証関数項番「3」の生成成功確率として「0」を格納している。
一方、決定的である自動生成阻害要因に、「0」より大きいものがない場合(S1304:No)、自動生成成功確率算出部202は、非機能関連生成失敗非該当確率算出式220に従い、生成成功確率を算出する(S1306)。
例えば、図7の検証関数項番「2」の阻害要因項番「4」の該当数は「0」であるため、図11に示した非機能関連生成失敗非該当確率算出式220を用いて、非該当確率「0.141」を算出し、図8の検証関数項番「2」の生成成功確率として、非該当確率「0.141」を格納している。
続いて、自動生成成功確率算出部202が、検証関数毎自動生成阻害要因該当数表214に未処理の検証関数が残っているか確認する(S1307)。この確認の結果、残っている場合(S1307:Yes)、自動生成成功確率算出部202は、検証関数毎自動生成阻害要因該当数表214から新たに検証関数を一つ取得し、新たな処理対象検証関数とする(S1301)。
一方、上述の確認の結果、残っていない場合(S1307:No)、自動生成成功確率算出部202は、検証関数毎の自動生成成功確率を検証関数毎自動生成成功確率表215として出力し(S1308)、処理を終了する(S1309)。
以上の処理により、検証対象関数毎の自動生成阻害要因の該当数を用いて生成成功確率を算出できる。
<<詳細:検証データ自動生成対象判断部>>
図14に、検証データ自動生成対象判断部203が、検証対象関数毎に自動生成対象か否か判断する処理の一例を示す。この処理は、検証データ自動生成対象判断部203へ、検証関数毎検証データ自動生成成功確率表215と自動生成成功判断閾値212が入力された時点で開始する(S1400)。本実施形態では、検証データ自動生成対象判断部203へ図8、図5の各情報が入力されたとする。
まず、検証データ自動生成対象判断部203が、検証関数毎検証データ自動生成成功確率表215から検証関数を一つ取得し、処理対象検証関数とする(S1401)。
続いて、検証データ自動生成対象判断部203が、S1201で得た処理対象検証関数に関して、生成成功確率が自動生成対象判断閾値212より大きいか確認する(S1402)。
この確認の結果、大きい場合(S1402:Yes)、検証データ自動生成対象判断部203は、処理対象検証関数の「自動生成対象?」欄を「Yes」と設定とする(S1403)。一方、小さい場合(S1402:No)、検証データ自動生成対象判断部203
は、処理対象検証関数の「自動生成対象?」欄を「No」と設定する(S1404)。
続いて、検証データ自動生成対象判断部203が、検証関数毎検証データ自動生成成功確率表215に未処理の検証関数が残っているか確認する(S1405)。
この確認の結果、残っている場合(S1405:Yes)、検証データ自動生成対象判断部203は、新たに検証関数を取得し、処理対象検証関数とする(S1401)。
一方、残っていない場合(S1405:No)、検証データ自動生成対象判断部203は、検証関数毎の「自動生成対象?」欄の値を検証関数毎自動生成対象表として出力し(S1406)、処理を終了する(S1407)。
一例として、検証データ自動生成対象判断部203が、S1401にて、処理対象検証関数として図8の検証関数項番「1」を取得したとする。検証関数項番「1」の生成成功確率は「0.948」であり、自動生成成功判断閾値212より大きい(S1402:Yes)ため、検証データ自動生成対象判断部203は、「自動生成対象?」欄に「Yes」を設定する(S1403)。
以上の処理により、検証対象関数毎に自動生成対象か否か判断できる。
<<詳細:工数算出部>>
図15に、工数算出部204が、検証対象関数毎に検証データ作成工数を算出する処理の一例を示す。この処理は、工数算出部204へ、検証関数毎自動生成対象表216と工数設定表213が入力された時点で開始する(S1400)。本実施形態では、工数算出部204へ図9、図6の各情報が入力されたものとする。
まず、工数算出部204が、検証関数毎自動生成対象表216から、検証関数を一つ取得し、処理対象検証関数とする(S1501)。
続いて、工数算出部204が、S1501で得た処理対象検証関数に関して、工数設定
表213から、処理対象検証関数の「自動生成対象化?」の値が一致する工数を取得する(S1502)。
続いて、工数算出部204が、検証関数毎自動生成対象表216に未処理の検証関数が残っているか確認する(S1503)。この確認の結果、残っている場合(S1503:Yes)、工数算出部204は、新たに検証関数を一つ取得し、処理対象検証関数とする(
S1501)。
一方、上述の確認の結果、残っていない場合(S1503:No)、工数算出部204は、検証関数毎の工数を検証関数毎検証データ作成工数表217として出力し(S150
4)、処理を終了する(S1505)。
一例として、工数算出部204が、S1501にて、処理対象検証関数として図9の検証関数項番「1」を取得したとする。検証関数項番「1」は、自動生成対象のため、図6の工数設定項番「1」から、工数「1」を取得する(S1502)。
以上の処理により、検証対象関数毎に検証データ作成工数を算出できる。
<<ユースケース>>
従来においては、全て手動で検証データを作成する場合には工数を算出できた。だが、
検証データ自動生成技術を利用する環境下では、自動生成技術実行前に、自動生成に成功するか否か判然とせず、検証データの作成工数を見積もれなかった。ところが、上記で説明してきた本実施形態のように、工数算出支援装置100によれば、こうした従来の課題を解決し、自動生成技術実行前に自動生成成功するか否かを判定することで、検証データ自動生成技術を活用した場合でも検証データ作成工数を算出できる。
図17に、本実施形態の工数算出支援装置100によって算出した検証データ作成工数を表示装置105にて表示した画面1000を例示する。
画面1000におけるテーブル1701は、検証関数名ごとに、検証データの自動生成対象か否かを示す「Yes」または「No」の値と、当該関数に関する検証データ作成工数を示した構成となっている。
この画面表示によれば、検証データ自動生成装置を活用した場合でも、検証データ作成前に、検証関数毎に自動生成対象か否か及び作成工数を把握でき、検証データ作成作業を管理できる。
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば,上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施形態の構成の一部を他の構成に置き換えることが可能であり、また、ある実施形態の構成に他の構成を加えることも可能である。
こうした本実施形態によれば、検証データの自動生成に先立ち当該自動生成の成否を判定し、検証データの作成工数を推定可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の工数算出支援装置において、前記演算装置は、前記検証対象関数それぞれについて算出した、前記検証データ作成工数の情報を出力する処理をさらに実行するものである、としてもよい。
これによれば、工数の情報をユーザに提示し、ひいては、検証データの自動生成に先立ち当該自動生成の成否を判定し、より効率的に検証データの作成工数を推定可能となる。
また、本実施形態の工数算出支援装置において、前記記憶装置は、前記自動生成阻害要因表において、自動生成阻害要因ごとに、自動生成の決定的な阻害要因か否かを規定する情報を保持し、前記演算装置は、前記検証対象関数における前記決定的な阻害要因の該当数が1以上である場合、前記成功確率の算出において、当該検証対象関数に関する前記成功確率を0として算出するものである、としてもよい。
これによれば、決定的な阻害要因に関して適宜に取り扱うことが可能となる。ひいては、検証データの自動生成に先立ち当該自動生成の成否をより効率的に判定し、検証データの作成工数を推定可能となる。
また、本実施形態の工数算出支援装置において、前記記憶装置は、前記自動生成阻害要因表において、前記決定的な阻害要因として、メモリ上の記憶位置を1ビット単位で指定する変数の数を規定しているものである、としてもよい。
これによれば、阻害要因のうち、メモリ上での変数の特性に関して対応可能となる。ひいては、検証データの自動生成に先立ち当該自動生成の成否をより効率的に判定し、検証
データの作成工数を推定可能となる。
また、本実施形態の工数算出支援装置において、前記記憶装置は、前記自動生成阻害要因表において、前記決定的な阻害要因として、テスト対象プログラム内で使用された変数のうち、記憶領域を共有した変数の数を規定しているものである、としてもよい。
これによれば、阻害要因のうち、記憶領域を共有するタイプの変数に関して対応可能となる。ひいては、検証データの自動生成に先立ち当該自動生成の成否をより効率的に判定し、検証データの作成工数を推定可能となる。
また、本実施形態の工数算出支援装置において、前記記憶装置は、前記自動生成阻害要因表において、前記決定的な阻害要因として、テスト対象プログラム内の条件式内の変数のうち、外部関数で値が複数回更新される変数の数を規定しているものである、としてもよい。
これによれば、阻害要因のうち、外部関数により値が更新されるタイプの変数に関して対応可能となる。ひいては、検証データの自動生成に先立ち当該自動生成の成否をより効率的に判定し、検証データの作成工数を推定可能となる。
また、本実施形態の工数算出支援装置において、前記記憶装置は、前記自動生成阻害要因表において、前記決定的な阻害要因として、変数への値を代入する命令のうち、命令の複数の引数変数の型またはサイズが異なる命令の数を規定しているものである、としてもよい。
これによれば、阻害要因のうち、変数への値の代入命令のタイプに関して対応可能となる。ひいては、検証データの自動生成に先立ち当該自動生成の成否をより効率的に判定し、検証データの作成工数を推定可能となる。
また、本実施形態の工数算出支援装置において、前記記憶装置は、前記自動生成阻害要因表において、前記阻害要因として、検証関数内の命令文が変数の値を更新する際に、付随して更新される変数の数の合計数を表す命令毎付随更新変数数の合計数を規定するものであり、前記演算装置は、前記該当数の算出に際し、前記合計数の規定に対応した阻害要因の該当数を算出するものである、としてもよい。
これによれば、阻害要因のうち、他の変数の値更新に付随して更新されるタイプの変数に関して対応可能となる。ひいては、検証データの自動生成に先立ち当該自動生成の成否をより効率的に判定し、検証データの作成工数を推定可能となる。
また、本実施形態の工数算出支援装置において、前記記憶装置は、前記自動生成阻害要因表において、前記阻害要因として、条件文の数である構文数を規定するものであり、前記演算装置は、前記該当数の算出に際し、構文数の規定に対応した阻害要因の該当数を算出するものである、としてもよい。
これによれば、阻害要因のうち、条件分の数に関して対応可能となる。ひいては、検証データの自動生成に先立ち当該自動生成の成否をより効率的に判定し、検証データの作成工数を推定可能となる。
また、本実施形態の工数算出支援装置において、前記記憶装置は、非機能関連の検証データの自動生成失敗に該当しない確率を規定する、非機能関連生成失敗非該当確率算出式を保持し、前記演算装置は、非機能関連の検証データ自動生成が失敗に該当しない確率を
、前記非機能関連生成失敗非該当確率算出式に基づき算出するものである、としてもよい。
これによれば、非機能に関連する検証データの自動生成に関して適宜に対応可能となる。ひいては、検証データの自動生成に先立ち当該自動生成の成否をより効率的に判定し、検証データの作成工数を推定可能となる。
100 工数算出支援装置
101 中央演算装置
102 主記憶装置
103 二次記憶装置
104 入力装置
105 表示装置
106 バス
107 通信装置
110 プログラムファイル格納装置
130 通信ネットワーク
201 自動生成阻害要因該当数算出部
202 生成成功確率算出部
203 検証データ自動生成対象判断部
204 工数算出部
211 自動生成阻害要因表
212 自動生成成功判断閾値
213 工数設定表
214 検証関数毎自動生成阻害要因該当数表
215 検証関数毎検証データ自動生成成功確率表
216 検証関数毎自動生成対象表
217 検証関数毎検証データ作成工数表
220 非機能関連生成失敗非該当確率算出式

Claims (11)

  1. 検証対象となる関数を規定した検証対象表と、プログラムの検証データ自動生成における阻害要因を規定した自動生成阻害要因表と、検証データ自動生成の成功確率に関する基準値規定した自動生成対象判断閾値と、検証データの生成方法毎の工数を規定した工数設定表と、を格納する記憶装置と、
    所定プログラムにおける検証対象関数を前記検証対象表に基づき特定し、前記自動生成阻害要因表が規定する自動生成阻害要因について、前記特定した検証対象関数それぞれにおける該当数を算出する処理と、前記検証対象関数それぞれの該当数に基づき、前記所定プログラムに関する検証データ自動生成の成功確率を算出する処理と、前記検証対象関数それぞれについて、前記成功確率に基づいて検証データの自動生成対象か判定する処理と、前記検証対象関数それぞれについて、前記判定の結果に基づいて検証データ作成工数を算出する処理を実行する演算装置と、
    を含むことを特徴とする工数算出支援装置。
  2. 前記演算装置は、
    前記検証対象関数それぞれについて算出した、前記検証データ作成工数の情報を出力する処理をさらに実行するものである、
    ことを特徴とする請求項1に記載の工数算出支援装置。
  3. 前記記憶装置は、
    前記自動生成阻害要因表において、自動生成阻害要因ごとに、自動生成の決定的な阻害要因か否かを規定する情報を保持し、
    前記演算装置は、
    前記検証対象関数における前記決定的な阻害要因の該当数が1以上である場合、前記成功確率の算出において、当該検証対象関数に関する前記成功確率を0として算出するものである、
    ことを特徴とする請求項1に記載の工数算出支援装置。
  4. 前記記憶装置は、
    前記自動生成阻害要因表において、前記決定的な阻害要因として、メモリ上の記憶位置を1ビット単位で指定する変数の数を規定しているものである、
    ことを特徴とする請求項3に記載の工数算出支援装置。
  5. 前記記憶装置は、
    前記自動生成阻害要因表において、前記決定的な阻害要因として、テスト対象プログラム内で使用された変数のうち、記憶領域を共有した変数の数を規定しているものである、
    ことを特徴とする請求項3に記載の工数算出支援装置。
  6. 前記記憶装置は、
    前記自動生成阻害要因表において、前記決定的な阻害要因として、テスト対象プログラム内の条件式内の変数のうち、外部関数で値が複数回更新される変数の数を規定しているものである、
    ことを特徴とする請求項3に記載の工数算出支援装置。
  7. 前記記憶装置は、
    前記自動生成阻害要因表において、前記決定的な阻害要因として、変数への値を代入する命令のうち、命令の複数の引数変数の型またはサイズが異なる命令の数を規定しているものである、
    ことを特徴とする請求項3に記載の工数算出支援装置。
  8. 前記記憶装置は、
    前記自動生成阻害要因表において、前記阻害要因として、検証関数内の命令文が変数の値を更新する際に、付随して更新される変数の数の合計数を表す命令毎付随更新変数数の合計数を規定するものであり、
    前記演算装置は、
    前記該当数の算出に際し、前記合計数の規定に対応した阻害要因の該当数を算出するものである、
    ことを特徴とする請求項1に記載の工数算出支援装置。
  9. 前記記憶装置は、
    前記自動生成阻害要因表において、前記阻害要因として、条件文の数である構文数を規定するものであり、
    前記演算装置は、
    前記該当数の算出に際し、構文数の規定に対応した阻害要因の該当数を算出するものである、
    ことを特徴とする請求項1に記載の工数算出支援装置。
  10. 前記記憶装置は、
    非機能関連の検証データの自動生成失敗に該当しない確率を規定する、非機能関連生成失敗非該当確率算出式を保持し、
    前記演算装置は、
    非機能関連の検証データ自動生成が失敗に該当しない確率を、前記非機能関連生成失敗非該当確率算出式に基づき算出するものである、
    ことを特徴とする請求項1に記載の工数算出支援装置。
  11. 情報処理装置が、
    検証対象となる関数を規定した検証対象表と、プログラムの検証データ自動生成における阻害要因を規定した自動生成阻害要因表と、検証データ自動生成の成功確率に関する基準値規定した自動生成対象判断閾値と、検証データの生成方法毎の工数を規定した工数設定表と、を格納する記憶装置を保持し、
    所定プログラムにおける検証対象関数を前記検証対象表に基づき特定し、前記自動生成阻害要因表が規定する自動生成阻害要因について、前記特定した検証対象関数それぞれにおける該当数を算出する処理と、前記検証対象関数それぞれの該当数に基づき、前記所定プログラムに関する検証データ自動生成の成功確率を算出する処理と、前記検証対象関数それぞれについて、前記成功確率に基づいて検証データの自動生成対象か判定する処理と、前記検証対象関数それぞれについて、前記判定の結果に基づいて検証データ作成工数を算出する処理と、
    を実行することを特徴とする工数算出支援方法。
JP2021056049A 2021-03-29 2021-03-29 工数算出支援装置及び工数算出支援方法 Active JP7487135B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021056049A JP7487135B2 (ja) 2021-03-29 2021-03-29 工数算出支援装置及び工数算出支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021056049A JP7487135B2 (ja) 2021-03-29 2021-03-29 工数算出支援装置及び工数算出支援方法

Publications (2)

Publication Number Publication Date
JP2022153030A JP2022153030A (ja) 2022-10-12
JP7487135B2 true JP7487135B2 (ja) 2024-05-20

Family

ID=83555915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021056049A Active JP7487135B2 (ja) 2021-03-29 2021-03-29 工数算出支援装置及び工数算出支援方法

Country Status (1)

Country Link
JP (1) JP7487135B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004220269A (ja) 2003-01-14 2004-08-05 Cyx Inc 統合テスト管理システム
JP2007334630A (ja) 2006-06-15 2007-12-27 Dainippon Screen Mfg Co Ltd ソフトウェアシステムのテストケース選択装置およびテストケース選択プログラム
JP2010003224A (ja) 2008-06-23 2010-01-07 Hitachi Ltd テスト情報管理サーバ、テスト情報管理方法、およびプログラム
JP2014092980A (ja) 2012-11-05 2014-05-19 Fujitsu Ltd 判定装置、判定方法及び判定プログラム
JP2016119075A (ja) 2014-12-10 2016-06-30 ゼネラル・エレクトリック・カンパニイ セーフティクリティカルソフトウェアのための統合された自動テストケース生成
JP2017054217A (ja) 2015-09-08 2017-03-16 日本電気株式会社 テスト支援装置、テスト支援方法およびテスト支援プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004220269A (ja) 2003-01-14 2004-08-05 Cyx Inc 統合テスト管理システム
JP2007334630A (ja) 2006-06-15 2007-12-27 Dainippon Screen Mfg Co Ltd ソフトウェアシステムのテストケース選択装置およびテストケース選択プログラム
JP2010003224A (ja) 2008-06-23 2010-01-07 Hitachi Ltd テスト情報管理サーバ、テスト情報管理方法、およびプログラム
JP2014092980A (ja) 2012-11-05 2014-05-19 Fujitsu Ltd 判定装置、判定方法及び判定プログラム
JP2016119075A (ja) 2014-12-10 2016-06-30 ゼネラル・エレクトリック・カンパニイ セーフティクリティカルソフトウェアのための統合された自動テストケース生成
JP2017054217A (ja) 2015-09-08 2017-03-16 日本電気株式会社 テスト支援装置、テスト支援方法およびテスト支援プログラム

Also Published As

Publication number Publication date
JP2022153030A (ja) 2022-10-12

Similar Documents

Publication Publication Date Title
US20240281364A1 (en) Test case reduction for code regression testing
CN108073519B (zh) 测试用例生成方法和装置
US9977658B2 (en) Code validation using content assist
US8707268B2 (en) Testing operations of software
US8990149B2 (en) Generating a predictive model from multiple data sources
US9959197B2 (en) Automated bug detection with virtual machine forking
US20070094189A1 (en) Test case extraction apparatus, program and method for software system
US10635574B1 (en) Screenshot testing of applications on windows desktop environments
WO2018066040A1 (ja) 管理計算機及びテスト環境決定方法
US10705829B2 (en) Software discovery using exclusion
WO2021220777A1 (ja) ユーザに提案する材料を決定するシステム
US10783067B2 (en) Software quality determination apparatus, software quality determination method, and software quality determination program
JP2019530121A (ja) データ統合ジョブ変換
KR20100124726A (ko) 애플리케이션들에 기초한 운영 체제 이미지들의 구축
JP7487135B2 (ja) 工数算出支援装置及び工数算出支援方法
JP6866270B2 (ja) Sql文抽出装置、sql文抽出方法及びプログラム
US10310871B2 (en) Non-transitory computer-readable recording medium storing control program, control device and control method
US10678618B2 (en) Managing node failures in a computing environment
US12039297B2 (en) Code inspection interface providing method and apparatus for implementing the method
JP7448039B2 (ja) ルール更新プログラム、ルール更新方法及びルール更新装置
US20150019600A1 (en) Computer product, file identifying apparatus, and file evaluation method
JP7380696B2 (ja) 人員の手配装置、手配方法およびプログラム
JP2019125042A (ja) テスト実行順序生成装置、テスト実行順序生成方法及び記憶媒体
US8775873B2 (en) Data processing apparatus that performs test validation and computer-readable storage medium
JP5046109B2 (ja) ソースコード検証管理装置、方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240415

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: 20240423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240508

R150 Certificate of patent or registration of utility model

Ref document number: 7487135

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150