JP2018156164A - テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法 - Google Patents

テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法 Download PDF

Info

Publication number
JP2018156164A
JP2018156164A JP2017050261A JP2017050261A JP2018156164A JP 2018156164 A JP2018156164 A JP 2018156164A JP 2017050261 A JP2017050261 A JP 2017050261A JP 2017050261 A JP2017050261 A JP 2017050261A JP 2018156164 A JP2018156164 A JP 2018156164A
Authority
JP
Japan
Prior art keywords
function
test range
source code
output
tag
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
JP2017050261A
Other languages
English (en)
Other versions
JP6862949B2 (ja
Inventor
禎 吉川
Tei Yoshikawa
禎 吉川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017050261A priority Critical patent/JP6862949B2/ja
Publication of JP2018156164A publication Critical patent/JP2018156164A/ja
Application granted granted Critical
Publication of JP6862949B2 publication Critical patent/JP6862949B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

【課題】医療リスクに関わる機能に対するテスト漏れを効率的に防止可能とすること。【解決手段】テスト範囲出力プログラムは、医療に関するコンピュータシステムのソースコードの変更を受け付け、前記変更の対象となるソースコードにより実現される第1の機能を特定すると共に、前記第1の機能による処理結果を参照する第2の機能を特定し、前記コンピュータシステムの機能ごとに医療リスクに関わる機能を示す情報を記憶した記憶部を参照して、特定した前記第1の機能及び前記第2の機能のいずれかが医療リスクに関わる機能か否かを判定し、医療リスクに関わる機能であると判定された場合に、医療リスクに関わる機能に関係するソースコードの変更が行われない場合のテスト範囲とは異なるテスト範囲を、前記ソースコードの変更に対するテスト範囲として出力する、処理をコンピュータに実行させる。【選択図】図3

Description

本発明は、テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法に関する。
電子カルテシステムをはじめとする医療システムの機能の中には、例えば、注射業務に関する機能やアレルギー情報を扱う機能等、当該機能の不具合が患者の身体に影響を与える可能性が高いハイリスクな機能(以下、「医療リスク機能」という。)が存在する。医療リスク機能の開発や改修において、バグ等が混入した場合、患者の身体が害される可能性が有るため、医療リスク機能の開発及び改修は、特に厳格に管理される必要がある。
特開2008−033545号公報 特開2009−122754号公報 特開平8−297570号公報 特開2014−228907号公報
しかしながら、診療報酬改定や医療システムの機能追加により医療リスク機能を改修する機会は度々発生する。また、医療システムの規模が大きくなるにしたがい、一つの医療リスク機能に対する影響範囲が広がるため、開発者がソースコードを変更する場合に、意図せずに医療リスク機能に影響を与える危険性が有る。斯かる危険性を回避して、医療リスク機能の品質を担保するために、闇雲にレビューやテストをすると、人的・時間的コストが増大してしまう。
そこで、一側面では、本発明は、医療リスクに関わる機能に対するテスト漏れを効率的に防止可能とすることを目的とする。
一つの態様では、テスト範囲出力プログラムは、医療に関するコンピュータシステムのソースコードの変更を受け付け、前記変更の対象となるソースコードにより実現される第1の機能を特定すると共に、前記第1の機能による処理結果を参照する第2の機能を特定し、前記コンピュータシステムの機能ごとに医療リスクに関わる機能を示す情報を記憶した記憶部を参照して、特定した前記第1の機能及び前記第2の機能のいずれかが医療リスクに関わる機能か否かを判定し、医療リスクに関わる機能であると判定された場合に、医療リスクに関わる機能に関係するソースコードの変更が行われない場合のテスト範囲とは異なるテスト範囲を、前記ソースコードの変更に対するテスト範囲として出力する、
処理をコンピュータに実行させる。
一側面として、医療リスクに関わる機能に対するテスト漏れを効率的に防止可能とすることができる。
本発明の実施の形態のシステム構成例を示す図である。 本発明の実施の形態における開発端末10のハードウェア構成例を示す図である。 本発明の実施の形態における開発端末10及びサーバ装置20の機能構成例を示す図である。 開発端末10が実行する処理手順の一例を説明するためのフローチャートである。 開発者情報記憶部21の構成例を示す図である。 各ソースコードへの一意なタグ付けの一例を示す図である。 タグ情報記憶部23の構成例を示す図である。 機能コード記憶部24の構成例を示す図である。 メソッド間の参照関係に応じたタグ付けの一例を示す図である。 医療リスク機能記憶部25の構成例を示す図である。 テスト範囲記憶部26の構成例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態のシステム構成例を示す図である。図1において、サーバ装置20と1以上の開発端末10とは、LAN(Local Area Network)、イントラネット、又はインターネット等のネットワークを介して接続される。
開発端末10は、電子カルテシステム等の病院において利用されるコンピュータシステムである医療システムの開発者が、システムの開発に利用するPC(Personal Computer)等の端末である。以下、本実施の形態において開発対象の医療システムを「対象システム」という。
サーバ装置20は、各開発端末10において共有される情報を記憶する1以上のコンピュータである。
図2は、本発明の実施の形態における開発端末10のハードウェア構成例を示す図である。図2の開発端末10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
開発端末10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って開発端末10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等であり、様々な操作指示を入力させるために用いられる。
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
なお、サーバ装置20も図2に示されるようなハードウェア構成を有していてもよい。但し、サーバ装置20は、表示装置106及び入力装置107を有さなくてもよい。
図3は、本発明の実施の形態における開発端末10及びサーバ装置20の機能構成例を示す図である。図3において、開発端末10は、認証部11、改修部12、タグ付与部13、差分抽出部14、影響範囲特定部15、テスト範囲判定部16及び出力部17等を有する。これら各部は、開発端末10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。一方、サーバ装置20は、開発者情報記憶部21、ソースコード記憶部22、タグ情報記憶部23、機能コード記憶部24、医療リスク機能記憶部25及びテスト範囲記憶部26等を有する。これら各記憶部は、例えば、サーバ装置20の補助記憶装置、又はサーバ装置20にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
認証部11は、開発者の認証を行う。改修部12は、開発者の指示に応じて対象システムのソースコードを改修(変更、編集又は生成等)する。タグ付与部13は、ソースコード内の各メソッドの定義に対してタグを付与する。タグは、各メソッドの識別情報として用いられる。但し、他のメソッドから処理結果が参照される(呼び出される)メソッドには、参照元のメソッドのタグも付与される。
差分抽出部14は、改修部12による改修前後のソースコードの差分を抽出する。影響範囲特定部15は、改修による影響範囲を特定する。影響範囲には、改修対象のメソッドと、当該メソッドの再帰的な参照元とが含まれる。テスト範囲判定部16は、改修を行った開発者の経験や、改修の規模、及び影響範囲等に基づいて、当該改修に対して推奨されるテスト範囲を判定する。出力部17は、テスト範囲判定部16による判定結果を出力する。
開発者情報記憶部21には、各開発者のID及びパスワードや、各開発者の開発経験を示す情報等が記憶されている。ソースコード記憶部22には、対象システムのソースコード群が記憶されている。タグ情報記憶部23には、タグごとに、当該タグの付与先のメソッドとの対応情報が記憶される。機能コード記憶部24には、メソッドごとに、対象システムの機能の中で当該メソッドが対応する(当該メソッドによって実現される)機能の識別情報(以下、「機能コード」という。)が記憶されている。医療リスク機能記憶部25には、対象システムの機能の中で医療的にハイリスクな機能(以下、「医療リスク機能」という。)の機能コードが記憶されている。テスト範囲記憶部26には、改修を行った開発者の開発経験及び当該改修の規模、並びに当該改修の影響範囲における医療リスク機能の有無等に応じて、推奨されるテスト範囲を示す情報が記憶されている。
以下、開発端末10が実行する処理手順について説明する。図4は、開発端末10が実行する処理手順の一例を説明するためのフローチャートである。図4における処理手順は、或る開発者が開発端末10を利用して、対象システムのソースコードの改修を行う状況において実行される。
例えば、開発端末10において認証部11によって表示装置106に表示されているログイン画面に対して、ユーザによって開発者ID及びパスワードが入力されると、認証部11は、当該開発者ID及びパスワードの認証を実行する(S101)。認証は、開発者情報記憶部21を参照して行われる。
図5は、開発者情報記憶部21の構成例を示す図である。図5に示されるように、開発者情報記憶部21には、対象システムの開発者ごとに、開発者ID、指名、パスワード、改修回数、総改修行数及び改修経験機能コード等を含む開発者情報が記憶されている。
開発者IDは、開発者ごとの識別情報である。氏名は、開発者の氏名である。パスワードは、開発者のパスワードである。改修回数は、対象システムのソースコードの改修の回数である。例えば、改修回数は、ログインの回数によって評価されてもよい。総改修行数は、対象システムのソースコードを改修した行数(ステップ数)の累積値である。改修経験機能コードとは、対象システムが有する機能のうち、開発者がこれまでに改修したことのある機能の機能コードの一覧である。
ステップS101では、入力された開発者ID及びパスワードを含む開発者情報が開発者情報記憶部21に記憶されていれば、認証は成功し、開発者のログインは許可される。そうでなければ認証は失敗し、開発者のログインは拒否される。認証が成功した場合に限って、ステップS102以降が実行される。以下、ログインに成功したユーザを「ログインユーザ」という。
ステップS102において、タグ付与部13は、ソースコード記憶部22に記憶されている全てのソースコードへのタグの一括付与が実行済みであるか否かを判定する。斯かる判定は、例えば、タグ情報記憶部23に1以上のレコードが記憶されているか否かに基づいて行われてもよい。すなわち、タグの一括付与は、いずれかの開発者のログインに伴って1回実行されればよい。または、タグの一括付与は、開発者のログインとは別に、事前に行われてもよい。
タグの一括付与が実行済みでない場合(S102でNo)、タグ付与部13は、各ソースコードに対して一意なタグ付けを付与する(S103)。
図6は、各ソースコードへの一意なタグ付けの一例を示す図である。図6には、2つのソースコードへのタグ付けの例が示されている。すなわち、図6において、上段は、ソースコードc1及びソースコードc2のそれぞれのタグ付け前の状態を示す。図6において下段は、ソースコードc1及びソースコードc2のそれぞれのタグ付け後の状態を示す。タグは、ソースコードに記述される処理手順に影響を与えない形式(例えば、コメント形式)で、ソースコード内に付与される。本実施の形態において、タグは、メソッドごとに付与され、メソッドごとに一意な文字列である。すなわち、タグは、メソッド間において呼び出し可能な単位ごとに付与される文字列である。
具体的には、ソースコードc1には、タグt1を含む記述(「//tag1//」)が付与されている。当該記述(以下「タグ記述」という。)のうち、「tag1」がタグの実体であり、タグの両側の「//」は、タグをコメント化するための記号である。同様に、ソースコードc2には、「tag2」というタグt2を含むタグ記述が付与されている。
続いて、タグ付与部13は、タグとソースコードとの対応関係をタグ情報記憶部23に記憶する(S104)。
図7は、タグ情報記憶部23の構成例を示す図である。図7に示されるように、タグ情報記憶部23には、いずれかのソースコード(メソッド)に付与されたタグごとに、タグ、クラス名、メソッド名及び機能コード等が記憶される。
クラス名及びメソッド名は、タグが付与されたメソッドのクラス名及びメソッド名である。機能コードは、当該メソッドが対応する機能の機能コードである。なお、本実施の形態では、対象システムにおいてクラス名の重複が無いこととする。したがって、クラス名及びメソッド名によって、1つのメソッド及び当該メソッドのソースコードを特定可能である。例えば、対象システムにおいて、複数のネームスペースが定義される場合、各ネームスペースの識別情報が、各タグに関連付けられればよい。
各タグに対応する機能コードは、機能コード記憶部24を参照して特定される。図8は、機能コード記憶部24の構成例を示す図である。図8に示されるように、機能コード記憶部24には、クラス名に対応付けられて当該クラス名に係るクラスに対応する機能の機能コードが予め記憶されている。したがって、タグ付与部13は、各タグが付与されたメソッドのクラス名に基づいて、当該タグに対応する機能コードを特定することができる。
続いて、タグ付与部13は、メソッド間の参照関係に応じたタグ付けを、他のメソッドから参照される(呼び出される)メソッドを含むソースコードに対して実行する(S105)。例えば、図6のソースコードc1において、tag1が付与されているInjectメソッド内の記述d1では、GetPatientメソッドが呼び出されている。一方、ソースコードc2は、GetPatientメソッドのソースコードである。この場合、ソースコードc2のGetPatientメソッドに対して、ソースコードc1のInjectメソッドから参照されていること(Injectメソッドが依存していること)を示すタグが付与される。
図9は、メソッド間の参照関係に応じたタグ付けの一例を示す図である。図9において、ソースコードc2には、タグt2の後に「:(コロン)」が付与され、更に、タグt1が付与されている。このことは、ソースコードc2のGetPatientメソッドが、タグt1(「tag1」)が付与された他のメソッドから参照されていることを示す。つまり、タグ記述において「:(コロン)」以降のタグは、当該メソッドの参照元のメソッドのタグを示す。
なお、1つのメソッドは、複数のメソッドから参照されうる。複数のメソッドから参照されるメソッドのタグ記述には、当該複数のメソッドに付与されたタグが、「,(カンマ)」で区切られて付与される。例えば、GetPatientメソッドが、更に、「tag3」が付与されたメソッドからも参照されている場合、GetPatientメソッドに付与されるタグは、「//tag2//://tag1,tag3//」となる。
ステップS105では、メソッド間の全ての参照関係において、参照先となるメソッドに対して、参照元のタグが付与される。
ステップS102でYesの場合、又はステップS105に続いて、改修部12は、ソースコードの改修をログインユーザから受け付ける(S106)。例えば、既存のソースコードが編集されたり、新たなソースコードが追加されたりする。開発者によるコーディング作業が終了すると(S107でYes)、差分抽出部14は、改修された1以上のソースコードについて、改修前後の差分を抽出する(S108)。
続いて、タグ付与部13は、改修によって新たなメソッドが追加された場合、当該メソッドの定義内に、当該メソッドに対するタグを付与すると共に、当該タグに対応するレコードをタグ情報記憶部23に追加する(S109)。ここでのタグの付与は、ステップS103及びS104と同様の処理である。
続いて、タグ付与部13は、改修対象のメソッド内に新たに他のメソッドの参照(呼び出し)が追加された場合、当該他のメソッドのタグ記述に対して改修対象のメソッドのタグを参照元のタグとして付与する(S110)。ここでのタグの付与は、ステップS105と同様の処理である。
続いて、影響範囲特定部15は、改修対象とされたメソッド(以下、「対象メソッド」という。)のタグを対象タグとし、対象タグを影響範囲リストに追加する(S111)。対象タグは、改修対象とされたメソッドに付与されているタグ記述の先頭(コロンの前)のタグである。また、影響範囲リストとは、対象メソッドの改修によって影響を受ける(動作が変化する可能性の有る)メソッドのタグを格納するためのデータをいう。通常、メソッドAを参照するメソッドB(メソッドAに依存するメソッドB)は、メソッドAの改修によって影響を受ける。したがって、影響範囲リストは、対象メソッドの参照元を再帰的に辿ることで特定される各メソッドのタグが格納されるデータである。
続いて、影響範囲特定部15は、対象メソッドのタグ記述において、参照元として付与されているタグ(すなわち、参照元のタグ)を特定する(S112)。例えば、当該タグ記述が「//tag2//://tag1,tag3//」であれば、対象タグは「tag2」であり、「tag1」及び「tag3」が、参照元として特定される。
続いて、影響範囲特定部15は、参照元のタグが特定されたか否かを判定する(S113)。すなわち、対象メソッドのタグ記述に参照元のタグが1以上含まれていたか否かが判定される。参照元のタグが特定された場合(S113でYes)、影響範囲特定部15は、参照元の各タグを影響範囲リストに追加する(S114)。続いて、影響範囲特定部15は、参照元の各タグのクラス名及びメソッド名(ソースコード)を、タグ情報記憶部23(図7)を参照して特定する(S115)。なお、本実施の形態では、クラス名及びメソッド名に基づいてソースコードを格納したファイルが一意に特定されることとする。
続いて、影響範囲特定部15は、各参照元のタグを再帰的に対象タグとし、ステップS115において特定されたメソッドを、再帰的に対象メソッドとして(S116)、ステップS112以降を繰り返す。その結果、参照元のルート(根元)まで、影響範囲が走査される。
なお、改修対象のメソッドが複数である場合、ステップS111以降は、複数のタグが起点とされて再帰的に実行される。
再帰的な走査が終了すると(S113でNo)、テスト範囲判定部16は、影響範囲リストに含まれている各タグに対応する機能コードをタグ情報記憶部23(図7)から取得する(S117)。続いて、テスト範囲判定部16は、ステップS117において取得された機能コードの中に、医療リスク機能記憶部25に記憶されている機能コードが有るか否かを判定する(S118)。すなわち、今回の改修について、医療リスク機能への影響の有無が判定される。
図10は、医療リスク機能記憶部25の構成例を示す図である。図10に示されるように、医療リスク機能記憶部25には、医療リスク機能ごとに、機能コード及び機能名称が記憶されている。なお、医療リスク機能については、リスク分析等によって洗い出しが行われてもよい。
続いて、テスト範囲判定部16は、ログインユーザの開発経験情報を開発者情報記憶部21(図5)から取得する(S119)。ログインユーザの開発者IDは、ステップS101において入力されている。したがって、当該開発者IDを含む開発者情報のうち、改修回数、総改修行数及び改修経験機能コードが、当該開発経験情報として開発者情報記憶部21(図5)から取得される。
続いて、テスト範囲判定部16は、今回の改修によって対象システムに異常が発生する(バグが混入する)リスク(以下、「改修リスク」という)を算出する(S120)。改修リスクは、改修を行った開発者の開発経験情報、及び改修の規模に基づいて算出される。開発者の開発経験(スキル)が豊富なほどバグが混入するリスクは低くなり、改修の規模が大きいほどバグが混入するリスクは高くなると考えられるからである。一例として、改修リスクは、以下の計算式に基づいて算出されてもよい。
改修リスクf=今回の改修行数/(過去の総改修行数/過去の改修回数))×50×a+開発者の過去の総改修行数/全開発者の平均総改修行数×50×b
a+b=1
但し、fが100を上回る場合は100に丸める。また、a及びbは、改修行数の多寡によるリスクと、開発者の経験によるリスクの重み付けを決める係数であり、例えば、試行錯誤的に決定される。
例えば、ログインユーザの開発者IDが「FJ199999」であれば、図5より、改修回数=49、総改修行数=23,232行である。また、今回の改修行数が、200行であり、全開発者の平均総改修行数が、20,400行であり、a=0.3,b=0.7であるとする。この場合、改修リスクfは、以下のように算出される。
改修リスクf=200/(23,232/49)×50×0.3+23,232/20400×50×0.7=46.2
なお、今回の改修行数は、例えば、ステップS108において抽出されている差分の行数である。
続いて、テスト範囲判定部16は、テスト範囲記憶部26を参照して、推奨されるテスト範囲を判定する(S121)。
図11は、テスト範囲記憶部26の構成例を示す図である。図11に示されるように、テスト範囲記憶部26には、改修リスクレベルと医療リスク機能有無との組み合わせごとに、推奨テスト範囲が記憶されている。
改修リスクレベルは、改修リスクfの範囲によって、改修リスクfを小、中、大の3つのレベルに分類する項目である。医療リスク機能有無は、今回の改修による影響範囲に医療リスク機能が有るか否かを区別する項目である。具体的には、医療リスク機能有無は、ステップS118における判定結果が当てはめられる項目である。すなわち、影響範囲に医療リスク機能が有るか否かによってテスト範囲が異なる。
推奨テスト範囲は、(1)〜(4)の4つのテスト範囲の中から、推奨されるテスト範囲を示す項目である。(1)〜(4)の意味は以下の通りである。
(1)軽微な修正のため、改修したメソッドをテスト範囲とし、改修したメソッドの入力パターン(メソッドの引数の入力パターン)の組み合わせについて、ペアワイズ法などでテストパターンを削減してもよい。
(2)医療リスク機能に影響を与えうるため、影響範囲内の医療リスク機能について特に入念にテストする。すなわち、(1)に加え、影響範囲内の医療リスク機能について、全てのテストパターンの組み合わせを検証する。
(3)改修のリスクは中程度であるため、改修したメソッドに加えて影響範囲内のメソッドもテスト範囲に含める。また、改修したメソッド及び影響範囲内のメソッドについて、直行法などによるテストパターンの削減を許容しつつも全て検証をする。
(4)影響が大きいため、影響範囲を含め入念にテストする。基本的には、改修したメソッド及び影響範囲内のメソッドについて全ての入力の組み合わせを検証する。
したがって、ステップ121では、ステップS120における改修リスクfの算出結果、及びステップS118の判定結果に基づいて、テスト範囲が(1)〜(4)の中から選択される。なお、テスト範囲の区分は、図11に示したものに限定されない。
続いて、出力部17は、ログインユーザの開発者情報を更新する(S122)。具体的には、開発者情報記憶部21(図5)において、ログインユーザの開発者IDに対応する総改修行数に、今回の改修行数が加算される。また、当該開発者IDに対応する改修経験機能コードに、今回の改修対象のメソッドのタグに対応する機能コードが追加される。また、当該開発者IDに対応する改修回数が更新される。改修回数が、例えば、ログイン回数によってカウントされる場合、1が加算される。但し、ログインしたとしても改修を行っていない場合(例えば、今回の改修行数が0である場合)、改修回数の更新は行われない。
続いて、出力部17は、ステップS121におけるテスト範囲の判定結果に基づいて、テスト指示を出力する(S123)。具体的には、テスト範囲の判定結果が(1)である場合、出力部17は、改修対象のメソッドのクラス名及びメソッド名をテスト範囲として出力すると共に、当該メソッドの入力パターン(メソッドの引数の入力パターン)の組み合わせについて、ペアワイズ法などでテストパターンを削減してもよい旨を出力する。
テスト範囲の判定結果が(2)である場合、出力部17は、(1)の場合と同様の出力に加え、ステップS118において医療リスク機能であると判定されたクラス名及びメソッド名について全てのテストパターンの組み合わせ検証する旨を出力する。
テスト範囲の判定結果が(3)である場合、出力部17は、影響範囲リストにタグが含まれている全てのクラス名及びメソッド名をテスト範囲として出力すると共に、直行法などによるテストパターンの削減を許容しつつも全て検証をする旨を出力する。
テスト範囲の判定結果が(4)である場合、出力部17は、影響範囲リストにタグが含まれている全てのクラス名及びメソッド名をテスト範囲として出力すると共に、これら全てのメソッドについて全ての入力の組み合わせを検証する旨を出力する。
なお、出力の形態は、表示装置106への表示であってもよいし、プリンタへの出力であってもよい。又は、出力内容が記述されたファイルが補助記憶装置102に記憶されてもよい。
上述したように、本実施の形態によれば、ソースコードが改修(変更)された場合、各メソッドに付与されたタグ記述に基づいて、改修の影響範囲が特定されて、当該影響範囲に医療リスク機能が含まれているか否かが判定される。当該当該影響範囲に医療リスク機能が含まれている場合には、そうでない場合と異なるテスト範囲が出力される。したがって、医療リスクに関わる機能に対するテスト漏れを効率的に防止可能とすることができる。
また、改修を行った開発者の開発経験や改修の規模に応じてテスト範囲を変化させることができる。したがって、改修に応じた適切なテスト範囲を提示することできる。
なお、本実施の形態において、医療リスク機能記憶部25は、記憶部の一例である。開発端末10は、テスト範囲出力装置の一例である。改修部12は、受付部の一例である。影響範囲特定部15は、特定部の一例である。テスト範囲判定部16は、判定部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
医療に関するコンピュータシステムのソースコードの変更を受け付け、
前記変更の対象となるソースコードにより実現される第1の機能を特定すると共に、前記第1の機能による処理結果を参照する第2の機能を特定し、
前記コンピュータシステムの機能ごとに医療リスクに関わる機能を示す情報を記憶した記憶部を参照して、特定した前記第1の機能及び前記第2の機能のいずれかが医療リスクに関わる機能か否かを判定し、
医療リスクに関わる機能であると判定された場合に、医療リスクに関わる機能に関係するソースコードの変更が行われない場合のテスト範囲とは異なるテスト範囲を、前記ソースコードの変更に対するテスト範囲として出力する、
処理をコンピュータに実行させることを特徴とするテスト範囲出力プログラム。
(付記2)
前記出力する処理は、前記変更を行った開発者の開発経験を示す情報に基づいて、出力するテスト範囲を変化させる、
ことを特徴とする付記1記載のテスト範囲出力プログラム。
(付記3)
前記出力する処理は、前記変更の規模に基づいて、出力するテスト範囲を変化させる、
ことを特徴とする付記1又は2記載のテスト範囲出力プログラム。
(付記4)
医療に関するコンピュータシステムのソースコードの変更を受け付ける受付部と、
前記変更の対象となるソースコードにより実現される第1の機能を特定すると共に、前記第1の機能による処理結果を参照する第2の機能を特定する特定部と、
前記コンピュータシステムの機能ごとに医療リスクに関わる機能を示す情報を記憶した記憶部を参照して、特定した前記第1の機能及び前記第2の機能のいずれかが医療リスクに関わる機能か否かを判定する判定部と、
医療リスクに関わる機能であると判定された場合に、医療リスクに関わる機能に関係するソースコードの変更が行われない場合のテスト範囲とは異なるテスト範囲を、前記ソースコードの変更に対するテスト範囲として出力する出力部と、
を有することを特徴とするテスト範囲出力装置。
(付記5)
前記出力部は、前記変更を行った開発者の開発経験を示す情報に基づいて、出力するテスト範囲を変化させる、
ことを特徴とする付記4記載のテスト範囲出力装置。
(付記6)
前記出力部は、前記変更の規模に基づいて、出力するテスト範囲を変化させる、
ことを特徴とする付記4又は5記載のテスト範囲出力装置。
(付記7)
医療に関するコンピュータシステムのソースコードの変更を受け付け、
前記変更の対象となるソースコードにより実現される第1の機能を特定すると共に、前記第1の機能による処理結果を参照する第2の機能を特定し、
前記コンピュータシステムの機能ごとに医療リスクに関わる機能を示す情報を記憶した記憶部を参照して、特定した前記第1の機能及び前記第2の機能のいずれかが医療リスクに関わる機能か否かを判定し、
医療リスクに関わる機能であると判定された場合に、医療リスクに関わる機能に関係するソースコードの変更が行われない場合のテスト範囲とは異なるテスト範囲を、前記ソースコードの変更に対するテスト範囲として出力する、
処理をコンピュータが実行することを特徴とするテスト範囲出力方法。
(付記8)
前記出力する処理は、前記変更を行った開発者の開発経験を示す情報に基づいて、出力するテスト範囲を変化させる、
ことを特徴とする付記7記載のテスト範囲出力方法。
(付記9)
前記出力する処理は、前記変更の規模に基づいて、出力するテスト範囲を変化させる、
ことを特徴とする付記7又は8記載のテスト範囲出力方法。
10 開発端末
11 認証部
12 改修部
13 タグ付与部
14 差分抽出部
15 影響範囲特定部
16 テスト範囲判定部
17 出力部
20 サーバ装置
21 開発者情報記憶部
22 ソースコード記憶部
23 タグ情報記憶部
24 機能コード記憶部
25 医療リスク機能記憶部
26 テスト範囲記憶部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
B バス

Claims (5)

  1. 医療に関するコンピュータシステムのソースコードの変更を受け付け、
    前記変更の対象となるソースコードにより実現される第1の機能を特定すると共に、前記第1の機能による処理結果を参照する第2の機能を特定し、
    前記コンピュータシステムの機能ごとに医療リスクに関わる機能を示す情報を記憶した記憶部を参照して、特定した前記第1の機能及び前記第2の機能のいずれかが医療リスクに関わる機能か否かを判定し、
    医療リスクに関わる機能であると判定された場合に、医療リスクに関わる機能に関係するソースコードの変更が行われない場合のテスト範囲とは異なるテスト範囲を、前記ソースコードの変更に対するテスト範囲として出力する、
    処理をコンピュータに実行させることを特徴とするテスト範囲出力プログラム。
  2. 前記出力する処理は、前記変更を行った開発者の開発経験を示す情報に基づいて、出力するテスト範囲を変化させる、
    ことを特徴とする請求項1記載のテスト範囲出力プログラム。
  3. 前記出力する処理は、前記変更の規模に基づいて、出力するテスト範囲を変化させる、
    ことを特徴とする請求項1又は2記載のテスト範囲出力プログラム。
  4. 医療に関するコンピュータシステムのソースコードの変更を受け付ける受付部と、
    前記変更の対象となるソースコードにより実現される第1の機能を特定すると共に、前記第1の機能による処理結果を参照する第2の機能を特定する特定部と、
    前記コンピュータシステムの機能ごとに医療リスクに関わる機能を示す情報を記憶した記憶部を参照して、特定した前記第1の機能及び前記第2の機能のいずれかが医療リスクに関わる機能か否かを判定する判定部と、
    医療リスクに関わる機能であると判定された場合に、医療リスクに関わる機能に関係するソースコードの変更が行われない場合のテスト範囲とは異なるテスト範囲を、前記ソースコードの変更に対するテスト範囲として出力する出力部と、
    を有することを特徴とするテスト範囲出力装置。
  5. 医療に関するコンピュータシステムのソースコードの変更を受け付け、
    前記変更の対象となるソースコードにより実現される第1の機能を特定すると共に、前記第1の機能による処理結果を参照する第2の機能を特定し、
    前記コンピュータシステムの機能ごとに医療リスクに関わる機能を示す情報を記憶した記憶部を参照して、特定した前記第1の機能及び前記第2の機能のいずれかが医療リスクに関わる機能か否かを判定し、
    医療リスクに関わる機能であると判定された場合に、医療リスクに関わる機能に関係するソースコードの変更が行われない場合のテスト範囲とは異なるテスト範囲を、前記ソースコードの変更に対するテスト範囲として出力する、
    処理をコンピュータが実行することを特徴とするテスト範囲出力方法。
JP2017050261A 2017-03-15 2017-03-15 テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法 Active JP6862949B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017050261A JP6862949B2 (ja) 2017-03-15 2017-03-15 テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017050261A JP6862949B2 (ja) 2017-03-15 2017-03-15 テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法

Publications (2)

Publication Number Publication Date
JP2018156164A true JP2018156164A (ja) 2018-10-04
JP6862949B2 JP6862949B2 (ja) 2021-04-21

Family

ID=63717945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017050261A Active JP6862949B2 (ja) 2017-03-15 2017-03-15 テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法

Country Status (1)

Country Link
JP (1) JP6862949B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01193944A (ja) * 1988-01-28 1989-08-03 Chugoku Nippon Denki Software Kk テスト項目自動選択システム
JP2007226526A (ja) * 2006-02-23 2007-09-06 Ns Solutions Corp 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2015026222A (ja) * 2013-07-25 2015-02-05 富士通株式会社 テストプログラム、テスト方法及びテスト装置
JP2016076162A (ja) * 2014-10-08 2016-05-12 三菱電機株式会社 ソフトウェア試験支援装置およびソフトウェア試験支援プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01193944A (ja) * 1988-01-28 1989-08-03 Chugoku Nippon Denki Software Kk テスト項目自動選択システム
JP2007226526A (ja) * 2006-02-23 2007-09-06 Ns Solutions Corp 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2015026222A (ja) * 2013-07-25 2015-02-05 富士通株式会社 テストプログラム、テスト方法及びテスト装置
JP2016076162A (ja) * 2014-10-08 2016-05-12 三菱電機株式会社 ソフトウェア試験支援装置およびソフトウェア試験支援プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
平山 雅之、ほか: "機能モジュールに対する優先度に基づいた選択的ソフトウェアテスト手法の提案", 電子情報通信学会技術研究報告, vol. 101, no. 98, JPN6020045806, 22 May 2001 (2001-05-22), pages 1 - 8, ISSN: 0004398381 *
朴 勤植、ほか: "ハイリスクツール資源配布によるトラブルを経験して", 医療情報学第35巻 第35回医療情報学連合大会論文集(第16回日本医療情報学会学術大会), JPN6020045805, 1 November 2015 (2015-11-01), pages 1110 - 1113, ISSN: 0004398380 *

Also Published As

Publication number Publication date
JP6862949B2 (ja) 2021-04-21

Similar Documents

Publication Publication Date Title
CN103518393B (zh) 检测移动通信设备内容的系统和方法
CN108959068B (zh) 软件界面测试方法、设备及存储介质
US10248542B2 (en) Screenshot validation testing
US9336381B1 (en) Entropy-based detection of sensitive information in code
US9454466B2 (en) Explaining partially illegal combinations in combinatorial models
US8875105B2 (en) Efficiently developing software using test cases to check the conformity of the software to the requirements
US9202021B2 (en) License verification method and apparatus, and computer readable storage medium storing program therefor
US11544176B1 (en) Systems and methods for automatically assessing and conforming software development modules to accessibility guidelines in real-time
CN105335282A (zh) 用于应用的跨平台测试的方法和系统
CN110781091B (zh) 应用程序的测试方法、装置、电子设备及存储介质
US20140214396A1 (en) Specification properties creation for a visual model of a system
US20220253297A1 (en) Automated deployment of changes to applications on a cloud computing platform
US9703683B2 (en) Software testing coverage
Xu et al. A pilot study of an inspection framework for automated usability guideline reviews of mobile health applications
CN111104123A (zh) 应用程序的自动部署
JP2020013571A (ja) アプリケーション更新方法、アプリケーション更新装置、電子機器およびコンピュータ読み取り可能な記憶媒体
WO2018092237A1 (ja) プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム
US8813036B2 (en) Visual representation of a difference between Cartesian product models
US12001325B2 (en) Test data generation apparatus, test data generation method and program
WO2021183382A1 (en) Graph-based method for inductive bug localization
US11947441B2 (en) Visual testing of implemented product code from a codified user experience design
JP2018156164A (ja) テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法
JP6552162B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5900212B2 (ja) テストデータ生成装置、該プログラム、及び該方法
JP6221869B2 (ja) 画面遷移制御方法、画面遷移制御プログラムおよび画面遷移制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210315

R150 Certificate of patent or registration of utility model

Ref document number: 6862949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150