JP6354457B2 - Application development support apparatus, data processing method thereof, and program - Google Patents

Application development support apparatus, data processing method thereof, and program Download PDF

Info

Publication number
JP6354457B2
JP6354457B2 JP2014173227A JP2014173227A JP6354457B2 JP 6354457 B2 JP6354457 B2 JP 6354457B2 JP 2014173227 A JP2014173227 A JP 2014173227A JP 2014173227 A JP2014173227 A JP 2014173227A JP 6354457 B2 JP6354457 B2 JP 6354457B2
Authority
JP
Japan
Prior art keywords
screen
application
transition
information
coverage
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
JP2014173227A
Other languages
Japanese (ja)
Other versions
JP2016048471A (en
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2014173227A priority Critical patent/JP6354457B2/en
Publication of JP2016048471A publication Critical patent/JP2016048471A/en
Application granted granted Critical
Publication of JP6354457B2 publication Critical patent/JP6354457B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、アプリケーション開発支援装置、そのデータ処理方法、およびプログラムに関する。   The present invention relates to an application development support apparatus, a data processing method thereof, and a program.

ウェブアプリケーションに関するテストケースおよびテストデータを自動的に生成する技術の一例が特許文献1に記載されている。このテストケース生成装置は、画面遷移定義情報からテストケース生成の対象画面を取得し、画面構成情報からテスト対象カラムを取得し、データ定義情報からテスト対象カラムに対する制約を取得し、テスト対象カラムに対する制約とテストケーステンプレートをマッチングさせ、テストケースとテストデータを生成する。   An example of a technique for automatically generating test cases and test data relating to a web application is described in Patent Document 1. This test case generation device acquires the target screen for test case generation from the screen transition definition information, acquires the test target column from the screen configuration information, acquires the constraints for the test target column from the data definition information, and Constraints and test case templates are matched to generate test cases and test data.

特開2006−260390号公報JP 2006-260390 A

特許文献1に記載の技術では、自動で生成されたテストケースが適切な範囲で設定されているか、漏れがないか、等が、直感的には分かりにくく、精査に時間がかかるといった問題点があった。テストケースの網羅性の確認を疎かにしてしまうと、テストの精度が低くなり、アプリケーションの信頼性を維持することができない。   In the technique described in Patent Document 1, it is difficult to intuitively understand whether an automatically generated test case is set in an appropriate range, whether there is any omission, etc., and it takes time to scrutinize. there were. If you do not check the completeness of the test case, the accuracy of the test will be low and the reliability of the application cannot be maintained.

一般的に、テスト動作によって、ソースコードのどの部分が実行されたかを検査し、その結果から網羅範囲を示すカバレッジが取得される。このカバレッジ情報は、テストの完成度やテスト結果の信頼度の指標の一部に用いられている。テストケースを適切な範囲で漏れなく作成することで、コードカバレッジを拡げ、効率的なテストを実施でき、テスト結果の信頼度を向上できる。高い信頼性を確保できるテストを効率よく実施することは、アプリケーション開発の全体工数を削減することにも繋がる。   In general, the test operation checks which part of the source code is executed, and the coverage indicating the coverage is obtained from the result. This coverage information is used as a part of an index of test completeness and test result reliability. By creating test cases in an appropriate range without omissions, code coverage can be expanded, efficient testing can be performed, and the reliability of test results can be improved. Efficiently performing tests that can ensure high reliability leads to a reduction in the overall man-hours for application development.

本発明は上記事情に鑑みてなされたものであり、その目的とするところは、アプリケーションの開発を支援するアプリケーション開発支援装置、そのデータ処理方法、およびプログラムを提供することにある。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an application development support apparatus that supports application development, a data processing method thereof, and a program.

本発明の各側面では、上述した課題を解決するために、それぞれ以下の構成を採用する。   Each aspect of the present invention employs the following configurations in order to solve the above-described problems.

第一の側面は、アプリケーション開発支援装置に関する。
第一の側面に係るアプリケーション開発支援装置は、
アプリケーションの各画面の表示情報および前記画面間の遷移情報を含む画面設計情報に基づいて、そのアプリケーションの画面遷移図を表示する画面遷移図表示手段と、
前記アプリケーションを動作させて、前記アプリケーションを実現するプログラムのソースコードの中の実行された部分を検出する検出手段と、
前記画面設計情報および前記検出手段による検出結果に基づいて、前記アプリケーションの画面毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報、および前記アプリケーションの遷移毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報の少なくともいずれか一方を生成するカバレッジ生成手段と、
前記画面遷移図表示手段により表示される前記画面遷移図上の各画面および各遷移の少なくともいずれか一方に、前記生成された各コードカバレッジ情報をそれぞれ対応付けて表示するカバレッジ表示手段と、を有する。
The first aspect relates to an application development support apparatus.
The application development support apparatus according to the first aspect is
Screen transition diagram display means for displaying a screen transition diagram of the application based on screen design information including display information of each screen of the application and transition information between the screens;
Detecting means for operating the application and detecting an executed part in a source code of a program realizing the application;
Based on the screen design information and the detection result by the detection means, code coverage information indicating the coverage of the executed part for the source code for each screen of the application, and the executed part for the source code for each transition of the application Coverage generation means for generating at least one of code coverage information indicating a coverage area;
Coverage display means for displaying the generated code coverage information in association with at least one of each screen and each transition on the screen transition diagram displayed by the screen transition diagram display means; .

第二の側面は、少なくとも1つのコンピュータにより実行されるアプリケーション開発支援装置のデータ処理方法に関する。
第二の側面に係るアプリケーション開発支援装置のデータ処理方法は、
アプリケーション開発支援装置が、
アプリケーションの各画面の表示情報および前記画面間の遷移情報を含む画面設計情報に基づいて、そのアプリケーションの画面遷移図を表示し、
前記アプリケーションを動作させて、前記アプリケーションを実現するプログラムのソースコードの中の実行された部分を検出し、
前記画面設計情報および前記実行部分の検出結果に基づいて、前記アプリケーションの画面毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報、および前記アプリケーションの遷移毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報の少なくともいずれか一方を生成し、
前記画面遷移図上の各画面および各遷移の少なくともいずれか一方に、前記生成された各コードカバレッジ情報をそれぞれ対応付けて表示する、ことを含む。
The second aspect relates to a data processing method for an application development support apparatus executed by at least one computer.
The data processing method of the application development support apparatus according to the second aspect is as follows:
Application development support device
Based on the screen design information including the display information of each screen of the application and the transition information between the screens, the screen transition diagram of the application is displayed,
Operating the application to detect an executed part in a source code of a program realizing the application;
Based on the screen design information and the detection result of the execution part, code coverage information indicating the coverage of the executed part for the source code for each screen of the application, and the executed part for the source code for each transition of the application Generate at least one of the code coverage information indicating the coverage area,
And displaying each of the generated code coverage information in association with at least one of each screen and each transition on the screen transition diagram.

なお、本発明の他の側面としては、上記第二の側面の方法を少なくとも1つのコンピュータに実行させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
このコンピュータプログラムは、コンピュータにより実行されたとき、コンピュータに、アプリケーション開発支援装置上で、そのデータ処理方法を実施させるコンピュータプログラムコードを含む。
As another aspect of the present invention, there may be a program for causing at least one computer to execute the method of the second aspect, or a computer-readable recording medium recording such a program. May be. This recording medium includes a non-transitory tangible medium.
The computer program includes computer program code that, when executed by a computer, causes the computer to perform the data processing method on the application development support apparatus.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.

また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。   The various components of the present invention do not necessarily have to be independent of each other. A plurality of components are formed as a single member, and a single component is formed of a plurality of members. It may be that a certain component is a part of another component, a part of a certain component overlaps with a part of another component, or the like.

また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。   Moreover, although the several procedure is described in order in the method and computer program of this invention, the order of the description does not limit the order which performs a several procedure. For this reason, when the method and computer program of the present invention are implemented, the order of the plurality of procedures can be changed within a range that does not hinder the contents.

さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。   Furthermore, the plurality of procedures of the method and the computer program of the present invention are not limited to being executed at different timings. For this reason, another procedure may occur during the execution of a certain procedure, or some or all of the execution timing of a certain procedure and the execution timing of another procedure may overlap.

上記各側面によれば、アプリケーションの開発を支援する技術を提供することができる。   According to each aspect described above, it is possible to provide a technology that supports application development.

本発明の実施の形態に係るアプリケーション開発支援装置の構成を論理的に示す機能ブロック図である。It is a functional block diagram which shows logically the structure of the application development assistance apparatus which concerns on embodiment of this invention. 本実施形態のアプリケーション開発支援装置の開発支援対象のアプリケーションの画面遷移図の例を示す図である。It is a figure which shows the example of the screen transition diagram of the application of the development assistance object of the application development assistance apparatus of this embodiment. 本実施形態のアプリケーション開発支援装置の開発支援対象のアプリケーションの画面遷移図の例を示す図である。It is a figure which shows the example of the screen transition diagram of the application of the development assistance object of the application development assistance apparatus of this embodiment. 本実施形態のアプリケーション開発支援装置の開発支援対象のアプリケーションの画面毎および遷移毎のソースコードを説明するための図である。It is a figure for demonstrating the source code for every screen and every transition of the application of the development assistance object of the application development assistance apparatus of this embodiment. 本発明の実施の形態に係るアプリケーション開発支援装置を実現するコンピュータのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the computer which implement | achieves the application development assistance apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るアプリケーション開発支援装置のデータ処理方法における処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in the data processing method of the application development assistance apparatus which concerns on embodiment of this invention. 本実施形態のアプリケーション開発支援装置の開発支援対象のアプリケーションのテスト時のカバレッジ情報表示画面の表示例を示す図である。It is a figure which shows the example of a display of the coverage information display screen at the time of the test of the application of the development assistance object of the application development assistance apparatus of this embodiment. 本発明の実施の形態に係るアプリケーション開発支援装置の構成を論理的に示す機能ブロック図である。It is a functional block diagram which shows logically the structure of the application development assistance apparatus which concerns on embodiment of this invention. 本実施形態のアプリケーション開発支援装置によるカバレッジ情報表示画面の一例を示す図である。It is a figure which shows an example of the coverage information display screen by the application development assistance apparatus of this embodiment. 本実施形態のアプリケーション開発支援装置によるソースコード画面の一例を示す図である。It is a figure which shows an example of the source code screen by the application development assistance apparatus of this embodiment. 本発明の実施の形態に係るアプリケーション開発支援装置の構成を論理的に示す機能ブロック図である。It is a functional block diagram which shows logically the structure of the application development assistance apparatus which concerns on embodiment of this invention. 本実施形態のアプリケーション開発支援装置がテストするアプリケーションのメイン画面の一例を示す図である。It is a figure which shows an example of the main screen of the application which the application development assistance apparatus of this embodiment tests. 本発明の実施の形態に係るアプリケーション開発支援装置のデータ処理方法における処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in the data processing method of the application development assistance apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るアプリケーション開発支援装置の構成を論理的に示す機能ブロック図である。It is a functional block diagram which shows logically the structure of the application development assistance apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るアプリケーション開発支援装置の構成を論理的に示す機能ブロック図である。It is a functional block diagram which shows logically the structure of the application development assistance apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るアプリケーション開発支援装置におけるテストシナリオおよびテストケースを説明するための図である。It is a figure for demonstrating the test scenario and test case in the application development assistance apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係るアプリケーション開発支援装置を利用するアプリケーション開発システムの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the application development system using the application development assistance apparatus which concerns on embodiment of this invention. 本実施形態のアプリケーション開発支援装置を含む開発システムにより開発されたアプリケーションを利用したシステムの構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the system using the application developed by the development system containing the application development assistance apparatus of this embodiment.

以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In all the drawings, the same reference numerals are given to the same components, and the description will be omitted as appropriate.

(第1の実施の形態)
本発明の第1の実施の形態に係るアプリケーション開発支援装置、そのデータ処理方法およびプログラムについて、以下説明する。
図1は、本発明の実施の形態に係るアプリケーション開発支援装置100の構成を論理的に示す機能ブロック図である。
本発明の実施の形態に係るアプリケーション開発支援装置100は、アプリケーションの各画面の表示情報および画面間の遷移情報を含む画面設計情報110に基づいて、そのアプリケーションの画面遷移図120を表示する画面遷移図表示部102と、アプリケーションを動作させて、アプリケーションを実現するプログラムのソースコード112の中の実行された部分を検出する検出部104と、画面設計情報110および検出部104による検出結果に基づいて、アプリケーションの画面毎のソースコード112に対する実行済み部分の網羅範囲を示すコードカバレッジ情報、およびアプリケーションの遷移毎のソースコード112に対する実行済み部分の網羅範囲を示すコードカバレッジ情報の少なくともいずれか一方を生成するカバレッジ生成部106と、画面遷移図表示部102により表示される画面遷移図上の各画面および各遷移の少なくともいずれか一方に、生成された各コードカバレッジ情報をそれぞれ対応付けて表示するカバレッジ表示部108と、を備える。
(First embodiment)
An application development support apparatus, a data processing method, and a program thereof according to the first embodiment of the present invention will be described below.
FIG. 1 is a functional block diagram logically showing the configuration of the application development support apparatus 100 according to the embodiment of the present invention.
The application development support apparatus 100 according to the embodiment of the present invention displays a screen transition that displays a screen transition diagram 120 of an application based on screen design information 110 including display information of each screen of the application and transition information between screens. Based on the result of detection by the figure display unit 102, the detection unit 104 that detects the executed portion of the source code 112 of the program that realizes the application by operating the application, the screen design information 110, and the detection unit 104 Generate at least one of code coverage information indicating the coverage of the executed part for the source code 112 for each screen of the application and code coverage information indicating the coverage of the executed part for the source code 112 for each transition of the application Mosquito The ledge generation unit 106 and a coverage display unit that displays the generated code coverage information in association with at least one of each screen and each transition on the screen transition diagram displayed by the screen transition diagram display unit 102 108.

本発明のアプリケーション開発支援装置は、アプリケーションの開発を支援する装置である。本実施形態では、アプリケーション開発支援装置100が開発するアプリケーションとして、ウェブアプリケーションを例に説明する。
本発明の開発対象となるアプリケーションは、ウェブアプリケーションに限定されるものではない。たとえば、サーバ、データベース、および端末の全てがユーザ側に含まれる、企業内のシステム等も開発対象となり得る。
The application development support apparatus of the present invention is an apparatus that supports application development. In the present embodiment, a web application will be described as an example of an application developed by the application development support apparatus 100.
The application to be developed by the present invention is not limited to a web application. For example, a system in a company in which all of a server, a database, and a terminal are included on the user side can be a development target.

また、本実施形態のアプリケーション開発支援装置100は、図17に示すような、アプリケーション開発システム1において、開発装置20の一部の機能として組み込むことができる。
図17は、本発明の実施の形態に係るアプリケーション開発支援装置100を利用するアプリケーション開発システム1の構成の一例を示すブロック図である。
Further, the application development support apparatus 100 of the present embodiment can be incorporated as a part of the function of the development apparatus 20 in the application development system 1 as shown in FIG.
FIG. 17 is a block diagram showing an example of the configuration of the application development system 1 that uses the application development support apparatus 100 according to the embodiment of the present invention.

本発明の実施の形態に係るアプリケーション開発システム1において、開発装置20は、ウェブサーバ30で動作するウェブアプリケーション32の開発を行う装置である。ウェブアプリケーション32は、端末40によりブラウザ42を経由してインターネット等のネットワーク3を介して利用される。   In the application development system 1 according to the embodiment of the present invention, the development device 20 is a device that develops a web application 32 that runs on the web server 30. The web application 32 is used by the terminal 40 via the browser 42 and the network 3 such as the Internet.

ウェブアプリケーション32は、たとえば、端末40のブラウザ42上に画面を表示させ、画面上での入力および操作を受け付ける。そして、ウェブアプリケーション32が、入力操作に基づく処理を実行し、必要に応じてデータベース(DB:DataBase)24を参照し、結果得られたデータに基づき形成される画面を端末40のブラウザ42上に表示させる。
開発装置20は、画面設計情報110と、プログラムのソースコード112等を設計情報リポジトリ22に記憶する。そして、開発装置20は、これらの情報を元に、仕様書や設計書を作成し、プログラムを生成し、テストを行い、ウェブアプリケーション32を完成させる。
For example, the web application 32 displays a screen on the browser 42 of the terminal 40 and accepts input and operation on the screen. The web application 32 executes processing based on the input operation, refers to the database (DB: DataBase) 24 as necessary, and displays a screen formed based on the obtained data on the browser 42 of the terminal 40. Display.
The development device 20 stores the screen design information 110, the source code 112 of the program, and the like in the design information repository 22. Then, the development device 20 creates a specification or design document based on these pieces of information, generates a program, performs a test, and completes the web application 32.

図18は、本実施形態のアプリケーション開発支援装置100を含む開発システムにより開発されたアプリケーションを利用したシステムの構成の一例を示すブロック図である。
生成されたウェブアプリケーション32は、たとえば、図18に示すように、ウェブサーバ30上で動作する。そして、ウェブアプリケーション32は、ネットワーク3を介して端末40(図では、複数の端末40a、40bを示す。特に、区別する必要がない場合は、端末40と呼ぶ。)にてブラウザ42経由で利用される。
なお、ブラウザ42の種類は、特に限定されず、端末40毎に異なる種類のブラウザ42を用いてもよい。また、端末40の種類、たとえば、OS(Operating System)等の種類も限定されず、異なる種類のOSで動作する端末40が混在してもよい。
FIG. 18 is a block diagram illustrating an example of the configuration of a system that uses an application developed by a development system including the application development support apparatus 100 of the present embodiment.
The generated web application 32 operates on the web server 30, for example, as shown in FIG. The web application 32 is used via the browser 42 on the terminal 40 (in the figure, a plurality of terminals 40a and 40b. In particular, the terminal 40 is referred to as the terminal 40 when it is not necessary to distinguish). Is done.
The type of browser 42 is not particularly limited, and a different type of browser 42 may be used for each terminal 40. Also, the type of the terminal 40, for example, the type of OS (Operating System) or the like is not limited, and the terminals 40 that operate with different types of OS may be mixed.

なお、図では、ウェブアプリケーション32は、ウェブサーバ30上にのみ存在するように示されているが、端末40とウェブサーバ30とが協働してウェブアプリケーション32を動作させる。   In the figure, the web application 32 is shown to exist only on the web server 30, but the terminal 40 and the web server 30 cooperate to operate the web application 32.

具体的には、端末40のブラウザ42からインターネット等のネットワーク3を介してウェブサーバ30のウェブページを表示させた時、ウェブアプリケーション32に含まれる一部のプログラムが端末40にダウンロードされる。この一部のプログラムは、ブラウザ42上で動作する、Java(登録商標)言語等のプログラミング言語で記述される。そして、その一部のプログラムが、端末40のブラウザ42上で、ウェブサーバ30上のウェブアプリケーション32と協働して動作する。   Specifically, when a web page of the web server 30 is displayed from the browser 42 of the terminal 40 via the network 3 such as the Internet, some programs included in the web application 32 are downloaded to the terminal 40. This part of the program is described in a programming language such as Java (registered trademark) language that runs on the browser 42. Some of the programs operate on the browser 42 of the terminal 40 in cooperation with the web application 32 on the web server 30.

端末40からブラウザ42経由で利用されるウェブアプリケーション32のウェブサーバ30上で動作等は公知であり、本発明の本質に関わらないので詳細な説明は省略する。
開発装置20で開発されたウェブアプリケーション32は、テストされた後、実機のウェブサーバ30に配備され、利用することができる。
The operation of the web application 32 that is used from the terminal 40 via the browser 42 on the web server 30 is well-known and is not related to the essence of the present invention, and thus detailed description thereof is omitted.
The web application 32 developed by the development device 20 can be deployed and used on the web server 30 of the actual machine after being tested.

本発明において、ウェブアプリケーション32は、業務用アプリケーションを含むことができる。業務アプリケーションとは、企業の情報システムにおいて、企業活動の業務内容と直接関連のある販売、在庫管理、受注、流通、経費管理、資金管理、人財管理、書類管理などの情報処理やサービスを扱うシステムを実現するアプリケーションプログラムである。   In the present invention, the web application 32 may include a business application. A business application handles information processing and services such as sales, inventory management, order receipt, distribution, expense management, fund management, human resources management, and document management that are directly related to the content of business activities in a corporate information system. It is an application program that realizes the system.

図1に戻り、画面設計情報110とは、アプリケーション開発を行う際に、アプリケーションの画面構成、画面遷移、および各画面の部品(画面構成要素)配置、そのレイアウト、各画面構成要素の属性などを定義した情報を含む。また、各画面構成要素の属性は、画面構成要素に対するチェック機能に関する情報、たとえば、入力必須や英文字のみ入力可、および電話番号形式入力のみ許可等の情報を含む。   Returning to FIG. 1, the screen design information 110 includes the screen configuration of an application, screen transitions, the arrangement of each screen component (screen configuration element), its layout, the attributes of each screen configuration element, etc. Contains defined information. The attributes of each screen component include information on a check function for the screen component, for example, information such as mandatory input, only English characters can be input, and only phone number format input is permitted.

画面遷移図表示部102により表示される画面遷移図120は、画面122および画面122間の遷移(遷移メソッド124)の情報が含まれる。
図2は、本実施形態のアプリケーション開発支援装置100の開発支援対象のアプリケーションの画面遷移図の例を示す図である。
図2(a)の画面遷移図120では、アプリケーションが、3つの画面122を有することが示されている。さらに、たとえば、メイン画面(S_01)では、選択ボタンの押下による遷移メソッド124により、情報画面(S_02)へ遷移することが示されている。画面遷移図120において、画面122間の遷移メソッド124は、遷移のトリガとなる操作ボタンの名称(bt_02)と、遷移方向を示す矢印で示されている。
同様に、情報画面(S_02)では、詳細ボタンの押下による遷移メソッド124により、詳細画面(S_03)に遷移することと、戻るボタンの押下による遷移メソッド124により、メイン画面(S_01)に戻ることが示されている。
そして、図2(b)に示すように、カバレッジ情報表示画面130上には、各画面122および各遷移メソッド124についてカバレッジ情報132が対応付けて表示される。なお、図2(b)では、各画面122と各遷移メソッド124の両方についてカバレッジ情報132が対応付けて表示されているが、画面122および遷移メソッド124の少なくともいずれか一方のカバレッジ情報132が表示されてもよい。
The screen transition diagram 120 displayed by the screen transition diagram display unit 102 includes information on the transition between the screen 122 and the screen 122 (transition method 124).
FIG. 2 is a diagram illustrating an example of a screen transition diagram of an application that is a development support target of the application development support apparatus 100 according to the present embodiment.
In the screen transition diagram 120 of FIG. 2A, it is shown that the application has three screens 122. Further, for example, in the main screen (S_01), transition to the information screen (S_02) is shown by the transition method 124 by pressing the selection button. In the screen transition diagram 120, the transition method 124 between the screens 122 is indicated by the name of the operation button (bt_02) serving as a transition trigger and an arrow indicating the transition direction.
Similarly, on the information screen (S_02), transition to the detail screen (S_03) is performed by the transition method 124 by pressing the detail button, and return to the main screen (S_01) by the transition method 124 by pressing the return button. It is shown.
As shown in FIG. 2B, coverage information 132 is displayed in association with each screen 122 and each transition method 124 on the coverage information display screen 130. In FIG. 2B, coverage information 132 is displayed in association with each screen 122 and each transition method 124, but coverage information 132 of at least one of the screen 122 and the transition method 124 is displayed. May be.

また、アプリケーションの各画面122の遷移メソッド124が、自画面遷移を含んでもよい。
本実施形態のアプリケーション開発支援装置100において、画面設計情報110のアプリケーションの画面122間の遷移情報は、自画面遷移の遷移情報をさらに含む。
カバレッジ生成部106は、画面設計情報110および検出部104による検出結果に基づいて、アプリケーションの各画面122の自画面遷移を含む遷移毎のソースコード112に対する実行済み部分の網羅範囲を示すコードカバレッジ情報をさらに生成する。
そして、カバレッジ表示部108が、自画面遷移メソッド126についてもカバレッジ情報132を対応付けて表示する。
Further, the transition method 124 of each screen 122 of the application may include own screen transition.
In the application development support apparatus 100 of this embodiment, the transition information between the screens 122 of the application of the screen design information 110 further includes transition information of the own screen transition.
The coverage generation unit 106, based on the detection result of the screen design information 110 and the detection unit 104, code coverage information indicating the coverage of the executed part for the source code 112 for each transition including the own screen transition of each screen 122 of the application Is further generated.
Then, the coverage display unit 108 displays the coverage information 132 in association with the self-screen transition method 126 as well.

図3は、本実施形態のアプリケーション開発支援装置100の開発支援対象のアプリケーションの画面遷移図の例を示す図である。
図3(a)に示すように、画面遷移図120では、たとえば、メイン画面(S_01)で、検索ボタンの押下による遷移(自画面遷移メソッド126)により、検索処理を行い、その結果を表示する自画面(メイン画面)(S_01)へ遷移することが示されている。
そして、図3(b)に示すように、カバレッジ情報表示画面130上には、自画面遷移メソッド126についても、カバレッジ情報132が対応付けて表示される。
FIG. 3 is a diagram illustrating an example of a screen transition diagram of an application that is a development support target of the application development support apparatus 100 according to the present embodiment.
As shown in FIG. 3A, in the screen transition diagram 120, for example, search processing is performed by transition (self-screen transition method 126) by pressing the search button on the main screen (S_01), and the result is displayed. It is shown that a transition is made to the own screen (main screen) (S_01).
As shown in FIG. 3B, coverage information 132 is also displayed on the coverage information display screen 130 in association with the self-screen transition method 126.

本実施形態において、上述した図17のアプリケーション開発システム1の開発装置20では、たとえば、図2(a)または図3(a)のような画面遷移図120を作成する機能を有する。さらに、開発装置20で、各画面122および各遷移メソッド124(自画面遷移メソッド126を含む)の詳細設計情報を入力することで、画面設計情報110が設計情報リポジトリ22に記憶される。そして、アプリケーション開発システム1では、これらの情報を元に、アプリケーションのソースコードの生成、実行モジュールの生成、テスト、そして実機への移行までの処理を行うことができる。さらに、各工程に関連するドキュメントの作成も、これらの情報を元に行うことができる。つまり、設計時に作成された画面遷移図120に関する情報を含む画面設計情報110は、そのまま、アプリケーションの設計書になるとともに、さらに、ソースコードの生成、実行モジュールの生成、テストシナリオの作成、テスト仕様書の作成、テストの実行、および、テスト結果報告書の作成に使用される。したがって、アプリケーションの設計とテスト結果と実機プログラムの間での内容の乖離を防ぐことができる。   In the present embodiment, the above-described development device 20 of the application development system 1 in FIG. 17 has a function of creating a screen transition diagram 120 as shown in FIG. 2A or FIG. Furthermore, the screen design information 110 is stored in the design information repository 22 by inputting the detailed design information of each screen 122 and each transition method 124 (including the own screen transition method 126) by the development apparatus 20. The application development system 1 can perform processing from generation of application source code, generation of execution modules, testing, and migration to an actual machine based on such information. Furthermore, it is possible to create a document related to each process based on such information. That is, the screen design information 110 including information about the screen transition diagram 120 created at the time of design becomes an application design document as it is, and further, source code generation, execution module generation, test scenario generation, test specification Used to create certificate, run test, and create test result report. Accordingly, it is possible to prevent the divergence between the application design, the test result, and the content program.

本実施形態において、画面遷移図表示部102は、開発装置20により作成されて設計情報リポジトリ22に記憶された画面設計情報110を元に画面遷移図120を表示する。
画面遷移図120に含まれる画面122や遷移メソッド124に関する情報は、上述したように、設計時に画面遷移図120を生成する際に、詳細情報が決められ、画面設計情報110として設計情報リポジトリ22に記憶される。
In the present embodiment, the screen transition diagram display unit 102 displays the screen transition diagram 120 based on the screen design information 110 created by the development device 20 and stored in the design information repository 22.
As described above, detailed information on the screen 122 and the transition method 124 included in the screen transition diagram 120 is determined when the screen transition diagram 120 is generated at the time of design, and the screen design information 110 is stored in the design information repository 22. Remembered.

画面122に関する表示情報は、たとえば、各画面122のID、名称、種類(たとえば、ページ、またはポップアップ等)と、画面のデザイン(背景の属性情報、レイアウト、テキストコンテンツの内容、文字の属性情報(サイズ、フォント、色等)、画像ファイルの属性情報(ファイルのパス、表示サイズ等)等)、入力画面部品等の属性情報を含む。   The display information related to the screen 122 includes, for example, the ID, name, type (for example, page, pop-up, etc.) of each screen 122 and screen design (background attribute information, layout, text content content, character attribute information ( Size, font, color, etc.), image file attribute information (file path, display size, etc.), and attribute information such as input screen components.

入力画面部品とは、入力または選択される内容または操作指示を受け付けるためのGUI(Graphical User Interface)コンポーネントや、データを出力するコンポーネントを含む各種の画面構成要素のうち、入力(または選択)に関する部品を指す。たとえば、入力画面部品としては、テキストボックス、コンボボックス、リストボックス、プルダウンメニュー(ドロップダウンメニュー)、コンテキストメニュー、チェックボタン、ラジオボタン等が例示される。入力画面部品にて入力または選択される入力内容は、文字列、数値、および配列データ等を含む。   An input screen component is a component related to input (or selection) among various screen components including a GUI (Graphical User Interface) component for receiving input or selected contents or operation instructions, and a component for outputting data. Point to. For example, examples of the input screen component include a text box, a combo box, a list box, a pull-down menu (drop-down menu), a context menu, a check button, and a radio button. Input contents to be input or selected on the input screen component include a character string, a numerical value, array data, and the like.

また、遷移メソッド124に関する遷移情報は、画面122間の関係に関する情報が含まれる。遷移情報は、たとえば、遷移のトリガとなる遷移元の画面内の画面部品の情報(IDまたは名称)、遷移元の画面と遷移先の画面のIDまたは名称、遷移後の画面の種類(たとえば、ページ、またはポップアップ等)、遷移分岐の条件等の属性情報を含む。   The transition information related to the transition method 124 includes information related to the relationship between the screens 122. The transition information includes, for example, information (ID or name) of the screen component in the transition source screen that becomes a trigger of transition, ID or name of the transition source screen and the transition destination screen, and the type of the screen after the transition (for example, Page, popup, etc.), and attribute information such as transition branch conditions.

本発明において、検出部104は、アプリケーションをテスト動作させて、アプリケーションを実現するプログラムのソースコード112の中の実行された部分を検出する。テストでは、たとえば、画面122の表示内容、操作に応じた動作、エラー時の処理等について確認する。   In the present invention, the detection unit 104 performs a test operation on the application to detect an executed portion in the source code 112 of the program that realizes the application. In the test, for example, the display content of the screen 122, the operation according to the operation, the processing at the time of error, etc. are confirmed.

カバレッジ生成部106は、画面設計情報110および検出部104による検出結果に基づいて、アプリケーションの画面122毎のソースコード112の実行済み部分の網羅範囲を示すコードカバレッジ情報を生成する。さらに、カバレッジ生成部106は、アプリケーションの遷移メソッド124毎のソースコード112の実行済み部分の網羅範囲を示すコードカバレッジ情報を生成する。   Based on the screen design information 110 and the detection result by the detection unit 104, the coverage generation unit 106 generates code coverage information indicating the coverage of the executed part of the source code 112 for each screen 122 of the application. Further, the coverage generation unit 106 generates code coverage information indicating the coverage of the executed part of the source code 112 for each transition method 124 of the application.

ここで、本実施形態において、画面122毎のコードカバレッジ情報は、例として、画面122毎に、各画面122に対応するソースコード112のライン総数に対する、実行済み部分のライン数の百分率を算出した値を含む。本実施形態では、各画面122のソースコード112とは、その画面122内で閉じている処理を実現する際に実行されるプログラムのソースコードである。たとえば、アプリケーションにおける、画面122を表示する処理と、画面122上での操作(入力)受付処理とを含む。そのソースコード112は、たとえば、JSP(JavaServer Pages)で記述されるが、これに限定されない。たとえば、画面122上での入力内容について誤入力があった時、新たな画面122への遷移を行なわずに、再入力を求める表示を同じ画面122上で行うような処理は、画面122に対応するソースコード112で実現される。   Here, in the present embodiment, the code coverage information for each screen 122 is calculated as a percentage of the number of lines of the executed portion with respect to the total number of lines of the source code 112 corresponding to each screen 122 for each screen 122, for example. Contains a value. In the present embodiment, the source code 112 of each screen 122 is a source code of a program that is executed when realizing a process closed in the screen 122. For example, the process includes a process of displaying the screen 122 and an operation (input) reception process on the screen 122 in the application. The source code 112 is described in, for example, JSP (Java Server Pages), but is not limited thereto. For example, when there is an error in the input content on the screen 122, a process for displaying on the same screen 122 for re-input without changing to the new screen 122 corresponds to the screen 122. The source code 112 is realized.

また、遷移メソッド124毎のコードカバレッジ情報は、例として、遷移メソッド124毎に、各遷移メソッド124を実現するためのソースコード112のライン総数に対する、実行済み部分のライン数の百分率を算出した値を含む。本実施形態では、各遷移メソッド124のソースコード112とは、画面122間の遷移を伴う処理を実現する際に実行されるプログラムのソースコードである。たとえば、条件成立または操作ボタンの押下受け付け等により画面遷移を行う条件分岐処理を含む。そのソースコード112は、たとえば、Javaサーブレット、またはBean(Java Bean)により記述されるが、これらに限定されない。   Further, the code coverage information for each transition method 124 is, for example, a value obtained by calculating a percentage of the number of executed lines with respect to the total number of lines of the source code 112 for realizing each transition method 124 for each transition method 124. including. In the present embodiment, the source code 112 of each transition method 124 is a source code of a program that is executed when a process involving a transition between screens 122 is realized. For example, it includes a conditional branch process in which screen transition is performed when a condition is satisfied or an operation button is pressed. The source code 112 is described by, for example, a Java servlet or a Bean (Java Bean), but is not limited thereto.

図4に示すように、ウェブアプリケーション32は、たとえば、各画面122を実現するJSPのソースコード112、および各遷移メソッド124(自画面遷移メソッド126を含む)を実現するJavaサーブレットのソースコード112から生成される実行モジュールを呼び出して動作する。   As shown in FIG. 4, the web application 32 includes, for example, a JSP source code 112 that implements each screen 122 and a Java servlet source code 112 that implements each transition method 124 (including the self-screen transition method 126). Calls the generated execution module and operates.

ここで、各画面122または各遷移メソッド124(自画面遷移メソッド126を含む)に対応する実行モジュール(プログラム)は、それぞれ個別のプログラムで構成されてもよい。あるいは、複数画面122または複数遷移メソッド124(自画面遷移メソッド126を含む)に対応する実行モジュール(プログラム)をまとめて1つのプログラムとして構成されてもよい。また、各画面122または各遷移メソッド124(自画面遷移メソッド126を含む)に対応する実行モジュール(プログラム)が、複数の関数、クラス、サブルーチン等のプログラムモジュールを組み合わせてそれぞれ含んでいてもよい。   Here, the execution modules (programs) corresponding to each screen 122 or each transition method 124 (including the self-screen transition method 126) may be configured by individual programs. Alternatively, the execution modules (programs) corresponding to the plurality of screens 122 or the plurality of transition methods 124 (including the self-screen transition method 126) may be collectively configured as one program. Further, the execution modules (programs) corresponding to the respective screens 122 or the respective transition methods 124 (including the own screen transition method 126) may each include a combination of program modules such as a plurality of functions, classes, and subroutines.

なお、検出部104およびカバレッジ生成部106によるソースコード112の実行部分の検出方法およびソースコード112の実行済み部分の網羅範囲を示すコードカバレッジ情報の生成方法は、本発明の本質には関わらず、また当業者にとって自明であるので、ここでは詳細な説明は省略する。   Note that the detection method of the execution part of the source code 112 by the detection unit 104 and the coverage generation unit 106 and the generation method of the code coverage information indicating the coverage of the executed part of the source code 112 are irrespective of the essence of the present invention. Further, since it is obvious to those skilled in the art, a detailed description is omitted here.

カバレッジ表示部108は、図2(b)または図3(b)に示すように、各画面122および各遷移メソッド124(または自画面遷移メソッド126を含む)に、生成された各コードカバレッジ情報132をそれぞれ対応付けたカバレッジ情報表示画面130を表示する。図2(b)または図3(b)では、各画面122および各遷移メソッド124(または自画面遷移メソッド126を含む)に、それぞれ吹き出しイメージが対応付けて表示され、その吹き出しの中にカバレッジ情報132が表示されている。この例では、カバレッジ情報132は全ての画面122および遷移メソッド124(または自画面遷移メソッド126を含む)について常に表示されているが、これに限定されない。たとえば、カバレッジ情報表示画面130上で、通常はカバレッジ情報132が表示されなくてもよい。ユーザにより各画面122または各遷移メソッド124(または自画面遷移メソッド126を含む)が選択された場合や、マウスオーバーされた時に、カバレッジ情報132が表示されるようにしてもよい。   As shown in FIG. 2B or FIG. 3B, the coverage display unit 108 displays the generated code coverage information 132 on each screen 122 and each transition method 124 (or including the own screen transition method 126). The coverage information display screen 130 in which each is associated is displayed. In FIG. 2B or FIG. 3B, a balloon image is displayed in association with each screen 122 and each transition method 124 (or including the own screen transition method 126), and coverage information is included in the balloon. 132 is displayed. In this example, the coverage information 132 is always displayed for all screens 122 and transition methods 124 (or including the self-screen transition method 126), but is not limited thereto. For example, normally, the coverage information 132 may not be displayed on the coverage information display screen 130. The coverage information 132 may be displayed when each screen 122 or each transition method 124 (or including the own screen transition method 126) is selected by the user or when the mouse is over.

図5は、本発明の実施の形態に係るアプリケーション開発支援装置100を実現するコンピュータ60のハードウェア構成を示すブロック図である。
本実施形態において、図1のアプリケーション開発支援装置100の各構成要素は、図5に示される任意のコンピュータ60のハードウェアとソフトウェアの任意の組合せによって実現される。コンピュータ60は、CPU(Central Processing Unit)62、メモリ64、メモリ64にロードされた本図の構成要素を実現するプログラム80、そのプログラム80を格納するハードディスクなどの記憶ユニット(ストレージ66:補助記憶装置)、I/O(Input/Output)68、ネットワーク接続用インタフェース(通信I/F(InterFace:インタフェース)70)を備える。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下に説明する各機能ブロック図は、ハードウェア単位の構成ではなく、機能単位の論理的なブロックを示している。
また、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
FIG. 5 is a block diagram showing a hardware configuration of a computer 60 that realizes the application development support apparatus 100 according to the embodiment of the present invention.
In the present embodiment, each component of the application development support apparatus 100 of FIG. 1 is realized by an arbitrary combination of hardware and software of an arbitrary computer 60 shown in FIG. The computer 60 includes a CPU (Central Processing Unit) 62, a memory 64, a program 80 that implements the components shown in the figure loaded in the memory 64, and a storage unit (storage 66: auxiliary storage device) that stores the program 80. ), I / O (Input / Output) 68, and a network connection interface (communication I / F (InterFace: interface) 70). It will be understood by those skilled in the art that there are various modifications to the implementation method and apparatus. Each functional block diagram described below shows not a configuration in hardware units but logical blocks in functional units.
Further, in the following drawings, the configuration of parts not related to the essence of the present invention is omitted and is not shown.

本実施形態において、アプリケーション開発支援装置100は、たとえば、サーバコンピュータ、パーソナルコンピュータ、またはそれらに相当するコンピュータにより実現することができる。アプリケーション開発支援装置100を実現するコンピュータ60は、たとえば、キーボードやマウス等の入力装置72、ディスプレイ等の表示装置74、入力装置72と表示装置74が一体となったタッチパネル(不図示)、マイクやスピーカ等の音声入出力装置(不図示)、または、プリンタ等の出力装置(不図示)と接続される。   In the present embodiment, the application development support apparatus 100 can be realized by, for example, a server computer, a personal computer, or a computer corresponding thereto. A computer 60 that implements the application development support apparatus 100 includes, for example, an input device 72 such as a keyboard and a mouse, a display device 74 such as a display, a touch panel (not shown) in which the input device 72 and the display device 74 are integrated, a microphone, It is connected to a voice input / output device (not shown) such as a speaker or an output device (not shown) such as a printer.

なお、図17の開発装置20も、図3で示したコンピュータ60と同様な構成を有する、サーバコンピュータ、パーソナルコンピュータ、またはそれらに相当するコンピュータにより実現することができる。   Note that the development apparatus 20 in FIG. 17 can also be realized by a server computer, a personal computer, or a computer corresponding thereto, which has the same configuration as the computer 60 shown in FIG.

コンピュータ60の各要素は、バス69を介して互いに接続され、CPU62により各要素とともにアプリケーション開発支援装置100全体が制御される。コンピュータ60のCPU62が、ストレージ66に記憶されるプログラム80をメモリ64に読み出して実行することにより、アプリケーション開発支援装置100の図1の各ユニットの各機能を実現することができる。なお、以下の各実施形態においても同様であり、各実施形態のアプリケーション開発支援装置の各ユニットの各機能は、コンピュータ60のCPU62が各実施形態に対応するプログラム80を実行することにより実現される。   The elements of the computer 60 are connected to each other via a bus 69, and the entire application development support apparatus 100 is controlled by the CPU 62 together with the elements. The CPU 62 of the computer 60 reads out the program 80 stored in the storage 66 to the memory 64 and executes it, so that each function of each unit in FIG. 1 of the application development support apparatus 100 can be realized. The same applies to each of the following embodiments, and each function of each unit of the application development support apparatus of each embodiment is realized by the CPU 62 of the computer 60 executing the program 80 corresponding to each embodiment. .

本実施形態のコンピュータプログラム80は、アプリケーション開発支援装置100を実現させるためのコンピュータ60に、アプリケーションの各画面122の表示情報および画面122間の遷移情報を含む画面設計情報110に基づいて、そのアプリケーションの画面遷移図120を表示する手順、アプリケーションを動作させて、アプリケーションを実現するプログラムのソースコード112の中の実行された部分を検出する手順、画面設計情報110および検出する手順による検出結果に基づいて、アプリケーションの画面122毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報132、およびアプリケーションの遷移(遷移メソッド124または自画面遷移メソッド126)毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報132の少なくともいずれか一方を生成する手順、画面遷移図120を表示する手順により表示される画面遷移図120上の各画面122および各遷移(遷移メソッド124または自画面遷移メソッド126)の少なくともいずれか一方に、生成された各コードカバレッジ情報132をそれぞれ対応付けて表示する手順、を実行させるように記述されている。   The computer program 80 according to the present embodiment causes the computer 60 for realizing the application development support apparatus 100 to execute the application based on the screen design information 110 including display information of each screen 122 of the application and transition information between the screens 122. Based on the procedure for displaying the screen transition diagram 120, the procedure for operating the application and detecting the executed portion of the source code 112 of the program that realizes the application, the screen design information 110, and the detection result by the detecting procedure The code coverage information 132 indicating the coverage of the executed part with respect to the source code for each screen 122 of the application, and the source code for each application transition (the transition method 124 or the self-screen transition method 126) Each screen 122 and each transition (transition method 124 on the screen transition diagram 120 displayed by the procedure for generating at least one of the code coverage information 132 indicating the coverage of the executed part and the procedure for displaying the screen transition diagram 120. Alternatively, it is described that at least one of the self-screen transition methods 126) executes a procedure for displaying the generated code coverage information 132 in association with each other.

本実施形態のコンピュータプログラム80は、コンピュータ60で読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラム80は、記録媒体からコンピュータ60のメモリ64にロードされてもよいし、ネットワーク3を通じてコンピュータ60にダウンロードされ、メモリ64にロードされてもよい。または、プログラム80は、記録媒体からコンピュータ60のストレージ66に読み込まれて格納された後、メモリ64にロードされてもよい。   The computer program 80 of the present embodiment may be recorded on a recording medium that can be read by the computer 60. The recording medium is not particularly limited, and various forms can be considered. The program 80 may be loaded from the recording medium into the memory 64 of the computer 60, or downloaded to the computer 60 through the network 3 and loaded into the memory 64. Alternatively, the program 80 may be loaded from the recording medium into the storage 66 of the computer 60 and then loaded into the memory 64.

コンピュータプログラム80を記録する記録媒体は、非一時的な有形のコンピュータ60が使用可能な媒体を含み、その媒体に、コンピュータ60が読み取り可能なプログラムコードが埋め込まれる。コンピュータプログラム80が、コンピュータ60上で実行されたとき、コンピュータ60に、アプリケーション開発支援装置100を実現する以下の制御方法を実行させる。   The recording medium for recording the computer program 80 includes a medium that can be used by a non-transitory tangible computer 60, and a program code that can be read by the computer 60 is embedded in the medium. When the computer program 80 is executed on the computer 60, the computer 60 is caused to execute the following control method for realizing the application development support apparatus 100.

このように構成された本実施形態のアプリケーション開発支援装置100のデータ処理方法について、以下説明する。
図6は、本発明の実施の形態に係るアプリケーション開発支援装置100のデータ処理方法における処理手順を示すフローチャートである。
本発明の実施の形態に係るアプリケーション開発支援装置100のデータ処理方法は、アプリケーション開発支援装置100が、アプリケーションの各画面122の表示情報および画面122間の遷移情報を含む画面設計情報110に基づいて、そのアプリケーションの画面遷移図120を表示し(ステップS101)、アプリケーションを動作させて(ステップS103)、アプリケーションを実現するプログラムのソースコード112の中の実行された部分を検出し(ステップS105)、画面設計情報110および実行部分の検出結果に基づいて、アプリケーションの画面122毎のソースコード112に対する実行済み部分の網羅範囲を示すコードカバレッジ情報132、およびアプリケーションの遷移(遷移メソッド124または自画面遷移メソッド126)毎のソースコード112に対する実行済み部分の網羅範囲を示すコードカバレッジ情報132の少なくともいずれか一方を生成し(ステップS107)、画面遷移図120上の各画面122および各遷移(遷移メソッド124または自画面遷移メソッド126)の少なくともいずれか一方に、生成された各コードカバレッジ情報132をそれぞれ対応付けて表示する(ステップS109)。
A data processing method of the application development support apparatus 100 of the present embodiment configured as described above will be described below.
FIG. 6 is a flowchart showing a processing procedure in the data processing method of the application development support apparatus 100 according to the embodiment of the present invention.
In the data processing method of the application development support apparatus 100 according to the embodiment of the present invention, the application development support apparatus 100 is based on the screen design information 110 including display information of each screen 122 of the application and transition information between the screens 122. Then, the screen transition diagram 120 of the application is displayed (step S101), the application is operated (step S103), and the executed portion of the source code 112 of the program realizing the application is detected (step S105). Based on the screen design information 110 and the detection result of the execution part, code coverage information 132 indicating the coverage of the executed part with respect to the source code 112 for each screen 122 of the application, and application transition (transition method 124 or At least one of the code coverage information 132 indicating the coverage of the executed part for the source code 112 for each screen transition method 126) is generated (step S107), and each screen 122 on the screen transition diagram 120 and each transition (transition) The generated code coverage information 132 is displayed in association with at least one of the method 124 and the self-screen transition method 126) (step S109).

以上説明したように、本実施形態のアプリケーション開発支援装置100において、検出部104がアプリケーションを動作させて、アプリケーションを実現するプログラムのソースコード112の中の実行された部分を検出する。そして、カバレッジ生成部106が、アプリケーションの画面122毎のソースコード112に対する実行済み部分の網羅範囲を示すコードカバレッジ情報、およびアプリケーションの遷移メソッド124(および自画面遷移メソッド126)毎のソースコード112に対する実行済み部分の網羅範囲を示すコードカバレッジ情報の少なくともいずれか一方を生成する。そして、カバレッジ表示部108が、画面遷移図120上の各画面122および各遷移メソッド124(または自画面遷移メソッド126)の少なくともいずれか一方に、生成された各コードカバレッジ情報132をそれぞれ対応付けて表示する。   As described above, in the application development support apparatus 100 of the present embodiment, the detection unit 104 operates the application and detects the executed portion of the source code 112 of the program that realizes the application. Then, the coverage generation unit 106 applies the code coverage information indicating the coverage of the executed portion with respect to the source code 112 for each application screen 122 and the source code 112 for each application transition method 124 (and the own screen transition method 126). At least one of code coverage information indicating the coverage of the executed part is generated. Then, the coverage display unit 108 associates each generated code coverage information 132 with at least one of each screen 122 and each transition method 124 (or the own screen transition method 126) on the screen transition diagram 120. indicate.

これにより、本発明の実施の形態のアプリケーション開発支援装置100によれば、画面設計情報110に基づく画面遷移図120上の各画面122および各遷移メソッド124(または自画面遷移メソッド126)の少なくともいずれか一方について、テストのカバレッジ情報132をそれぞれ表示できる。したがって、具体的にアプリケーションのどの画面122またはどの遷移メソッド124(または自画面遷移メソッド126)についてどの程度テストが終了しているのかが視覚的に表示され、直感的に分かりやすい。   Thereby, according to the application development support apparatus 100 of the embodiment of the present invention, at least one of the screen 122 and the transition method 124 (or the own screen transition method 126) on the screen transition diagram 120 based on the screen design information 110. For either of them, the test coverage information 132 can be displayed. Accordingly, it is visually displayed how much the test has been completed for which screen 122 or which transition method 124 (or the self-screen transition method 126) of the application, and it is easy to understand intuitively.

(第1の実施の形態の変形態様1)
次に、本発明の第1の実施の形態の変形態様1について説明する。
本実施形態のアプリケーション開発支援装置は、上述したアプリケーション開発支援装置100とは、カバレッジ情報132を閾値に基づいて、区別可能に表示する点で相違する。
本実施形態のアプリケーション開発支援装置は、図1のアプリケーション開発支援装置100と同様な構成を有するので、本実施形態では図1を用いて説明する。
(Modification 1 of the first embodiment)
Next, the modification 1 of the 1st Embodiment of this invention is demonstrated.
The application development support apparatus of this embodiment is different from the above-described application development support apparatus 100 in that the coverage information 132 is displayed in a distinguishable manner based on a threshold value.
Since the application development support apparatus of this embodiment has the same configuration as the application development support apparatus 100 of FIG. 1, this embodiment will be described with reference to FIG.

本実施形態のアプリケーション開発支援装置100において、カバレッジ表示部108は、画面122毎または遷移(遷移メソッド124および自画面遷移メソッド126)毎のコードカバレッジ情報132について、閾値に基づいて、区別可能に画面遷移図120上に表示させる。   In the application development support apparatus 100 of the present embodiment, the coverage display unit 108 can distinguish the code coverage information 132 for each screen 122 or for each transition (transition method 124 and own screen transition method 126) based on a threshold. It is displayed on the transition diagram 120.

また、アプリケーション開発支援装置100において、カバレッジ表示部108は、個別に設定された、アプリケーションの画面122毎のコードカバレッジ情報132の表示分けに使用する閾値と、アプリケーションの遷移(遷移メソッド124および自画面遷移メソッド126)毎のコードカバレッジ情報132の表示分けに使用する閾値を用いる。   Further, in the application development support apparatus 100, the coverage display unit 108 sets thresholds used for displaying the code coverage information 132 for each screen 122 of the application, and application transitions (the transition method 124 and its own screen). A threshold value used for display division of the code coverage information 132 for each transition method 126) is used.

本実施形態では、カバレッジ情報132の表示分けに使用される閾値は、98%と70%の2つの値が設定されるものとする。このように、閾値は複数設定できる。たとえば、テスト完了の目安となるカバレッジの閾値(この例では98%)と、それ以下のカバレッジの達成度合いを段階的に視覚的に区別できるように、少なくとも1つ閾値(この例では70%)を設定できてもよい。   In the present embodiment, it is assumed that two values of 98% and 70% are set as threshold values used for displaying the coverage information 132. In this way, a plurality of threshold values can be set. For example, at least one threshold value (70% in this example) so that the coverage threshold value (98% in this example) that is an indication of completion of the test can be visually distinguished in stages from the achievement level of the coverage below it. May be set.

図7に示すように、カバレッジ情報表示画面130では、たとえば、カバレッジが所定の閾値98%以上で、カバレッジ情報132が緑色で表示され(図では破線で示す)、カバレッジが閾値98%未満で、カバレッジ情報132が赤色で表示される(図では実線で示す)。
本実施形態では、色替えにより、表示を区別しているが、これら限定されない。強調表示、網掛け表示、点滅表示、または、3D(3-Dimensional)表示等、様々な表示手法を用いて区別することができる。
As shown in FIG. 7, on the coverage information display screen 130, for example, the coverage is a predetermined threshold value of 98% or more, the coverage information 132 is displayed in green (indicated by a broken line in the figure), the coverage is less than the threshold value of 98%, Coverage information 132 is displayed in red (indicated by a solid line in the figure).
In the present embodiment, the display is distinguished by color change, but is not limited thereto. A distinction can be made by using various display methods such as highlighted display, shaded display, blinking display, or 3D (3-Dimensional) display.

さらに、詳細ボタンの押下による遷移メソッド124のカバレッジ情報132のように、カバレッジが所定の閾値70%未満で、カバレッジ情報132を強調表示(図では、太線および二重線で示す)してもよい。   Further, the coverage information 132 may be highlighted (indicated by a bold line and a double line in the figure) when the coverage is less than a predetermined threshold value 70%, like the coverage information 132 of the transition method 124 by pressing the detail button. .

また、図では、カバレッジ情報132の表示と、各画面122、各遷移メソッド124、各自画面遷移メソッド126の表示の両方を同じように区別して表示しているが、これに限定されない。少なくともいずれか一方の表示を区別できればよい。たとえば、各画面122、各遷移メソッド124、各自画面遷移メソッド126の表示を閾値で区別して表示してもよい。あるいは、カバレッジ情報132の表示を閾値で区別して表示してもよい。   In the figure, the display of the coverage information 132 and the display of each screen 122, each transition method 124, and each self-screen transition method 126 are distinguished and displayed in the same manner, but the present invention is not limited to this. It is only necessary to distinguish at least one of the displays. For example, the display of each screen 122, each transition method 124, and each self-screen transition method 126 may be displayed by being distinguished by a threshold value. Or you may display the display of the coverage information 132 by distinguishing with a threshold value.

さらに、画面122のカバレッジ情報132と、遷移メソッド124のカバレッジ情報132と、自画面遷移メソッド126のカバレッジの閾値としてそれぞれ異なる値を設定できてもよい。これは、上述したように、画面122と、遷移メソッド124(または自画面遷移メソッド126)を実現するソースコードが、異なるプログラム言語で記述されていることや、プログラムの性質が異なること等から、生成されるカバレッジ情報の内容や精度等が異なることが想定されるためである。
また、閾値は、図18の設計情報リポジトリ22に格納されている、アプリケーションの設計書やプロジェクト計画書内で予め指定されていてもよい。カバレッジ表示部108が閾値を設計情報リポジトリ22から取得してもよい。
Further, different values may be set as the coverage information 132 of the screen 122, the coverage information 132 of the transition method 124, and the coverage threshold of the own screen transition method 126, respectively. As described above, this is because the source code for realizing the screen 122 and the transition method 124 (or the self-screen transition method 126) is described in a different programming language, and the nature of the program is different. This is because it is assumed that the contents, accuracy, and the like of the generated coverage information are different.
The threshold value may be specified in advance in the application design document or project plan document stored in the design information repository 22 of FIG. The coverage display unit 108 may acquire the threshold value from the design information repository 22.

このように、本実施形態のアプリケーション開発支援装置100によれば、上記実施形態と同様な効果を奏するとともに、さらに、カバレッジ情報表示画面130で、閾値に基づいて、カバレッジ情報132を区別可能に表示できるので、視覚的に直感的にテストの達成度合いが分かりやすい。   As described above, according to the application development support apparatus 100 of the present embodiment, the same effects as those of the above-described embodiment can be obtained, and the coverage information 132 can be displayed on the coverage information display screen 130 in a distinguishable manner based on the threshold value. Because it is possible, it is easy to understand the degree of achievement of the test visually and intuitively.

(第1の実施の形態の変形態様2)
次に、本発明の第1の実施の形態の変形態様2について説明する。
本実施形態のアプリケーション開発支援装置は、上述したアプリケーション開発支援装置100とは、カバレッジ情報表示画面130からソースコードを表示できる点で相違する。
図8は、本発明の実施の形態に係るアプリケーション開発支援装置140の論理的な構成を示す機能ブロック図である。
アプリケーション開発支援装置140は、図1のアプリケーション開発支援装置100と同様な構成を有するとともに、さらに、指示受付部142と、ソースコード表示部144と、を備える。
(Modification 2 of the first embodiment)
Next, the modification 2 of the 1st Embodiment of this invention is demonstrated.
The application development support apparatus according to this embodiment is different from the above-described application development support apparatus 100 in that the source code can be displayed from the coverage information display screen 130.
FIG. 8 is a functional block diagram showing a logical configuration of the application development support apparatus 140 according to the embodiment of the present invention.
The application development support apparatus 140 has the same configuration as the application development support apparatus 100 of FIG. 1, and further includes an instruction reception unit 142 and a source code display unit 144.

本実施形態のアプリケーション開発支援装置140において、指示受付部142は、画面遷移図(カバレッジ情報表示画面130)上で、画面122毎または遷移(遷移メソッド124および自画面遷移メソッド126)毎にソースコードの閲覧の指示を受け付ける。
ソースコード表示部144は、指示受付部142によりコード閲覧指示を受け付けた画面122または遷移(遷移メソッド124および自画面遷移メソッド126)のソースコードを、検出部104により検出された、実行済み部分と、それ以外の部分とに区別して表示する。
In the application development support apparatus 140 of the present embodiment, the instruction receiving unit 142 includes source code for each screen 122 or for each transition (transition method 124 and own screen transition method 126) on the screen transition diagram (coverage information display screen 130). Accepts browsing instructions.
The source code display unit 144 detects the source code of the screen 122 or the transition (the transition method 124 and the own screen transition method 126) that has received the code browsing instruction by the instruction receiving unit 142, and the executed part detected by the detecting unit 104 , And display it separately from other parts.

図9は、本実施形態のアプリケーション開発支援装置140によるカバレッジ情報表示画面130の一例を示す図である。図10は、本実施形態のアプリケーション開発支援装置140によるソースコード画面150の一例を示す図である。
図9に示すように、カバレッジ情報表示画面130において、各カバレッジ情報132には、リンクが貼られている。カバレッジ情報表示画面130でユーザがリンクを選択することで、選択されたカバレッジ情報132に対応する画面122、遷移メソッド124、または自画面遷移メソッド126のソースコード112を表示するソースコード画面150(図10)が開かれる。ソースコード画面150は、たとえば、カバレッジ情報表示画面130とは別のウインドウに表示されてもよい。
FIG. 9 is a diagram showing an example of the coverage information display screen 130 by the application development support apparatus 140 of this embodiment. FIG. 10 is a diagram showing an example of the source code screen 150 by the application development support apparatus 140 of this embodiment.
As shown in FIG. 9, on the coverage information display screen 130, a link is pasted on each coverage information 132. When the user selects a link on the coverage information display screen 130, the source code screen 150 (see FIG. 5) that displays the source code 112 of the screen 122, the transition method 124, or the own screen transition method 126 corresponding to the selected coverage information 132. 10) is opened. The source code screen 150 may be displayed in a window different from the coverage information display screen 130, for example.

図10に示すように、ソースコード画面150は、たとえば、テスト動作により実行された実行済み部分(図では、実線で示す)と、実行されていない未実行部分(図では、破線で示す。)と、を色分け等により区別して表示する。   As shown in FIG. 10, the source code screen 150 is, for example, an executed part (indicated by a solid line in the figure) executed by a test operation and an unexecuted part (indicated by a broken line in the figure). Are displayed separately by color coding or the like.

これにより、ユーザは各カバレッジに対応するソースコード112を簡単に閲覧でき、実行済みの部分と未実行の部分を区別して確認できる。
なお、本実施形態では、カバレッジ情報132にリンクが貼られている例を示したが、ソースコード112の閲覧の指示を受け付ける方法は、これに限定されるものではない。カバレッジ情報表示画面130上の各画面122、各遷移メソッド124、および各自画面遷移メソッド126を閲覧対象として選択すること(たとえば、右クリックでメニューを開いてコード閲覧を選択する等)で、対応するソースコード112の閲覧指示を受け付けてもよい。あるいは、リスト表示(不図示)等の中からコード閲覧対象を選択できる構成としてもよい。
Thereby, the user can easily browse the source code 112 corresponding to each coverage, and can confirm and confirm the executed part and the non-executed part.
In the present embodiment, an example in which a link is pasted on the coverage information 132 has been shown, but the method of receiving an instruction to browse the source code 112 is not limited to this. Corresponding by selecting each screen 122 on the coverage information display screen 130, each transition method 124, and each own screen transition method 126 as browsing targets (for example, right-click to open a menu and select code browsing). An instruction to browse the source code 112 may be accepted. Or it is good also as a structure which can select code browsing object from list display (not shown) etc.

(第2の実施の形態)
次に、本発明の第2の実施の形態に係るアプリケーション開発支援装置およびそのデータ処理方法について、以下説明する。なお、本実施形態のプログラムは、上記実施形態と同様に、アプリケーション開発支援装置のデータ処理方法を少なくとも1つのコンピュータに実行させるものであり、本実施形態での詳細な説明は省略する。
図11は、本発明の実施の形態に係るアプリケーション開発支援装置200の論理的な構成を示す機能ブロック図である。
本実施形態のアプリケーション開発支援装置200は、上記実施形態のアプリケーション開発支援装置100とは、さらに、アプリケーションのテストを、テストシナリオに基づいて行う点で相違する。そして、本実施形態では、さらに、テストのカバレッジ情報に基づいて、未実行部分をテストするためのテストシナリオを自動生成する。
(Second Embodiment)
Next, an application development support apparatus and a data processing method thereof according to the second embodiment of the present invention will be described below. Note that the program of the present embodiment causes at least one computer to execute the data processing method of the application development support apparatus, as in the above-described embodiment, and a detailed description thereof will be omitted.
FIG. 11 is a functional block diagram showing a logical configuration of the application development support apparatus 200 according to the embodiment of the present invention.
The application development support apparatus 200 according to this embodiment is different from the application development support apparatus 100 according to the above embodiment in that an application test is performed based on a test scenario. In this embodiment, a test scenario for testing an unexecuted portion is further automatically generated based on the test coverage information.

なお、図11のアプリケーション開発支援装置200は、図1のアプリケーション開発支援装置100の構成は図示されてないが、アプリケーション開発支援装置100の構成を含んでもよいし、あるいは、各装置は、異なるコンピュータで実現されてもよい。アプリケーション開発支援装置100の検出部104は、本実施形態のアプリケーション開発支援装置200により生成されるテストシナリオを用いて、アプリケーションをテスト動作させ、アプリケーションを実現するソースコードの中の実行された部分を検出する。そして、本実施形態のアプリケーション開発支援装置200は、アプリケーション開発支援装置100で検出された実行済み部分以外のソースコード112の未実行部分について、テストシナリオの生成を行う。   The application development support apparatus 200 of FIG. 11 does not show the configuration of the application development support apparatus 100 of FIG. 1, but may include the configuration of the application development support apparatus 100, or each apparatus may be a different computer. It may be realized with. The detection unit 104 of the application development support apparatus 100 performs a test operation on the application using the test scenario generated by the application development support apparatus 200 of the present embodiment, and executes an executed part in the source code that realizes the application. To detect. Then, the application development support apparatus 200 according to the present embodiment generates a test scenario for an unexecuted part of the source code 112 other than the executed part detected by the application development support apparatus 100.

本実施形態のアプリケーション開発支援装置200において、画面設計情報110は、アプリケーションの各画面122に含まれる、入力操作対象となる入力画面部品に関する設計情報を含む。
アプリケーション開発支援装置200は、アプリケーションのテストに使用するテストシナリオ210を画面設計情報110を元に生成するテストシナリオ生成部202と、テストシナリオ210を用いたテスト動作により検出部104が検出した、実行済み部分以外のソースコード112の未実行部分を特定する未実行部特定部204と、画面122毎または遷移(遷移メソッド124および自画面遷移メソッド126)毎のソースコード112の未実行部分において、画面122の入力画面部品(テキストボックス、操作ボタン等)の識別情報を抽出して、画面122の入力画面部品のうち、テスト未実行のものを特定する画面部品特定部206と、を備える。
テストシナリオ生成部202は、テスト未実行であると特定された入力画面部品への入力操作を示す入力操作命令(type, clickAndWait等)を少なくとも含むテストシナリオを生成する。
In the application development support apparatus 200 of the present embodiment, the screen design information 110 includes design information related to an input screen component that is an input operation target and is included in each screen 122 of the application.
The application development support apparatus 200 includes a test scenario generation unit 202 that generates a test scenario 210 used for application testing based on the screen design information 110, and an execution detected by the detection unit 104 through a test operation using the test scenario 210. In the unexecuted part identifying unit 204 that identifies an unexecuted part of the source code 112 other than the completed part, and in the unexecuted part of the source code 112 for each screen 122 or for each transition (transition method 124 and self-screen transition method 126) A screen component specifying unit 206 that extracts identification information of the input screen components 122 (text box, operation buttons, etc.) and specifies unexecuted test screen input screen components.
The test scenario generation unit 202 generates a test scenario including at least an input operation instruction (type, clickAndWait, etc.) indicating an input operation to the input screen component specified as not being executed.

ここで、テストシナリオとは、アプリケーションの動作をテストするために、アプリケーションを利用する際のユーザによる一連の画面操作等をシミュレーションし、その一連の画面操作を定義するものである。テストシナリオとは、具体的なテストデータを伴わない、アプリケーションの動きや画面の遷移の1つの動作パスである。テストシナリオにある1つのテストデータセットに基づいたテストを行うことでテストケースとなる。1つのテストシナリオには、複数のテストケースが存在する。   Here, the test scenario is to define a series of screen operations by simulating a series of screen operations by the user when using the application in order to test the operation of the application. The test scenario is one operation path of application movement and screen transition without specific test data. A test case is obtained by performing a test based on one test data set in the test scenario. There are a plurality of test cases in one test scenario.

また、テストケースとは、あるテストシナリオに対し、ある1つのテストデータセットを利用したテストを指す。テストケース毎に具体的な入力テストデータをテストシナリオにインプットすることで得られるべき出力テストデータがそれぞれ存在する。アプリケーションのテストでは、入力テストデータをテストシナリオにインプットして得られた出力がテスト結果を示す。このテスト結果は、テストケースの出力テストデータに基づき、その正否が判定できる。   A test case refers to a test using a certain test data set for a certain test scenario. There is output test data to be obtained by inputting specific input test data into the test scenario for each test case. In the application test, the output obtained by inputting the input test data into the test scenario indicates the test result. The test result can be judged as correct or not based on the output test data of the test case.

図12は、本実施形態のアプリケーション開発支援装置200がテストするアプリケーションのメイン画面の一例を示す図である。
メイン画面220は、図3(a)のメイン画面(S_01)に対応し、検索キーとして文字列の入力を受け付けるテキストボックス222と、検索の実行指示を受け付ける検索ボタン224と、を含む。
FIG. 12 is a diagram illustrating an example of a main screen of an application to be tested by the application development support apparatus 200 according to the present embodiment.
The main screen 220 corresponds to the main screen (S_01) of FIG. 3A, and includes a text box 222 that accepts input of a character string as a search key, and a search button 224 that accepts a search execution instruction.

この例では、テストシナリオ生成部202は、画面設計情報110から、メイン画面220の入力画面部品として、テキストボックス222と、検索ボタン224との情報を取得する。テストシナリオ生成部202は、各画面122の入力画面部品への入力操作を示す入力操作命令が少なくとも含まれるように、テストシナリオ210を生成する。テキストボックス222への文字入力操作を示す入力操作命令(type)と、検索ボタン224の押下操作を示す入力操作命令(clickAndWait)とがテストシナリオ210に少なくとも含まれる。   In this example, the test scenario generation unit 202 acquires information about the text box 222 and the search button 224 as input screen components of the main screen 220 from the screen design information 110. The test scenario generation unit 202 generates the test scenario 210 so that at least an input operation command indicating an input operation to the input screen component of each screen 122 is included. The test scenario 210 includes at least an input operation command (type) indicating a character input operation to the text box 222 and an input operation command (clickAndWait) indicating a pressing operation of the search button 224.

このようにして生成されたテストシナリオ210を使用したテスト動作を行った際、未実行部特定部204は、検出部104により検出された実行済み部分以外のソースコード112の未実行部分を特定する。
そして、画面部品特定部206が、画面122毎または遷移(遷移メソッド124および自画面遷移メソッド126)毎のソースコード112の未実行部分において、画面122の入力画面部品(テキストボックス、操作ボタン等)の識別情報を抽出する。そして画面部品特定部206が、抽出された画面122の入力画面部品のうち、テスト未実行のものを特定する。
テストシナリオ生成部202は、テスト未実行であると特定された入力画面部品への入力操作を示す入力操作命令(type, clickAndWait等)を少なくとも含むテストシナリオ210を生成する。
When a test operation using the test scenario 210 generated in this way is performed, the unexecuted part specifying unit 204 specifies an unexecuted part of the source code 112 other than the executed part detected by the detecting unit 104. .
The screen component specifying unit 206 then inputs the input screen components (text box, operation buttons, etc.) of the screen 122 in the unexecuted portion of the source code 112 for each screen 122 or for each transition (transition method 124 and own screen transition method 126). The identification information is extracted. The screen component specifying unit 206 specifies the input screen components of the extracted screen 122 that have not been tested.
The test scenario generation unit 202 generates a test scenario 210 including at least an input operation command (type, clickAndWait, etc.) indicating an input operation to the input screen component specified as not being executed.

このように構成された本実施形態のアプリケーション開発支援装置200のデータ処理方法について、以下説明する。
図13は、本発明の実施の形態に係るアプリケーション開発支援装置200のデータ処理方法における処理手順を示すフローチャートである。
本発明の実施の形態に係るアプリケーション開発支援装置200のデータ処理方法は、アプリケーション開発支援装置200が、アプリケーションのテストに使用するテストシナリオ210を画面設計情報110を元に生成し(ステップS201)、テストシナリオ210を用いたテスト動作により検出部104が検出した、実行済み部分以外のソースコード112の未実行部分を特定し(ステップS203)、画面122毎または遷移(遷移メソッド124および自画面遷移メソッド126)毎のソースコード112の未実行部分において、画面122の入力画面部品(テキストボックス、操作ボタン等)の識別情報を抽出して、画面122の入力画面部品のうち、テスト未実行のものを特定する(ステップS205)。
そして、アプリケーション開発支援装置200が、テスト未実行であると特定された入力画面部品への入力操作を示す入力操作命令(type, clickAndWait等)を少なくとも含むテストシナリオ210を生成する(ステップS207)。
A data processing method of the application development support apparatus 200 of the present embodiment configured as described above will be described below.
FIG. 13 is a flowchart showing a processing procedure in the data processing method of the application development support apparatus 200 according to the embodiment of the present invention.
In the data processing method of the application development support apparatus 200 according to the embodiment of the present invention, the application development support apparatus 200 generates a test scenario 210 used for application testing based on the screen design information 110 (step S201). An unexecuted portion of the source code 112 other than the executed portion detected by the detecting unit 104 by the test operation using the test scenario 210 is specified (step S203), and each screen 122 or a transition (the transition method 124 and the self-screen transition method) 126) In the unexecuted portion of the source code 112 for each, the identification information of the input screen components (text box, operation buttons, etc.) of the screen 122 is extracted, and the input screen components of the screen 122 that have not been tested are extracted. Specify (step S205).
Then, the application development support apparatus 200 generates a test scenario 210 including at least an input operation instruction (type, clickAndWait, etc.) indicating an input operation to the input screen component specified as not being executed (step S207).

テストシナリオ生成部202は、画面設計情報110を元にテストシナリオ210を生成しているので、通常は、各画面122の入力画面部品への入力操作を示す入力操作命令を少なくとも含むようにテストシナリオ210が生成される筈である。しかしながら、テスト途中で画面122の仕様が変更になった場合などには、テストシナリオ210も仕様変更に応じて変更する必要がある。テストシナリオ生成部202は、新たな仕様に基づいて、新たにテストシナリオ210を作り直してもよいし、変更箇所に対応する部分のみ追加してテストシナリオ210を更新してもよい。あるいは、変更箇所に対応する部分だけをテストするためのテストシナリオ210を新たに生成してもよい。   Since the test scenario generation unit 202 generates the test scenario 210 based on the screen design information 110, normally, the test scenario includes at least an input operation command indicating an input operation to the input screen component of each screen 122. 210 should be generated. However, when the specification of the screen 122 is changed during the test, the test scenario 210 needs to be changed according to the specification change. The test scenario generation unit 202 may newly recreate the test scenario 210 based on the new specification, or may update the test scenario 210 by adding only the part corresponding to the changed part. Alternatively, a new test scenario 210 for testing only the part corresponding to the changed part may be generated.

上述したように、テストシナリオ生成部202は、テストシナリオ210を自動的に生成してもよいが、自動生成する替わりに、入力操作命令をテストシナリオ210に手動で追加してもよい。たとえば、テストシナリオ生成部202は、テストシナリオ210に不足している入力操作命令として、テスト未実行であると特定された入力画面部品への入力操作を示す入力操作命令(type, clickAndWait等)をユーザに提示してもよい。そして、ユーザが、提示された入力操作命令をテストシナリオ210に手動で追加してもよい。   As described above, the test scenario generation unit 202 may automatically generate the test scenario 210. However, instead of automatically generating the test scenario 210, an input operation command may be manually added to the test scenario 210. For example, the test scenario generation unit 202 uses an input operation instruction (type, clickAndWait, etc.) indicating an input operation to an input screen component identified as not being executed as an input operation instruction that is insufficient in the test scenario 210. It may be presented to the user. Then, the user may manually add the presented input operation command to the test scenario 210.

このようにして生成されたテストシナリオ210を用いてアプリケーションのテストを行うことで、カバレッジを拡げることが可能になる。   By performing an application test using the test scenario 210 generated in this way, coverage can be expanded.

以上説明したように、本実施形態のアプリケーション開発支援装置200において、テストシナリオ生成部202が、テストシナリオ210を画面設計情報110を元に生成する。そして、未実行部特定部204が、テストシナリオ210を用いたテスト動作により検出部104が検出した、実行済み部分以外のソースコード112の未実行部分を特定する。そして、画面部品特定部206が、画面122毎または遷移(遷移メソッド124および自画面遷移メソッド126)毎のソースコード112の未実行部分において、画面122の入力画面部品の識別情報を抽出する。さらに、画面部品特定部206が、抽出された画面122の入力画面部品のうち、テスト未実行のものを特定する。そして、テストシナリオ生成部202が、テスト未実行であると特定された入力画面部品への入力操作を示す入力操作命令(type, clickAndWait等)を少なくとも含むテストシナリオ210を生成する。   As described above, in the application development support apparatus 200 according to this embodiment, the test scenario generation unit 202 generates the test scenario 210 based on the screen design information 110. Then, the unexecuted part specifying unit 204 specifies an unexecuted part of the source code 112 other than the executed part detected by the detecting unit 104 by the test operation using the test scenario 210. Then, the screen component specifying unit 206 extracts the identification information of the input screen component of the screen 122 in the unexecuted portion of the source code 112 for each screen 122 or for each transition (transition method 124 and own screen transition method 126). Further, the screen component specifying unit 206 specifies a test unexecuted input screen component of the extracted screen 122. Then, the test scenario generation unit 202 generates a test scenario 210 including at least an input operation instruction (type, clickAndWait, etc.) indicating an input operation to the input screen component specified as not being executed.

このように、本発明の実施の形態のアプリケーション開発支援装置200によれば、上記実施形態と同様な効果を奏するとともに、さらに、テスト動作により実行されなかった部分に含まれる、画面122の入力画面部品への入力操作を示す入力操作命令を含むようにテストシナリオ210を生成できる。これにより、アプリケーション開発支援装置では、生成されたテストシナリオ210を用いてテストを行うことで、未実行部分を実行させてテストすることが可能になる。これにより、カバレッジを拡げることができる。
本実施形態では、テストで未実行だった部分について、自動的にテストシナリオ210を生成することができるので、テストを効率よく行えるとともに、テストの精度を向上でき、ひいては、アプリケーションの品質と信頼性も向上することができる。
As described above, according to the application development support apparatus 200 of the embodiment of the present invention, the input screen of the screen 122 that has the same effect as the above-described embodiment and is further included in the portion that has not been executed by the test operation. The test scenario 210 can be generated to include an input operation instruction indicating an input operation to the part. Thus, the application development support apparatus can perform a test by executing the unexecuted portion by performing a test using the generated test scenario 210. Thereby, coverage can be expanded.
In this embodiment, since the test scenario 210 can be automatically generated for a portion that has not been executed in the test, the test can be performed efficiently and the accuracy of the test can be improved. As a result, the quality and reliability of the application can be improved. Can also be improved.

(第2の実施の形態の変形態様1)
次に、本発明の第2の実施の形態の変形態様1について説明する。
本実施形態のアプリケーション開発支援装置は、上述したアプリケーション開発支援装置200とは、テストで実行されなかった部分を特定し、カバレッジを拡げるために、テストシナリオまたはテストケースの追加をサジェストする機能を有する点で相違する。
図14は、本発明の実施の形態に係るアプリケーション開発支援装置230の論理的な構成を示す機能ブロック図である。
本実施形態のアプリケーション開発支援装置230は、図11のアプリケーション開発支援装置200と同様な構成を有するとともに、さらに、分岐処理抽出部232と、未実行処理特定部234と、提示部236と、を備える。
(Modification 1 of 2nd Embodiment)
Next, the modification 1 of the 2nd Embodiment of this invention is demonstrated.
The application development support apparatus according to the present embodiment has a function that, with the above-described application development support apparatus 200, specifies a portion that has not been executed in the test and suggests the addition of a test scenario or a test case in order to expand the coverage. It is different in point.
FIG. 14 is a functional block diagram showing a logical configuration of the application development support apparatus 230 according to the embodiment of the present invention.
The application development support apparatus 230 of the present embodiment has the same configuration as the application development support apparatus 200 of FIG. 11, and further includes a branch process extraction unit 232, an unexecuted process specification unit 234, and a presentation unit 236. Prepare.

アプリケーション開発支援装置230において、分岐処理抽出部232は、画面122毎または遷移(遷移メソッド124および自画面遷移メソッド126)毎のソースコード112において、画面122の入力画面部品への入力操作内容に応じた分岐条件に従い実行される各分岐処理を抽出する。
未実行処理特定部234は、抽出された分岐条件に従い実行される各分岐処理のうち、未実行部分に対応する、テスト未実行の分岐処理を特定する。
提示部236は、画面122毎または遷移(遷移メソッド124および自画面遷移メソッド126)毎のソースコード112において、特定されたテスト未実行の分岐処理に対応する、未実行部分を提示する。
In the application development support apparatus 230, the branch process extraction unit 232 responds to the input operation content to the input screen component of the screen 122 in the source code 112 for each screen 122 or for each transition (transition method 124 and own screen transition method 126). Each branch process executed according to the branch condition is extracted.
The unexecuted process specifying unit 234 specifies a test unexecuted branch process corresponding to the unexecuted part among the branch processes executed in accordance with the extracted branch condition.
The presenting unit 236 presents an unexecuted part corresponding to the specified unexecuted branch process in the source code 112 for each screen 122 or for each transition (transition method 124 and own screen transition method 126).

具体的には、分岐処理抽出部232は、画面122毎または遷移(遷移メソッド124および自画面遷移メソッド126)毎のソースコード112の中で、入力画面部品の識別情報が関連するIF文を抽出する。
未実行処理特定部234は、抽出されたIF文の分岐条件に従い実行される各分岐処理のうち、未実行部分に対応する、テストが行われていない分岐処理を特定する。
提示部236は、各画面122、各遷移メソッド124、または各自画面遷移メソッド126のソースコード112について、テストが未実行であると特定された分岐処理に対応する未実行部分を提示する。提示部236は、未実行部分だけでなく、未実行部分の前後を含めて提示してもよい。また、提示方法は、未実行部分(またはその前後を含んでもよい)のみを抜粋して表示してもよいし、ソースコード112全体を表示させて未実行部分(またはその前後を含んでもよい)のみを強調表示してもよい。未実行部分の提示方法は、これらに限定されない。たとえば、実行部分を折りたたんで非表示にしてもよい。
Specifically, the branch process extraction unit 232 extracts an IF sentence related to the identification information of the input screen component in the source code 112 for each screen 122 or for each transition (transition method 124 and own screen transition method 126). To do.
The unexecuted process specifying unit 234 specifies a branch process that has not been tested and corresponds to an unexecuted part among the branch processes that are executed in accordance with the branch condition of the extracted IF statement.
The presenting unit 236 presents an unexecuted portion corresponding to the branch process that is identified as an unexecuted test for the source code 112 of each screen 122, each transition method 124, or each own screen transition method 126. The presenting unit 236 may present not only the unexecuted part but also before and after the unexecuted part. In addition, the presentation method may extract and display only the unexecuted part (or may include before and after), or may display the entire source code 112 and display the entire unexecuted part (or may include before and after). Only may be highlighted. The method for presenting the unexecuted portion is not limited to these. For example, the execution part may be folded and hidden.

ユーザは、提示された未実行部分のソースコードを見て、テストシナリオ210やテストケースの追加を検討することができる。
このように、本実施形態のアプリケーション開発支援装置230は、ユーザに、未実行部分のソースコードを提示して、テストシナリオ210やテストケースの不足を認識させ、追加の検討を促すことができる。
The user can consider adding test scenarios 210 and test cases by looking at the presented source code of the unexecuted portion.
As described above, the application development support apparatus 230 according to the present embodiment can present the user with the unexecuted portion of the source code, recognize the lack of the test scenario 210 and the test case, and prompt additional studies.

本実施形態のアプリケーション開発支援装置230において、さらに、テストシナリオ生成部202は、ユーザによる入力画面部品への入力操作を示す入力操作命令のテストシナリオ210への追加の指示を受け付けてもよい。そして、テストシナリオ生成部202は、追加の指示を受け付けた入力操作命令をテストシナリオ210に追加する。   In the application development support apparatus 230 of the present embodiment, the test scenario generation unit 202 may further accept an instruction to add an input operation instruction indicating an input operation to the input screen component by the user to the test scenario 210. Then, the test scenario generation unit 202 adds an input operation command that has received an additional instruction to the test scenario 210.

テストシナリオ210への入力操作命令の追加は、たとえば、オープンソースプログラムのSeleniumの機能を用いて行うことができる。   The input operation instruction can be added to the test scenario 210 using, for example, the Selenium function of the open source program.

たとえば、IF文による分岐処理で未実行のものがあった場合には、未実行の分岐処理を実行する分岐条件を満たすデータを入力テストデータとするテストケースを追加すればよい。あるいは、IF文の全ての分岐処理が未実行であった場合には、そのIF文に関連する入力画面部品への入力操作を示す入力操作命令をテストシナリオ210に追加するとともに、各分岐処理を実行する分岐条件を満たすデータを入力テストデータとするテストケースをそれぞれ追加すればよい。   For example, if there is an unexecuted branch process using an IF statement, a test case may be added in which data that satisfies the branch condition for executing the unexecuted branch process is input test data. Alternatively, when all branch processes of the IF statement are not executed, an input operation instruction indicating an input operation to the input screen component related to the IF statement is added to the test scenario 210, and each branch process is performed. What is necessary is just to add each test case which makes the input test data the data which satisfy the branch conditions to be executed.

また、提示部236は、さらに、未実行部分に対応する、画面設計情報110を提示してもよい。
ユーザは、画面設計情報110を見ながら、テストシナリオ210またはテストケースを追加することができる。
さらに、提示部236は、未実行部分のソースコードの中で、入力画面部品に関連するコード部分を強調表示して、ユーザに教えてもよい。
Further, the presentation unit 236 may further present the screen design information 110 corresponding to the unexecuted portion.
The user can add a test scenario 210 or a test case while viewing the screen design information 110.
Further, the presentation unit 236 may highlight the code portion related to the input screen component in the unexecuted portion of the source code and teach it to the user.

以上説明したように、本実施形態のアプリケーション開発支援装置230において、分岐処理抽出部232が、画面122毎、遷移メソッド124毎、および自画面遷移メソッド126毎のソースコード112において、画面122の入力画面部品への入力操作内容に応じた分岐条件に従い実行される各分岐処理を抽出する。そして、未実行処理特定部234が、抽出された分岐条件に従い実行される各分岐処理のうち、未実行部分に対応する、テスト未実行の分岐処理を特定する。そして、提示部236が、画面122毎、遷移メソッド124毎、および自画面遷移メソッド126毎のソースコード112において、特定されたテスト未実行の分岐処理に対応する、未実行部分を提示する。   As described above, in the application development support apparatus 230 of this embodiment, the branch process extraction unit 232 inputs the screen 122 in the source code 112 for each screen 122, for each transition method 124, and for each self-screen transition method 126. Each branch process executed according to the branch condition corresponding to the input operation content to the screen component is extracted. Then, the unexecuted process specifying unit 234 specifies the unexecuted branch process corresponding to the unexecuted part among the branch processes executed according to the extracted branch condition. Then, the presenting unit 236 presents an unexecuted portion corresponding to the specified test unexecuted branch process in the source code 112 for each screen 122, each transition method 124, and each self-screen transition method 126.

これにより、本実施形態のアプリケーション開発支援装置230によれば、上記実施形態と同様な効果を奏するとともに、さらに、テスト未実行部分のソースコードを抜粋する等して、提示できるので、ユーザは未実行部分に対応するテストシナリオやテストケースの追加を検討することができる。   As a result, according to the application development support apparatus 230 of the present embodiment, the same effect as the above embodiment can be obtained, and further, the source code of the unexecuted portion of the test can be extracted and presented. You can consider adding test scenarios and test cases that correspond to the execution part.

(第2の実施の形態の変形態様2)
次に、本発明の第2の実施の形態の変形態様2について説明する。
本実施形態のアプリケーション開発支援装置は、図14のアプリケーション開発支援装置230とは、設計情報に基づいてテストケースを自動生成する点で相違する。
図15は、本発明の実施の形態に係るアプリケーション開発支援装置250の論理的な構成を示す機能ブロック図である。
本実施形態のアプリケーション開発支援装置250は、図14のアプリケーション開発支援装置230の構成に加え、さらに、属性情報取得部252と、テストケース生成部254と、を備える。
(Modification 2 of 2nd Embodiment)
Next, the modification 2 of the 2nd Embodiment of this invention is demonstrated.
The application development support apparatus of this embodiment is different from the application development support apparatus 230 of FIG. 14 in that a test case is automatically generated based on design information.
FIG. 15 is a functional block diagram showing a logical configuration of the application development support apparatus 250 according to the embodiment of the present invention.
The application development support apparatus 250 of this embodiment further includes an attribute information acquisition unit 252 and a test case generation unit 254 in addition to the configuration of the application development support apparatus 230 of FIG.

本実施形態のアプリケーション開発支援装置250において、属性情報取得部252は、アプリケーションの画面設計情報110を元に、テスト未実行であると特定された分岐処理に関連する、入力画面部品に対応する入力項目に関する属性情報を取得する。
テストケース生成部254は、取得した入力項目に関する属性情報に基づいて、テスト未実行の分岐処理を実行させる分岐条件を満たすように、アプリケーションのテストシナリオ210に基づくテストケース260に設定される入力画面部品への入力操作内容を変化させた、テストケース260のバリエーションを生成する。
In the application development support apparatus 250 of the present embodiment, the attribute information acquisition unit 252 inputs based on the screen design information 110 of the application and corresponds to the input screen component related to the branch process identified as not being executed. Get attribute information about the item.
The test case generation unit 254 sets an input screen set in the test case 260 based on the test scenario 210 of the application so as to satisfy a branch condition for executing a branch process that has not been executed based on the acquired attribute information about the input item. A variation of the test case 260 in which the content of the input operation to the part is changed is generated.

入力項目とは、入力画面部品に割り当てられているデータ項目を指し、たとえば、テキストボックスに紐付けされているデータフィールドに相当する。入力画面部品に対応する入力項目に関する属性情報は、入力画面部品の種類、名称、データフィールドに関する属性情報(データフィールド名(位置)、データ名、データ形式、データ型、データ長、データ範囲(有効または無効)、データ桁数、データ入力が必須か否か等)等を含む。
図16は、本発明の実施の形態に係るアプリケーション開発支援装置250におけるテストシナリオおよびテストケースを説明するための図である。
An input item refers to a data item assigned to an input screen component, and corresponds to, for example, a data field associated with a text box. The attribute information related to the input item corresponding to the input screen part is attribute information about the type, name, and data field of the input screen part (data field name (position), data name, data format, data type, data length, data range (valid) Or invalid), the number of data digits, whether or not data input is essential, and the like.
FIG. 16 is a diagram for explaining test scenarios and test cases in the application development support apparatus 250 according to the embodiment of the present invention.

以下、図12のメイン画面220のテストを例に説明する。メイン画面220については、たとえば、検索キーとなる店舗名の一部をテキストボックス222に入力し、検索ボタン224を押下すると、検索キーを元に検索が行われて、検索結果が表示されることがテストされる。   Hereinafter, the test of the main screen 220 in FIG. 12 will be described as an example. For the main screen 220, for example, when a part of a store name serving as a search key is entered in the text box 222 and the search button 224 is pressed, the search is performed based on the search key and the search result is displayed. Is tested.

ここで、たとえば、テキストボックス222に入力される文字列について、複数のテストケースで異なる文字列を入力テストデータとして準備することができる。アプリケーションでは、テキストボックス222に入力された文字列に応じて、異なる動作が行われるようにプログラムされている。たとえば、テキストボックス222に入力される文字列が全角文字でなければならない場合には、入力が全角文字か否かの判定処理が含まれる。そして、全角文字でなかった場合に、入力のやり直しを求める動作が行われるか否かをテストする必要がある。このようなテストを実行するためのテストケースが作成されていないと、この入力が全角文字か否かの判定処理に対応するソースコードはテストで実行されない。   Here, for example, for character strings input to the text box 222, different character strings can be prepared as input test data in a plurality of test cases. The application is programmed to perform different operations according to the character string input in the text box 222. For example, when the character string input to the text box 222 must be a double-byte character, a process for determining whether or not the input is a double-byte character is included. If it is not a full-width character, it is necessary to test whether or not an operation for requesting re-input is performed. If a test case for executing such a test is not created, the source code corresponding to the determination process of whether or not this input is a full-width character is not executed in the test.

そこで、本実施形態では、ソースコードのテスト未実行の分岐処理を実行させる分岐条件を満たすように、入力テストデータを決めたテストケースを追加する。上記例では、テキストボックス222に半角文字を入力するテストケースを追加する。   Therefore, in the present embodiment, a test case in which input test data is determined so as to satisfy a branch condition for executing a branch process in which source code is not executed is executed. In the above example, a test case for inputting single-byte characters in the text box 222 is added.

具体的には、属性情報取得部252が、アプリケーションのメイン画面220上で、入力操作対象となる入力画面部品(たとえば、テキストボックス222)に対応する入力項目に関する属性情報を、アプリケーションの画面設計情報110を元に取得する。   Specifically, the attribute information acquisition unit 252 displays the attribute information related to the input item corresponding to the input screen component (for example, the text box 222) to be input on the main screen 220 of the application as the screen design information of the application. Obtained based on 110.

ここでは、たとえば、メイン画面220のテキストボックス222には、検索しようとする店舗名の少なくとも一部が入力される。テキストボックス222に対応する入力項目は、店舗情報の店舗名フィールドデータに紐付けられている。店舗名フィールドデータの属性情報として、データ型が文字列型、文字数が全角文字で1〜6文字であることが定義されているとする。また、テキストボックス222の属性情報として、受け付け可能な文字列は全角文字で、その文字数が1〜6文字と定義されていてもよい。
属性情報取得部252は、この「店舗名」の入力項目の属性情報(データ型が文字列型、文字数が全角文字1〜6文字)を取得する。
Here, for example, at least a part of the name of the store to be searched is entered in the text box 222 of the main screen 220. The input item corresponding to the text box 222 is associated with the store name field data of the store information. As attribute information of the store name field data, it is defined that the data type is a character string type and the number of characters is 1 to 6 double-byte characters. Further, as the attribute information of the text box 222, an acceptable character string may be defined as double-byte characters and the number of characters is 1 to 6 characters.
The attribute information acquisition unit 252 acquires the attribute information (the data type is a character string type and the number of characters is 1 to 6 double-byte characters) of the input item of “store name”.

図16の例では、1列目の各行が、上から順に実行される一連のテスト命令を含んでいる。これがテストシナリオ210に相当する。そして、2列目は、各テスト命令の2つのパラメータを上下2つのセルに含んでいて、これが、テストシナリオ210のある1つの基準テストケース262となっている。
ここで、入力操作命令の入力操作内容は、少なくとも2つのパラメータを含む。たとえば、パラメータ1は、操作対象を示し、画面のどのテキストボックスかを示す。パラメータ2は入力内容を示し、たとえば、何を入力したかを示す。
In the example of FIG. 16, each row in the first column includes a series of test instructions that are executed in order from the top. This corresponds to the test scenario 210. In the second column, two parameters of each test instruction are included in two upper and lower cells, and this is one reference test case 262 with a test scenario 210.
Here, the input operation content of the input operation command includes at least two parameters. For example, parameter 1 indicates the operation target and indicates which text box on the screen. Parameter 2 indicates the input content, for example, what is input.

そして、テストケース生成部254が、入力項目や入力画面部品の属性情報に基づいて、基準テストケース262から、テキストボックス222への入力操作内容を変換させたバリエーションの派生テストケース264を複数生成する。   Then, the test case generation unit 254 generates a plurality of variation derived test cases 264 obtained by converting the input operation contents to the text box 222 from the reference test case 262 based on the input item and the attribute information of the input screen parts. .

ここで、テストケース生成部254は、上述したように、テスト未実行の分岐処理を実行させる分岐条件を満たすようなテストケース264を生成する。たとえば、テキストボックス222への入力内容のチェックを行う分岐処理のうち、文字数オーバー時の処理が未実行であることが未実行処理特定部234により特定されたとする。そこで、テストケース生成部254は、テキストボックス222の入力が文字数オーバーとなるテストケースをさらに追加する。   Here, as described above, the test case generation unit 254 generates a test case 264 that satisfies a branch condition for executing a branch process that has not been tested. For example, it is assumed that the unexecuted process specifying unit 234 specifies that the process when the number of characters is exceeded is not executed among the branch processes for checking the input contents to the text box 222. Therefore, the test case generation unit 254 further adds a test case in which the input of the text box 222 exceeds the number of characters.

具体的には、テストケース生成部254は、まず、基準テストケース262の列を複製してテストケース264を増やす。次に、テストケース生成部254は、テスト命令のパラメータをテストケース264毎に変更することで、テストケースのバリエーションを簡単に増やすことができる。ここでは、追加したテストケースにおいて、テキストボックス222への入力を行う命令(Type)のパラメータ2に、文字数がテキストボックス222の許容範囲(6文字)を超える文字列(図では、「東京都新宿3丁目」)を指定する。   Specifically, the test case generation unit 254 first increases the number of test cases 264 by duplicating the column of the reference test cases 262. Next, the test case generation unit 254 can easily increase test case variations by changing the parameters of the test instruction for each test case 264. Here, in the added test case, the parameter 2 of the instruction (Type) for inputting into the text box 222 has a character string whose number exceeds the allowable range (6 characters) of the text box 222 (in the figure, “Tokyo Shinjuku 3 chome ").

これにより、未実行処理特定部234で未実行と特定された分岐処理をテストで実行できるテストケース(Test-1-3)が追加される。   As a result, a test case (Test-1-3) that can execute the branch process identified as unexecuted by the unexecuted process identifying unit 234 in a test is added.

以上説明したように、本実施形態のアプリケーション開発支援装置250において、属性情報取得部252が、アプリケーションの画面設計情報110を元に、テスト未実行であると特定された分岐処理に関連する、入力画面部品に対応する入力項目に関する属性情報を取得する。そして、テストケース生成部254が、取得した入力項目に関する属性情報に基づいて、テスト未実行の分岐処理を実行させる分岐条件を満たすように、アプリケーションのテストシナリオ210に基づくテストケース260に設定される入力画面部品への入力操作内容を変化させた、テストケース260のバリエーションを生成する。   As described above, in the application development support apparatus 250 according to the present embodiment, the attribute information acquisition unit 252 is input based on the screen design information 110 of the application and related to the branch process identified as not being executed. Acquires attribute information related to the input item corresponding to the screen component. Then, the test case generation unit 254 is set in the test case 260 based on the test scenario 210 of the application so as to satisfy the branch condition for executing the branch process that has not been executed based on the acquired attribute information regarding the input item. A variation of the test case 260 in which the input operation content to the input screen component is changed is generated.

これにより、本実施形態のアプリケーション開発支援装置250によれば、上記実施形態と同様な効果を奏するとともに、さらに、テストできなかった分岐処理に対応する分岐条件を満たすように、入力画面部品に対する入力テストデータを設定したテストケースを自動的に追加することができる。したがって、アプリケーション開発支援装置250によれば、テストの効率および精度が向上し、アプリケーションの品質と信頼性も向上することができる。   Thereby, according to the application development support apparatus 250 of this embodiment, while having the same effect as the said embodiment, the input with respect to an input screen component is further satisfy | filled so that the branch conditions corresponding to the branch process which could not be tested are satisfy | filled. Test cases with test data set can be automatically added. Therefore, according to the application development support apparatus 250, the efficiency and accuracy of the test can be improved, and the quality and reliability of the application can be improved.

以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、図11のアプリケーション開発支援装置200において、画面遷移図120上の画面122毎または遷移(遷移メソッド124および自画面遷移メソッド126)毎に、コードカバレッジが閾値以下を示すものを対象として抽出する対象抽出部(不図示)をさらに備えてもよい。
As mentioned above, although embodiment of this invention was described with reference to drawings, these are the illustrations of this invention, Various structures other than the above are also employable.
For example, in the application development support apparatus 200 of FIG. 11, for each screen 122 on the screen transition diagram 120 or for each transition (transition method 124 and own screen transition method 126), extraction is performed for those whose code coverage is equal to or less than a threshold value. You may further provide the object extraction part (not shown).

対象として抽出された画面122、遷移メソッド124、または自画面遷移メソッド126について、未実行部特定部204により特定されたソースコード112の未実行部分について、テストシナリオ生成部202が、アプリケーションのテストシナリオ210を自動生成する。   For the screen 122, the transition method 124, or the self-screen transition method 126 extracted as the target, the test scenario generation unit 202 performs an application test scenario for the unexecuted portion of the source code 112 identified by the unexecuted portion identifying unit 204. 210 is automatically generated.

なお、この対象抽出部は、図14のアプリケーション開発支援装置230、および図15のアプリケーション開発支援装置250の少なくともいずれかの構成と組み合わせてもよい。   Note that this target extraction unit may be combined with at least one of the application development support device 230 in FIG. 14 and the application development support device 250 in FIG. 15.

なお、本実施形態の閾値は、第1の実施の形態の変形態様1の表示分けに使用する閾値とは別に設定できてもよいし、同じ閾値を用いてもよい。
また、閾値は、画面122、遷移メソッド124、自画面遷移メソッド126で、それぞれ異なる値を設定できてよい。また、閾値は、図18の設計情報リポジトリ22に格納されている、アプリケーションの設計書やプロジェクト計画書等から取得してもよい。
In addition, the threshold value of this embodiment may be set separately from the threshold value used for the display division of the modification 1 of the first embodiment, or the same threshold value may be used.
Further, different values may be set as the threshold values for the screen 122, the transition method 124, and the own screen transition method 126. The threshold value may be acquired from an application design document, project plan document, or the like stored in the design information repository 22 of FIG.

この構成によれば、カバレッジが閾値以下のものについて、不足している入力操作命令をテストシナリオ210に追加して自動生成できるので、テストの効率および精度を向上できる。   According to this configuration, when the coverage is equal to or less than the threshold value, the insufficient input operation command can be added to the test scenario 210 and automatically generated, so that the efficiency and accuracy of the test can be improved.

以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
なお、本発明において利用者に関する情報を取得、利用する場合は、これを適法に行うものとする。
While the present invention has been described with reference to the embodiments and examples, the present invention is not limited to the above embodiments and examples. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
In addition, when acquiring and using the information regarding a user in this invention, this shall be done legally.

以下、参考形態の例を付記する。
1. アプリケーション開発支援装置が、
アプリケーションの各画面の表示情報および前記画面間の遷移情報を含む画面設計情報に基づいて、そのアプリケーションの画面遷移図を表示し、
前記アプリケーションを動作させて、前記アプリケーションを実現するプログラムのソースコードの中の実行された部分を検出し、
前記画面設計情報および前記実行された部分の検出結果に基づいて、前記アプリケーションの画面毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報、および前記アプリケーションの遷移毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報の少なくともいずれか一方を生成し、
前記画面遷移図上の各画面および各遷移の少なくともいずれか一方に、前記生成された各コードカバレッジ情報をそれぞれ対応付けて表示する、
アプリケーション開発支援装置のデータ処理方法。
2. 前記画面設計情報の前記アプリケーションの前記画面間の遷移情報は、自画面遷移の遷移情報をさらに含み、
前記アプリケーション開発支援装置が、
前記画面設計情報および前記ソースコードの実行部分の検出結果に基づいて、前記アプリケーションの各画面の前記自画面遷移を含む遷移毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報をさらに生成する、
1.に記載のアプリケーション開発支援装置のデータ処理方法。
3. 前記アプリケーション開発支援装置が、
前記画面毎または前記遷移毎の前記コードカバレッジ情報について、閾値に基づいて、区別可能に前記画面遷移図上に表示する、
1.または2.に記載のアプリケーション開発支援装置のデータ処理方法。
4. 前記アプリケーション開発支援装置が、
個別に設定された、前記アプリケーションの前記画面毎の前記コードカバレッジ情報の表示分けに使用する閾値と、前記アプリケーションの前記遷移毎の前記コードカバレッジ情報の表示分けに使用する閾値を用いる、
3.に記載のアプリケーション開発支援装置のデータ処理方法。
5. 前記アプリケーション開発支援装置が、
前記画面遷移図上で、前記画面毎または前記遷移毎に前記ソースコードの閲覧の指示を受け付け、
コード閲覧指示を受け付けた前記画面または前記遷移の前記ソースコードを、検出された、実行済み部分と、それ以外の部分とに区別して表示する、
1.乃至4.いずれか1つに記載のアプリケーション開発支援装置のデータ処理方法。
6. 前記画面設計情報は、前記アプリケーションの各画面に含まれる、入力操作対象となる入力画面部品に関する設計情報を含み、
前記アプリケーション開発支援装置が、
前記アプリケーションのテストに使用するテストシナリオを、前記画面設計情報を元に生成し、
前記テストシナリオを用いたテスト動作により検出した、実行済み部分以外のソースコードの未実行部分を特定し、
前記画面毎または前記遷移毎の前記ソースコードの前記未実行部分において、前記画面の前記入力画面部品の識別情報を抽出して、前記画面の前記入力画面部品のうち、テスト未実行のものを特定し、
前記テスト未実行であると特定された前記入力画面部品への入力操作を示す入力操作命令を少なくとも含むテストシナリオを生成する、
1.乃至5.いずれか一つに記載のアプリケーション開発支援装置のデータ処理方法。
7. 前記アプリケーション開発支援装置が、
前記画面毎または前記遷移毎の前記ソースコードにおいて、前記画面の前記入力画面部品への入力操作内容に応じた分岐条件に従い実行される各分岐処理を抽出し、
抽出された前記分岐条件に従い実行される各分岐処理のうち、前記未実行部分に対応する、テスト未実行の分岐処理を特定し、
前記画面毎または前記遷移毎の前記ソースコードにおいて、特定された前記テスト未実行の分岐処理に対応する、前記未実行部分を提示する、
6.に記載のアプリケーション開発支援装置のデータ処理方法。
8. 前記アプリケーション開発支援装置が、
ユーザによる前記入力画面部品への入力操作を示す入力操作命令の前記テストシナリオへの追加の指示を受け付け、前記追加の指示を受け付けた前記入力操作命令を前記テストシナリオに追加する、
7.に記載のアプリケーション開発支援装置のデータ処理方法。
9. 前記アプリケーション開発支援装置が、
前記アプリケーションの画面設計情報を元に、前記テスト未実行であると特定された分岐処理に関連する、前記入力画面部品に対応する入力項目に関する属性情報を取得し、
取得した前記入力項目に関する属性情報に基づいて、前記テスト未実行の前記分岐処理を実行させる分岐条件を満たすように、前記アプリケーションの前記テストシナリオに基づくテストケースに設定される前記入力画面部品への入力操作内容を変化させた、前記テストケースのバリエーションを生成する、
7.または8.に記載のアプリケーション開発支援装置のデータ処理方法。
10. 前記アプリケーション開発支援装置が、
前記画面遷移図上の前記画面毎または前記遷移毎に、前記コードカバレッジが閾値以下を示すものを対象として抽出し、
前記対象として抽出された前記画面または前記遷移について、
特定された前記ソースコードの前記未実行部分に関し、前記アプリケーションのテストシナリオを生成する、
6.乃至9.いずれか一つに記載のアプリケーション開発支援装置のデータ処理方法。
Hereinafter, examples of the reference form will be added.
1. Application development support device
Based on the screen design information including the display information of each screen of the application and the transition information between the screens, the screen transition diagram of the application is displayed,
Operating the application to detect an executed part in a source code of a program realizing the application;
Based on the screen design information and the detection result of the executed part, code coverage information indicating the coverage of the executed part for the source code for each screen of the application, and executed for the source code for each transition of the application Generate at least one of the code coverage information indicating the coverage of the part,
Each of the generated code coverage information is displayed in association with at least one of each screen and each transition on the screen transition diagram.
Data processing method for application development support device.
2. Transition information between the screens of the application of the screen design information further includes transition information of own screen transition,
The application development support device is
Based on the screen design information and the detection result of the execution part of the source code, further generates code coverage information indicating the coverage of the executed part for the source code of each transition including the self-screen transition of each screen of the application To
1. A data processing method for the application development support apparatus according to claim 1.
3. The application development support device is
About the code coverage information for each screen or each transition, on the screen transition diagram in a distinguishable manner based on a threshold value,
1. Or 2. A data processing method for the application development support apparatus according to claim 1.
4). The application development support device is
The threshold value used for display classification of the code coverage information for each screen of the application set individually and the threshold value used for display classification of the code coverage information for each transition of the application are set.
3. A data processing method for the application development support apparatus according to claim 1.
5. The application development support device is
On the screen transition diagram, an instruction for browsing the source code is received for each screen or for each transition,
The screen that has received a code browsing instruction or the source code of the transition is displayed separately in the detected executed part and the other part.
1. To 4. A data processing method of the application development support apparatus according to any one of the above.
6). The screen design information includes design information related to input screen components to be input operations included in each screen of the application,
The application development support device is
A test scenario used for testing the application is generated based on the screen design information,
Identify the unexecuted part of the source code other than the executed part detected by the test operation using the test scenario,
In the unexecuted portion of the source code for each screen or each transition, the identification information of the input screen component of the screen is extracted and the input screen component of the screen is identified as a test unexecuted And
Generating a test scenario including at least an input operation instruction indicating an input operation to the input screen component identified as not being executed by the test;
1. To 5. A data processing method for the application development support apparatus according to any one of the above.
7). The application development support device is
In the source code for each screen or each transition, extract each branch process to be executed according to the branch condition according to the input operation content to the input screen part of the screen,
Among the branch processes executed in accordance with the extracted branch condition, specify a test unexecuted branch process corresponding to the unexecuted part,
Presenting the unexecuted portion corresponding to the specified unexecuted branch process in the source code for each screen or for each transition;
6). A data processing method for the application development support apparatus according to claim 1.
8). The application development support device is
Receiving an instruction to add an input operation instruction indicating an input operation to the input screen component by the user to the test scenario, and adding the input operation instruction having received the additional instruction to the test scenario;
7). A data processing method for the application development support apparatus according to claim 1.
9. The application development support device is
Based on the screen design information of the application, to acquire attribute information related to the input item corresponding to the input screen component, related to the branch process identified as not running the test,
Based on the acquired attribute information on the input item, to the input screen component set in the test case based on the test scenario of the application so as to satisfy the branch condition for executing the branch process that is not executed the test A variation of the test case is generated by changing the input operation content.
7). Or 8. A data processing method for the application development support apparatus according to claim 1.
10. The application development support device is
For each of the screens on the screen transition diagram or for each of the transitions, the code coverage is extracted as a target indicating a threshold value or less,
About the screen or the transition extracted as the target,
Generating a test scenario for the application for the unexecuted portion of the identified source code;
6). To 9. A data processing method for the application development support apparatus according to any one of the above.

11. コンピュータに、
アプリケーションの各画面の表示情報および前記画面間の遷移情報を含む画面設計情報に基づいて、そのアプリケーションの画面遷移図を表示する手順、
前記アプリケーションを動作させて、前記アプリケーションを実現するプログラムのソースコードの中の実行された部分を検出する手順、
前記画面設計情報および前記検出する手順による検出結果に基づいて、前記アプリケーションの画面毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報、および前記アプリケーションの遷移毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報の少なくともいずれか一方を生成する手順、
前記画面遷移図を表示する手順により表示される前記画面遷移図上の各画面および各遷移の少なくともいずれか一方に、前記生成された各コードカバレッジ情報をそれぞれ対応付けて表示する手順、を実行させるためのプログラム。
12. 前記画面設計情報の前記アプリケーションの前記画面間の遷移情報は、自画面遷移の遷移情報をさらに含み、
前記画面設計情報および前記検出する手順による検出結果に基づいて、前記アプリケーションの各画面の前記自画面遷移を含む遷移毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報をさらに生成する手順、
をコンピュータに実行させるための11.に記載のプログラム。
13. 前記画面毎または前記遷移毎の前記コードカバレッジ情報について、閾値に基づいて、区別可能に前記画面遷移図上に表示する手順、
をコンピュータに実行させるための11.または12.に記載のプログラム。
14. 個別に設定された、前記アプリケーションの前記画面毎の前記コードカバレッジ情報の表示分けに使用する閾値と、前記アプリケーションの前記遷移毎の前記コードカバレッジ情報の表示分けに使用する閾値を用いて、前記コードカバレッジ情報を表示する手順、
をコンピュータに実行させるための13.に記載のプログラム。
15. 前記画面遷移図上で、前記画面毎または前記遷移毎に前記ソースコードの閲覧の指示を受け付ける手順、
コード閲覧指示を受け付けた前記画面または前記遷移の前記ソースコードを、前記検出する手順により検出された、実行済み部分と、それ以外の部分とに区別して表示する手順、
をコンピュータに実行させるための11.乃至14.いずれか1つに記載のプログラム。
16. 前記画面設計情報は、前記アプリケーションの各画面に含まれる、入力操作対象となる入力画面部品に関する設計情報を含み、
前記アプリケーションのテストに使用するテストシナリオを、前記画面設計情報を元に生成する手順、
前記テストシナリオを用いたテスト動作により検出した、実行済み部分以外のソースコードの未実行部分を特定する手順、
前記画面毎または前記遷移毎の前記ソースコードの前記未実行部分において、前記画面の前記入力画面部品の識別情報を抽出して、前記画面の前記入力画面部品のうち、テスト未実行のものを特定する手順、
前記テスト未実行であると特定された前記入力画面部品への入力操作を示す入力操作命令を少なくとも含むテストシナリオを生成する手順、
をコンピュータに実行させるための11.乃至15.いずれか一つに記載のプログラム。
17. 前記画面毎または前記遷移毎の前記ソースコードにおいて、前記画面の前記入力画面部品への入力操作内容に応じた分岐条件に従い実行される各分岐処理を抽出する手順、
抽出された前記分岐条件に従い実行される各分岐処理のうち、前記未実行部分に対応する、テスト未実行の分岐処理を特定する手順、
前記画面毎または前記遷移毎の前記ソースコードにおいて、特定された前記テスト未実行の分岐処理に対応する、前記未実行部分を提示する手順、
をコンピュータに実行させるための16.に記載のプログラム。
18. 前記テストシナリオを生成する手順において、
ユーザによる前記入力画面部品への入力操作を示す入力操作命令の前記テストシナリオへの追加の指示を受け付け、前記追加の指示を受け付けた前記入力操作命令を前記テストシナリオに追加する手順、
をコンピュータに実行させるための17.に記載のプログラム。
19. 前記アプリケーションの画面設計情報を元に、前記テスト未実行であると特定された分岐処理に関連する、前記入力画面部品に対応する入力項目に関する属性情報を取得する手順、
取得した前記入力項目に関する属性情報に基づいて、前記テスト未実行の前記分岐処理を実行させる分岐条件を満たすように、前記アプリケーションの前記テストシナリオに基づくテストケースに設定される前記入力画面部品への入力操作内容を変化させた、前記テストケースのバリエーションを生成する手順、
をコンピュータに実行させるための17.または18に記載のプログラム。
20. 前記画面遷移図上の前記画面毎または前記遷移毎に、前記コードカバレッジが閾値以下を示すものを対象として抽出する手順、
前記対象として抽出された前記画面または前記遷移について、
特定された前記ソースコードの前記未実行部分に関し、前記アプリケーションのテストシナリオを生成する手順、
をコンピュータに実行させるための16.乃至19.いずれか一つに記載のプログラム。
11. On the computer,
A procedure for displaying a screen transition diagram of the application based on screen design information including display information of each screen of the application and transition information between the screens;
A procedure for operating the application and detecting an executed portion in a source code of a program realizing the application;
Based on the screen design information and the detection result of the detecting procedure, code coverage information indicating the coverage of the executed part for the source code for each screen of the application, and the executed part for the source code for each transition of the application A procedure for generating at least one of code coverage information indicating the coverage of
Causing each of the generated code coverage information to be displayed in association with at least one of each screen on the screen transition diagram and each transition displayed by the procedure for displaying the screen transition diagram. Program for.
12 Transition information between the screens of the application of the screen design information further includes transition information of own screen transition,
A procedure for further generating code coverage information indicating the coverage of the executed part for the source code for each transition including the self-screen transition of each screen of the application based on the screen design information and the detection result by the detecting procedure ,
11. for causing a computer to execute The program described in.
13. For the code coverage information for each screen or each transition, a procedure for displaying on the screen transition diagram in a distinguishable manner based on a threshold value;
11. for causing a computer to execute Or 12. The program described in.
14 Using the threshold value used for the display division of the code coverage information for each screen of the application and the threshold value used for the display division of the code coverage information for each transition of the application set individually, the code The procedure to display coverage information,
To cause the computer to execute The program described in.
15. On the screen transition diagram, a procedure for receiving an instruction to browse the source code for each screen or for each transition;
A procedure for displaying the screen that has received a code browsing instruction or the source code of the transition separately for the executed part and the other part detected by the detecting procedure,
11. for causing a computer to execute To 14. The program as described in any one.
16. The screen design information includes design information related to input screen components to be input operations included in each screen of the application,
A procedure for generating a test scenario used for testing the application based on the screen design information;
A procedure for identifying an unexecuted portion of the source code other than the executed portion detected by the test operation using the test scenario,
In the unexecuted portion of the source code for each screen or each transition, the identification information of the input screen component of the screen is extracted and the input screen component of the screen is identified as a test unexecuted The steps to
A procedure for generating a test scenario including at least an input operation command indicating an input operation to the input screen component identified as not being executed by the test;
11. for causing a computer to execute To 15. The program according to any one of the above.
17. In the source code for each screen or each transition, a procedure for extracting each branch process executed according to a branch condition according to the input operation content to the input screen component of the screen,
Among the branch processes executed according to the extracted branch condition, a procedure for specifying a test unexecuted branch process corresponding to the unexecuted part,
A procedure for presenting the unexecuted portion corresponding to the specified test unexecuted branch process in the source code for each screen or each transition,
For causing the computer to execute 16. The program described in.
18. In the procedure for generating the test scenario,
A procedure for receiving an instruction to add an input operation instruction to the test scenario indicating an input operation to the input screen component by a user, and adding the input operation instruction having received the additional instruction to the test scenario;
For causing a computer to execute The program described in.
19. Based on the screen design information of the application, a procedure for acquiring attribute information related to the input item corresponding to the input screen component, which is related to the branch process identified as not being executed,
Based on the acquired attribute information on the input item, to the input screen component set in the test case based on the test scenario of the application so as to satisfy the branch condition for executing the branch process that is not executed the test A procedure for generating a variation of the test case with the input operation content changed,
For causing a computer to execute Or the program according to 18.
20. A procedure for extracting, for each screen or each transition on the screen transition diagram, a target for which the code coverage indicates a threshold value or less,
About the screen or the transition extracted as the target,
Generating a test scenario for the application for the unexecuted portion of the identified source code;
For causing the computer to execute 16. Thru 19. The program according to any one of the above.

1 アプリケーション開発システム
3 ネットワーク
20 開発装置
22 設計情報リポジトリ
30 ウェブサーバ
32 ウェブアプリケーション
40、40a、40b 端末
42 ブラウザ
60 コンピュータ
62 CPU
64 メモリ
66 ストレージ
69 バス
70 通信I/F
72 入力装置
74 表示装置
80 プログラム
100 アプリケーション開発支援装置
102 画面遷移図表示部
104 検出部
106 カバレッジ生成部
108 カバレッジ表示部
110 画面設計情報
112 ソースコード
120 画面遷移図
122 画面
124 遷移メソッド
126 自画面遷移メソッド
130 カバレッジ情報表示画面
132 カバレッジ情報
140 アプリケーション開発支援装置
142 指示受付部
144 ソースコード表示部
150 ソースコード画面
200 アプリケーション開発支援装置
202 テストシナリオ生成部
204 未実行部特定部
206 画面部品特定部
210 テストシナリオ
220 メイン画面
222 テキストボックス
224 検索ボタン
230 アプリケーション開発支援装置
232 分岐処理抽出部
234 未実行処理特定部
236 提示部
250 アプリケーション開発支援装置
252 属性情報取得部
254 テストケース生成部
260 テストケース
262 基準テストケース
264 派生テストケース
DESCRIPTION OF SYMBOLS 1 Application development system 3 Network 20 Development apparatus 22 Design information repository 30 Web server 32 Web application 40, 40a, 40b Terminal 42 Browser 60 Computer 62 CPU
64 Memory 66 Storage 69 Bus 70 Communication I / F
72 input device 74 display device 80 program 100 application development support device 102 screen transition diagram display unit 104 detection unit 106 coverage generation unit 108 coverage display unit 110 screen design information 112 source code 120 screen transition diagram 122 screen 124 transition method 126 own screen transition Method 130 Coverage information display screen 132 Coverage information 140 Application development support device 142 Instruction reception unit 144 Source code display unit 150 Source code screen 200 Application development support device 202 Test scenario generation unit 204 Non-execution unit identification unit 206 Screen component identification unit 210 Test Scenario 220 Main screen 222 Text box 224 Search button 230 Application development support device 232 Branch process extraction unit 234 Unexecuted process specification Unit 236 presentation unit 250 application development support device 252 attribute information acquisition unit 254 test case generation unit 260 test case 262 reference test case 264 derived test case

Claims (12)

アプリケーションの各画面の表示情報および前記画面間の遷移情報を含む画面設計情報に基づいて、そのアプリケーションの画面遷移図を表示する画面遷移図表示手段と、
前記アプリケーションを動作させて、前記アプリケーションを実現するプログラムのソースコードの中の実行された部分を検出する検出手段と、
前記画面設計情報および前記検出手段による検出結果に基づいて、前記アプリケーションの画面毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報、および前記アプリケーションの遷移毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報の少なくともいずれか一方を生成するカバレッジ生成手段と、
前記画面遷移図表示手段により表示される前記画面遷移図上の各画面および各遷移の少なくともいずれか一方に、前記生成された各コードカバレッジ情報をそれぞれ対応付けて表示するカバレッジ表示手段と、
を備えるアプリケーション開発支援装置。
Screen transition diagram display means for displaying a screen transition diagram of the application based on screen design information including display information of each screen of the application and transition information between the screens;
Detecting means for operating the application and detecting an executed part in a source code of a program realizing the application;
Based on the screen design information and the detection result by the detection means, code coverage information indicating the coverage of the executed part for the source code for each screen of the application, and the executed part for the source code for each transition of the application Coverage generation means for generating at least one of code coverage information indicating a coverage area;
Coverage display means for displaying each of the generated code coverage information in association with at least one of each screen and each transition on the screen transition diagram displayed by the screen transition diagram display means;
An application development support apparatus comprising:
前記画面設計情報の前記アプリケーションの前記画面間の遷移情報は、自画面遷移の遷移情報をさらに含み、
前記カバレッジ生成手段は、前記画面設計情報および前記検出手段による検出結果に基づいて、前記アプリケーションの各画面の前記自画面遷移を含む遷移毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報をさらに生成する、
請求項1に記載のアプリケーション開発支援装置。
Transition information between the screens of the application of the screen design information further includes transition information of own screen transition,
The coverage generation means, based on the screen design information and the detection result by the detection means, code coverage information indicating the coverage of the executed part for the source code for each transition including the self-screen transition of each screen of the application Generate more,
The application development support apparatus according to claim 1.
前記カバレッジ表示手段は、前記画面毎または前記遷移毎の前記コードカバレッジ情報について、閾値に基づいて、区別可能に前記画面遷移図上に表示させる、
請求項1または2に記載のアプリケーション開発支援装置。
The coverage display means displays the code coverage information for each screen or each transition on the screen transition diagram in a distinguishable manner based on a threshold value.
The application development support apparatus according to claim 1 or 2.
前記カバレッジ表示手段は、個別に設定された、前記アプリケーションの前記画面毎の前記コードカバレッジ情報の表示分けに使用する閾値と、前記アプリケーションの前記遷移毎の前記コードカバレッジ情報の表示分けに使用する閾値を用いる、
請求項3に記載のアプリケーション開発支援装置。
The coverage display means is a threshold value used for display classification of the code coverage information for each screen of the application, and a threshold value used for display classification of the code coverage information for each transition of the application. Use
The application development support apparatus according to claim 3.
前記画面遷移図上で、前記画面毎または前記遷移毎に前記ソースコードの閲覧の指示を受け付ける受付手段と、
前記受付手段によりコード閲覧指示を受け付けた前記画面または前記遷移の前記ソースコードを、前記検出手段により検出された、実行済み部分と、それ以外の部分とに区別して表示するソースコード表示手段と、
をさらに備える、
請求項1乃至4いずれか1項に記載のアプリケーション開発支援装置。
On the screen transition diagram, receiving means for receiving an instruction to browse the source code for each screen or for each transition;
Source code display means for displaying the screen or the transition of the source code that has received a code browsing instruction by the accepting means, as distinguished from the executed part detected by the detecting means and the other parts;
Further comprising
The application development support apparatus according to any one of claims 1 to 4.
前記画面設計情報は、前記アプリケーションの各画面に含まれる、入力操作対象となる入力画面部品に関する設計情報を含み、
前記アプリケーションのテストに使用するテストシナリオを、前記画面設計情報を元に生成するテストシナリオ生成手段と、
前記テストシナリオを用いたテスト動作により前記検出手段が検出した、実行済み部分以外のソースコードの未実行部分を特定する未実行部特定手段と、
前記画面毎または前記遷移毎の前記ソースコードの前記未実行部分において、前記画面の前記入力画面部品の識別情報を抽出して、前記画面の前記入力画面部品のうち、テスト未実行のものを特定する画面部品特定手段と、を備え、
前記テストシナリオ生成手段は、
前記テスト未実行であると特定された前記入力画面部品への入力操作を示す入力操作命令を少なくとも含むテストシナリオを生成する、
請求項1乃至5いずれか一項に記載のアプリケーション開発支援装置。
The screen design information includes design information related to input screen components to be input operations included in each screen of the application,
Test scenario generation means for generating a test scenario used for testing the application based on the screen design information;
An unexecuted part specifying means for specifying an unexecuted part of the source code other than the executed part detected by the detecting means by a test operation using the test scenario;
In the unexecuted portion of the source code for each screen or each transition, the identification information of the input screen component of the screen is extracted and the input screen component of the screen is identified as a test unexecuted Screen part specifying means to perform,
The test scenario generation means includes:
Generating a test scenario including at least an input operation instruction indicating an input operation to the input screen component identified as not being executed by the test;
The application development support apparatus according to any one of claims 1 to 5.
前記画面毎または前記遷移毎の前記ソースコードにおいて、前記画面の前記入力画面部品への入力操作内容に応じた分岐条件に従い実行される各分岐処理を抽出する分岐処理抽出手段と、
抽出された前記分岐条件に従い実行される各分岐処理のうち、前記未実行部分に対応する、テスト未実行の分岐処理を特定する未実行処理特定手段と、
前記画面毎または前記遷移毎の前記ソースコードにおいて、特定された前記テスト未実行の分岐処理に対応する、前記未実行部分を提示する提示手段と、をさらに備える、
請求項6に記載のアプリケーション開発支援装置。
In the source code for each screen or each transition, a branch process extracting means for extracting each branch process executed in accordance with a branch condition according to the input operation content to the input screen part of the screen;
Among the branch processes executed according to the extracted branch condition, an unexecuted process specifying means for specifying a test unexecuted branch process corresponding to the unexecuted part;
Presenting means for presenting the unexecuted portion corresponding to the specified unexecuted branch process in the source code for each screen or each transition, further comprising:
The application development support apparatus according to claim 6.
前記テストシナリオ生成手段は、
ユーザによる前記入力画面部品への入力操作を示す入力操作命令の前記テストシナリオへの追加の指示を受け付け、前記追加の指示を受け付けた前記入力操作命令を前記テストシナリオに追加する、
請求項7に記載のアプリケーション開発支援装置。
The test scenario generation means includes:
Receiving an instruction to add an input operation instruction indicating an input operation to the input screen component by the user to the test scenario, and adding the input operation instruction having received the additional instruction to the test scenario;
The application development support apparatus according to claim 7.
前記アプリケーションの画面設計情報を元に、前記テスト未実行であると特定された分岐処理に関連する、前記入力画面部品に対応する入力項目に関する属性情報を取得する属性情報取得手段と、
取得した前記入力項目に関する属性情報に基づいて、前記テスト未実行の前記分岐処理を実行させる分岐条件を満たすように、前記アプリケーションの前記テストシナリオに基づくテストケースに設定される前記入力画面部品への入力操作内容を変化させた、前記テストケースのバリエーションを生成するテストケース生成手段と、
をさらに備える、
請求項7または8に記載のアプリケーション開発支援装置。
Based on the screen design information of the application, attribute information acquisition means for acquiring attribute information related to the input item corresponding to the input screen component, which is related to the branch process identified as being unexecuted,
Based on the acquired attribute information on the input item, to the input screen component set in the test case based on the test scenario of the application so as to satisfy the branch condition for executing the branch process that is not executed the test A test case generation means for generating a variation of the test case with the input operation content changed;
Further comprising
The application development support apparatus according to claim 7 or 8.
前記画面遷移図上の前記画面毎または前記遷移毎に、前記コードカバレッジが閾値以下を示すものを対象として抽出する対象抽出手段をさらに備え、
前記対象として抽出された前記画面または前記遷移について、
前記未実行部特定手段により特定された前記ソースコードの前記未実行部分について、前記テストシナリオ生成手段が、前記アプリケーションのテストシナリオを生成する、
請求項6乃至9いずれか一項に記載のアプリケーション開発支援装置。
For each of the screens on the screen transition diagram or for each transition, further comprising target extraction means for extracting the code coverage that indicates a threshold value or less,
About the screen or the transition extracted as the target,
For the unexecuted portion of the source code specified by the unexecuted part specifying means, the test scenario generating means generates a test scenario for the application.
The application development support apparatus according to claim 6.
アプリケーション開発支援装置が、
アプリケーションの各画面の表示情報および前記画面間の遷移情報を含む画面設計情報に基づいて、そのアプリケーションの画面遷移図を表示し、
前記アプリケーションを動作させて、前記アプリケーションを実現するプログラムのソースコードの中の実行された部分を検出し、
前記画面設計情報および前記実行された部分の検出結果に基づいて、前記アプリケーションの画面毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報、および前記アプリケーションの遷移毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報の少なくともいずれか一方を生成し、
前記画面遷移図上の各画面および各遷移の少なくともいずれか一方に、前記生成された各コードカバレッジ情報をそれぞれ対応付けて表示する、
アプリケーション開発支援装置のデータ処理方法。
Application development support device
Based on the screen design information including the display information of each screen of the application and the transition information between the screens, the screen transition diagram of the application is displayed,
Operating the application to detect an executed part in a source code of a program realizing the application;
Based on the screen design information and the detection result of the executed part, code coverage information indicating the coverage of the executed part for the source code for each screen of the application, and executed for the source code for each transition of the application Generate at least one of the code coverage information indicating the coverage of the part,
Each of the generated code coverage information is displayed in association with at least one of each screen and each transition on the screen transition diagram.
Data processing method for application development support device.
コンピュータに、
アプリケーションの各画面の表示情報および前記画面間の遷移情報を含む画面設計情報に基づいて、そのアプリケーションの画面遷移図を表示する手順、
前記アプリケーションを動作させて、前記アプリケーションを実現するプログラムのソースコードの中の実行された部分を検出する手順、
前記画面設計情報および前記検出する手順による検出結果に基づいて、前記アプリケーションの画面毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報、および前記アプリケーションの遷移毎のソースコードに対する実行済み部分の網羅範囲を示すコードカバレッジ情報の少なくともいずれか一方を生成する手順、
前記画面遷移図を表示する手順により表示される前記画面遷移図上の各画面および各遷移の少なくともいずれか一方に、前記生成された各コードカバレッジ情報をそれぞれ対応付けて表示する手順、を実行させるためのプログラム。
On the computer,
A procedure for displaying a screen transition diagram of the application based on screen design information including display information of each screen of the application and transition information between the screens;
A procedure for operating the application and detecting an executed portion in a source code of a program realizing the application;
Based on the screen design information and the detection result of the detecting procedure, code coverage information indicating the coverage of the executed part for the source code for each screen of the application, and the executed part for the source code for each transition of the application A procedure for generating at least one of code coverage information indicating the coverage of
Causing each of the generated code coverage information to be displayed in association with at least one of each screen on the screen transition diagram and each transition displayed by the procedure for displaying the screen transition diagram. Program for.
JP2014173227A 2014-08-27 2014-08-27 Application development support apparatus, data processing method thereof, and program Active JP6354457B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014173227A JP6354457B2 (en) 2014-08-27 2014-08-27 Application development support apparatus, data processing method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014173227A JP6354457B2 (en) 2014-08-27 2014-08-27 Application development support apparatus, data processing method thereof, and program

Publications (2)

Publication Number Publication Date
JP2016048471A JP2016048471A (en) 2016-04-07
JP6354457B2 true JP6354457B2 (en) 2018-07-11

Family

ID=55649339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014173227A Active JP6354457B2 (en) 2014-08-27 2014-08-27 Application development support apparatus, data processing method thereof, and program

Country Status (1)

Country Link
JP (1) JP6354457B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017188047A (en) * 2016-04-08 2017-10-12 ダイキン工業株式会社 Program creation support system
JP6514244B2 (en) * 2017-01-18 2019-05-15 日本電信電話株式会社 Difference detection device and program
KR102042996B1 (en) * 2017-06-01 2019-12-02 슈어소프트테크주식회사 Method and apparatus for measuring code coverage not by using probes and computer readable recording medium having program the same
US10984438B2 (en) * 2017-07-28 2021-04-20 Ingram Micro Inc. Technologies for automatically validating the functionality of offers in a cloud service brokerage system
WO2019077738A1 (en) * 2017-10-20 2019-04-25 三菱電機株式会社 Data verification device, data verification method, and data verification program
JP6626946B1 (en) * 2018-09-19 2019-12-25 みずほ情報総研株式会社 Test support system, test support method, and test support program
JPWO2020213371A1 (en) * 2019-04-16 2021-11-04 株式会社ソニー・インタラクティブエンタテインメント Information processing device
JP7202571B2 (en) * 2019-07-12 2023-01-12 日本ノーベル株式会社 Screen transition information generation device, screen transition information generation method, screen transition information generation program, screen transition information generation system
KR20230165564A (en) * 2022-05-27 2023-12-05 쿠팡 주식회사 Code coverage information providing method and electronic device for the same

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03245243A (en) * 1990-02-23 1991-10-31 Hitachi Ltd Program test system
JPH07210424A (en) * 1994-01-14 1995-08-11 Toshiba Corp Software test supporting system
JPH07319730A (en) * 1994-05-23 1995-12-08 Hitachi Ltd Test debugging method
JP2004348473A (en) * 2003-05-22 2004-12-09 Hitachi Ltd Verification method and verification apparatus for state transition
JP4673941B1 (en) * 2010-02-26 2011-04-20 株式会社野村総合研究所 Screen design support system for failure handling
JP5767471B2 (en) * 2010-12-24 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Apparatus and method for evaluating test completeness

Also Published As

Publication number Publication date
JP2016048471A (en) 2016-04-07

Similar Documents

Publication Publication Date Title
JP6354457B2 (en) Application development support apparatus, data processing method thereof, and program
US11099972B2 (en) Testing user interfaces using machine vision
JP6417791B2 (en) Application test support apparatus, data processing method thereof, and program
US9189377B1 (en) Automation testing using descriptive maps
JP4395761B2 (en) Program test support apparatus and method
US20210209291A1 (en) Systems and methods for presentation of a terminal application screen
JP6514084B2 (en) OPERATION SUPPORT SYSTEM, OPERATION SUPPORT METHOD, AND OPERATION SUPPORT PROGRAM
JP2019021341A (en) Application test support apparatus, data processing method thereof, and program
US11074162B2 (en) System and a method for automated script generation for application testing
US20160034383A1 (en) Application test across platforms
US8745521B2 (en) System and method for annotating graphical user interface
JP6455010B2 (en) Information processing apparatus, information processing method, and program
US11714625B2 (en) Generating applications for versatile platform deployment
Stocco et al. PESTO: A tool for migrating DOM-based to visual web tests
CN113158651A (en) Web server system and demonstration application generation method
US20160292067A1 (en) System and method for keyword based testing of custom components
US20220214963A1 (en) Analysis apparatus, analysis method and program
US9274688B2 (en) Interfacing systems and methods
US20210382810A1 (en) Test data generation apparatus, test data generation method and program
CN115469849B (en) Service processing system, method, electronic equipment and storage medium
US9501264B2 (en) User corrections in translation
JP7029557B1 (en) Judgment device, judgment method and judgment program
JP6097231B2 (en) Program generating apparatus and method
JP5971399B2 (en) Execution flow creation support program
EP3966788A1 (en) Method and system for transforming wireframes to as-is screens with responsive behaviour

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180528

R150 Certificate of patent or registration of utility model

Ref document number: 6354457

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150