WO2021100156A1 - テストデータ生成装置、テストデータ生成方法、及びプログラム - Google Patents

テストデータ生成装置、テストデータ生成方法、及びプログラム Download PDF

Info

Publication number
WO2021100156A1
WO2021100156A1 PCT/JP2019/045490 JP2019045490W WO2021100156A1 WO 2021100156 A1 WO2021100156 A1 WO 2021100156A1 JP 2019045490 W JP2019045490 W JP 2019045490W WO 2021100156 A1 WO2021100156 A1 WO 2021100156A1
Authority
WO
WIPO (PCT)
Prior art keywords
test data
test
input field
input
target
Prior art date
Application number
PCT/JP2019/045490
Other languages
English (en)
French (fr)
Inventor
悠 安達
治門 丹野
優 吉村
弘之 切貫
利行 倉林
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US17/777,959 priority Critical patent/US12001325B2/en
Priority to JP2021558103A priority patent/JP7268759B2/ja
Priority to PCT/JP2019/045490 priority patent/WO2021100156A1/ja
Publication of WO2021100156A1 publication Critical patent/WO2021100156A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Definitions

  • the present invention relates to a technique for testing software.
  • test process As one of the test viewpoints, a functional test is performed to confirm whether the test target (for example, a Web application) operates as the designer intended.
  • test target for example, a Web application
  • input value variation test There are several more confirmation viewpoints in the functional test, and there are a test related to screen transition (hereinafter, screen transition test) and a test for an input field on the screen (hereinafter, input value variation test). In general, these tests take an enormous amount of time.
  • the screen transition test is a test to confirm whether the screen displayed next is as intended by the designer when any operation is performed on any screen.
  • the reason why the screen transition test takes time is that it is necessary to comprehensively perform operations related to all screen transitions of the application, so human intervention such as clicking links and buttons and inputting data to input fields is required. This is because many operations are required.
  • the input value variation test is a test to confirm whether the operation and the screen displayed next are as intended by the designer when values are input to the input field on the screen from various viewpoints. ..
  • the reason why the input value variation test takes time is that it is necessary to prepare test data from various viewpoints and input data to all the input fields on the screen constituting the application.
  • Non-Patent Document 1 An example of a test technique relating to tacit knowledge is disclosed in Non-Patent Document 1.
  • test data based on tacit knowledge is automatically generated by a computer instead of manually.
  • test data based on tacit knowledge cannot be appropriately generated.
  • the present invention has been made in view of the above points, and an object of the present invention is to provide a technique capable of appropriately generating test data used in an input value variation test based on tacit knowledge.
  • a test data generator for generating test data to be input to the input field of the test target application that is the target of performing the input value variation test based on tacit knowledge.
  • a storage unit that stores the tacit knowledge test data dictionary that has the generation method, test data information, and the input value constraint of the input field used as the generation condition,
  • the implicit knowledge test data dictionary for a certain implicit knowledge category for the target input field which is the input field of the test data generation target, the input value constraint of the target input field in the test target application and the implicit knowledge category
  • the test data for the target input field is generated, and the input value constraint of the target input field and the input value constraint of the generation condition for the implicit knowledge category are generated.
  • a test data generator including a generator that does not generate test data for the target input field when it is determined that does not match.
  • test data generation apparatus in embodiment of this invention. It is a hardware block diagram of a device. It is a figure for demonstrating the outline of processing. It is a figure which shows the test generation condition. It is a flowchart which shows the processing content of the test data generation apparatus. It is a flowchart which shows the processing content of the test data generation apparatus.
  • FIG. 1 is a diagram showing an example of a system configuration in a case where a test is performed using the test data generated by the test data generation device 100 according to the embodiment of the present invention.
  • the system includes a client device 10 and a server device 20. Further, the client device 10 and the server device 20 are communicably connected via, for example, a network N such as a LAN (Local Area Network) or the Internet.
  • a network N such as a LAN (Local Area Network) or the Internet.
  • the server device 20 is a computer or computer system that provides a Web application.
  • the Web application provided by the server device 20 is software (application) to be tested.
  • the client device 10 is a device for testing a Web application provided by the server device 20. More specifically, for example, when the person in charge of testing accesses the Web application by the client device 10 and inputs the test data generated by the test data generation device 100 into the input field on the Web screen, abnormal operation does not occur. Check that. The input of the test data may be automatically performed by executing the test code (which may be called a test script) on the client device 10.
  • the test code which may be called a test script
  • a PC personal computer
  • the client device 10 is not limited to this, and for example, a smartphone, a tablet terminal, or the like may be used.
  • the Web application may be simply referred to as an "application”.
  • test data generation method for performing an input value variation test based on tacit knowledge and its problems will be explained.
  • FIG. 2 shows an example of tacit knowledge in the input value variation test. As shown in FIG. 2, there is a check viewpoint for each tacit knowledge category.
  • the tester creates test data for the input fields on the screen constituting the application to be tested based on the tacit knowledge category as shown in FIG. ..
  • test data When creating test data, it is necessary to create effective tests (test items and test data) based on input value constraints on input fields. Therefore, the tester understands the input value constraints for all the input fields on the screen, examines the necessary test items for the input fields, and confirms the check viewpoint, so the test data influences. It is necessary to create test data so as to reach the processing part and satisfy the input value constraint of the input field.
  • test items and test data When creating test data, it is necessary to create effective tests (test items and test data) based on input value constraints on input fields. Therefore, the tester understands the input value constraints for all the input fields on the screen, examines the necessary test items for the input fields, and confirms the check viewpoint, so the test data influences. It is necessary to create test data so as to reach the processing part and satisfy the input value constraint of the input field.
  • manual test design requires a lot of man-hours.
  • test item can be created by combining each input field on the screen of the application to be tested with test data based on tacit knowledge.
  • this simple combination method does not take into account the input value constraints of the input field, so it may not be possible to generate unnecessary test items or create test data suitable for the test purpose.
  • test item table 40 is obtained by combining the test data 30 based on tacit knowledge (fixed value test data for each tacit knowledge category) created in advance with each input field of the application to be tested. create.
  • the test item table 40 includes constraints for each input field. For example, the restriction in the input field of Password on the screen A is "8 characters or more and 16 characters or less".
  • the person in charge of the test sets the No. 1 in the test data 30 in the input field of the Password on the screen A, for example, according to the test item table.
  • the test is performed by inputting the test data of 1 to 3.
  • No. 2 and No. Since the test data of No. 3 is test data for an implicit knowledge test for a date type input field (eg, date of birth), a test using these data for a non-date type input field is unnecessary. That is, No. 1 for the password input field of the screen A. 2. No. The test using the test data of 3 is a useless test.
  • test data needs to satisfy the constraint of the input field in order to reach the process 2.
  • test data No. 1 test data
  • the test data shown in "B" shown in FIG. 4 cannot reach the process 2.
  • test data used in the input value variation test based on tacit knowledge is shown in the following tasks 1 and 2. Cannot be generated properly.
  • Problem 1 is that unnecessary test items (that is, unnecessary test data) are generated. From the point of view of tacit knowledge, it is not necessary to input test data to the non-date type input field when confirming that the input of "non-existent date" does not cause abnormal operation. However, as shown in FIG. 4, in the simple method, as the test data in the input field of the password, the test data for confirming that the abnormal operation is not performed by inputting the "non-existent date" is used. .. That is, a useless test will be performed.
  • test data that cannot perform the intended test will be generated. For example, if a string length is specified in the input value constraint of the input field to be tested and the above constraint must be met in order to reach the processing part where you want to check the influence of test data, then for the input field It is necessary to prepare test data that satisfies the input value constraint in advance. However, as shown in FIG. 4, such test data cannot be appropriately generated by the simple method.
  • the generation conditions for the tacit knowledge category it is possible to specify the generation conditions for the tacit knowledge category to generate only the necessary test data, thereby avoiding the execution of unnecessary tests.
  • the intended test is achieved.
  • the input value constraint for each input field on each screen of the application to be tested may be acquired by any method. For example, it may be acquired manually, or it may be acquired by analyzing the application to be tested.
  • FIG. 5 shows a configuration diagram of the test data generation device 100 according to the present embodiment.
  • the test data generation device 100 includes a tacit knowledge test data dictionary DB (database) 110, an input unit 120, a generation unit 130, and an output unit 140. The operation of each part will be described in the operation description described later.
  • the test data generation device 100 may be the client device 10 shown in FIG. 1 or may be a device different from the client device 10. Further, the tacit knowledge test data dictionary DB may be called a "storage unit".
  • the test data generation device 100 can be realized, for example, by causing a computer to execute a program describing the processing contents described in the present embodiment.
  • the "computer” may be a virtual machine.
  • the "hardware” described here is virtual hardware.
  • the test data generation device 100 can be realized by executing a program corresponding to the processing executed by the test data generation device 100 using hardware resources such as a CPU and memory built in the computer. is there.
  • the above program can be recorded on a computer-readable recording medium (portable memory, etc.), stored, and distributed. It is also possible to provide the above program through a network such as the Internet or e-mail.
  • FIG. 6 is a diagram showing a hardware configuration example of the above computer.
  • the computer of FIG. 6 has a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, and the like, each of which is connected to each other by a bus B.
  • the program that realizes the processing on the computer is provided by, for example, a recording medium 1001 such as a CD-ROM or a memory card.
  • a recording medium 1001 such as a CD-ROM or a memory card.
  • the program is installed in the auxiliary storage device 1002 from the recording medium 1001 via the drive device 1000.
  • the program does not necessarily have to be installed from the recording medium 1001, and may be downloaded from another computer via the network.
  • the auxiliary storage device 1002 stores the installed program and also stores necessary files, data, and the like.
  • the memory device 1003 reads and stores the program from the auxiliary storage device 1002 when the program is instructed to start.
  • the CPU 1004 realizes the function related to the test data generation device 100 according to the program stored in the memory device 1003.
  • the interface device 1005 is used as an interface for connecting to a network.
  • the display device 1006 displays a programmatic GUI (Graphical User Interface) or the like.
  • the input device 1007 is composed of a keyboard, a mouse, buttons, a touch panel, and the like, and is used for inputting various operation instructions.
  • the tacit knowledge test data dictionary 50 has input value constraints of input fields as tacit knowledge categories, generation methods, test data information, and test generation conditions for the tacit knowledge categories. It is stored.
  • the input value constraint of the input field as the generation condition is not set for all tacit knowledge categories.
  • the generation conditions may or may not be set.
  • the "test data information" is, for example, information on a generation method such as a character code range, a plurality of fixed test data, and the like.
  • the generation unit 130 of the test data generation device 100 When generating test data for a certain implicit knowledge category for a certain input field, the generation unit 130 of the test data generation device 100 refers to the implicit knowledge test data dictionary DB 110 and inputs the input field for the implicit knowledge category. If the value constraint matches the input value constraint of the generation condition, the test data is generated, and if it does not match, the test data is not generated. This solves the problem 1 that an unnecessary test is generated.
  • FIG. 8 shows the relationship between the generation condition in the tacit knowledge test data dictionary 50 and the generation / non-generation of the test depending on whether or not the input value constraint of the input field is specified.
  • test data is generated only when the constraint is met. If there is a generation condition and there is no input value constraint of the input field, test data is not generated for the tacit knowledge category (equivalent to the case of mismatch). If there is no generation condition and there is an input value constraint of the input field, test data is generated for the tacit knowledge category. If neither the generation condition nor the input value constraint of the input field is present, test data is generated for the tacit knowledge category.
  • a generation method is provided in the tacit knowledge test data dictionary 50, and a method based on a regular expression can be specified in addition to the method using a fixed value as the generation method, and the method is generated as test data for the method. It is possible to specify a set of character code ranges.
  • test data generation device 100 creates test data of an implicit knowledge category to which a regular expression is applied for a certain input field, if an input value constraint is specified for the input field, the generation unit 130 Test data that satisfies the constraint (example: test data that satisfies "8 characters or more and 16 characters or less”) is automatically generated in a specified character code range based on a regular expression.
  • the test code and input value constraint information are input to the input unit 120.
  • the test code is a code (may be called a script) that serves as a base (template) for generating variations of test data in an input value variation test.
  • the input test code is a code for reaching the screen to be tested, a button for inputting test data to the input field group of the reached screen, and a button for transitioning to the next screen. It consists of a code that executes a click operation such as.
  • the test code may be created manually, or the reverse-based test script automatic generation technology that restores the specification information by automatically operating the Web application to be tested and automatically generates the test script from the restored specification information. You may utilize.
  • test script automatic generation technology for example, "Kurabayashi Toshiyuki, Iyama Sokichi, Kirinuki Hiroyuki, Tanno Jimon:" Automatic test script generation method for tests involving screen operations ", Software Engineering Symposium 2017 There is a collection of papers, pp. 260-264, September 2017.
  • Input value constraint information is an input value constraint for each input field of the application to be tested.
  • the “date type” of the date of birth input field on the screen A shown in FIG. 7 is an example of the input value constraint.
  • the input value constraint information may be acquired manually, or the computer may analyze the application under test or the source code and automatically extract it.
  • the generation unit 130 extracts a group of input fields on the screen to be tested from the input test code. As shown in S102 and S109, the processes of S103 to S108 are executed for each of the extracted input field groups.
  • the generation unit 130 extracts the input value constraint for the input field to be processed from the input value constraint information.
  • the generation unit 130 determines whether or not there is a generation condition for the target tacit knowledge category by referring to the tacit knowledge test data dictionary DB 110. If the determination in S105 is Yes (with generation conditions), the process proceeds to S106, and if No (no generation conditions), the process proceeds to S107.
  • the generation unit 130 determines whether or not the input value constraint of the generation condition matches the input value constraint of the input field. If the determination result in S106 is No (does not match), the process proceeds to the next tacit knowledge category without generating test data. If the determination result of S106 is Yes (matches), the process proceeds to S107, and the generation unit 130 generates test data and test code of the target tacit knowledge category for the target input feed.
  • FIG. 10 is a flowchart showing the processing of S107.
  • the generation unit 130 determines whether or not the method of generating test data for the tacit knowledge category is a fixed value by referring to the tacit knowledge test data dictionary DB 110.
  • S203 to S204 are executed for each of all the fixed value test data in the corresponding tacit knowledge category.
  • the generation unit 130 duplicates the test code.
  • the test code here is a code that serves as a base (template) for generating variations of test data. The same applies to S206.
  • the generation unit 130 changes the input data to the input field in the test code duplicated in S203 to the target test data (fixed value test data) and passes it to the output unit 140.
  • the output unit 140 outputs a test code in which the test data is set.
  • the generation unit 130 duplicates the test code.
  • the generation method is a regular expression.
  • the generation unit 130 randomly uses the characters in the character code range specified in the implicit knowledge test data dictionary after satisfying the input value constraint of the target input field to generate test data based on the regular expression. Generate. It should be noted that generating data based on regular expressions in this way is an existing technique.
  • the generation unit 130 changes the input data to the input field in the duplicated test code to the test data generated in S207 and passes it to the output unit 140.
  • the output unit 140 outputs a test code in which the test data is set.
  • the test code in which the test data is set as the input data is output for each input field and for each tacit knowledge category that generates test data.
  • the test is executed by executing the entire test code in which the output test code is incorporated in the client device 10.
  • test it was decided to output the test code in which the test data was set as the input data, but this is just an example.
  • the test may be performed by outputting only the test data and manually inputting the test data in the corresponding input field.
  • the character string length is given as an example as the input value constraint of the input field.
  • the input value constraint is specified as the test generation condition for the implicit knowledge category in the implicit knowledge test data dictionary, and the input value constraint and the input field of the generation condition are specified at the time of test data generation. It was decided to generate test data when the input value constraint was met.
  • a regular expression and a character code range to be generated can be specified as a method of generating test data for the implicit knowledge category, and when the test data is generated, the input field is displayed. If the input value constraint is specified, the test data will be automatically generated so as to satisfy the input value constraint.
  • test data generator for generating test data to be input to the input field of the test target application that is the target of input value variation test based on tacit knowledge.
  • a storage unit that stores the tacit knowledge test data dictionary that has the generation method, test data information, and the input value constraint of the input field used as the generation condition,
  • the implicit knowledge test data dictionary for a certain implicit knowledge category for the target input field which is the input field of the test data generation target, the input value constraint of the target input field in the test target application and the implicit knowledge category
  • the test data for the target input field is generated, and the input value constraint of the target input field and the input value constraint of the generation condition for the implicit knowledge category are generated.
  • a test data generation device including a generation unit that does not generate test data for the target input field when it is determined that does not match.
  • (Section 2) The test data generation device according to item 1, wherein when the generation condition for the tacit knowledge category does not exist in the tacit knowledge test data dictionary, the generation unit generates test data for the target input field.
  • (Section 3) It is a test data generator for generating test data to be input to the input field of the test target application that is the target of input value variation test based on tacit knowledge.
  • a storage unit that stores the tacit knowledge test data dictionary that has the generation method and test data information, By referring to the implicit knowledge test data dictionary for a certain implicit knowledge category for the target input field, which is the input field of the test data generation target, the test data satisfying the input value constraint for the target input field is obtained based on the normal expression.
  • test data generator with a generator to generate.
  • input value constraint is a character string length or a numerical range.
  • Input value variation based on implicit knowledge This is a test data generation method executed by the test data generator for generating test data to be input to the input field of the test target application to be tested.
  • the test data generation device includes a storage unit for storing an implicit knowledge test data dictionary having a generation method, test data information, and input value restrictions of input fields as generation conditions for each implicit knowledge category, and the test The data generation method is By referring to the implicit knowledge test data dictionary for a certain implicit knowledge category for the target input field which is the input field of the test data generation target, the input value constraint of the target input field in the test target application and the implicit knowledge category When it is determined that the input value constraint of the generation condition for the above is satisfied, the test data for the target input field is generated, and the input value constraint of the target input field and the input value constraint of the generation condition for the implicit knowledge category are generated.
  • test data generation method including a generation step that does not generate test data for the target input field when it is determined that does not match.
  • (Section 6) A program for causing a computer to function as each part of the test data generator according to any one of the first to fourth paragraphs.
  • Client device 20 Server device 100 Test data generator 110 Tacit knowledge test data dictionary DB 120 Input unit 130 Generation unit 140 Output unit 1000 Drive device 1001 Recording medium 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

テスト対象アプリケーションの入力フィールドへ投入するテストデータを生成するためのテストデータ生成装置において、暗黙知カテゴリ毎に、生成方法、テストデータ情報、及び生成条件とする入力フィールドの入力値制約を有する暗黙知テストデータ辞書を格納する格納部と、対象入力フィールドに対するある暗黙知カテゴリについて、前記暗黙知テストデータ辞書を参照することにより、前記テスト対象アプリケーションにおける前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致すると判定した場合に、前記対象入力フィールドに対するテストデータを生成し、前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致しないと判定した場合に、前記対象入力フィールドに対するテストデータを生成しない生成部とを備える。

Description

テストデータ生成装置、テストデータ生成方法、及びプログラム
 本発明は、ソフトウェアのテストを行う技術に関連するものである。
 近年のソフトウェア開発の現場では、多様化する消費者ニーズに対応するため、短期間に複数の新バージョンのソフトウェアをリリースするような開発スタイルが増加している。ソフトウェア開発は大きく「設計」、「実装」、「試験(テスト)」の工程を経てリリースされる。これらのうち、開発したソフトウェアの正常性を確認するテスト工程は、ソフトウェアの不具合をリリース前に検出し、修正する作業である。
 テスト工程では、テスト観点のうちの一つとして、テスト対象(例えばWebアプリケーション)が、設計者の意図した通りの動作を行うかどうかを確認する機能テストが行われる。機能テストには更に幾つかの確認観点が存在し、画面遷移に関するテスト(以下、画面遷移テスト)及び画面上の入力フィールドに対するテスト(以下、入力値バリエーションテスト)がある。一般に、これらのテストには膨大な時間がかかる。
 画面遷移テストは、任意の画面で任意の操作をした際に、次に表示される画面が設計者の意図した通りであるかどうかを確認するテストである。画面遷移テストが時間を要する理由としては、アプリケーションの全ての画面遷移に関する操作を網羅的に実施する必要があるため、リンクやボタンのクリック操作や入力フィールドへのデータ投入などの人の手を介する操作が多く求められるからである。
 入力値バリエーションテストは、画面上の入力フィールドに対して様々な観点で値を入力した際に、動作や次に表示される画面が設計者の意図した通りであるかどうかを確認するテストである。入力値バリエーションテストが時間を要する理由としては、アプリケーションを構成する全ての画面上の入力フィールドに対して、様々な観点でテストデータを用意し、データ投入する必要があるためである。
 入力値バリエーションテストの観点には、仕様ベースとして入力値制約に基づくもの(同値分割、境界値分析等)、経験ベースとして暗黙知に基づくもの(エラー推測)がある。暗黙知に関するテスト技法の例が非特許文献1に開示されている。
経験ベースのテスト技法(https://webrage.jp/techblog/testing_by_experience/)、インターネット、令和1年11月11日検索
 暗黙知に基づくテストデータを人手ではなく、コンピュータにより自動的に生成することが考えられる。しかし、従来技術において、暗黙知に基づくテストデータを適切に生成することができないという課題がある。
 本発明は上記の点に鑑みてなされたものであり、暗黙知に基づく入力値バリエーションテストで用いるテストデータを適切に生成することを可能とする技術を提供することを目的とする。
 開示の技術によれば、暗黙知に基づく入力値バリエーションテストを行う対象であるテスト対象アプリケーションの入力フィールドへ投入するテストデータを生成するためのテストデータ生成装置であって、
 暗黙知カテゴリ毎に、生成方法、テストデータ情報、及び生成条件とする入力フィールドの入力値制約を有する暗黙知テストデータ辞書を格納する格納部と、
 テストデータ生成対象の入力フィールドである対象入力フィールドに対するある暗黙知カテゴリについて、前記暗黙知テストデータ辞書を参照することにより、前記テスト対象アプリケーションにおける前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致すると判定した場合に、前記対象入力フィールドに対するテストデータを生成し、前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致しないと判定した場合に、前記対象入力フィールドに対するテストデータを生成しない生成部と
 を備えるテストデータ生成装置が提供される。
 開示の技術によれば、暗黙知に基づく入力値バリエーションテストで用いるテストデータを適切に生成することを可能とする技術が提供される。
システムの構成例を示す図である。 入力値バリエーションテストにおける暗黙知の例を示す図である。 単純な組合せによるテスト項目の作成イメージを示す図である。 単純な組合せによるテスト項目の作成における課題を説明するための図である。 本発明の実施の形態におけるテストデータ生成装置の構成図である。 装置のハードウェア構成図である。 処理の概要を説明するための図である。 テスト生成条件を示す図である。 テストデータ生成装置の処理内容を示すフローチャートである。 テストデータ生成装置の処理内容を示すフローチャートである。
 以下、図面を参照して本発明の実施の形態を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。以下、テスト対象としてWebアプリケーションを想定しているが、本発明はテスト対象がWebアプリケーションに限らずに適用可能である。
 (テスト実行時のシステム構成例)
 図1は、本発明の実施の形態によるテストデータ生成装置100により生成されたテストデータを用いてテストを行う場合のシステム構成例を示す図である。
 図1に示すように、当該システムには、クライアント装置10と、サーバ装置20とが含まれる。また、クライアント装置10とサーバ装置20とは、例えば、LAN(Local Area Network)やインターネット等のネットワークNを介して通信可能に接続される。
 サーバ装置20は、Webアプリケーションを提供するコンピュータ又はコンピュータシステムである。サーバ装置20が提供するWebアプリケーションが、テスト対象となるソフトウェア(アプリケーション)である。
 クライアント装置10は、サーバ装置20が提供するWebアプリケーションのテストを行うための装置である。より具体的には、例えば、テスト担当者が、クライアント装置10によりWebアプリケーションにアクセスし、Web画面上の入力フィールドにテストデータ生成装置100により生成されたテストデータを入力することにより、異常動作しないことをチェックする。テストデータの入力は、テストコード(テストスクリプトと呼んでもよい)を、クライアント装置10で実行させることにより自動的に行ってもよい。
 なお、クライアント装置10としてはPC(パーソナルコンピュータ)等が用いられるが、これに限られず、例えば、スマートフォンやタブレット端末等が用いられても良い。以下、Webアプリケーションを単に「アプリケーション」と呼ぶ場合がある。
 (課題について)
 前述したように、入力値バリエーションテストの観点には、仕様ベースとして入力値制約に基づくもの、経験ベースとして暗黙知に基づくもの(エラー推測)がある。本発明の実施の形態は後者を対象としている。
 暗黙知に基づく入力値バリエーションテストを行うためのテストデータ生成手法の一例と、その課題を説明する。
 図2は、入力値バリエーションテストにおける暗黙知の例を示す。図2に示すとおり、暗黙知カテゴリ毎にチェック観点がある。
 入力値バリエーションテストにおける暗黙知に基づくテスト設計において、例えばテスト担当者は、図2に示すような暗黙知カテゴリに基づいて、テスト対象のアプリケーションを構成する画面上の入力フィールドに対するテストデータを作成する。
 テストデータの作成の際、入力フィールドに対する入力値制約を踏まえて有効なテスト(テスト項目やテストデータ)を作成する必要がある。そのため、テスト担当者は全ての画面上の入力フィールドに対する入力値制約を把握した上で、入力フィールドに対して必要なテスト項目を精査し、チェック観点を確認するために、テストデータが影響を与える処理部分まで到達するように、また、入力フィールドの入力値制約を満たすようにテストデータを作成する必要がある。しかし、このような人手によるテスト設計は非常に工数がかかる。
 人手を介さずにテスト項目を自動で作成することも可能である。例えば、図3に示すように、テスト対象アプリケーションにおける画面上の各入力フィールドと暗黙知に基づくテストデータとを組み合わせることで、テスト項目を作成することができる。しかし、この単純な組み合わせによる方法では、入力フィールドの入力値制約を踏まえていないため、不要なテスト項目の生成や、テスト目的に適したテストデータが作成できない場合がある。
 単純な組合せによるテスト項目の作成における問題点を図4を参照して説明する。図4の例では、予め作成しておいた暗黙知に基づくテストデータ30(暗黙知カテゴリ毎の固定値のテストデータ)を、テスト対象アプリケーションの各入力フィールドに組み合わせることで、テスト項目表40を作成する。テスト項目表40には、各入力フィールドの制約が含まれる。例えば、画面AのPasswordの入力フィールドにおける制約は「8文字以上16文字以下」である。
 図4に示すように、テスト担当者は、テスト項目表に従って、例えば、画面AのPasswordの入力フィールドに、テストデータ30におけるNo.1~3のテストデータを入力することによりテストを行う。しかし、「A」で示したように、No.2及びNo.3のテストデータは、日付型の入力フィールド(例:生年月日)に対する暗黙知テストのためのテストデータであるため、日付型以外の入力フィールドに対するこれらのデータを用いたテストは不要である。すなわち、画面AのPasswordの入力フィールドに対する、No.2、No.3のテストデータを用いたテストは無駄なテストとなる。
 また、サーバ装置20において、DBに対する処理2の動作をチェックする必要がある場合において、処理2に到達するにはテストデータが入力フィールドの制約を満たす必要がある。しかし、図4に示す「B」に示すテストデータ(No.1のテストデータ)では、処理2に到達できない。
 すなわち、テスト対象アプリケーションにおける画面上の各入力フィールドと暗黙知に基づくテストデータとを組み合わせる単純な手法では、下記の課題1、2に示すように、暗黙知に基づく入力値バリエーションテストで用いるテストデータを適切に生成することができない。
 課題1は、不要なテスト項目(つまり、不要なテストデータ)が生成されてしまうということである。暗黙知の観点として、"存在しない日付"の投入によって異常な動作をしないことを確認する場合、日付型ではない入力フィールドへのテストデータ入力は不要である。しかし、図4に示したように、単純手法では、Passwordの入力フィールドへのテストデータとして、"存在しない日付"の投入によって異常な動作をしないことを確認するためのテストデータが用いられてしまう。すなわち、無駄なテストを行うことになってしまう。
 課題2は、意図したテストが行えないテストデータが生成されてしまうということである。例えば、テスト対象となる入力フィールドの入力値制約に文字列長が指定されており、テストデータの影響をチェックしたい処理部分への到達のために上記の制約を満たす必要がある場合、入力フィールドに対する入力値制約を満たすテストデータを事前に用意しておく必要がある。しかし、図4に示したように、単純手法では、このようなテストデータを適切に生成できない。
 (本発明の実施の形態の説明)
 <概要>
 以下、上記の課題を解決する本発明の実施の形態に係る技術について詳細に説明する。以下では、課題1を解決するための処理と課題2を解決するための処理とを説明するが、課題1を解決するための処理と課題2を解決するための処理とを独立に行うこととしてもよい。本実施の形態では、暗黙知のチェック観点として必要なテストの抽出、及び、テスト対象である入力フィールドの入力値制約を満たすテストデータの生成を実現している。なお、本実施の形態において、「テストデータを生成する」とは、正規表現等に基づきテストデータを生成することの他、辞書等に予め用意されている複数のテストデータから、対象の入力フィールドに適したテストデータを取得することも含む。概要は下記のとおりである。
 本実施の形態では、暗黙知カテゴリに対して生成条件を指定できるようにすることで必要なテストデータだけを生成することで、不要なテストの実施を回避することとしている。また、テスト対象の入力フィールドに対する入力値制約を満たすようにテストデータを生成することで、意図したテストとなるようにしている。なお、テスト対象アプリケーションの各画面上の各入力フィールドに対する入力値制約は、どのような方法で取得してもよい。例えば、人手で取得してもよいし、テスト対象アプリケーションを解析することで取得することとしてもよい。
 <装置構成>
 図5に、本実施の形態におけるテストデータ生成装置100の構成図を示す。図5に示すように、テストデータ生成装置100は、暗黙知テストデータ辞書DB(データベース)110、入力部120、生成部130、出力部140を有する。各部の動作については後述する動作説明のところで説明する。なお、テストデータ生成装置100は、図1に示したクライアント装置10であってもよいし、クライアント装置10とは別の装置であってもよい。また、暗黙知テストデータ辞書DBを「格納部」と呼んでもよい。
 テストデータ生成装置100は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現することができる。なお、この「コンピュータ」は、仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
 テストデータ生成装置100は、当該コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、テストデータ生成装置100で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
 図6は、上記コンピュータのハードウェア構成例を示す図である。図6のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、及び入力装置1007等を有する。
 当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、テストデータ生成装置100に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
 <テストデータ生成装置100の動作概要>
 テストデータ生成装置100が実行するテストデータ生成の概要を図7を参照して説明する。まず、テスト担当者は、テストデータ生成用の辞書を用意する。この辞書を暗黙知テストデータ辞書と呼ぶ。暗黙知テストデータ辞書の例は、図7に「50」として示されている。暗黙知テストデータ辞書50は、テストデータ生成装置100の暗黙知テストデータ辞書DB110に格納される。
 図7の暗黙知テストデータ辞書50に示すとおり、暗黙知テストデータ辞書50には、暗黙知カテゴリ、生成方法、テストデータ情報、暗黙知カテゴリに対するテストの生成条件としての入力フィールドの入力値制約が格納される。生成条件としての入力フィールドの入力値制約は、全ての暗黙知カテゴリに設定されるわけではない。暗黙知カテゴリの内容に応じて、生成条件が設定される場合とされない場合がある。なお、「テストデータ情報」とは、例えば文字コード範囲のように生成方法に関する情報や、複数の固定のテストデータ等である。
 テストデータ生成装置100の生成部130は、ある入力フィールドに対するある暗黙知カテゴリについてのテストデータを生成する際に、暗黙知テストデータ辞書DB110を参照し、当該暗黙知カテゴリについて、当該入力フィールドの入力値制約が、生成条件の入力値制約と合致する場合にテストデータを生成し、合致しない場合にはテストデータを生成しない。これにより、不要なテストが生成されてしまうという課題1が解決される。
 例えば、図7に示す例において、画面AのPasswordの入力フィールドに関してNo.2(日付形式のバリエーション)の暗黙知カテゴリに対し、生成条件は「日付型」(「A」で示される)であるが、入力制約は「8文字以上16文字以下」(「Bで示される」)であるため、一致しないので、当該入力フィールドの当該暗黙知カテゴリに対するテストデータは生成されない。図7の例では、当該入力フィールドの当該暗黙知カテゴリのテストデータはテスト項目表に含まれないので、当該入力フィールドの当該暗黙知カテゴリについてのテストは行われない。つまり、無駄なテストを省略できる。
 暗黙知テストデータ辞書50における生成条件と入力フィールドの入力値制約のどちらも有る場合と、どちらもない場合と、いずれかが有る場合がある。図8に、暗黙知テストデータ辞書50における生成条件と入力フィールドの入力値制約の指定有無によるテストの生成する/しないの関係を示す。
 図8に示すように、生成条件と入力フィールドの入力値制約のどちらも有る場合には、上述したとおり、制約が合致した場合にのみテストデータを生成する。生成条件が有り、入力フィールドの入力値制約が無い場合、当該暗黙知カテゴリに対してテストデータを生成しない(不一致の場合と同等)。生成条件が無く、入力フィールドの入力値制約が有る場合、当該暗黙知カテゴリに対してテストデータを生成する。生成条件と入力フィールドの入力値制約のどちらも無い場合には、当該暗黙知カテゴリに対してテストデータを生成する。
 図7の「C」で示すとおり、暗黙知テストデータ辞書50に生成方法を設け、生成方法として固定値を用いる方法以外に、正規表現に基づく方法を指定可能とし、それに対するテストデータとして生成する文字コード範囲の組を指定可能としている。
 テストデータ生成装置100の生成部130は、ある入力フィールドに対し、正規表現が適用される暗黙知カテゴリのテストデータを作成する際に、当該入力フィールドに入力値制約が指定されている場合は、その制約を満たすテストデータ(例:「8文字以上16文字以下」を満たすテストデータ)を正規表現に基づいて、指定された文字コード範囲で自動生成する。
 <テストデータ生成装置100の動作詳細>
 次に、テストデータ生成装置100の動作詳細を図9、図10に示すフローチャートに基づいて説明する。暗黙知テストデータ辞書DB110には、暗黙知テストデータ辞書が格納されているものとする。
 入力部120には、テストコードと入力値制約情報が入力される。当該テストコードは、入力値バリエーションテストにおいて、テストデータのバリエーションを生成するためのベース(雛形)となるコード(スクリプトと呼んでもよい)である。
 より具体的には、入力されるテストコードは、テスト対象とする画面まで到達するためのコードと、到達した画面の入力フィールド群へのテストデータ投入、及び、次の画面への遷移を伴うボタン等のクリック操作を実施するコードから構成される。
 テストコードは人手で作成しても良いし、テスト対象のWebアプリケーションを自動で操作することで仕様情報を復元し、復元された仕様情報からテストスクリプトを自動生成するリバースベースのテストスクリプト自動生成技術を活用しても良い。なお、テストスクリプト自動生成技術を開示した参考文献として、例えば「倉林 利行, 伊山 宗吉,切貫 弘之, 丹野 治門: "画面操作を伴うテストにおけるテストスクリプトの自動生成手法", ソフトウェアエンジニアリングシンポジウム2017論文集 pp. 260-264,2017年9月」がある。
 入力値制約情報は、テスト対象アプリケーションの入力フィールド毎の入力値制約である。図7に示す画面Aの生年月日入力フィールドの「日付型」は、入力値制約の例である。入力値制約情報は、人手で取得してもよいし、コンピュータがテスト対象アプリケーションやソースコードを解析して自動的に抽出してもよい。
 図9のS101において、生成部130は、入力されたテストコードからテスト対象とする画面上の入力フィールド群を抽出する。S102及びS109に示すように、S103~S108の処理は、抽出した入力フィールド群のそれぞれに対して実行される。
 S103において、生成部130は、入力値制約情報から、処理対象の入力フィールドに対する入力値制約を抽出する。
 S104及びS108に示すように、S105~S107の処理は、対象の入力フィールドに対し、暗黙知テストデータ辞書における全ての暗黙知カテゴリのそれぞれに対して実行される。
 S105において、生成部130は、暗黙知テストデータ辞書DB110を参照することにより、対象の暗黙知カテゴリに対する生成条件があるか否かを判定する。S105の判定がYes(生成条件有り)であればS106に進み、No(生成条件無し)であればS107に進む。
 S106において、生成部130は、生成条件の入力値制約が入力フィールドの入力値制約と一致するか否かを判定する。S106の判定結果がNo(一致しない)であればテストデータを生成せずに、次の暗黙知カテゴリに進む。S106の判定結果がYes(一致する)であれば、S107に進み、生成部130は、対象の入力フィードに対する対象の暗黙知カテゴリのテストデータ及びテストコードを生成する。
 図10は、S107の処理を示すフローチャートである。S201において、生成部130は、暗黙知テストデータ辞書DB110を参照することにより、該当暗黙知カテゴリについてのテストデータの生成方法が固定値であるか否かを判定する。
 S201の判定結果がYes(生成方法が固定値)である場合、S202に進み、No(生成方法が固定値でない)である場合、S206に進む。
 S202及びS205に示すとおり、S203~S204は、該当暗黙知カテゴリにおける全ての固定値テストデータのそれぞれに対して実行される。
 S203において、生成部130は、テストコードを複製する。ここでのテストコードは、前述したように、テストデータのバリエーションを生成するためのベース(雛形)となるコードである。S206でも同様である。
 S204において、生成部130は、S203で複製したテストコードにおける入力フィールドへの投入データを対象のテストデータ(固定値のテストデータ)に変更し、出力部140に渡す。出力部140は、当該テストデータが設定されたテストコードを出力する。
 S201の判定結果がNo(生成方法が固定値でない)の場合に進むS206において、生成部130は、テストコードを複製する。
 本実施の形態において、生成方法が固定値でない場合、生成方法は正規表現であるとする。S207において、生成部130は、対象の入力フィールドの入力値制約を満たした上で、暗黙知テストデータ辞書で指定された文字コード範囲の文字をランダムに使用して正規表現に基づいたテストデータを生成する。なお、このように正規表現に基づいてデータを生成すること自体は既存技術である。
 S208において、生成部130は、複製したテストコードにおける入力フィールドへの投入データを、S207で生成したテストデータに変更し、出力部140に渡す。出力部140は、当該テストデータが設定されたテストコードを出力する。
 上記の処理により、入力フィールド毎、テストデータ生成を行う暗黙知カテゴリ毎に、投入データとしてテストデータが設定されたテストコードが出力される。例えば、出力されたテストコードが組み込まれた全体のテストコードがクライアント装置10で実行されることでテストが実施される。
 なお、上記の例では、投入データとしてテストデータが設定されたテストコードを出力することとしたが、これは一例である。生成したテストデータをテストコードに設定することに代えて、テストデータのみを出力し、人手でテストデータを該当入力フィールドに入力することでテストを行うこととしてもよい。
 また、上記の図7で示す例では、入力フィールドに対する入力値制約を満たすテストデータ生成において、入力フィールドの入力値制約として文字列長を例として挙げたが、数値の範囲指定の入力値制約(例:年齢制限)がある場合、数値範囲の制約を踏まえてテストデータを生成することも可能である。
 (実施の形態の効果)
 以上、説明したとおり、本実施の形態では、暗黙知テストデータ辞書において、暗黙知カテゴリに対するテストの生成条件として入力値制約を指定し、テストデータ生成時には、生成条件の入力値制約と入力フィールドに対する入力値制約とが合致した場合にテストデータを生成することとした。
 また、本実施の形態では、暗黙知テストデータ辞書において、暗黙知カテゴリに対するテストデータの生成方法として、正規表現及び生成する文字コード範囲を指定可能とし、テストデータの生成時には、入力フィールドに対して入力値制約が指定されている場合は、入力値制約を満たすようにテストデータを自動生成することとした。
 上記の技術により、不要なテストデータを生成することなく、カテゴリのチェック観点に基づいた適切なテストデータだけを生成でき、無駄なテストを省略できる。また、意図したチェックを実行可能なテストデータを生成することが可能となる。
 (実施の形態のまとめ)
 本明細書には、少なくとも下記の各項に記載したテストデータ生成装置、テストデータ生成方法、プログラムが記載されている。
(第1項)
 暗黙知に基づく入力値バリエーションテストを行う対象であるテスト対象アプリケーションの入力フィールドへ投入するテストデータを生成するためのテストデータ生成装置であって、
 暗黙知カテゴリ毎に、生成方法、テストデータ情報、及び生成条件とする入力フィールドの入力値制約を有する暗黙知テストデータ辞書を格納する格納部と、
 テストデータ生成対象の入力フィールドである対象入力フィールドに対するある暗黙知カテゴリについて、前記暗黙知テストデータ辞書を参照することにより、前記テスト対象アプリケーションにおける前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致すると判定した場合に、前記対象入力フィールドに対するテストデータを生成し、前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致しないと判定した場合に、前記対象入力フィールドに対するテストデータを生成しない生成部と
 を備えるテストデータ生成装置。
(第2項)
 前記暗黙知テストデータ辞書において、前記暗黙知カテゴリに対する生成条件が存在しない場合、前記生成部は、前記対象入力フィールドに対するテストデータを生成する
 第1項に記載のテストデータ生成装置。
(第3項)
 暗黙知に基づく入力値バリエーションテストを行う対象であるテスト対象アプリケーションの入力フィールドへ投入するテストデータを生成するためのテストデータ生成装置であって、
 暗黙知カテゴリ毎に、生成方法、及びテストデータ情報を有する暗黙知テストデータ辞書を格納する格納部と、
 テストデータ生成対象の入力フィールドである対象入力フィールドに対するある暗黙知カテゴリについて、前記暗黙知テストデータ辞書を参照することにより、前記対象入力フィールドに対する入力値制約を満たしたテストデータを正規表現に基づいて生成する生成部と
 を備えるテストデータ生成装置。
(第4項)
 前記入力値制約は、文字列長、又は、数値範囲である
 第3項に記載のテストデータ生成装置。
(第5項)
 暗黙知に基づく入力値バリエーションテストを行う対象であるテスト対象アプリケーションの入力フィールドへ投入するテストデータを生成するためのテストデータ生成装置が実行するテストデータ生成方法であって、
 前記テストデータ生成装置は、暗黙知カテゴリ毎に、生成方法、テストデータ情報、及び生成条件とする入力フィールドの入力値制約を有する暗黙知テストデータ辞書を格納する格納部を備えており、前記テストデータ生成方法は、
 テストデータ生成対象の入力フィールドである対象入力フィールドに対するある暗黙知カテゴリについて、前記暗黙知テストデータ辞書を参照することにより、前記テスト対象アプリケーションにおける前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致すると判定した場合に、前記対象入力フィールドに対するテストデータを生成し、前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致しないと判定した場合に、前記対象入力フィールドに対するテストデータを生成しない生成ステップ
 を備えるテストデータ生成方法。
(第6項)
 コンピュータを、第1項ないし第4項のうちいずれか1項に記載のテストデータ生成装置の各部として機能させるためのプログラム。
 以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 クライアント装置
20 サーバ装置
100 テストデータ生成装置
110 暗黙知テストデータ辞書DB
120 入力部
130 生成部
140 出力部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インターフェース装置
1006 表示装置
1007 入力装置

Claims (6)

  1.  暗黙知に基づく入力値バリエーションテストを行う対象であるテスト対象アプリケーションの入力フィールドへ投入するテストデータを生成するためのテストデータ生成装置であって、
     暗黙知カテゴリ毎に、生成方法、テストデータ情報、及び生成条件とする入力フィールドの入力値制約を有する暗黙知テストデータ辞書を格納する格納部と、
     テストデータ生成対象の入力フィールドである対象入力フィールドに対するある暗黙知カテゴリについて、前記暗黙知テストデータ辞書を参照することにより、前記テスト対象アプリケーションにおける前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致すると判定した場合に、前記対象入力フィールドに対するテストデータを生成し、前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致しないと判定した場合に、前記対象入力フィールドに対するテストデータを生成しない生成部と
     を備えるテストデータ生成装置。
  2.  前記暗黙知テストデータ辞書において、前記暗黙知カテゴリに対する生成条件が存在しない場合、前記生成部は、前記対象入力フィールドに対するテストデータを生成する
     請求項1に記載のテストデータ生成装置。
  3.  暗黙知に基づく入力値バリエーションテストを行う対象であるテスト対象アプリケーションの入力フィールドへ投入するテストデータを生成するためのテストデータ生成装置であって、
     暗黙知カテゴリ毎に、生成方法、及びテストデータ情報を有する暗黙知テストデータ辞書を格納する格納部と、
     テストデータ生成対象の入力フィールドである対象入力フィールドに対するある暗黙知カテゴリについて、前記暗黙知テストデータ辞書を参照することにより、前記対象入力フィールドに対する入力値制約を満たしたテストデータを正規表現に基づいて生成する生成部と
     を備えるテストデータ生成装置。
  4.  前記入力値制約は、文字列長、又は、数値範囲である
     請求項3に記載のテストデータ生成装置。
  5.  暗黙知に基づく入力値バリエーションテストを行う対象であるテスト対象アプリケーションの入力フィールドへ投入するテストデータを生成するためのテストデータ生成装置が実行するテストデータ生成方法であって、
     前記テストデータ生成装置は、暗黙知カテゴリ毎に、生成方法、テストデータ情報、及び生成条件とする入力フィールドの入力値制約を有する暗黙知テストデータ辞書を格納する格納部を備えており、前記テストデータ生成方法は、
     テストデータ生成対象の入力フィールドである対象入力フィールドに対するある暗黙知カテゴリについて、前記暗黙知テストデータ辞書を参照することにより、前記テスト対象アプリケーションにおける前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致すると判定した場合に、前記対象入力フィールドに対するテストデータを生成し、前記対象入力フィールドの入力値制約と、前記暗黙知カテゴリについての生成条件の入力値制約とが合致しないと判定した場合に、前記対象入力フィールドに対するテストデータを生成しない生成ステップ
     を備えるテストデータ生成方法。
  6.  コンピュータを、請求項1ないし4のうちいずれか1項に記載のテストデータ生成装置の各部として機能させるためのプログラム。
PCT/JP2019/045490 2019-11-20 2019-11-20 テストデータ生成装置、テストデータ生成方法、及びプログラム WO2021100156A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/777,959 US12001325B2 (en) 2019-11-20 Test data generation apparatus, test data generation method and program
JP2021558103A JP7268759B2 (ja) 2019-11-20 2019-11-20 テストデータ生成装置、テストデータ生成方法、及びプログラム
PCT/JP2019/045490 WO2021100156A1 (ja) 2019-11-20 2019-11-20 テストデータ生成装置、テストデータ生成方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/045490 WO2021100156A1 (ja) 2019-11-20 2019-11-20 テストデータ生成装置、テストデータ生成方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2021100156A1 true WO2021100156A1 (ja) 2021-05-27

Family

ID=75980448

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/045490 WO2021100156A1 (ja) 2019-11-20 2019-11-20 テストデータ生成装置、テストデータ生成方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP7268759B2 (ja)
WO (1) WO2021100156A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416531A (zh) * 2021-12-23 2022-04-29 税友信息技术有限公司 一种测试数据生成方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207248A (ja) * 1999-01-14 2000-07-28 Toshiba Corp 並列プログラムの挙動生成装置及び方法並びに並列プログラムの挙動生成用ソフトウェアを記録した記録媒体
JP2016048470A (ja) * 2014-08-27 2016-04-07 日本電気株式会社 アプリケーションテスト支援装置、そのデータ処理方法、およびプログラム
US20190179734A1 (en) * 2017-12-07 2019-06-13 Conformiq, Inc. User assisted automated test case generation
JP2019191689A (ja) * 2018-04-19 2019-10-31 Heroz株式会社 ウェブ検査プログラム及びウェブ検査装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207248A (ja) * 1999-01-14 2000-07-28 Toshiba Corp 並列プログラムの挙動生成装置及び方法並びに並列プログラムの挙動生成用ソフトウェアを記録した記録媒体
JP2016048470A (ja) * 2014-08-27 2016-04-07 日本電気株式会社 アプリケーションテスト支援装置、そのデータ処理方法、およびプログラム
US20190179734A1 (en) * 2017-12-07 2019-06-13 Conformiq, Inc. User assisted automated test case generation
JP2019191689A (ja) * 2018-04-19 2019-10-31 Heroz株式会社 ウェブ検査プログラム及びウェブ検査装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416531A (zh) * 2021-12-23 2022-04-29 税友信息技术有限公司 一种测试数据生成方法、装置、设备及介质

Also Published As

Publication number Publication date
JP7268759B2 (ja) 2023-05-08
US20220350730A1 (en) 2022-11-03
JPWO2021100156A1 (ja) 2021-05-27

Similar Documents

Publication Publication Date Title
US8768651B2 (en) System and method for automatic standardization and verification of system design requirements
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
JP6354457B2 (ja) アプリケーション開発支援装置、そのデータ処理方法、およびプログラム
US11409631B2 (en) Verification automation apparatus, verification automation method, and computer-readable recording medium
CN110941427A (zh) 代码生成方法及代码生成器
JP5176478B2 (ja) データフロー解析装置、データフロー解析方法およびデータフロー解析プログラム
US20140143525A1 (en) Systems and methods for data generation
CN110837356A (zh) 一种数据处理方法和装置
WO2021100156A1 (ja) テストデータ生成装置、テストデータ生成方法、及びプログラム
US20220214963A1 (en) Analysis apparatus, analysis method and program
CN109800147B (zh) 一种测试案例生成方法及终端设备
US12001325B2 (en) Test data generation apparatus, test data generation method and program
US9858113B2 (en) Creating execution flow by associating execution component information with task name
JP7070328B2 (ja) テストデータ生成装置、テストデータ生成方法及びプログラム
JP2018147106A (ja) プログラム分析装置、プログラム分析方法及びプログラム分析プログラム
US8775873B2 (en) Data processing apparatus that performs test validation and computer-readable storage medium
WO2022249420A1 (ja) テスト生成装置、テスト生成方法、及びプログラム
JP2019197258A (ja) 情報処理装置、その制御方法及びプログラム
JP6665637B2 (ja) プログラム作成支援システム
JP2016126700A (ja) プログラム検証装置、プログラム検証方法及びプログラム検証プログラム
JP2013206310A (ja) モデル検査装置、モデル検査方法、およびプログラム
JP6547345B2 (ja) テストケース生成プログラム、テストケース生成方法およびテストケース生成装置
JP2009181180A (ja) プログラム生成ツールの検査プログラムおよびプログラム生成ツールの検査方法ならびにプログラム生成ツールの検査装置
WO2023276160A1 (ja) 設定確認装置、設定確認方法および設定確認プログラム
JP5683209B2 (ja) ドキュメント類自動生成機能付クライアントコンピュータ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19953113

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021558103

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19953113

Country of ref document: EP

Kind code of ref document: A1