JP2011134270A - 単体試験支援装置、方法及びプログラム - Google Patents

単体試験支援装置、方法及びプログラム Download PDF

Info

Publication number
JP2011134270A
JP2011134270A JP2009295548A JP2009295548A JP2011134270A JP 2011134270 A JP2011134270 A JP 2011134270A JP 2009295548 A JP2009295548 A JP 2009295548A JP 2009295548 A JP2009295548 A JP 2009295548A JP 2011134270 A JP2011134270 A JP 2011134270A
Authority
JP
Japan
Prior art keywords
source code
code
display
definition information
unit
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.)
Pending
Application number
JP2009295548A
Other languages
English (en)
Inventor
Fumio Fujimori
文雄 藤森
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.)
Canon IT Solutions Inc
Original Assignee
Canon IT Solutions Inc
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 Canon IT Solutions Inc filed Critical Canon IT Solutions Inc
Priority to JP2009295548A priority Critical patent/JP2011134270A/ja
Publication of JP2011134270A publication Critical patent/JP2011134270A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

【課題】コードレビュー表および試験項目表を作成することができる情報処理装置、情報処理方法及びプログラムを提供する。
【解決手段】評価対象となるプログラムのソースコードを記憶し、前記ソースコードに対して定義情報を参照して、定義に合致するか判定し、その判定の結果を用いてソースコードのステップ数を分類して計数した結果と、前記ソースコードとソースコードに対するコードレビュー表と試験項目表とを対比可能に表示し、前記ソースコードに対して前記定義情報を参照してコードレビューの対象行に合致するかを判定し、合致する場合は該当するコードレビューの内容を前記コードレビュー表に表示し、前記ソースコードに対して前記定義情報を参照して試験項目の対象行に合致するかを判定し、合致する場合は該当する前記試験項目の内容を試験項目表に表示することを特徴とした単体試験支援装置。
【選択図】図3

Description

本発明は、ソフトウェア開発において、単体試験前に行うコードレビュー表および試験項目表の作成を支援するための単体試験支援装置、方法及びプログラムに関する。
ソフトウェアの開発では、開発したプログラムに対して動作を確認するための単体試験を実行する前段階の作業として、コードレビュー表および試験項目表の作成を行っている。
コードレビュー表の作成を支援するソースコード解析支援装置が特許文献1で開示されている。特許文献1のソースコード解析支援装置によれば、ソースコードの自動解析を実行して得られた解析結果と目視による解析結果を一元的に管理し、効率的なソフトウェア開発ができるようになる。
また、試験項目表の作成を支援する試験項目表の作成方法が特許文献2で開示されている。特許文献2の試験項目表の作成方法によれば、構文を解析して分岐ブロックごとの繋がりを抽出し、これにより分岐ルートを通る試験項目を抽出することができるようになる。
特開2009−146207号公報 特開平8−272649号公報
特許文献1に記載のソースコード解析支援装置は、ソースコードの自動解析を実行して得られた解析結果と目視による解析結果を同一画面上にリスト化して表示しているが、それぞれの結果の妥当性を確認する作業には、ソースコードとの対比が不可欠になる。この作業についてはソースコードとコードレビュー表を別々に見ながら目視でチェックすることになるため、開発担当者や確認者には負担であったとともに、見落としが発生するなどの品質上の問題があった。また、確認者は、レビューの結果を反映してソースコードが適切に修正されているか否か判断する場合も、開発担当者などの負担と品質上の問題があった。
さらに、特許文献2の試験項目表の作成方法でも、同様に開発担当者などの負担と品質上の問題があった。特に、大規模開発において特許文献2のようにソースコード内に試験項目用のコメントを組込む方法では、試験項目表作成時間の削減ができてもソースコード内に組込む時間が掛かり現実的でなく非効率であるといえる。
一方で、試験項目を確認する中で、ソースコードの不備を発見しようとする場合もある。しかし、それらに対する対応は開発担当者の目視によるチェックに頼らざるをえず、開発担当者などの負担と品質上の問題が残るものであった。
本発明は、上記に鑑みてなされたものであって、ソースコードの自動解析を実行して得られたコードレビュー表と試験項目表をソースコードとを対比可能に表示させることで、開発担当者などの負荷を軽減し、品質を確保しながらコードレビュー表および試験項目表を作成することができる単体試験支援装置、方法及びプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、単体試験前に行うコードレビュー表および試験項目表の作成を支援するための単体試験支援装置であって、ソースコードを評価するための定義情報を記憶した定義情報記憶手段と、評価対象となるプログラムの第一のソースコードを記憶した第一のソースコード記憶手段と、前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照して、定義に合致するか判定する判定手段と、 前記判定手段による判定の結果を用いて第一のソースコードのステップ数を分類して計数する計数手段と、前記計数手段で計数した結果と、前記第一のソースコードとソースコードに対するコードレビュー表と試験項目表とを対比可能に表示する表示手段と、前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照してコードレビューの対象行に合致するかを判定し、合致する場合は該当するコードレビューの内容を前記コードレビュー表に表示するコードレビュー表作成手段と、前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照して試験項目の対象行に合致するかを判定し、合致する場合は該当する前記試験項目の内容を試験項目表に表示する試験項目表作成手段とを備えることを特徴とする。
また、単体試験前に行うコードレビュー表および試験項目表の作成を支援するための単体試験支援方法であって、ソースコードを評価するための定義情報を記憶する定義情報記憶ステップと、評価対象となるプログラムの第一のソースコードを記憶する第一のソースコード記憶ステップと、前記第一のソースコードに対して前記定義情報記憶ステップで記憶した定義情報を参照して、定義に合致するか判定する判定ステップと、前記判定ステップによる判定の結果を用いて第一のソースコードのステップ数を分類して計数する計数ステップと、前記計数ステップで計数した結果と、前記第一のソースコードとソースコードに対するコードレビュー表と試験項目表とを対比可能に表示する表示ステップと、 前記第一のソースコードに対して前記定義情報記憶ステップで記憶した定義情報を参照してコードレビューの対象行に合致するかを判定し、合致する場合は該当するコードレビューの内容を前記コードレビュー表に表示するコードレビュー表作成ステップと、前記第一のソースコードに対して前記定義情報記憶ステップで記憶した定義情報を参照して試験項目の対象行に合致するかを判定し、合致する場合は該当する前記試験項目の内容を試験項目表に表示する試験項目表作成ステップとを実行することを特徴とする。
また、単体試験前に行うコードレビュー表および試験項目表の作成を支援するための単体試験支援装置で実行が可能なプログラムであって、ソースコードを評価するための定義情報を記憶した定義情報記憶手段と、評価対象となるプログラムの第一のソースコードを記憶した第一のソースコード記憶手段と、前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照して、定義に合致するか判定する判定手段と、前記判定手段による判定の結果を用いて第一のソースコードのステップ数を分類して計数する計数手段と、前記計数手段で計数した結果と、前記第一のソースコードとソースコードに対するコードレビュー表と試験項目表とを対比可能に表示する表示手段と、前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照してコードレビューの対象行に合致するかを判定し、合致する場合は該当するコードレビューの内容を前記コードレビュー表に表示するコードレビュー表作成手段と、前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照して試験項目の対象行に合致するかを判定し、合致する場合は該当する前記試験項目の内容を試験項目表に表示する試験項目表作成手段として単体試験支援装置を機能させることを特徴とする。
本発明によれば、開発担当者などの負荷を軽減し、品質を確保しながらコードレビュー表および試験項目表を作成することができる単体試験支援装置、方法及びプログラムを提供することが可能である。
本発明の実施形態における単体試験支援システムの構成を示す図である。 本発明の実施形態における単体試験支援装置のハードウェア構成を示す図である。 本発明の実施形態における単体試験支援装置の機能ブロックを示す図である。 本発明の実施形態における単体試験支援装置の基本的な処理フローを示す図である。 本発明の実施形態における単体試験支援装置のソース表示処理フローを示す図である。 本発明の実施形態における操作者への表示や指示を受け取るための各種操作画面を示す図である。 本発明の実施形態におけるステップ数計数処理結果を表示する画面を示す図である。 本発明の実施形態における追加・改修行抽出結果を表示する画面を示す図である。 本発明の実施形態における経路分岐行抽出結果を表示する画面を示す図である。 本発明の実施形態におけるコードレビュー行抽出結果を表示する画面を示す図である。 本発明の実施形態における試験項目を表示する画面を示す図である。 本発明の実施形態における試験項目行抽出結果を表示する画面を示す図である。 本発明の実施形態におけるコードレビューを表示する画面を示す図である。 本発明の実施形態におけるコードレビュー表印刷結果を示す図である。 本発明の実施形態における試験項目印刷結果を示す図である。 本発明の実施形態における単体試験支援装置が管理するデータテーブルを示す図である。
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の実施形態における単体試験支援システムの構成を示す図である。
本実施例における単体試験支援システムは、図1に示すように、単体試験支援装置101とプリンター102とはネットワーク103で接続されている構成である。
単体試験支援装置101は、単体試験支援システム全体を統括的に制御する装置であり、操作者への表示や指示を受け取るための各種操作画面を管理する。また、操作者から受け取った指示に応じて、各種処理を実行する装置である。
プリンター102は、単体試験支援装置101からネットワーク103を介して受信したコードレビュー表および試験項目表などの印刷データを印刷出力する装置である。
なお、図1のネットワーク103に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。例えば、ここでは1台の単体試験支援装置101で説明したが、複数で構成するものであってもよい。
次に、単体試験支援装置101の内部のハードウェア構成について図2を用いて説明する。
図2は、単体試験支援装置101の基本的なハードウェア構成を示す図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、KB209や不図示のマウス等のポインティングデバイスからの入力を制御する。
ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等での操作者指示を可能とする。
本発明を実現するためのプログラムは外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイル及び各種情報テーブルは外部メモリ211に格納されており、これらについての詳細な説明は後述する。
次に、単体試験支援装置101の機能構成について図3を用いて説明する。
図3は、単体試験支援装置101の機能構成を示す図である。単体試験支援装置101は入力部301、表示制御部302、データ記憶部303、データ処理部304、印刷制御部305から構成されている。
入力部301はKB209を通じて開発担当者や確認者などの操作者からの入力を受け付け、その情報をデータ処理部304に送る。
表示制御部302は、データ処理部304からの指示に基づき、CRTディスプレイ(CRT)210にコードレビュー表および試験項目表作成の画面を表示する制御をする。
データ記憶部303は、データ処理部304からの指示に基づき、記憶されているデータを読み出したり、記憶したりする。管理するデータとしては、評価対象となるプログラムを記憶したソースコードファイル331、コードレビューの結果を記憶したコードレビュー表ファイル332、試験項目を抽出した結果を記憶した試験項目表ファイル333がある。さらにコードレビュー表と試験項目表を作成するときの作業用データを記憶した単体試験作業ファイル334やそれぞれの処理に必要な各種の定義情報を記憶している。
データ処理部304は、入力部301から受け取った情報に基づき、表示制御部302やデータ記憶部303、さらに印刷制御部305を制御しながら、各々の処理を実行する機能を有する。
印刷制御部305は、データ処理部304からの指示に基づき、ネットワーク103を介してプリンター102にコードレビュー表や試験項目表を印刷するための出力制御をする。
上述したように、単体試験支援装置101は、各種操作画面を介して開発担当者や確認者などの操作者の指示を受け取り、コードレビュー表と試験項目表の作成に係る各種処理を実行する。その一例について、以下に説明する。
まず、単体試験支援装置101おけるコードレビュー表と試験項目表を作成する基本的な処理フローについて、図4を用いて説明する。

図4は、本発明の一実施形態の単体試験支援装置におけるコードレビュー表および試験項目表を作成に関する基本的な処理フローを示す図である。
まず、ステップS401では、入力部301は操作者により指定された評価対象のプログラムを特定する情報を受け取りデータ処理部304に送る。データ処理部304は受け取ったプログラムを特定する情報に基づき、評価対象のプログラムをソースコードファイル331から読み込む。また、先に作成したコードレビュー表および試験項目表を使って、修正版ソースコードファイル335を評価する場合であれば単体試験作業ファイル334も読み込む。ここでは、新規のプログラムを評価するものとして説明する。
ステップS402では、読み込んだプログラムのソースコードを表示する。このステップS402の詳細な処理について図5を用いて説明する。
図5は、図4のステップS402におけるソースコード表示処理の詳細な処理フローの一例を示す図である。
まず、ステップS501では、データ処理部304は新規のソースコードを評価するのか、修正版のソースコードを評価するのかを判断し、新規のソースコードを評価するのであれば、ステップS502に進む。
ステップS502では、データ処理部304は読み込んだソースコードの表示データを作成し表示制御部302に送る。表示制御部302は受け取った画面データをCRTディスプレイ(CRT)210に表示させる。画面例を図6に示す。
図6は、ステップS502で表示するコードレビュー表および試験項目表作成において操作者に表示する画面の一例を示す図である。ソースコードのステップ数を表示するソースステップ数表示部601、ソースコードを表示するソースコード表示部602、コードレビューの結果を表示するコードレビュー表示部603、試験項目の結果を表示する試験項目表示部604、さらに比較対象となる修正版ソースコードを表示する修正版ソースコード表示部605からなる。さらに、コードレビュー表および試験項目表の作成において必要となる表示切替のための表示切替ボタン610などを備える。なお、ここステップS502では、ソースコード表示部602にソースコードを表示する。
操作者は、このようにソースコードとコードレビュー表と試験項目表を対比可能に表示されていることで、注目する部分を容易に認識することが可能となり、作業負荷が軽減され、品質も確保しやすくなる。
ステップS504では、 データ処理部304はソースコードを一行ずつ読み込み、データ記憶部303に記憶されている図16に示す分類判定定義テーブル1610を参照して各行の定義付をする。
ステップS505では、データ処理部304は、あらかじめ登録された、例えば、コメント行であれば灰色の設定とし、経路分岐行であれば水色を設定とするなど、操作者に対し識別可能に表示するよう表示制御部302に指示し、ソース表示処理を終える。
図4の説明に戻る。
ステップS403では、データ処理部304はステップ数の計数処理を行う。ここでは、ステップS504で定義された、ぞれぞれの定義に基づき、総ステップ数とともに、手続き部以外のステップ数であるプロシージャー以外ステップ数、手続き部ステップ数であるプロシージャーステップ数、ソースコード全体のコメントステップ数であるコメントステップ数を計数する。さらに、プログラム標準化された評価済みのコードであるSKLTONステップ数、手続き部のSKLTONステップを除いたステップ数であるSKLTON除くステップ数、新規・改修した手続き部のコメントを抜いたステップ数流用・未改修した手続き部のコメントを抜いたステップ数を計数する。また、ソースコード内のTHEN、ELSE、WHEN等の分岐コードを含む行の数である経路網羅数を計数する。それぞれの計数結果については、図7の全体計数結果表示部705や経路網羅数表示部706に表示するべく、画面データを表示制御部302に送る。表示制御部302は受け取った画面データをCRTディスプレイ(CRT)210に表示させる。
ステップS404では、データ処理部304はソースコードを一行ずつ読み込み、データ記憶部303に記憶されている図16に示す文法ルール定義テーブル1620を参照して各行のエラー有無の判定をする。このとき、エラーの種類に応じてあらかじめ登録されたコードを、例えば、仕様通りのコードでない場合はS1、コードがルールから外れている場合はE1、誤記である場合はD1といったように特定する。操作者は、この自動作成されたコードレビュー表を基にプログラム全体を通して仕様通り作成されているかのレビューを実施する。自動作成されたものに加えて目視チェックを行う事で品質確保を実現する事が可能となる。
その判定の結果については、ソースコードの表示と対応した対象行の図6のコードレビュー表示部603に文法ルール定義テーブル1602で定義された内容を表示するべく、画面データを表示制御部302に送る。表示制御部302は受け取った画面データをCRTディスプレイ(CRT)210に表示させる。
ステップS405では、データ処理部304はソースコードを一行ずつ読み込み、データ記憶部303に記憶されている図6に示す試験項目定義テーブル1630を参照して、試験項目に該当するかの判断をする。このとき、試験項目に定義づけされた行であれば、それに応じた試験項目をソースコードの表示と対応した対象行の図6の試験項目表示部604に試験項目定義テーブル1603で定義された内容を表示するべく、画面データを表示制御部302に送る。表示制御部302は受け取った画面データをCRTディスプレイ(CRT)210に表示させる。
ステップS406では、操作者により検索キーワード入力部701にキーワードが入力されキーワード検索ボタン611が押下されたことを入力部301が受け付けると、そのキーワードデータをデータ処理部304に送り、ステップS407に進む。
ステップS407では、データ処理部304は、キーワードを検索条件として合致する行を検索する。例えば、ソースコード改修時に追加・改修作業した行には、ソース行識別欄である1桁目から6桁目に日付などを記録することを通常行われているが、この日付をキーワードとして抽出する。抽出された行に対して、ステップS403で行った計数処理と同様に、手続き部以外のステップ数であるプロシージャー以外ステップ数、手続き部ステップ数であるプロシージャーステップ数などを計数する。それぞれの計数結果については、図7のプロシージャー以外ステップ数表示部702やプロシージャーステップ数表示部703に表示するべく、画面データを表示制御部302に送る。表示制御部302は受け取った画面データをCRTディスプレイ(CRT)210に表示させる。
また、追加・改修欄に"YES"が入力された行に対し、改修ステップの改造合計表示部に表示するべく、画面データを表示制御部302に送る。表示制御部302は受け取った画面データをCRTディスプレイ(CRT)210に表示させる。
なお、改修項目に対する改修ステップ数を表示することにより、操作者がコードレビュー検出件数/試験項目数を発注先所定の評価基準値をクリアさせる場合の計算値として利用することが可能となり、プログラムの品質を確保することにつながる。
つまり、発注先所定のコードレビュー検出件数基準値が指定されることがあり、例えば、命令1000ステップに対し20件以上のコードレビュー検出数の指定がされた場合に当該プログラムに課せられたコードレビュー検出数を割り出す事が容易に可能となる。
また、発注先所定の試験項目数基準値指定で、例えば、命令1000ステップに対し100項目以上の試験項目数の指定がされた場合に当該プログラムに課せられた試験項目数を割り出す事が容易に可能となる。
さらに、データ処理部304は、改修行を抽出し表示する画面データを作成する。この処理は、検索キーワードとソースコード行のソース行識別欄の1桁目から6桁目が同じものを表示対象とし、違う行を非表示行の設定を行って改修した行のみを表示させる処理である。図8は改修行のみ対象として表示させた一例を示す図である。改修行のみ表示を行う事によりコードレビュー/試験項目入力作業を行う操作者にとり、指摘漏れや試験項目漏れを効率的に防ぐ事が可能となる。つまり、この処理により、操作者はソースコード全体と追加・改修された部分を比較しながらコードレビュー表および試験項目入力作業を行うことができるので、作業の効率化を図ることが可能となる。
ステップS408では、表示切替ボタン610のいずれかが押下されたことを入力部301が受け付けると、その表示切替指示をデータ処理部304に送り、ステップS409に進む。
ステップS409では、データ処理部304は、受け取った表示切替指示データに基づき、表示項目判定し、ソースコード行やコードレビュー表および試験項目表の表示または非表示を判定し、画面データを作成する。
例えば、経路分岐表示ボタン613が押下されたことで表示切替指示データが経路分岐指示であれば、分岐行を抽出し表示する画面データを作成する。この処理は、ソースコード行のIF、THEN、ELSE、EVALUATE、WHEN等の分岐コードを持つ行のみを表示対象とし、違う行を非表示行の設定を行って分岐コード行のみを表示させる処理である。図9は分岐行のみ対象として表示させた一例を示す図である。経路分岐のみ表示を行う事によりコードレビュー/試験項目入力作業を行う操作者にとり、指摘漏れや試験項目漏れを防ぐ為の注意喚起を行う事が可能となる。つまり、この処理により、操作者はソースコード全体から経路分岐に対する複雑性/問題性を把握するよりも、対象行を認識しやすいことから、より精度よく複雑性/問題性を把握することが可能となる。
また、ステップ409で、コードレビューボタン614が押下されたことで表示切替指示データがコードレビュー表示指示であれば、コードレビュー表を抽出し表示する画面データを作成する。この処理は、コードレビュー列に注目できるように試験項目表示部604の試験項目列を非表示列として非表示とする画面データを作成する。コードレビュー表への入力作業を行う操作者にとり、コードレビュー表作成時には試験項目表示部604を非表示とすることで簡易な画面となり、操作性を良くすることが可能となる。つまり、この処理により、操作者はソースコードとコードレビュー列との比較参照が容易になり、作業の効率化を図ることが可能となる。
また、ステップ409で、入力部表示ボタン615が押下されたことで表示切替指示データがコードレビュー入力行表示指示であれば、コードレビューにデータが存在する行を抽出し表示する画面データを作成する。この処理は、コードレビュー入力行を表示対象とし、試験項目表示部604の試験項目列を非表示列として非表示にする処理である。図10はコードレビュー入力行を対象として表示させた一例を示す図である。コードレビュー入力行表示を行う事によりコードレビュー入力作業を行う操作者にとり、コードレビュー入力有り行のみ表示させる事によりレビュー内容の把握を容易にすることができる。つまり、この処理により、操作者はソースコード全体からコードレビュー入力行確認作業を行うよりも、対象行を認識しやすいことからより精度よく複雑性/問題性を把握することが可能となる。
また、ステップ409で、試験項目ボタン616が押下されたことで表示切替指示データが試験項目表示指示であれば、試験項目表を抽出し表示する画面データを作成する。この処理は、試験項目列を表示対象とし、コードレビュー表示部603のコードレビュー列を非表示列として非表示にする処理である。図11は試験項目列を対象として表示させた表示させた一例を示す図である。試験項目列入力作業を行う操作者にとり、試験項目表作成時にはコードレビュー表示部603が非表示とすることで簡易な画面となり、操作性を良くすることが可能となる。つまり、この処理により、コードレビュー列表示機能と同様で、操作者はソースコードと試験項目列との比較参照が容易になり、作業の効率化を図ることが可能となる。
また、ステップ409で、入力部表示ボタン617が押下されたことで表示切替指示データが試験項目入力行表示指示であれば、試験項目にデータが存在する行を抽出し表示する画面データを作成する。この処理は、試験項目入力行を表示対象とし、表示画面600のコードレビュー表示部603を非表示列として非表示にする処理である。図12は試験項目入力行を対象として表示させた一例を示す図である。試験項目入力作業を行う操作者にとり、試験項目入力有り行のみ表示させる事で、より試験項目の内容の把握を容易にすることができる。つまり、この処理により、操作者はソースコード全体から試験項目入力行確認作業を行うよりも、対象行を認識しやすいことからより精度よく確認作業を行うことが可能となる。
このような処理を繰り返しながら、操作者からのコードレビュー表や試験項目表への担当名やコメントの入力指示を受け付け、記録することで作成する。
ステップS410では、登録ボタン618が押下されたことを入力部301が受け付けると、登録指示をデータ処理部304に送り、ステップS411に進む。
ステップS411では、データ処理部304は、データ記憶部303に単体試験作業ファイルとして記憶する。また、コードレビュー表示部603に表示されていた形式でコードレビュー表を作成し、データ記憶部303に記憶する。さらに、試験項目表示部604に表示されていた形式で試験項目表を作成し、データ記憶部303に記憶する。
なお、このとき、データ処理部304は、コードレビュー表および試験項目表を印刷するために、印刷制御部305に印刷データを送る。印刷制御部305は受け取った印刷データをプリンターにネットワーク103を介して送信し、印刷を指示する。
図14は、コードレビュー表を印刷した結果の一例を示す図である。
また、図15は、試験項目表を印刷した結果の一例を示す図である。
ステップS412では、終了指示があるまでステップS406に戻り処理を繰り返す。
上記説明においては、ステップS501でおこなった判断で、新規のソースコードを評価する場合の処理を説明した。次に、一度評価したことのあるソースコード、例えばレビューでの指摘事項を反映した修正版のソースコードを再評価する場合や確認者が開発担当者の作成した、コードレビュー表や試験項目表の確認作業を行う場合の処理について説明する。
図4のステップS401では、修正版のソースコードを評価する場合なので、修正版ソースコードファイル335を読み込むのとともに、単体試験作業ファイル334も先の評価結果のファイルを読み込む。
ステップS501では、新規のソースコードを評価するのか、修正版のソースコードを評価するのかを判断するが、ここでは修正版のソースコードを評価するということで、ステップS503に進む。
ステップS503では、データ処理部304は読み込んだ修正版ソースコードの表示データを表示制御部302に送る。表示制御部302は受け取った画面データをCRTディスプレイ(CRT)210に表示させる。画面例を図13に示す。なお、ソースコード表示部602には先に評価したソースコードを表示し、修正版ソースコード表示部605には今回比較対象として参照する修正版ソースコードを表示する。
ステップS504、さらにステップS505では、さらに、上述したステップS409の処理を行ない、操作者からの指示を受け付け結果欄へのデータ記録や、確認者の記録処理を行ないコードレビュー表と試験項目表とを作成する。
このように、先のソースコードとコードレビューの結果と修正版ソースコードとを比較可能に表示することで、コードレビュー表の作成を行う操作者にとって、ソースコードに対するレビューを容易にし、加えてコードレビューでの指摘事項が修正版ソースコードに反映されているかの確実な確認をも容易にすることが可能となる。特に、確認者にとっては、確認作業が容易になるのとともに、より確実になる。
上記実施形態によれば、 開発担当者などの負荷を軽減し、品質を確保しながらコードレビュー表および試験項目表を作成することができる単体試験支援装置、方法及びプログラムを提供することが可能となる。
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムを読み出す処理である。この場合、記憶媒体から読み出されたプログラム自体が前述した実施の形態の機能を実現することになり、そのプログラム及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
また、プログラムを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリーカード、ROM等である。または、プログラムをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリーに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
また、コンピュータが読み出したプログラムを実行することにより、前述した各実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現する場合も含まれる。この場合、上記プログラムは、該プログラムを記憶した記憶媒体から直接、またはインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続された不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラム、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。
101 単体試験支援装置
102 プリンター
103 ネットワーク
301 入力部
302 表示制御部
303 データ記憶部
304 データ処理部
305 印刷制御部

Claims (11)

  1. 単体試験前に行うコードレビュー表および試験項目表の作成を支援するための単体試験支援装置であって、
    ソースコードを評価するための定義情報を記憶した定義情報記憶手段と、
    評価対象となるプログラムの第一のソースコードを記憶した第一のソースコード記憶手段と、
    前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照して、定義に合致するか判定する判定手段と、
    前記判定手段による判定の結果を用いて第一のソースコードのステップ数を分類して計数する計数手段と、
    前記計数手段で計数した結果と、前記第一のソースコードとソースコードに対するコードレビュー表と試験項目表とを対比可能に表示する表示手段と、
    前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照してコードレビューの対象行に合致するかを判定し、合致する場合は該当するコードレビューの内容を前記コードレビュー表に表示するコードレビュー表作成手段と、
    前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照して試験項目の対象行に合致するかを判定し、合致する場合は該当する前記試験項目の内容を試験項目表に表示する試験項目表作成手段と
    を備えることを特徴とした単体試験支援装置。
  2. 前記第一のソースコードを比較対象とする第二のソースコードを記憶するソースコード記憶手段を備え、
    前記表示手段は、計数手段で計数した結果と、前記第一のソースコードと第一のソースコードに対するコードレビュー表と試験項目表と、第二のソースコードとを対比可能に表示すること
    を特徴とした請求項1記載の単体試験支援装置。
  3. 表示項目の表示切替指示を受け付ける表示切替指示手段と、
    前記表示切替指示手段で受け付けた表示項目に基づき表示または非表示を判定する表示項目判定手段を備え、
    前記表示手段は、前記項目判定手段で判定された結果に基づき表示または非表示することを特徴とする請求項1または2記載の単体試験支援装置。
  4. 検索キーワードを受け付ける検索キーワード入力手段と、
    前記検索キーワード入力手段により受け付けたキーワードを検索条件として、第一のソースコードから条件に合致する行を検索する検索手段とを備え、
    前記計数手段は、前記検索手段で検索された結果を対象に計数することを特徴とした請求項1乃至3のいずれか一項に記載の単体試験支援装置。
  5. 前記表示手段は、前記分類手段で分類された結果に応じて識別可能に表示することを特徴とした請求項1乃至4のいずれか一項に記載の単体試験支援装置。
  6. 単体試験前に行うコードレビュー表および試験項目表の作成を支援するための単体試験支援方法であって、
    ソースコードを評価するための定義情報を記憶する定義情報記憶ステップと、
    評価対象となるプログラムの第一のソースコードを記憶する第一のソースコード記憶ステップと、
    前記第一のソースコードに対して前記定義情報記憶ステップで記憶した定義情報を参照して、定義に合致するか判定する判定ステップと、
    前記判定ステップによる判定の結果を用いて第一のソースコードのステップ数を分類して計数する計数ステップと、
    前記計数ステップで計数した結果と、前記第一のソースコードとソースコードに対するコードレビュー表と試験項目表とを対比可能に表示する表示ステップと、
    前記第一のソースコードに対して前記定義情報記憶ステップで記憶した定義情報を参照してコードレビューの対象行に合致するかを判定し、合致する場合は該当するコードレビューの内容を前記コードレビュー表に表示するコードレビュー表作成ステップと、
    前記第一のソースコードに対して前記定義情報記憶ステップで記憶した定義情報を参照して試験項目の対象行に合致するかを判定し、合致する場合は該当する前記試験項目の内容を試験項目表に表示する試験項目表作成ステップと
    を備えることを特徴とした単体試験支援方法。
  7. 前記第一のソースコードを比較対象とする第二のソースコードを記憶するソースコード記憶ステップを備え、
    前記表示ステップは、計数ステップで計数した結果と、前記第一のソースコードと第一のソースコードに対するコードレビュー表と試験項目表と、第二のソースコードとを対比可能に表示すること
    を特徴とした請求項6記載の単体試験支援方法。
  8. 表示項目の表示切替指示を受け付ける表示切替指示ステップと、
    前記表示切替指示ステップで受け付けた表示項目に基づき表示または非表示を判定する表示項目判定ステップとを備え、
    前記表示ステップは、前記項目判定ステップで判定された結果に基づき表示または非表示することを特徴とする請求項6または7に記載の単体試験支援方法。
  9. 検索キーワードを受け付ける検索キーワード入力ステップと、
    前記検索キーワード入力ステップで受け付けたキーワードを検索条件として、第一のソースコードから条件に合致する行を検索する検索ステップとを備え、
    前記計数ステップは、前記検索ステップで検索された結果を対象に計数することを特徴とした請求項6乃至8のいずれか一項に記載の単体試験支援方法。
  10. 前記表示ステップは、前記分類ステップで分類した結果に応じて識別可能に表示することを特徴とした請求項6乃至9のいずれか一項に記載の単体試験支援方法。
  11. 単体試験前に行うコードレビュー表および試験項目表の作成を支援するための単体試験支援装置で実行が可能なプログラムであって、
    ソースコードを評価するための定義情報を記憶した定義情報記憶手段と、
    評価対象となるプログラムの第一のソースコードを記憶した第一のソースコード記憶手段と、
    前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照して、定義に合致するか判定する判定手段と、
    前記判定手段による判定の結果を用いて第一のソースコードのステップ数を分類して計数する計数手段と、
    前記計数手段で計数した結果と、前記第一のソースコードとソースコードに対するコードレビュー表と試験項目表とを対比可能に表示する表示手段と、
    前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照してコードレビューの対象行に合致するかを判定し、合致する場合は該当するコードレビューの内容を前記コードレビュー表に表示するコードレビュー表作成手段と、
    前記第一のソースコードに対して前記定義情報記憶手段に記憶された定義情報を参照して試験項目の対象行に合致するかを判定し、合致する場合は該当する前記試験項目の内容を試験項目表に表示する試験項目表作成手段と
    して単体試験支援装置を機能させることを特徴としたプログラム。

JP2009295548A 2009-12-25 2009-12-25 単体試験支援装置、方法及びプログラム Pending JP2011134270A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009295548A JP2011134270A (ja) 2009-12-25 2009-12-25 単体試験支援装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009295548A JP2011134270A (ja) 2009-12-25 2009-12-25 単体試験支援装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2011134270A true JP2011134270A (ja) 2011-07-07

Family

ID=44346897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009295548A Pending JP2011134270A (ja) 2009-12-25 2009-12-25 単体試験支援装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2011134270A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134605A (zh) * 2019-05-16 2019-08-16 北京达佳互联信息技术有限公司 验证代码的方法、装置、计算机设备和存储介质
CN112860565A (zh) * 2021-02-24 2021-05-28 北京皮尔布莱尼软件有限公司 一种代码评审方法、系统、计算设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134605A (zh) * 2019-05-16 2019-08-16 北京达佳互联信息技术有限公司 验证代码的方法、装置、计算机设备和存储介质
CN112860565A (zh) * 2021-02-24 2021-05-28 北京皮尔布莱尼软件有限公司 一种代码评审方法、系统、计算设备及存储介质

Similar Documents

Publication Publication Date Title
US5926638A (en) Program debugging system for debugging a program having graphical user interface
US8566744B2 (en) Same-display comparison of content for different renditions of a single computer program
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
US8352913B2 (en) Generating and resolving component names in an integrated development environment
JP2006153628A (ja) 分析データ管理装置及び分析データ管理プログラム
JP2012103786A (ja) テスト支援装置、制御方法、及びプログラム
JP6440895B2 (ja) ソフトウェア分析装置及びソフトウェア分析方法
CN113760266B (zh) 一种功能模块文件的创建方法、创建装置和电子设备
US20090217259A1 (en) Building Operating System Images Based on Applications
US8755612B2 (en) Identifying truncated character strings
JP2011134270A (ja) 単体試験支援装置、方法及びプログラム
JP2008234552A (ja) プロジェクト管理支援装置およびその方法
US20170277722A1 (en) Search service providing apparatus, system, method, and computer program
JP2005332098A (ja) テスト項目抽出システム、テスト項目抽出装置、及びそれに用いるテスト項目抽出方法並びにそのプログラム
JP2006277127A (ja) 修正プログラムの比較方法
JP2009199172A (ja) 情報処理システム、プログラム中の類似箇所特定方法、及びプログラム
JP2012064051A (ja) ヘルプ表示装置、ヘルプ表示方法及びヘルプ表示プログラム
JP2007011728A (ja) 汎用計算機の操作手順作成装置及び方法、並びにプログラム
JP2008090707A (ja) ソフトウェアメタデータ解析装置およびその方法
US20230259536A1 (en) Data processing device, data processing method, and data processing program
JP6739599B1 (ja) 情報処理プログラム、情報処理方法、及び情報処理装置
JP2014092836A (ja) 図面管理サーバ及びこれを用いた図面管理システム
JP2007207096A (ja) 差分画像表示装置
JP2006260053A (ja) 特定サブルーチン検索システムおよびこれに用いるプログラム
JP2009151742A (ja) ユースケースシナリオ作成支援システム、ユースケースシナリオ作成支援方法、およびユースケースシナリオ作成支援プログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120130

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120130