WO2025196876A1 - 情報処理装置、更新方法、及びプログラム - Google Patents
情報処理装置、更新方法、及びプログラムInfo
- Publication number
- WO2025196876A1 WO2025196876A1 PCT/JP2024/010498 JP2024010498W WO2025196876A1 WO 2025196876 A1 WO2025196876 A1 WO 2025196876A1 JP 2024010498 W JP2024010498 W JP 2024010498W WO 2025196876 A1 WO2025196876 A1 WO 2025196876A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- test
- information
- application
- prompt
- processing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
Definitions
- This invention relates to exploratory testing of applications.
- Exploratory testing is a testing method in which a tester simultaneously "learns and tests” the product and defects being tested, and “plans, designs, and executes the test content.” It generally targets applications with screens, such as web applications and mobile applications.
- exploratory testing does not require test design in advance, and therefore does not necessarily require documents such as specifications or design documents. This not only reduces preparation time, but also allows the tester's knowledge to be utilized during testing, making it known to be highly efficient at finding bugs.
- Non-Patent Document 1 discloses a method for expanding the variety of searches by recording the tester's operations during testing and information about the application being tested, and highlighting areas on the browser that have not yet been fully explored.
- Non-Patent Document 1 has problems such as "a high level of search diversity does not necessarily mean that exploratory testing is highly effective" and "while it identifies pages or elements on a screen that have not been explored, it does not suggest tests that should be conducted.”
- Non-Patent Document 1 the problem of exploratory testing being highly dependent on the individual tester and being difficult to achieve unless performed by an experienced tester remains.
- the present invention was made in consideration of the above points, and aims to provide technology that enables even unskilled testers to conduct effective exploratory testing.
- an information processing device that updates information stored in an information storage unit, the information storage unit being used to generate a prompt that instructs performing test design for an application
- the information processing device comprising:
- An information processing device is provided that includes an update unit that acquires text output from a language model to which the prompt is input, extracts test-related information from the text, which is information related to testing of the application, and uses the test-related information to update the information stored in the information storage unit.
- the disclosed technology makes it possible for even non-expert testers to conduct effective exploratory testing.
- the technology related to this embodiment eliminates the effort required to create prompts by automatically generating prompts using information necessary for exploratory testing that has been accumulated manually or automatically.
- FIG. 1 An example of a system configuration according to the present embodiment is shown in Fig. 1.
- an information processing device 100 that executes the operations of the technology according to the present invention is provided.
- a user terminal 10, a test log recording tool 20, and an LLM 30 are connected to the information processing device 100.
- the user terminal 10 is, for example, a PC, tablet, smartphone, etc. Note that the user terminal 10 may also be an input/output interface (e.g., keyboard, touch panel, etc.) provided in the information processing device 100.
- an input/output interface e.g., keyboard, touch panel, etc.
- the test log recording tool 20 is provided on a computer external to the information processing device 100. However, the test log recording tool 20 may also be provided inside the information processing device 100. Furthermore, the LLM 30 is provided on a computer external to the information processing device 100. However, the LLM 30 may also be provided inside the information processing device 100.
- the information processing device 100 has an information storage unit 110, a prompt generation unit 120, and an update unit 130.
- the information processing device 100 may include the prompt generation unit 120, and the information accumulation unit 110 and the update unit 130 may be provided external to the information processing device 100.
- the information processing device 100 may include the update unit 130, and the information accumulation unit 110 and the prompt generation unit 120 may be provided external to the information processing device 100.
- the LLM30 in this embodiment is not limited to a specific LLM, but for example, Open AI's GPT 4 can be used as the LLM30.
- the LLM30 is not limited to what is called a "large-scale language model," and a language model that is not called a "large-scale language model” may be used as the LLM30.
- a "large-scale language model” is an example of a "language model.”
- the knowledge used in exploratory testing In order to obtain output (specifically, text) from LLM30, instructions called prompts are used. In order for LLM30 to make effective suggestions, the knowledge used in exploratory testing must be included in the prompt.
- the knowledge used in exploratory testing refers to five types of information: the specifications, test guidelines, most recent test log, lessons learned, and past tests of the application being tested, which are provided as text information. This information is stored in information storage unit 110. Note that the specifications, test guidelines, most recent test log, lessons learned, and past tests are all examples of test-related information, which is information related to application testing.
- the prompt generation unit 120 reads this information stored in the information storage unit 110 and automatically generates a prompt. By pressing a button, the user can make an inquiry to the LLM 30 at any time using the prompt generated by the prompt generation unit 120.
- the update unit 130 mechanically analyzes the output results from the LLM 30 to extract past tests (Past tests) and learnings (Insights), and reflects this information (updated information) in the information storage unit 110. In other words, the information stored in the information storage unit 110 is updated with the updated information.
- the information that LLM30 updates may be either past tests or learning items. Furthermore, the information that LLM30 updates may be information that is different from either past tests or learning items.
- the processing flow of the information processing device 100 will be described with reference to Figure 2.
- This processing flow is executed, for example, by a program on the information processing device 100 (computer).
- this processing flow is premised on the fact that a user is conducting exploratory testing of the application to be tested based on the output from the LLM 30, and is acquiring test logs in real time using the test log recording tool 20. These test logs are stored in the information storage unit 110.
- step 1 the information processing device 100 detects that the user has pressed a button.
- the prompt generation unit 120 generates a prompt by applying the five types of information from the information storage unit 110 to templates.
- the prompt generated by the prompt generation unit 120 is input to the LLM 30, thereby making an inquiry to the LLM 30.
- the update unit 130 performs a syntactic analysis of the answer sentences output from the LLM 30, extracts updated past tests and updated learning items, and updates the past tests and learning items stored in the information storage unit 110. Note that the user may update the information in the information storage unit 110 as necessary.
- Figure 3 shows an image of input and output.
- prompts are generated based on the "specifications, test guidelines, most recent test log, lessons learned, and past tests" of the application under test, and when these prompts are input into the LLM, output from the LLM is obtained.
- the next test design is extracted from the output from the LLM, and the lessons learned and past tests are updated based on the output from the LLM.
- the information used by the information processing device 100 and the processing content are explained in more detail below.
- Information storage unit 110 First, we will explain each of the following information stored in the information storage unit 110: (1) specifications, (2) test guidelines, (3) most recent test log, (4) learning points, and (5) past tests for the application under test.
- the specifications for each screen are mechanically extracted and provided only from the most recent test log below, which contains the specifications for the screen visited during the test.
- test guidelines In exploratory testing, a method of dividing a test into sessions is often used, in which a test guideline called a charter is sometimes used to conduct an effective test within a limited time.
- a test guideline called a charter
- a rough guideline for the test is given, such as the functions to be tested and the test perspective and type.
- the test guideline is also assumed to be registered in advance in the information accumulation unit 110, but can be edited by the user at any time.
- Recent Test Log In exploratory testing, test design is based on observing the application behavior caused by the tester's actions. Therefore, prompts must include information about what the tester did and observed. Therefore, a mechanism is needed to record the tester's actions and intentions, as well as any insights gained during testing.
- test log must be in text format, so if the recorded information is structured data, each operation will be converted into text format.
- most recent in “most recent test log” refers to operations since the last LLM query, or the most recent N operations, where N is a natural number specified by the user.
- test design utilizes the tester's knowledge and experience. Knowledge about the test subject, in particular, is accumulated during testing, but is typically not documented. Therefore, the technology according to this embodiment not only includes learnings acquired from previous tests in the prompt, but also updates them in the LLM 30 simultaneously with test proposals, thereby accumulating knowledge and experience as text information and utilizing it in proposals for future tests. Learnings can also be edited by the user at any time.
- Past Tests Knowledge of past tests is necessary because if a user does not have knowledge of what tests have been conducted in the past, the LLM 30 may suggest tests that have already been conducted. In the technology according to this embodiment, the LLM 30 updates these, just like learning items. Past tests can also be edited by the user at any time.
- Additional Information A text area for entering additional information. The default is empty.
- File registration Select a file for bug evidence, etc. Default is unselected.
- Public Radio button to decide whether to make the ticket public or not. Choose from "Public” or "Private”. The default is "Public”.
- - Next Ticket Checkbox to decide whether to register another ticket after registering a ticket. The default is unchecked.
- button - Register Press to register a ticket with the information entered in the input fields.
- Specific examples of learning items are as follows: - Fill in the required fields (category, summary, details) when registering a ticket and confirm that the ticket can be registered. - After registering a ticket, you will be redirected to the ticket search screen. - Confirmed that even if multiple required fields are left unfilled at the same time, an error message is only displayed for each field. - We confirmed a bug where tickets could be registered without an error even if invalid values were entered for reproducibility, importance, and priority. - Verify that the system can submit tickets without errors when entering special characters in the platform, OS, and version fields. - A bug was discovered in the file attachment function that allowed attachments larger than the maximum file size of 2000KB. - Verify that assignee selection, public/private radio button selection, and next ticket checkbox are working. - Confirmed that the system can submit a ticket without an error even if you enter a long string in the How to reproduce and Additional information text fields.
- Past Tests are as follows: - Test the basic flow of selecting a category, entering summary and details, and registering a ticket. - Test validation when required fields are left blank. - Testing system behavior when incorrect values are entered for reproducibility, severity, and priority. - Test whether a ticket can be registered by entering special characters in the platform, OS, and version text fields. - Testing system behavior when selecting a file that exceeds the maximum file size that can be attached when registering a file. - Test to confirm the operation of selecting assignee, setting publication status, and selecting register next ticket. - Test how to reproduce the issue and enter long text into the additional information text field and whether the information is reflected correctly after ticket registration.
- the prompt assigns LLM30 the role of a tester conducting exploratory testing and instructs them to design the next test. It also instructs them to update past tests and update what they have learned. By specifying the output format at the end of the prompt, you can consistently obtain the desired results.
- the Chain of Thoughts concept which has been proven effective in creating prompts, is used to perform analysis for the next test before test design, increasing the likelihood of proposing an effective test design. This corresponds to the "## Analysis for the next test" written before "## Next test case” in the example below.
- the quality of the output depends on the performance of the LLM, but we have confirmed that by using Open AI's GPT 4, which is the world's best LLM as of February 2024, it is possible to obtain highly accurate and effective output.
- the prompt generator 120 generates a prompt by providing the five pieces of input information described above in the ⁇ > brackets.
- the user can select the output language; if the user selects Japanese, an instruction to output in Japanese is added to the prompt.
- ------------------------------Template-- You are an experienced tester and performed exploratory testing against a web application. Please design the next test by using the recent test log, test basis, your insights, and the test guideline. However, do not create the same test as previous tests. Additionally, update past tests and insights with the information from the newly performed tests.
- LLM30 recognizes that a test was conducted in which a value other than the default value was selected from the reproducibility drop-down list and that this value was reflected in the ticket, and that past tests (Past tests) and learnings (Insights) have been updated accordingly.
- the update unit 130 mechanically analyzes the output results to extract past tests (Past tests) and learnings (Insights), and reflects this information in the information accumulation unit 110.
- the next test suggested is to verify whether the values selected in the importance and priority drop-down lists are reflected in the ticket, and whether the input values for platform, OS, and version are reflected correctly.
- the information processing device 100 described in this embodiment can be realized, for example, by causing a computer to execute a program.
- This computer may be a physical computer or a virtual machine on the cloud.
- the information processing device 100 can be realized by using hardware resources such as a CPU and memory built into the computer to execute a program corresponding to the processing performed by the information processing device 100.
- the program can be recorded on a computer-readable recording medium (such as portable memory) and saved or distributed.
- the program can also be provided via a network such as the Internet or email.
- FIG. 4 is a diagram showing an example of the hardware configuration of the computer.
- the computer in FIG. 4 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, an output device 1008, etc., all of which are interconnected via a bus B.
- the computer may also be equipped with a GPU.
- the program that realizes processing on the computer is provided by a recording medium 1001, such as a CD-ROM or memory card.
- a recording medium 1001 such as a CD-ROM or memory card.
- the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000.
- the program does not necessarily have to be installed from the recording medium 1001; it can also be downloaded from another computer via a network.
- the auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.
- the memory device 1003 When an instruction to start a program is received, the memory device 1003 reads and stores the program from the auxiliary storage device 1002.
- the CPU 1004 implements functions related to the information processing device 100 in accordance with the program stored in the memory device 1003.
- the interface device 1005 is used as an interface for connecting to a network, etc.
- the display device 1006 displays a GUI (Graphical User Interface) based on the program, etc.
- the input device 1007 is composed of a keyboard, mouse, buttons, touch panel, etc., and is used to input various operational instructions.
- the output device 1008 outputs the results of calculations.
- the technology described in this embodiment makes it possible to automatically generate prompts that cause the LLM 30 to propose tests based on the knowledge and thought patterns that humans use when conducting exploratory tests. This allows for effective test designs to be obtained in real time by simply pressing a button during testing.
- the technology according to this embodiment eliminates the effort required to create prompts by automatically generating prompts using five types of information that have been manually or automatically accumulated.
- knowledge can be extracted using LLM30 from recorded test logs and tester reports, and then updated sequentially, allowing the accumulated knowledge to be used to propose the next test.
- An information processing device that generates a prompt for causing a language model to perform test design for an application
- an information processing apparatus comprising: an information storage unit that stores test-related information related to testing of the application; a prompt generation unit that reads the test-related information from the information storage unit; and generates the prompt using the test-related information.
- the test-related information includes at least one of specifications of the application, test guidelines for the application, the most recent test log for the application, lessons learned regarding testing of the application, and past tests for the application.
- the information processing device according to claim 1, wherein the prompt generating unit generates the prompt by applying the test-related information to a template.
- the prompt includes an instruction to analyze the next test and an instruction to design the next test, which is written after the instruction.
- the prompt includes learning information related to testing the application, past tests for the application, instructions to update the learning information, and instructions to update the past tests.
- a prompt generation method executed by an information processing device for generating a prompt for causing a language model to perform test design for an application comprising: a step of reading test-related information from an information storage unit that stores test-related information related to testing of the application, and generating the prompt using the test-related information.
- a non-transitory storage medium storing a program for causing a computer to function as the prompt generating unit in the information processing device according to any one of claims 1 to 5.
- An information processing device that updates information stored in an information storage unit, the information storage unit being used to generate a prompt that instructs performing test design of an application, comprising: an update unit that acquires text output from a language model to which the prompt is input, extracts test-related information from the text, which is information related to testing of the application, and updates the information stored in the information storage unit using the test-related information.
- an update unit that acquires text output from a language model to which the prompt is input, extracts test-related information from the text, which is information related to testing of the application, and updates the information stored in the information storage unit using the test-related information.
- test-related information is at least one of learnings related to testing the application and past tests on the application.
- prompt includes, in addition to the test-related information, at least one of specifications of the application, test guidelines for the application, and the most recent test log for the application.
- An updating method executed by an information processing device for updating information stored in an information storage unit, the information being used to generate a prompt instructing test design of an application comprising: obtaining text output from a language model to which the prompt is input, extracting test-related information from the text, which is information related to testing of the application, and updating the information stored in the information storage unit using the test-related information.
- a non-transitory storage medium storing a program for causing a computer to function as an update unit in the information processing device according to any one of claims 1 to 4.
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
本発明は、アプリケーションの探索的テスト(Exploratory Testing)に関連するものである。
探索的テストとは、テスターが、テスト対象のプロダクト及び欠陥に対する「学習及びテスト」の「計画及びテスト内容の設計実行」を並行して行うテスト手法である。一般的にはWebアプリケーションやモバイルアプリケーション等、画面を持つアプリケーションを対象とする。
探索的テストについて、記述式テストと比較して、事前にテスト設計を行う必要がないことから、必ずしも仕様書や設計書といったドキュメントを必要としないため、準備工数を削減できるだけでなく、テスターの知見を活用してテストを行うことができるため、バグ発見効率が高いことが知られている。
探索的テストの課題の1つとして、どのようなテストを実施するかの詳細がテスターに一任されているため、属人性が高く、熟練したテスターでないと効果を発揮しにくいことが挙げられる。
この問題に関連して、非特許文献1には、テスト中のテスターの操作やテスト対象アプリケーションの情報を記録し、ブラウザ上でまだ十分に探索されていない箇所を強調表示することで探索の多様性を拡大する手法が開示されている。
Bures, M., K. Frajtak, and B. S. Ahmed. "Tapir: Automation Support of Exploratory Testing Using Model Reconstruction of the System Under Test.",IEEE Transactions on Reliability 67, no. 2 (June 2018): 557-80. https://doi.org/10.1109/TR.2018.2799957.
しかし、非特許文献1に開示された技術には、「探索の多様性の高さが、必ずしも探索的テストの効果が高いことを意味しない」、「探索されていないページや画面中の要素は分かるが、実施すべきテストが提案される訳では無い」、といった問題がある。
従って、非特許文献1に開示された技術を用いても、探索的テストにおける、属人性が高く、熟練したテスターでないと効果を発揮しにくいという課題は解決されない。
本発明は上記の点に鑑みてなされたものであり、探索的テストにおいて、熟練したテスターでなくても、有効なテストを実施することを可能とする技術を提供することを目的とする。
開示の技術によれば、アプリケーションのテスト設計を行うことを指示するプロンプトを生成するために使用される、情報蓄積部に蓄積される情報を更新する情報処理装置であって、
前記プロンプトが入力された言語モデルから出力されるテキストを取得し、前記テキストから、前記アプリケーションのテストに関連する情報であるテスト関連情報を抽出し、前記テスト関連情報を用いて、前記情報蓄積部に蓄積される前記情報を更新する更新部
を備える情報処理装置が提供される。
前記プロンプトが入力された言語モデルから出力されるテキストを取得し、前記テキストから、前記アプリケーションのテストに関連する情報であるテスト関連情報を抽出し、前記テスト関連情報を用いて、前記情報蓄積部に蓄積される前記情報を更新する更新部
を備える情報処理装置が提供される。
開示の技術によれば、探索的テストにおいて、熟練したテスターでなくても、有効なテストを実施することが可能となる。
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
(実施の形態の概要)
前述したように、探索的テストは、属人性が高く、熟練したテスターでないと効果を発揮しにくいという課題がある。
前述したように、探索的テストは、属人性が高く、熟練したテスターでないと効果を発揮しにくいという課題がある。
本実施の形態では、上記の課題を解決するために、十分な汎用性と言語能力を持つ大規模言語モデル(LLM: Large Language Models)を利用し、人間が行う場合の探索的テストの思考パターンに沿ってLLMに必要な入力を与えることで、LLMに高度なテストの提案を行わせることとしている。
LLMをテストに用いる場合、プロンプト(指示文)をどのように与えるかが問題になる。
ユーザがその都度、アプリケーションの仕様や現在のテストの状況をプロンプトに含めることは困難である。そこで、本実施の形態に係る技術では、手動又は自動で蓄積した探索的テストに必要な情報を用いて自動でプロンプトを生成することで、プロンプト作成の手間を無くすこととしている。
また、効果的な探索的テストを行うためには、テスト中に蓄積される知識を活用する必要があるが、これらは通常文書化されないため、プロンプトに含めることは困難である。そこで、本実施の形態に係る技術では、記録したテストのログやテスターの報告から、LLMを用いて知識を抽出し、順次更新していくことで、蓄積した知識を次のテストの提案に活用することとしている。
以下、本実施の形態に係る技術を詳細に説明する。
(システム構成例)
図1に、本実施の形態におけるシステム構成例を示す。図1に示すように、本発明に係る技術の動作を実行する情報処理装置100が備えられる。情報処理装置100には、ユーザ端末10、テストログ記録ツール20、及びLLM30が接続される。
図1に、本実施の形態におけるシステム構成例を示す。図1に示すように、本発明に係る技術の動作を実行する情報処理装置100が備えられる。情報処理装置100には、ユーザ端末10、テストログ記録ツール20、及びLLM30が接続される。
ユーザ端末10は、例えば、PC、タブレット、スマートフォン等である。なお、ユーザ端末10が、情報処理装置100が備える入出力インタフェース(例:キーボード、タッチパネル等)であってもよい。
テストログ記録ツール20は、情報処理装置100の外部のコンピュータに備えられる。ただし、テストログ記録ツール20が情報処理装置100の内部に備えられてもよい。また、LLM30は、情報処理装置100の外部のコンピュータに備えられる。ただし、LLM30が情報処理装置100の内部に備えられてもよい。
図1に示すように、情報処理装置100は、情報蓄積部110、プロンプト生成部120、更新部130を有する。
なお、情報処理装置100が、プロンプト生成部120を備え、情報蓄積部110と更新部130は、情報処理装置100の外部に備えられてもよい。また、情報処理装置100が、更新部130を備え、情報蓄積部110とプロンプト生成部120は、情報処理装置100の外部に備えられてもよい。
本実施の形態におけるLLM30は、特定のLLMに限定されないが、LLM30として、例えばOpen AIのGPT 4を用いることができる。なお、LLM30は「大規模言語モデル」と呼ばれるものに限定されるわけではなく、LLM30として「大規模言語モデル」とは呼ばれない言語モデルを使用することとしてもよい。「大規模言語モデル」は「言語モデル」の例である。
(情報処理装置100の動作について)
テスト中にテスターが望むタイミングで、テスターが、情報処理装置100により表示されるボタンを押すことで、情報処理装置100は、LLM30に、次に行うべきテストの提案を出力させる。
テスト中にテスターが望むタイミングで、テスターが、情報処理装置100により表示されるボタンを押すことで、情報処理装置100は、LLM30に、次に行うべきテストの提案を出力させる。
LLM30からの出力(具体的にはテキスト)を得るためには、プロンプトと呼ばれる指示文を用いる。LLM30が有効な提案を行うためには、探索的テストに用いる知識をプロンプトに含めることが必要である。ここで、探索的テストに用いる知識とは、テスト対象アプリケーションの「仕様、テストの指針、直近のテストログ、学習事項、及び過去のテスト」の5種類であり、これらはテキスト情報として与えられる。これらの情報は、情報蓄積部110に蓄積される。なお、仕様、テストの指針、直近のテストログ、学習事項、及び過去のテストはいずれも、アプリケーションのテストに関連する情報であるテスト関連情報の例である。
プロンプト生成部120は、情報蓄積部110に蓄積されたこれらの情報を読み出して、プロンプトを自動的に生成する。ユーザはボタンを押すことで任意のタイミングで、プロンプト生成部120により生成されたプロンプトを用いてLLM30に問い合わせすることができる。
更新部130は、LLM30からの出力結果を機械的に構文解析することで、過去のテスト(Past tests)と学習事項(Insights)を抽出し、これらの情報(更新された情報)を情報蓄積部110に反映させる。つまり、情報蓄積部110に蓄積されている情報を、更新された情報で更新する。
なお、本実施の形態において、プロンプト生成に使用する情報として、テスト対象アプリケーションの「仕様、テストの指針、直近のテストログ、学習事項、及び過去のテスト」の5種類を全部使用することは必ずしも必須ではない。例えば、「仕様、テストの指針、直近のテストログ、学習事項、及び過去のテスト」のうちの少なくとも1つを使用することとしてもよい。また、プロンプト生成に使用する情報として、「仕様、テストの指針、直近のテストログ、学習事項、及び過去のテスト」に含まれない情報を使用してもよい。
また、LLM30に更新を行わせる情報は、過去のテストと学習事項のうちのいずれか1つであってもよい。また、LLM30に更新を行わせる情報は、過去のテストと学習事項のいずれとも異なる情報であってもよい。
図2を参照して、情報処理装置100の処理フローを説明する。当該処理フローは、例えば、情報処理装置100(コンピュータ)上のプログラムにより実行される。また、当該処理フローの前提として、ユーザが、LLM30からの出力に基づいて、テスト対象アプリケーションに対して探索的テストを実施しており、テストログをリアルタイムでテストログ記録ツール20を用いて取得しているものとする。当該テストログは、情報蓄積部110に蓄積される。
S1(ステップ1)において、情報処理装置100が、ユーザのボタン押下を検知すると、S2において、プロンプト生成部120が、情報蓄積部110の5種類の情報をテンプレートに当てはめてプロンプトを生成する。
S3において、プロンプト生成部120により生成されたプロンプトをLLM30に入力することで、LLM30に問い合わせを行う。
S4において、LLM30からテキスト(回答文)が出力され、当該回答文は更新部130に入力される。
S5において、更新部130は、LLM30から出力された回答文を構文解析し、更新された過去のテストと更新された学習事項とを抽出し、情報蓄積部110に蓄積されている過去のテストと学習事項を更新する。なお、必要に応じてユーザが情報蓄積部110の情報を更新してもよい。
テストが継続される間(S6のNoの間)、上記の処理が繰り返し実行される。
図3に、入出力のイメージを示す。図3に示すとおり、テスト対象アプリケーションの「仕様、テストの指針、直近のテストログ、学習事項、及び過去のテスト」に基づいてプロンプトが生成され、プロンプトがLLMに入力されることで、LLMからの出力が得られる。LLMからの出力から、次のテスト設計が抽出されるとともに、LLMからの出力に基づいて、学習事項及び過去のテストが更新される。
以下、情報処理装置100において使用される情報、及び処理内容をより詳細に説明する。
(情報蓄積部110)
まず、情報蓄積部110に蓄積される、テスト対象アプリケーションの「(1)仕様、(2)テストの指針、(3)直近のテストログ、(4)学習事項、及び(5)過去のテスト」のそれぞれを説明する。
まず、情報蓄積部110に蓄積される、テスト対象アプリケーションの「(1)仕様、(2)テストの指針、(3)直近のテストログ、(4)学習事項、及び(5)過去のテスト」のそれぞれを説明する。
(1)テスト対象アプリケーションの仕様
アプリケーションがどのように振る舞うべきかを認識していなければテストを行うことは難しいため、テスト対象アプリケーションの仕様はテストを行う上で必要である。本実施の形態では、アプリケーション全体の仕様と画面毎の仕様の2種類の仕様情報を用いる。仕様情報は情報蓄積部110に事前に登録することを前提としているが、ユーザによって任意のタイミングで編集可能である。
アプリケーションがどのように振る舞うべきかを認識していなければテストを行うことは難しいため、テスト対象アプリケーションの仕様はテストを行う上で必要である。本実施の形態では、アプリケーション全体の仕様と画面毎の仕様の2種類の仕様情報を用いる。仕様情報は情報蓄積部110に事前に登録することを前提としているが、ユーザによって任意のタイミングで編集可能である。
本実施の形態では、プロンプト長の短縮のため、画面毎の仕様については、下記直近のテストログに含まれる、テスト中に訪れた画面の仕様のみを機械的に抽出して与えることとしている。
(2)テストの指針
探索的テストでは、セッション単位で時間を区切ってテストを行う方法がしばしば用いられ、その場合、限られた時間で有効なテストを行うためにチャーターと呼ばれるテストの指針が用いられる場合がある。本実施の形態に係る技術では、チャーターを用いたテストと同様に、テスト対象の機能やテスト観点・種類といったテストの大まかな指針が与えられる。テストの指針についても情報蓄積部110に事前に登録することを前提としているが、ユーザによって任意のタイミングで編集可能である。
探索的テストでは、セッション単位で時間を区切ってテストを行う方法がしばしば用いられ、その場合、限られた時間で有効なテストを行うためにチャーターと呼ばれるテストの指針が用いられる場合がある。本実施の形態に係る技術では、チャーターを用いたテストと同様に、テスト対象の機能やテスト観点・種類といったテストの大まかな指針が与えられる。テストの指針についても情報蓄積部110に事前に登録することを前提としているが、ユーザによって任意のタイミングで編集可能である。
(3)直近のテストログ
探索的テストでは、テスターの操作によって引き起こされたアプリケーションの振る舞いを観測した上でテスト設計を行う。したがって、テスターが何を行い、何を観測したのかに関する情報をプロンプトに含める必要がある。そのため、テスターの行動とその意図を記録し、テスト中に得た気づきを記録するための仕組みが必要である。
探索的テストでは、テスターの操作によって引き起こされたアプリケーションの振る舞いを観測した上でテスト設計を行う。したがって、テスターが何を行い、何を観測したのかに関する情報をプロンプトに含める必要がある。そのため、テスターの行動とその意図を記録し、テスト中に得た気づきを記録するための仕組みが必要である。
具体的には、例えば、参考文献「H. Kirinuki, M. Tajima and T. Haruto, "LatteArt: A Platform for Recording and Analyzing Exploratory Testing," 2023 IEEE Conference on Software Testing, Verification and Validation (ICST), Dublin, Ireland, 2023, pp. 443-453, doi: 10.1109/ICST57152.2023.00048.」に開示されたツールを用いることで、Webアプリケーションに対して、テストの操作及び操作対象、遷移した画面、テスターの気づき、テスターの意図の情報を自動又は手動で記録できる。本実施の形態におけるテストログ記録ツールとして上記ツールを用いることができる。
テストログの形式はテキストである必要があるため、記録された情報が何らかの構造化データであった場合、それぞれの操作等をテキスト形式に変換する。
なお、「直近のテストログ」における「直近」とは、前回のLLM問い合わせ以降の操作、もしくはユーザが指定した自然数をNとし、直近N回の操作を意味する。
(4)学習事項
テスターの知識や経験を活用してテスト設計を行うのが探索的テストの特徴である。特にテスト対象に関する知識はテスト中に蓄積されていくが、通常は文書化されることがない。そこで本実施の形態に係る技術では、これまでのテストで得られた学習事項をプロンプトに含めるだけでなく、テストの提案と同時にLLM30にそれを更新させることで、知識や経験をテキスト情報として蓄積させ、次回以降のテストの提案に利用する。学習事項はユーザによっても任意のタイミングで編集可能である。
テスターの知識や経験を活用してテスト設計を行うのが探索的テストの特徴である。特にテスト対象に関する知識はテスト中に蓄積されていくが、通常は文書化されることがない。そこで本実施の形態に係る技術では、これまでのテストで得られた学習事項をプロンプトに含めるだけでなく、テストの提案と同時にLLM30にそれを更新させることで、知識や経験をテキスト情報として蓄積させ、次回以降のテストの提案に利用する。学習事項はユーザによっても任意のタイミングで編集可能である。
(5)過去のテスト
これまでどのようなテストが行われたかの知識を持たない場合、実施済みのテストがLLM30によって提案される恐れがあるため、過去のテストについての知識は必要である。本実施の形態に係る技術では、学習事項と同様に、LLM30によってこれらを更新させる。過去のテストはユーザによっても任意のタイミングで編集可能である。
これまでどのようなテストが行われたかの知識を持たない場合、実施済みのテストがLLM30によって提案される恐れがあるため、過去のテストについての知識は必要である。本実施の形態に係る技術では、学習事項と同様に、LLM30によってこれらを更新させる。過去のテストはユーザによっても任意のタイミングで編集可能である。
以下、上記(1)~(5)それぞれの具体例を(a)~(e)として示す。
(a)テスト対象アプリケーションの仕様の具体例
テスト対象アプリケーションの仕様の具体例は下記のとおりである。
Below is the common specification of the application.
バグチケットを管理するバグトラッキングシステム。
全てのページに共通でヘッダーを持ち、ヘッダーは以下のリンクを持つ。
- メイン: 押下すると「メイン画面」へ遷移する。
- マイビュー: 押下すると「マイビュー画面」へ遷移する。
- 検索: 押下すると「チケットの検索画面」へ遷移する。
- 登録: 押下すると「チケットの登録画面」へ遷移する。
テスト対象アプリケーションの仕様の具体例は下記のとおりである。
Below is the common specification of the application.
バグチケットを管理するバグトラッキングシステム。
全てのページに共通でヘッダーを持ち、ヘッダーは以下のリンクを持つ。
- メイン: 押下すると「メイン画面」へ遷移する。
- マイビュー: 押下すると「マイビュー画面」へ遷移する。
- 検索: 押下すると「チケットの検索画面」へ遷移する。
- 登録: 押下すると「チケットの登録画面」へ遷移する。
(中略)
Below are the relevant page specifications.
# [登録 - MantisBT](http://localhost:18080/bug_report_page.php):
チケットの登録画面
バグチケットを新規登録する画面。
## 入力フィールド
- カテゴリー: バグのカテゴリーを選択するプルダウンリスト。「(選択してください)」、「[全プロジェクト] General」から選択可能。必須。デフォルトは「(選択してください)」。
- 再現性: バグの再現性を選択するプルダウンリスト。「毎回」、「時々」、「不定」、「未試験」、「再現不可」、「不明」から選択可能。デフォルトは「未試験」。
Below are the relevant page specifications.
# [登録 - MantisBT](http://localhost:18080/bug_report_page.php):
チケットの登録画面
バグチケットを新規登録する画面。
## 入力フィールド
- カテゴリー: バグのカテゴリーを選択するプルダウンリスト。「(選択してください)」、「[全プロジェクト] General」から選択可能。必須。デフォルトは「(選択してください)」。
- 再現性: バグの再現性を選択するプルダウンリスト。「毎回」、「時々」、「不定」、「未試験」、「再現不可」、「不明」から選択可能。デフォルトは「未試験」。
(中略)
- 追加情報: その他補足情報を入力するテキストエリア。デフォルトは空文字。
- ファイル登録: バグ証跡等のファイル選択。デフォルトは未選択。
- 公開: チケットを公開するか否かのラジオボタン。「公開」、「非公開」から選択。デフォルトは「公開」。
- 次のチケット: チケット登録後に続けて別のチケットを登録するか否かのチェックボックス。デフォルトはチェック無し。
- 追加情報: その他補足情報を入力するテキストエリア。デフォルトは空文字。
- ファイル登録: バグ証跡等のファイル選択。デフォルトは未選択。
- 公開: チケットを公開するか否かのラジオボタン。「公開」、「非公開」から選択。デフォルトは「公開」。
- 次のチケット: チケット登録後に続けて別のチケットを登録するか否かのチェックボックス。デフォルトはチェック無し。
(以下省略)
## ボタン
- 登録: 押下すると入力フィールドに入力した内容でチケットを登録する。
## ボタン
- 登録: 押下すると入力フィールドに入力した内容でチケットを登録する。
以上がテスト対象アプリケーションの仕様の具体例である。
(b)テストの指針の具体例
機能テストのみを行い、非機能テストは行わないこと。
機能テストのみを行い、非機能テストは行わないこと。
(c)直近のテストログの具体例
直近のテストログの具体例は下記のとおりである。
The following test was performed for the purpose "再現性のプルダウンリストからデフォルト値以外の選択肢を選び、選択した値がチケットに正しく反映されるかを検証する".
You clicked A: text="登録" href="/bug_report_page.php"
A screen transition occurs. The new page is [登録 - MantisBT](http://localhost:18080/bug_report_page.php).
You clicked SELECT: name="category_id"
You inputted "1" to SELECT: name="category_id"
You clicked SELECT: name="category_id"
You clicked INPUT: type="text" name="summary"
You inputted "要約1" to INPUT: type="text" name="summary"
You clicked TEXTAREA: name="description"
You inputted "詳細1" to TEXTAREA: name="description"
You clicked SELECT: name="reproducibility"
You inputted "30" to SELECT: name="reproducibility"
You clicked SELECT: name="reproducibility"
You clicked INPUT: value="登録" type="submit"
A screen transition occurs. The new page is [MantisBT](http://localhost:18080/bug_report.php).
You clicked A: text="登録したチケットの表示 3" href="view.php?id=3"
A screen transition occurs. The new page is [0000003: 要約1 - MantisBT](http://localhost:18080/view.php?id=3).
以上が直近のテストログの具体例である。
直近のテストログの具体例は下記のとおりである。
The following test was performed for the purpose "再現性のプルダウンリストからデフォルト値以外の選択肢を選び、選択した値がチケットに正しく反映されるかを検証する".
You clicked A: text="登録" href="/bug_report_page.php"
A screen transition occurs. The new page is [登録 - MantisBT](http://localhost:18080/bug_report_page.php).
You clicked SELECT: name="category_id"
You inputted "1" to SELECT: name="category_id"
You clicked SELECT: name="category_id"
You clicked INPUT: type="text" name="summary"
You inputted "要約1" to INPUT: type="text" name="summary"
You clicked TEXTAREA: name="description"
You inputted "詳細1" to TEXTAREA: name="description"
You clicked SELECT: name="reproducibility"
You inputted "30" to SELECT: name="reproducibility"
You clicked SELECT: name="reproducibility"
You clicked INPUT: value="登録" type="submit"
A screen transition occurs. The new page is [MantisBT](http://localhost:18080/bug_report.php).
You clicked A: text="登録したチケットの表示 3" href="view.php?id=3"
A screen transition occurs. The new page is [0000003: 要約1 - MantisBT](http://localhost:18080/view.php?id=3).
以上が直近のテストログの具体例である。
(d)学習事項の具体例
学習事項の具体例は下記のとおりである。
- チケット登録時の必須フィールド(カテゴリー、要約、詳細)に入力し、チケットが登録できることを確認。
- チケット登録後にチケットの検索画面へ遷移することを確認。
- 同時に複数の必須フィールドが未入力の場合でも1つずつに対してしかエラーメッセージが表示されないことを確認。
- 再現性、重要度、優先度に対して不正な値を入力してもエラーにならず、チケットが登録できてしまうバグを確認。
- プラットフォーム、OS、バージョンのフィールドに特殊文字を入力しても、システムがエラーを出さずにチケットを登録できることを確認。
- ファイル添付機能では、添付可能な最大ファイルサイズである2000KBを超えるファイルが添付できてしまうというバグを発見。
- 担当者の選択、公開/非公開のラジオボタンの選択、次のチケットのチェックボックスが機能していることを確認。
- 再現方法と追加情報のテキストフィールドに長文を入力しても、システムがエラーを出さずにチケットを登録できることを確認。
学習事項の具体例は下記のとおりである。
- チケット登録時の必須フィールド(カテゴリー、要約、詳細)に入力し、チケットが登録できることを確認。
- チケット登録後にチケットの検索画面へ遷移することを確認。
- 同時に複数の必須フィールドが未入力の場合でも1つずつに対してしかエラーメッセージが表示されないことを確認。
- 再現性、重要度、優先度に対して不正な値を入力してもエラーにならず、チケットが登録できてしまうバグを確認。
- プラットフォーム、OS、バージョンのフィールドに特殊文字を入力しても、システムがエラーを出さずにチケットを登録できることを確認。
- ファイル添付機能では、添付可能な最大ファイルサイズである2000KBを超えるファイルが添付できてしまうというバグを発見。
- 担当者の選択、公開/非公開のラジオボタンの選択、次のチケットのチェックボックスが機能していることを確認。
- 再現方法と追加情報のテキストフィールドに長文を入力しても、システムがエラーを出さずにチケットを登録できることを確認。
以上が学習事項の具体例である。
(e)過去のテスト
過去のテストは下記のとおりである。
- カテゴリーの選択、要約と詳細の入力、チケットの登録を行う基本的なフローのテスト。
- 必須フィールド未入力時のバリデーションのテスト。
- 再現性、重要度、優先度に対して不正な値を入力した際のシステム挙動のテスト。
- プラットフォーム、OS、バージョンのテキストフィールドに特殊文字を入力し、チケットが登録できるかのテスト。
- ファイル登録で添付可能な最大ファイルサイズを超えるファイルを選択した際のシステム挙動のテスト。
- 担当者の選択、公開状態の設定、次のチケットの登録選択の動作を確認するテスト。
- 再現方法と追加情報のテキストフィールドへの長文入力と、その情報がチケット登録後に正しく反映されるかのテスト。
過去のテストは下記のとおりである。
- カテゴリーの選択、要約と詳細の入力、チケットの登録を行う基本的なフローのテスト。
- 必須フィールド未入力時のバリデーションのテスト。
- 再現性、重要度、優先度に対して不正な値を入力した際のシステム挙動のテスト。
- プラットフォーム、OS、バージョンのテキストフィールドに特殊文字を入力し、チケットが登録できるかのテスト。
- ファイル登録で添付可能な最大ファイルサイズを超えるファイルを選択した際のシステム挙動のテスト。
- 担当者の選択、公開状態の設定、次のチケットの登録選択の動作を確認するテスト。
- 再現方法と追加情報のテキストフィールドへの長文入力と、その情報がチケット登録後に正しく反映されるかのテスト。
以上が過去のテストである。
(プロンプト生成部120)
続いて、プロンプト生成部120により実行されるプロンプトの生成処理について説明する。
続いて、プロンプト生成部120により実行されるプロンプトの生成処理について説明する。
プロンプトでは、LLM30に探索的テストを実施するテスターとしての役割を与え、次のテストを設計するように指示する。また、過去のテストの更新と学習事項の更新も指示する。プロンプトの最後で出力形式を指定することで、安定して求める結果を得ることができる。出力時に、プロンプト作成において有効性が認められているChain of Thoughtsの考え方を利用し、テスト設計よりも先に次のテストのための分析を行わせることにより、有効なテスト設計が提案される確率を高めている。これは、後述する例における「## Next test case」の前に記載された「## Analysis for the next test」に対応する。
なお、出力の品質はLLMの性能に依存するが、2024年2月現在世界最高峰のLLMであるOpen AIのGPT 4を用いることで、高い精度で有効な出力を得ることができることを確認している。
以下、自動生成されるプロンプトのテンプレートの例を示す。プロンプト生成部120は、<>で囲まれた部分に、前記の5つの入力情報を与えることでプロンプトを生成する。ここでは出力言語をユーザが選択できるようにしており、ユーザが日本語を選択すると、日本語で出力する指示がプロンプトに追加される。
―――――――テンプレート――――――
You are an experienced tester and performed exploratory testing against a web application.
Please design the next test by using the recent test log, test basis, your insights, and the test guideline.
However, do not create the same test as previous tests.
Additionally, update past tests and insights with the information from the newly performed tests.
### Test Log ###
<直近のテストログ>
### Test Basis ###
<テスト対象アプリケーションの仕様>
### Past Tests ###
<過去のテスト>
### Insights ###
<学習事項>
### Test Guideline ###
<テストの指針>
######
** 指示に対して日本語で回答してください。 ただし、'##' で始まる見出しは英語のままにしてください。 **
Your output should be as follows:
## Test summary
{explanation of the test log in one sentence}
## Past tests
{update the given past test (bullet list)}
## Insights
{update the given insight (bullet list)}
## Analysis for the next test
## Next test case
What is verified in this test case:
### Test steps
{describe in brief}
### Expected results
## Rationale
―――テンプレートここまで―――
上記のテンプレートに基づいて生成されたプロンプトにより、LLM30を用いて得られる出力の例を以下に示す。ここでは、LLM30としてOpen AIのGPT-4を利用した場合の例を示す。なお、以下の例におけるWindows 10及びWindowsはいずれも登録商標である。
――――――出力の例―――――
## Test summary
再現性のプルダウンリストからデフォルト値以外を選択し、チケットにその値が反映されることを確認したテスト。
## Past tests
- カテゴリーの選択、要約と詳細の入力、チケットの登録を行う基本的なフローのテスト。
- 必須フィールド未入力時のバリデーションのテスト。
- 再現性、重要度、優先度に対して不正な値を入力した際のシステム挙動のテスト。
- プラットフォーム、OS、バージョンのテキストフィールドに特殊文字を入力し、チケットが登録できるかのテスト。
- ファイル登録で添付可能な最大ファイルサイズを超えるファイルを選択した際のシステム挙動のテスト。
- 担当者の選択、公開状態の設定、次のチケットの登録選択の動作を確認するテスト。
- 再現方法と追加情報のテキストフィールドへの長文入力と、その情報がチケット登録後に正しく反映されるかのテスト。
- 再現性のプルダウンリストからデフォルト値以外の選択肢を選び、選択した値がチケットに正しく反映されるかを検証するテスト。
## Insights
- チケット登録時の必須フィールド(カテゴリー、要約、詳細)に入力し、チケットが登録できることを確認。
- チケット登録後にチケットの検索画面へ遷移することを確認。
- 同時に複数の必須フィールドが未入力の場合でも1つずつに対してしかエラーメッセージが表示されないことを確認。
- 再現性、重要度、優先度に対して不正な値を入力してもエラーにならず、チケットが登録できてしまうバグを確認。
- プラットフォーム、OS、バージョンのフィールドに特殊文字を入力しても、システムがエラーを出さずにチケットを登録できることを確認。
- ファイル添付機能では、添付可能な最大ファイルサイズである2000KBを超えるファイルが添付できてしまうというバグを発見。
- 担当者の選択、公開/非公開のラジオボタンの選択、次のチケットのチェックボックスが機能していることを確認。
- 再現方法と追加情報のテキストフィールドに長文を入力しても、システムがエラーを出さずにチケットを登録できることを確認。
- 再現性の選択が「時々」に設定された状態でチケットが正しく登録されることを確認した。
## Analysis for the next test
次のテストでは、チケット登録画面における「重要度」と「優先度」のプルダウンリストの組み合わせによるチケット登録の挙動を検証します。また、これまでのテストでは未検証の「プラットフォーム」、「OS」、「バージョン」フィールドに対しての正常値入力と、それらがチケットに正しく反映されるかを確認します。
## Next test case
What is verified in this test case: 重要度と優先度のプルダウンリストで選択した値がチケットに反映されるか、及びプラットフォーム、OS、バージョンの入力値が正しく反映されるかを検証。
### Test steps
1. 「登録」リンクをクリックしてチケットの登録画面に遷移。
2. 「カテゴリー」を選択。
3. 「要約」と「詳細」にテキストを入力。
4. 「重要度」プルダウンリストから「マイナー」を選択。
5. 「優先度」プルダウンリストから「高」を選択。
6. 「プラットフォーム」に「Windows 10」を入力。
7. 「OS」に「Windows」を入力。
8. 「バージョン」に「1.2.3」を入力。
9. 「登録」ボタンをクリックしてチケットを登録。
10. 登録されたチケットの詳細画面で、上記の入力値が正しく反映されていることを確認。
### Expected results
- チケットが問題なく登録される。
- 登録されたチケットにおいて、重要度が「マイナー」、優先度が「高」として反映されている。
- 「プラットフォーム」には「Windows 10」、「OS」には「Windows」、「バージョン」には「1.2.3」と記載されていること。
## Rationale
重要度と優先度はバグの修正優先順位を決定する上で重要な情報であり、これらが正しく反映されるかの確認は必須です。また、プラットフォーム、OS、バージョンの情報はバグの再現性と密接に関連しており、これらのフィールドに正常値を入力した際のシステムの挙動と情報の正確な反映を検証することで、システムの信頼性を高めることができます。
――――――出力の例ここまで―――――
(更新部130)
次に、更新部130による学習事項の更新と過去のテストの更新について説明する。
―――――――テンプレート――――――
You are an experienced tester and performed exploratory testing against a web application.
Please design the next test by using the recent test log, test basis, your insights, and the test guideline.
However, do not create the same test as previous tests.
Additionally, update past tests and insights with the information from the newly performed tests.
### Test Log ###
<直近のテストログ>
### Test Basis ###
<テスト対象アプリケーションの仕様>
### Past Tests ###
<過去のテスト>
### Insights ###
<学習事項>
### Test Guideline ###
<テストの指針>
######
** 指示に対して日本語で回答してください。 ただし、'##' で始まる見出しは英語のままにしてください。 **
Your output should be as follows:
## Test summary
{explanation of the test log in one sentence}
## Past tests
{update the given past test (bullet list)}
## Insights
{update the given insight (bullet list)}
## Analysis for the next test
## Next test case
What is verified in this test case:
### Test steps
{describe in brief}
### Expected results
## Rationale
―――テンプレートここまで―――
上記のテンプレートに基づいて生成されたプロンプトにより、LLM30を用いて得られる出力の例を以下に示す。ここでは、LLM30としてOpen AIのGPT-4を利用した場合の例を示す。なお、以下の例におけるWindows 10及びWindowsはいずれも登録商標である。
――――――出力の例―――――
## Test summary
再現性のプルダウンリストからデフォルト値以外を選択し、チケットにその値が反映されることを確認したテスト。
## Past tests
- カテゴリーの選択、要約と詳細の入力、チケットの登録を行う基本的なフローのテスト。
- 必須フィールド未入力時のバリデーションのテスト。
- 再現性、重要度、優先度に対して不正な値を入力した際のシステム挙動のテスト。
- プラットフォーム、OS、バージョンのテキストフィールドに特殊文字を入力し、チケットが登録できるかのテスト。
- ファイル登録で添付可能な最大ファイルサイズを超えるファイルを選択した際のシステム挙動のテスト。
- 担当者の選択、公開状態の設定、次のチケットの登録選択の動作を確認するテスト。
- 再現方法と追加情報のテキストフィールドへの長文入力と、その情報がチケット登録後に正しく反映されるかのテスト。
- 再現性のプルダウンリストからデフォルト値以外の選択肢を選び、選択した値がチケットに正しく反映されるかを検証するテスト。
## Insights
- チケット登録時の必須フィールド(カテゴリー、要約、詳細)に入力し、チケットが登録できることを確認。
- チケット登録後にチケットの検索画面へ遷移することを確認。
- 同時に複数の必須フィールドが未入力の場合でも1つずつに対してしかエラーメッセージが表示されないことを確認。
- 再現性、重要度、優先度に対して不正な値を入力してもエラーにならず、チケットが登録できてしまうバグを確認。
- プラットフォーム、OS、バージョンのフィールドに特殊文字を入力しても、システムがエラーを出さずにチケットを登録できることを確認。
- ファイル添付機能では、添付可能な最大ファイルサイズである2000KBを超えるファイルが添付できてしまうというバグを発見。
- 担当者の選択、公開/非公開のラジオボタンの選択、次のチケットのチェックボックスが機能していることを確認。
- 再現方法と追加情報のテキストフィールドに長文を入力しても、システムがエラーを出さずにチケットを登録できることを確認。
- 再現性の選択が「時々」に設定された状態でチケットが正しく登録されることを確認した。
## Analysis for the next test
次のテストでは、チケット登録画面における「重要度」と「優先度」のプルダウンリストの組み合わせによるチケット登録の挙動を検証します。また、これまでのテストでは未検証の「プラットフォーム」、「OS」、「バージョン」フィールドに対しての正常値入力と、それらがチケットに正しく反映されるかを確認します。
## Next test case
What is verified in this test case: 重要度と優先度のプルダウンリストで選択した値がチケットに反映されるか、及びプラットフォーム、OS、バージョンの入力値が正しく反映されるかを検証。
### Test steps
1. 「登録」リンクをクリックしてチケットの登録画面に遷移。
2. 「カテゴリー」を選択。
3. 「要約」と「詳細」にテキストを入力。
4. 「重要度」プルダウンリストから「マイナー」を選択。
5. 「優先度」プルダウンリストから「高」を選択。
6. 「プラットフォーム」に「Windows 10」を入力。
7. 「OS」に「Windows」を入力。
8. 「バージョン」に「1.2.3」を入力。
9. 「登録」ボタンをクリックしてチケットを登録。
10. 登録されたチケットの詳細画面で、上記の入力値が正しく反映されていることを確認。
### Expected results
- チケットが問題なく登録される。
- 登録されたチケットにおいて、重要度が「マイナー」、優先度が「高」として反映されている。
- 「プラットフォーム」には「Windows 10」、「OS」には「Windows」、「バージョン」には「1.2.3」と記載されていること。
## Rationale
重要度と優先度はバグの修正優先順位を決定する上で重要な情報であり、これらが正しく反映されるかの確認は必須です。また、プラットフォーム、OS、バージョンの情報はバグの再現性と密接に関連しており、これらのフィールドに正常値を入力した際のシステムの挙動と情報の正確な反映を検証することで、システムの信頼性を高めることができます。
――――――出力の例ここまで―――――
(更新部130)
次に、更新部130による学習事項の更新と過去のテストの更新について説明する。
上述したLLM30からの出力では、再現性のプルダウンリストからデフォルト値以外を選択し、チケットにその値が反映されることを確認したテストが実施されたことをLLM30が認識しており、それに従って過去のテスト(Past tests)と学習事項(Insights)が更新されていることが分かる。
更新部130は、出力結果を機械的に構文解析することで、過去のテスト(Past tests)と学習事項(Insights)を抽出し、これらの情報を情報蓄積部110に反映させる。
また、上述したLLM30からの出力の例では、次のテストとして重要度と優先度のプルダウンリストで選択した値がチケットに反映されるか、及びプラットフォーム、OS、バージョンの入力値が正しく反映されるかを検証することが提案されている。
(ハードウェア構成例)
本実施の形態で説明した情報処理装置100は、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
本実施の形態で説明した情報処理装置100は、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
すなわち、情報処理装置100は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、情報処理装置100で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
図4は、上記コンピュータのハードウェア構成例を示す図である。図4のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。なお、当該コンピュータは、更にGPUを備えてもよい。
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、情報処理装置100に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
(実施の形態のまとめ、効果等)
以上説明したとおり、本実施の形態で説明した技術により、人間が探索的テストを行う場合に用いる知識や思考パターンに沿ってLLM30にテストを提案させるためのプロンプトを自動生成することができる。これにより、テスト中にボタンを押すだけでリアルタイムに有効なテスト設計を得ることができる。
以上説明したとおり、本実施の形態で説明した技術により、人間が探索的テストを行う場合に用いる知識や思考パターンに沿ってLLM30にテストを提案させるためのプロンプトを自動生成することができる。これにより、テスト中にボタンを押すだけでリアルタイムに有効なテスト設計を得ることができる。
LLM30にテストを提案させることで、初心者のテスターでも有効なテストを実施することができ、探索的テストにおけるテスト設計の属人性の問題を解消できる。また、初心者でなくても実施すべきテストの見落としの防止や、行うべきテストのヒントを得るために有用である。
また、本実施の形態に係る技術により、手動又は自動で蓄積した5種類の情報を用いて自動でプロンプトを生成することで、プロンプト作成の手間を無くすことができる。
また、本実施の形態に係る技術により、記録したテストのログやテスターの報告から、LLM30を用いて知識を抽出し、順次更新していくことで、蓄積した知識を次のテストの提案に活用することができる。
以上の実施形態に関し、更に以下の付記1、付記2を開示する。
<付記1>
(付記項1)
言語モデルにアプリケーションのテスト設計を行わせるためのプロンプトを生成する情報処理装置であって、
前記アプリケーションのテストに関連する情報であるテスト関連情報を蓄積する情報蓄積部から、前記テスト関連情報を読み出し、前記テスト関連情報を用いて前記プロンプトを生成するプロンプト生成部
を備える情報処理装置。
(付記項2)
前記テスト関連情報は、前記アプリケーションの仕様、前記アプリケーションに対するテストの指針、前記アプリケーションに対する直近のテストログ、前記アプリケーションのテストに関する学習事項、及び、前記アプリケーションに対する過去のテストのうちの少なくとも1つを含む
付記項1に記載の情報処理装置。
(付記項3)
前記プロンプト生成部は、前記テスト関連情報をテンプレートにあてはめることにより前記プロンプトを生成する
付記項1又は2に記載の情報処理装置。
(付記項4)
前記プロンプトには、次のテストの分析を行うことの指示と、当該指示の後に記載される次のテストを設計することの指示とが含まれる
付記項1ないし3のうちいずれか1項に記載の情報処理装置。
(付記項5)
前記プロンプトには、前記アプリケーションのテストに関する学習事項と、前記アプリケーションに対する過去のテストと、前記学習事項を更新することの指示と、前記過去のテストを更新することの指示が含まれる
付記項1ないし4のうちいずれか1項に記載の情報処理装置。
(付記項6)
言語モデルにアプリケーションのテスト設計を行わせるためのプロンプトを生成する情報処理装置が実行するプロンプト生成方法であって、
前記アプリケーションのテストに関連する情報であるテスト関連情報を蓄積する情報蓄積部から、前記テスト関連情報を読み出し、前記テスト関連情報を用いて前記プロンプトを生成するステップ
を備えるプロンプト生成方法。
(付記項7)
コンピュータを、付記項1ないし5のうちいずれか1項に記載の情報処理装置におけるプロンプト生成部として機能させるためのプログラムを記憶した非一時的記憶媒体。
(付記項1)
言語モデルにアプリケーションのテスト設計を行わせるためのプロンプトを生成する情報処理装置であって、
前記アプリケーションのテストに関連する情報であるテスト関連情報を蓄積する情報蓄積部から、前記テスト関連情報を読み出し、前記テスト関連情報を用いて前記プロンプトを生成するプロンプト生成部
を備える情報処理装置。
(付記項2)
前記テスト関連情報は、前記アプリケーションの仕様、前記アプリケーションに対するテストの指針、前記アプリケーションに対する直近のテストログ、前記アプリケーションのテストに関する学習事項、及び、前記アプリケーションに対する過去のテストのうちの少なくとも1つを含む
付記項1に記載の情報処理装置。
(付記項3)
前記プロンプト生成部は、前記テスト関連情報をテンプレートにあてはめることにより前記プロンプトを生成する
付記項1又は2に記載の情報処理装置。
(付記項4)
前記プロンプトには、次のテストの分析を行うことの指示と、当該指示の後に記載される次のテストを設計することの指示とが含まれる
付記項1ないし3のうちいずれか1項に記載の情報処理装置。
(付記項5)
前記プロンプトには、前記アプリケーションのテストに関する学習事項と、前記アプリケーションに対する過去のテストと、前記学習事項を更新することの指示と、前記過去のテストを更新することの指示が含まれる
付記項1ないし4のうちいずれか1項に記載の情報処理装置。
(付記項6)
言語モデルにアプリケーションのテスト設計を行わせるためのプロンプトを生成する情報処理装置が実行するプロンプト生成方法であって、
前記アプリケーションのテストに関連する情報であるテスト関連情報を蓄積する情報蓄積部から、前記テスト関連情報を読み出し、前記テスト関連情報を用いて前記プロンプトを生成するステップ
を備えるプロンプト生成方法。
(付記項7)
コンピュータを、付記項1ないし5のうちいずれか1項に記載の情報処理装置におけるプロンプト生成部として機能させるためのプログラムを記憶した非一時的記憶媒体。
<付記2>
(付記項1)
アプリケーションのテスト設計を行うことを指示するプロンプトを生成するために使用される、情報蓄積部に蓄積される情報を更新する情報処理装置であって、
前記プロンプトが入力された言語モデルから出力されるテキストを取得し、前記テキストから、前記アプリケーションのテストに関連する情報であるテスト関連情報を抽出し、前記テスト関連情報を用いて、前記情報蓄積部に蓄積される前記情報を更新する更新部
を備える情報処理装置。
(付記項2)
前記プロンプトには、前記テスト設計を行うことの指示と、更新前の前記テスト関連情報と、前記テスト関連情報を更新することの指示が含まれ、前記テキストには、更新後の前記テスト関連情報が含まれる
付記項1に記載の情報処理装置。
(付記項3)
前記テスト関連情報は、前記アプリケーションのテストに関する学習事項と前記アプリケーションに対する過去のテストとのうちの少なくとも1つである
付記項1又は2に記載の情報処理装置。
(付記項4)
前記プロンプトには、前記テスト関連情報に加えて、前記アプリケーションの仕様、前記アプリケーションに対するテストの指針、及び、前記アプリケーションに対する直近のテストログのうちの少なくとも1つが含まれる
付記項1ないし3のうちいずれか1項に記載の情報処理装置。
(付記項5)
アプリケーションのテスト設計を行うことを指示するプロンプトを生成するために使用される、情報蓄積部に蓄積される情報を更新する情報処理装置が実行する更新方法であって、
前記プロンプトが入力された言語モデルから出力されるテキストを取得し、前記テキストから、前記アプリケーションのテストに関連する情報であるテスト関連情報を抽出し、前記テスト関連情報を用いて、前記情報蓄積部に蓄積される前記情報を更新するステップ
を備える更新方法。
(付記項6)
コンピュータを、付記項1ないし4のうちいずれか1項に記載の情報処理装置における更新部として機能させるためのプログラムを記憶した非一時的記憶媒体。
(付記項1)
アプリケーションのテスト設計を行うことを指示するプロンプトを生成するために使用される、情報蓄積部に蓄積される情報を更新する情報処理装置であって、
前記プロンプトが入力された言語モデルから出力されるテキストを取得し、前記テキストから、前記アプリケーションのテストに関連する情報であるテスト関連情報を抽出し、前記テスト関連情報を用いて、前記情報蓄積部に蓄積される前記情報を更新する更新部
を備える情報処理装置。
(付記項2)
前記プロンプトには、前記テスト設計を行うことの指示と、更新前の前記テスト関連情報と、前記テスト関連情報を更新することの指示が含まれ、前記テキストには、更新後の前記テスト関連情報が含まれる
付記項1に記載の情報処理装置。
(付記項3)
前記テスト関連情報は、前記アプリケーションのテストに関する学習事項と前記アプリケーションに対する過去のテストとのうちの少なくとも1つである
付記項1又は2に記載の情報処理装置。
(付記項4)
前記プロンプトには、前記テスト関連情報に加えて、前記アプリケーションの仕様、前記アプリケーションに対するテストの指針、及び、前記アプリケーションに対する直近のテストログのうちの少なくとも1つが含まれる
付記項1ないし3のうちいずれか1項に記載の情報処理装置。
(付記項5)
アプリケーションのテスト設計を行うことを指示するプロンプトを生成するために使用される、情報蓄積部に蓄積される情報を更新する情報処理装置が実行する更新方法であって、
前記プロンプトが入力された言語モデルから出力されるテキストを取得し、前記テキストから、前記アプリケーションのテストに関連する情報であるテスト関連情報を抽出し、前記テスト関連情報を用いて、前記情報蓄積部に蓄積される前記情報を更新するステップ
を備える更新方法。
(付記項6)
コンピュータを、付記項1ないし4のうちいずれか1項に記載の情報処理装置における更新部として機能させるためのプログラムを記憶した非一時的記憶媒体。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 ユーザ端末
20 テストログ記録ツール
30 LLM
100 情報処理装置
110 情報蓄積部
120 プロンプト生成部
130 更新部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
20 テストログ記録ツール
30 LLM
100 情報処理装置
110 情報蓄積部
120 プロンプト生成部
130 更新部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
Claims (6)
- アプリケーションのテスト設計を行うことを指示するプロンプトを生成するために使用される、情報蓄積部に蓄積される情報を更新する情報処理装置であって、
前記プロンプトが入力された言語モデルから出力されるテキストを取得し、前記テキストから、前記アプリケーションのテストに関連する情報であるテスト関連情報を抽出し、前記テスト関連情報を用いて、前記情報蓄積部に蓄積される前記情報を更新する更新部
を備える情報処理装置。 - 前記プロンプトには、前記テスト設計を行うことの指示と、更新前の前記テスト関連情報と、前記テスト関連情報を更新することの指示が含まれ、前記テキストには、更新後の前記テスト関連情報が含まれる
請求項1に記載の情報処理装置。 - 前記テスト関連情報は、前記アプリケーションのテストに関する学習事項と前記アプリケーションに対する過去のテストとのうちの少なくとも1つである
請求項1に記載の情報処理装置。 - 前記プロンプトには、前記テスト関連情報に加えて、前記アプリケーションの仕様、前記アプリケーションに対するテストの指針、及び、前記アプリケーションに対する直近のテストログのうちの少なくとも1つが含まれる
請求項1に記載の情報処理装置。 - アプリケーションのテスト設計を行うことを指示するプロンプトを生成するために使用される、情報蓄積部に蓄積される情報を更新する情報処理装置が実行する更新方法であって、
前記プロンプトが入力された言語モデルから出力されるテキストを取得し、前記テキストから、前記アプリケーションのテストに関連する情報であるテスト関連情報を抽出し、前記テスト関連情報を用いて、前記情報蓄積部に蓄積される前記情報を更新するステップ
を備える更新方法。 - コンピュータを、請求項1ないし4のうちいずれか1項に記載の情報処理装置における更新部として機能させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/010498 WO2025196876A1 (ja) | 2024-03-18 | 2024-03-18 | 情報処理装置、更新方法、及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2024/010498 WO2025196876A1 (ja) | 2024-03-18 | 2024-03-18 | 情報処理装置、更新方法、及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025196876A1 true WO2025196876A1 (ja) | 2025-09-25 |
Family
ID=97138758
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2024/010498 Pending WO2025196876A1 (ja) | 2024-03-18 | 2024-03-18 | 情報処理装置、更新方法、及びプログラム |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025196876A1 (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023120879A (ja) * | 2022-02-18 | 2023-08-30 | 株式会社日立製作所 | テストケース作成支援装置および仕様書作成支援装置 |
| CN117331831A (zh) * | 2023-10-08 | 2024-01-02 | 杭州龙测科技有限公司 | 一种ui功能自动化测试工具及方法 |
-
2024
- 2024-03-18 WO PCT/JP2024/010498 patent/WO2025196876A1/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023120879A (ja) * | 2022-02-18 | 2023-08-30 | 株式会社日立製作所 | テストケース作成支援装置および仕様書作成支援装置 |
| CN117331831A (zh) * | 2023-10-08 | 2024-01-02 | 杭州龙测科技有限公司 | 一种ui功能自动化测试工具及方法 |
Non-Patent Citations (2)
| Title |
|---|
| FUKUDA, TAKASABURO; NAKAGAWA, TAKAO; MIYAZAKI, KEISUKE; TOKUMOTO, SUSUMU: "Development of Automated Software Design Document Review Methods Using Large Language Models", IPSJ SIG TECHNICAL REPORT. SOFTWARE ENGINEERING (SE), vol. 2023-SE-215, no. 7, 28 November 2023 (2023-11-28), pages 1 - 8, XP009565701, ISSN: 2188-8825 * |
| ZHE LIU; CHUNYANG CHEN; JUNJIE WANG; MENGZHUO CHEN; BOYU WU; XING CHE; DANDAN WANG; QING WANG: "Testing the Limits: Unusual Text Inputs Generation for Mobile App Crash Detection with Large Language Model", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 24 October 2023 (2023-10-24), 201 Olin Library Cornell University Ithaca, NY 14853, XP091643095 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110018955B (zh) | 通过转换手动测试用例来生成自动化测试脚本 | |
| CN111061526B (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
| CN109902016B (zh) | 一种Web的测试方法及测试平台 | |
| US20230195825A1 (en) | Browser extension with automation testing support | |
| US7793262B2 (en) | Method and apparatus for facilitating software testing and report generation with interactive graphical user interface | |
| Uzun et al. | Model-driven architecture based testing: A systematic literature review | |
| Pan et al. | Aster: Natural and multi-language unit test generation with llms | |
| US20250103471A1 (en) | Automation of software test case generation and implementation | |
| US11615016B2 (en) | System and method for executing a test case | |
| CN111782117A (zh) | 界面的展示方法和装置、存储介质、电子装置 | |
| CN116016270A (zh) | 一种交换机测试管理方法、装置、电子设备和存储介质 | |
| CN103955429A (zh) | 确定回归测试范围的方法及装置 | |
| CN119576779A (zh) | 软件测试方法、装置、可读存储介质及程序产品 | |
| CN104111852A (zh) | 一种基于数据驱动的Web应用自动化测试系统及测试方法 | |
| CN119046132A (zh) | 测试案例生成方法、装置、存储介质及计算机设备 | |
| US7895575B2 (en) | Apparatus and method for generating test driver | |
| Arya et al. | Keyword driven automated testing framework for web application | |
| Karagöz et al. | Reproducing failures based on semiformal failure scenario descriptions | |
| CN111522752B (zh) | 程序测试方法、程序测试装置、存储介质和电子设备 | |
| CN114327416A (zh) | 应用于开发分支的接口同步方法、装置及电子设备 | |
| WO2025196875A1 (ja) | 情報処理装置、プロンプト生成方法、及びプログラム | |
| CN113742240A (zh) | 用户界面测试方法、装置、存储介质和电子设备 | |
| JP2008293382A (ja) | テスト仕様自動生成方式 | |
| CN118672925A (zh) | 单元测试代码的生成方法、装置、电子设备和存储介质 | |
| Smith et al. | State of the practice for GIS software |
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: 24930972 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2026508027 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2026508027 Country of ref document: JP |