system

The system automates software testing through an analysis, generation, and reporting unit to enhance development speed and resource efficiency by reducing manual testing burdens.

JP2026108441APending Publication Date: 2026-06-30SOFTBANK GROUP CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SOFTBANK GROUP CORP
Filing Date
2024-12-18
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

The conventional software testing process is often performed manually, which hampers development speed and inefficiently utilizes human resources.

Method used

A system comprising an analysis unit, generation unit, and reporting unit automates the software testing process by analyzing software specifications and code, generating and executing test cases, and reporting results, utilizing AI for enhanced efficiency.

Benefits of technology

The system automates software testing, improving development speed and allowing human resources to focus on creative tasks by reducing the testing burden.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026108441000001_ABST
    Figure 2026108441000001_ABST
Patent Text Reader

Abstract

The system according to this embodiment aims to automate the software testing process and improve development speed. [Solution] The system according to the embodiment comprises an analysis unit, a generation unit, an execution unit, and a reporting unit. The analysis unit analyzes the software specifications and code. The generation unit generates test cases based on the information collected by the analysis unit. The execution unit executes the test cases generated by the generation unit. The reporting unit reports the results obtained by the execution unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The technology of the present disclosure relates to a system.

Background Art

[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the conventional technology, the software testing process is often performed manually, which poses problems in improving the development speed and efficiently utilizing human resources.

[0005] The system according to the embodiment aims to automate the software testing process and improve the development speed.

Means for Solving the Problems

[0006] The system according to this embodiment comprises an analysis unit, a generation unit, an execution unit, and a reporting unit. The analysis unit analyzes the software specifications and code. The generation unit generates test cases based on the information collected by the analysis unit. The execution unit executes the test cases generated by the generation unit. The reporting unit reports the results obtained by the execution unit. [Effects of the Invention]

[0007] The system according to this embodiment can automate the software testing process and improve development speed. [Brief explanation of the drawing]

[0008] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Modes for carrying out the invention]

[0009] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.

[0010] First, let's explain the terminology used in the following explanation.

[0011] In the following embodiments, the signed processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Furthermore, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), APU (Accelerated Processing Unit), or TPU (Tensor Processing Unit).

[0012] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.

[0013] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.

[0014] In the following embodiments, the labeled communication I / F (Interface) is an interface including a communication processor, an antenna, and the like. The communication I / F manages communication between a plurality of computers. Examples of communication standards applied to the communication I / F include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).

[0015] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B". That is, "A and / or B" means that it may be only A, only B, or a combination of A and B. Also, in this specification, when expressing three or more matters connected by "and / or", the same concept as "A and / or B" is applied.

[0016] [First Embodiment] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0017] As shown in FIG. 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0018] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. Also, the database 24 and the communication I / F 26 are connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0019] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.

[0020] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, and accepts user input. The touch panel 38A accepts user input via touch by detecting contact with an object (e.g., a pen or finger). The microphone 38B accepts user input via voice by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 (see Figure 2) acquires the data indicating the user input.

[0021] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user by outputting the data in a form perceptible to the user (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0022] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.

[0023] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0024] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.

[0025] Storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.

[0026] In the smart device 14, specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The specific processing program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as a control unit 46A according to the specific processing program 60 executed on the RAM 48. The smart device 14 also has a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.

[0027] Furthermore, other devices besides the data processing device 12 may also have the data generation model 58. For example, a server device (e.g., a generation server) may have the data generation model 58. In this case, the data processing device 12 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device having the data generation model 58. The data processing device 12 may also be a server device or a terminal device owned by a user (e.g., a mobile phone, robot, home appliance, etc.). Next, an example of processing by the data processing system 10 according to the first embodiment will be described.

[0028] (Example of form 1) The test automation system according to an embodiment of the present invention is a system that automates the generation and execution of test cases using an AI agent in order to reduce the burden of the testing process faced by software developers. This test automation system analyzes the software specifications and code, generates test cases, executes the generated test cases, and reports the results, thereby improving development speed and allowing human resources to be concentrated on more creative tasks. For example, in the test automation system, the AI ​​agent analyzes the software specifications and code. For example, it analyzes the functional requirements and code structure of the software and collects information for generating test cases. Next, based on the collected information, the AI ​​agent generates test cases. For example, it generates input data and expected output data for testing a specific function. The generated test cases are executed by the AI ​​agent. For example, it tests each function of the software according to the generated test cases and compares the actual output with the expected output. The test results are reported by the AI ​​agent. For example, it reports information such as whether the test was successful or failed and where errors occurred. This system allows software developers to reduce the burden of the testing process and improve development speed. In addition, it improves overall productivity by allowing human resources to be concentrated on more creative tasks. For example, developers can focus on designing and implementing new features, reducing the time spent on the testing process. This allows test automation systems to automate the software testing process and improve development speed.

[0029] The test automation system according to the embodiment comprises an analysis unit, a generation unit, an execution unit, and a reporting unit. The analysis unit analyzes the software specifications and code. For example, the analysis unit analyzes the functional requirements and code structure of the software and collects information for generating test cases. The analysis unit can perform analysis using methods such as static analysis, dynamic analysis, and code review. The generation unit generates test cases based on the information collected by the analysis unit. For example, the generation unit generates input data and expected output data for testing specific functions. The generation unit clarifies the content and generation method of the test cases and performs generation considering the format and scope of input data, data sources, etc. The execution unit executes the test cases generated by the generation unit. For example, the execution unit tests each function of the software according to the generated test cases and compares the actual output with the expected output. The execution unit executes the tests considering the test environment, execution order, execution conditions, etc. The reporting unit reports the results obtained by the execution unit. For example, the reporting unit reports information such as whether the test was successful or failed and where errors occurred. The reporting unit generates reports that include success / failure criteria, error messages, and statistical information. This allows the test automation system according to the embodiment to automate the software testing process and improve development speed.

[0030] The analysis unit analyzes the software specifications and code. For example, the analysis unit analyzes the software's functional requirements and code structure, and collects information to generate test cases. Specifically, the analysis unit utilizes both static and dynamic analysis to gain a detailed understanding of the software's internal structure and operation. Static analysis detects code syntax, dependencies, and potential bugs without executing the source code. This involves using code linting tools and static analysis tools to identify code quality and security issues. Dynamic analysis involves actually running the software and monitoring its runtime behavior and performance. This allows for the identification of potential bugs and performance bottlenecks that may occur during execution. Furthermore, the analysis unit conducts code reviews to check the quality and consistency of the code written by developers. In code reviews, multiple developers review the code and point out areas for improvement and problems. This improves code quality and allows for the collection of accurate information for test case generation. Based on these analysis results, the analysis unit organizes the information necessary for test case generation and provides it to the generation unit. In this way, the analysis unit contributes to improving software quality and streamlining the testing process.

[0031] The generation unit generates test cases based on information collected by the analysis unit. For example, the generation unit generates input data and expected output data for testing specific functions. Specifically, the generation unit clarifies the content and generation method of the test cases, and generates them considering the format, scope, and data source of the input data. First, the generation unit identifies the functions and scenarios to be tested based on the information provided by the analysis unit. Next, it designs appropriate test cases for each function and defines the input data and expected output data. The input data is designed to cover a variety of patterns, assuming actual usage. For example, boundary value analysis and equivalence partitioning are used to efficiently cover the range and combinations of input data. The expected output data is precisely defined based on specifications and design documents and serves as the criterion for judging test results. The generation unit uses scripts and templates to automatically generate these test cases. Scripts automate the test case generation process, minimizing manual work. Templates provide a common test case format and serve as a foundation for generating consistent test cases. The generation unit manages the generated test cases and modifies or adds to them as needed. This allows the generation unit to efficiently and accurately generate test cases, improving the quality and speed of the testing process.

[0032] The execution unit executes the test cases generated by the generation unit. For example, the execution unit tests each function of the software according to the generated test cases and compares the actual output with the expected output. Specifically, the execution unit performs the tests considering the test environment, execution order, and execution conditions. First, the execution unit builds the test environment and places the software under test in it. The test environment is important for reproducing conditions close to the actual operating environment and increasing the reliability of the test results. Next, it executes the generated test cases sequentially and records the results of each test case. The execution unit optimizes the execution order of the test cases and proceeds with the tests efficiently by considering dependencies and priorities. The execution unit appropriately handles errors and exceptions that occur during the execution of test cases to prevent test interruptions. The execution unit also has a function to monitor the test results in real time and immediately notify if an anomaly is detected. This allows for constant monitoring of the test progress and rapid response. The execution unit analyzes the test results and compares the actual output with the expected output. Based on the comparison results, it determines whether the test was successful or failed and generates a detailed report. This enables the execution unit to automate and streamline the testing process, contributing to improved software quality.

[0033] The reporting unit reports the results obtained by the execution unit. For example, the reporting unit reports information such as whether the test was successful or failed, and where errors occurred. Specifically, the reporting unit generates a report that includes success / failure criteria, error messages, and statistical information. First, the reporting unit collects the test results provided by the execution unit and organizes the results for each test case. Next, based on the test results, it applies success / failure criteria to determine the status of each test case. For successful test cases, detailed execution logs and output data are recorded and saved as reference material for the future. For failed test cases, detailed information such as error messages, location of occurrence, and information useful for identifying the cause is recorded. Based on this information, the reporting unit generates a report that includes an overview and details of the test results. The report includes statistical information such as the success rate and failure rate of the tests, the frequency and trends of errors, and the execution time for each test case. Furthermore, the reporting unit can use graphs and charts to visually display the test results in an easy-to-understand manner. This allows for a quick grasp of the overall picture of the test results and clarifies problems and areas for improvement. The reporting department provides the generated reports to development teams and managers, facilitating the sharing and feedback of test results. This allows the reporting department to improve the transparency and reliability of the testing process and contribute to software quality management.

[0034] The analysis unit can analyze the functional requirements and code structure of the software. For example, the analysis unit can analyze the functional requirements of the software and collect information necessary for generating test cases. The analysis unit can analyze user stories, use cases, functional specifications, etc. The analysis unit can also analyze the code structure and collect information necessary for generating test cases. The analysis unit can analyze class diagrams, sequence diagrams, dependencies, etc. By doing so, it can collect information necessary for generating test cases by analyzing the functional requirements and code structure of the software. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input the functional requirements and code structure of the software into AI and have the AI ​​output the analysis results.

[0035] The generation unit can generate input data and expected output data for testing specific functions. For example, the generation unit can generate input data for testing specific functions. The generation unit can generate input data considering data format, data range, data source, etc. The generation unit can also generate expected output data for testing specific functions. The generation unit can generate expected output data considering output format, output conditions, output examples, etc. This improves the accuracy of test cases by generating input data and expected output data for testing specific functions. Some or all of the above processing in the generation unit may be performed using AI, for example, or without AI. For example, the generation unit can input input data and expected output data for testing specific functions into AI and have the AI ​​output the generation results.

[0036] The execution unit can test each function of the software according to the generated test cases and compare the actual output with the expected output. For example, the execution unit can test each function of the software according to the generated test cases. The execution unit can execute the tests considering the test environment, execution order, execution conditions, etc. The execution unit can also compare the actual output with the expected output. The execution unit can obtain the actual output based on log files, console output, database values, etc., and compare it with the expected output. This improves the accuracy of the tests by testing each function of the software according to the generated test cases and comparing the actual output with the expected output. Some or all of the above processing in the execution unit may be performed using AI, for example, or without AI. For example, the execution unit can input the generated test cases into AI and have the AI ​​output the test results.

[0037] The reporting unit can report information such as whether the test was successful or failed, and where errors occurred. For example, the reporting unit can report whether the test was successful or failed. The reporting unit can generate a report that includes success / failure criteria, error messages, and statistical information. The reporting unit can also report where errors occurred. The reporting unit can identify and report the part where the error occurred based on stack traces, error logs, debugging information, etc. This makes it easier to understand the test results by reporting information such as whether the test was successful or failed and where errors occurred. Some or all of the above processing in the reporting unit may be performed using AI, for example, or not using AI. For example, the reporting unit can input test results into AI and have the AI ​​output a report.

[0038] The analysis unit can refer to the software's past version history and focus its analysis on changes. For example, the analysis unit can analyze the differences between the latest version and the previous version to identify changes. The analysis unit can focus its analysis on the code sections related to the changes and assess the risk of bug occurrence. The analysis unit can also collect information necessary for generating test cases based on the changes. This allows for the assessment of bug occurrence risk by referring to the software's past version history and focusing its analysis on changes. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input the software's past version history into AI and have AI output the results of the change analysis.

[0039] The analysis unit can collect software usage data and determine the focus of the analysis based on actual usage frequency. For example, the analysis unit can prioritize the analysis of frequently used functions and evaluate the parts that are important to the user. For less frequently used functions, the analysis unit can perform a simplified analysis to maintain an overall balance. The analysis unit can also customize the analysis results for specific user groups based on the usage data. This allows for a focused evaluation of parts that are important to the user by collecting software usage data and determining the focus of the analysis based on actual usage frequency. Some or all of the above processing in the analysis unit may be performed using AI, for example, or not. For example, the analysis unit can input software usage data into AI and have the AI ​​output the focus of the analysis.

[0040] The analysis unit can customize its analysis approach based on the attribute information of the software developer. For example, the analysis unit can adjust the level of detail of the analysis according to the developer's years of experience. The analysis unit can perform analyses that focus on specific functions based on the developer's area of ​​expertise. The analysis unit can also determine the priority of the analysis by referring to the developer's past project history. This allows for analyses that are suitable for the developer by customizing the analysis approach based on the attribute information of the software developer. Some or all of the above processes in the analysis unit may be performed using AI, for example, or not. For example, the analysis unit can input the developer's attribute information into AI and have the AI ​​output an analysis approach.

[0041] The analysis unit can analyze the relevant software documentation and integrate it with the code analysis results. For example, the analysis unit can analyze the software specifications and compare them with the code analysis results. The analysis unit can analyze developer comments and documentation to understand the intent of the code. Furthermore, the analysis unit can supplement the analysis results based on the relevant documentation to provide more accurate information. In this way, more accurate information can be provided by analyzing the relevant software documentation and integrating it with the code analysis results. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input the relevant software documentation into AI and have the AI ​​output the analysis results.

[0042] The generation unit can apply different test case generation algorithms to each function of the software. For example, the generation unit can apply a detailed test case generation algorithm to major functions, and a simplified test case generation algorithm to auxiliary functions. Furthermore, the generation unit can apply a customized test case generation algorithm to specific functions. This improves the accuracy of test cases by applying different test case generation algorithms to each function of the software. Some or all of the above-described processes in the generation unit may be performed using AI, or not. For example, the generation unit can input different test case generation algorithms for each function of the software into the AI ​​and have the AI ​​output the generation results.

[0043] The generation unit can improve the accuracy of test case generation by referring to past test results. For example, the generation unit can adjust the test case generation algorithm based on past test results. The generation unit can generate test cases that reproduce specific bugs from past test results. The generation unit can also analyze past test results and improve test case coverage. As a result, test case coverage is improved by improving the accuracy of test case generation by referring to past test results. Some or all of the above processes in the generation unit may be performed using AI, for example, or without AI. For example, the generation unit can input past test results into AI and have AI output the generation results.

[0044] The generation unit can generate test cases based on the software's operating environment. For example, the generation unit can generate test cases according to the platform on which the software operates. The generation unit can generate test cases under specific conditions based on the software's operating environment. The generation unit can also simulate the software's operating environment and generate realistic test cases. This allows for the generation of realistic test cases by generating them based on the software's operating environment. Some or all of the above-described processes in the generation unit may be performed using AI, for example, or without AI. For example, the generation unit can input software operating environment data into AI and have the AI ​​output the results of generating test cases.

[0045] The generation unit can improve the accuracy of test case generation by referring to the relevant modules of the software. For example, the generation unit can analyze the interfaces of the relevant modules and generate test cases. The generation unit can generate test cases considering the dependencies of the relevant modules. Furthermore, the generation unit can simulate the operation of the relevant modules to improve the accuracy of the test cases. As a result, the accuracy of the test cases is improved by referring to the relevant modules of the software during test case generation. Some or all of the above processes in the generation unit may be performed using AI, for example, or without AI. For example, the generation unit can input the relevant module data of the software into the AI ​​and have the AI ​​output the results of generating test cases.

[0046] The execution unit monitors the software's resource usage during test execution and can execute tests at the optimal time. For example, the execution unit can monitor the software's CPU usage and execute tests when resources are available. The execution unit can also monitor the software's memory usage and execute tests at the optimal time. Furthermore, the execution unit can monitor the software's network usage and execute tests when the network is available. This allows for efficient use of resources by monitoring the software's resource usage and executing tests at the optimal time. Some or all of the above processes in the execution unit may be performed using AI, for example, or without AI. For example, the execution unit can input software resource usage data into AI and have AI output the optimal timing.

[0047] The execution unit can improve the accuracy of test execution by referring to past execution results during test execution. For example, the execution unit can optimize the order of test execution based on past test execution results. The execution unit can prioritize the execution of tests that reproduce specific bugs based on past test execution results. The execution unit can also analyze past test execution results and improve test coverage. As a result, the accuracy of test execution is improved by improving the accuracy of execution by referring to past execution results during test execution. Some or all of the above processes in the execution unit may be performed using AI, for example, or without AI. For example, the execution unit can input past test execution result data into AI and have the AI ​​output the accuracy of the execution.

[0048] The execution unit can perform tests while considering the software's operating environment. For example, the execution unit can perform tests according to the platform on which the software operates. The execution unit can perform tests under specific conditions based on the software's operating environment. The execution unit can also simulate the software's operating environment and perform realistic tests. This makes realistic testing possible by performing tests while considering the software's operating environment. Some or all of the above processes in the execution unit may be performed using AI, for example, or without AI. For example, the execution unit can input software operating environment data into AI and have the AI ​​output the test execution results.

[0049] The execution unit can improve the accuracy of execution by referring to relevant modules of the software during test execution. For example, the execution unit can analyze the interface of relevant modules and execute tests. The execution unit can execute tests while considering the dependencies of relevant modules. The execution unit can also improve the accuracy of tests by simulating the operation of relevant modules. As a result, the accuracy of tests is improved by improving the accuracy of execution by referring to relevant modules of the software during test execution. Some or all of the above processing in the execution unit may be performed using AI, for example, or without AI. For example, the execution unit can input relevant module data of the software into AI and have the AI ​​output the results of the test execution.

[0050] The reporting unit can adjust the level of detail in a report based on the importance of the test results when generating the report. For example, the reporting unit can provide a detailed report for high-importance test results, and a simplified report for low-importance test results. The reporting unit can also customize the content of the report according to the importance of the test results. This allows for the priority provision of important information by adjusting the level of detail in the report based on the importance of the test results. Some or all of the above processing in the reporting unit may be performed using AI, for example, or without AI. For example, the reporting unit can input test result importance data into AI and have the AI ​​output the level of detail in the report.

[0051] The reporting unit can improve the accuracy of reports by referring to past report data when generating reports. For example, the reporting unit can optimize the report format based on past report data. The reporting unit can supplement information about specific bugs from past report data. The reporting unit can also analyze past report data and enrich the content of reports. As a result, the accuracy of reports is improved by referring to past report data when generating reports. Some or all of the above processes in the reporting unit may be performed using AI, for example, or without AI. For example, the reporting unit can input past report data into AI and have the AI ​​output the accuracy of the report.

[0052] The reporting unit can generate reports while considering the software's usage environment. For example, the reporting unit can generate reports depending on the platform on which the software operates. The reporting unit can generate reports under specific conditions based on the software's usage environment. Furthermore, the reporting unit can simulate the software's usage environment and generate realistic reports. This ensures that realistic reports are provided by considering the software's usage environment. Some or all of the above-described processes in the reporting unit may be performed using AI, for example, or without AI. For example, the reporting unit can input software usage environment data into AI and have the AI ​​output the report generation results.

[0053] The reporting unit can improve the accuracy of reports by referring to relevant software documentation during report generation. For example, the reporting unit can refer to software specifications to supplement the report content. The reporting unit can also refer to developer comments and documentation to improve the report accuracy. Furthermore, the reporting unit can enrich the report content based on relevant documentation. As a result, generating reports by referring to relevant software documentation improves the accuracy of the reports. Some or all of the above processes in the reporting unit may be performed using AI, for example, or without AI. For example, the reporting unit can input relevant software documentation data into AI and have the AI ​​output the report generation results.

[0054] The system according to the embodiment is not limited to the example described above, and various modifications are possible, for example, as follows.

[0055] The analysis unit can analyze not only the software code but also user operation logs. For example, it can analyze which functions users use frequently and which operations cause errors, and reflect this in the generation of test cases. This allows for the generation of test cases based on actual usage, improving the accuracy of the tests. Furthermore, the analysis unit can generate test cases for specific operation sequences based on user operation logs. This enables testing based on user operation patterns.

[0056] The generation unit can consider the software's security requirements when generating test cases. For example, it can generate test cases to detect vulnerabilities based on security requirements, thereby reducing security risks. The generation unit can also generate test cases for specific attack scenarios based on security requirements, improving the accuracy of security testing. Furthermore, the generation unit can prioritize test cases based on security requirements.

[0057] The execution unit can monitor software performance during test execution. For example, it can monitor CPU usage and memory usage during test execution to identify performance bottlenecks. This allows for early detection and improvement of performance issues. The execution unit can also execute test cases based on specific performance requirements, verifying whether those requirements are met. Furthermore, the execution unit can optimize the execution order of test cases based on performance data.

[0058] The reporting section can provide dashboards for visualizing test results. For example, it can display test success rates and error locations in graphs and charts. This allows for an intuitive understanding of test results. The reporting section can also update test results in real time. This allows for real-time monitoring of test progress. Furthermore, the reporting section can filter and display test results. This makes it easy to check test results based on specific conditions.

[0059] The analysis unit can analyze not only the software code but also related documentation and specifications. For example, it can analyze the requirements described in the specifications and verify their consistency with the code. This allows for the early detection of missing requirements or specification violations. The analysis unit can also analyze developer comments described in the documentation to understand the intent behind the code. This enables the generation of test cases based on the intent behind the code. Furthermore, the analysis unit can analyze the change history of the documentation and generate test cases based on the changes.

[0060] The test generation unit can consider software dependencies when generating test cases. For example, if a particular module depends on other modules, it can generate test cases that take these dependencies into account. This enables dependency-based testing, improving test accuracy. The generation unit can also optimize the execution order of test cases based on dependencies, enabling efficient test execution. Furthermore, the generation unit can generate test cases under specific conditions based on dependencies.

[0061] The following briefly describes the processing flow for example form 1.

[0062] Step 1: The analysis unit analyzes the software specifications and code. For example, the analysis unit analyzes the software's functional requirements and code structure, and collects information to generate test cases. The analysis unit can perform the analysis using methods such as static analysis, dynamic analysis, and code review. Step 2: The generation unit generates test cases based on the information collected by the analysis unit. For example, the generation unit generates input data and expected output data for testing specific functions. The generation unit clarifies the content and generation method of the test cases and generates them considering the format and scope of the input data, data sources, etc. Step 3: The execution unit executes the test cases generated by the generation unit. For example, the execution unit tests each function of the software according to the generated test cases and compares the actual output with the expected output. The execution unit performs the tests taking into account the test environment, execution order, execution conditions, etc. Step 4: The reporting unit reports the results obtained by the execution unit. The reporting unit reports information such as whether the test was successful or failed, and where errors occurred. The reporting unit generates a report that includes success / failure criteria, error messages, and statistical information.

[0063] (Example of form 2) The test automation system according to an embodiment of the present invention is a system that automates the generation and execution of test cases using an AI agent in order to reduce the burden of the testing process faced by software developers. This test automation system analyzes the software specifications and code, generates test cases, executes the generated test cases, and reports the results, thereby improving development speed and allowing human resources to be concentrated on more creative tasks. For example, in the test automation system, the AI ​​agent analyzes the software specifications and code. For example, it analyzes the functional requirements and code structure of the software and collects information for generating test cases. Next, based on the collected information, the AI ​​agent generates test cases. For example, it generates input data and expected output data for testing a specific function. The generated test cases are executed by the AI ​​agent. For example, it tests each function of the software according to the generated test cases and compares the actual output with the expected output. The test results are reported by the AI ​​agent. For example, it reports information such as whether the test was successful or failed and where errors occurred. This system allows software developers to reduce the burden of the testing process and improve development speed. In addition, it improves overall productivity by allowing human resources to be concentrated on more creative tasks. For example, developers can focus on designing and implementing new features, reducing the time spent on the testing process. This allows test automation systems to automate the software testing process and improve development speed.

[0064] The test automation system according to the embodiment comprises an analysis unit, a generation unit, an execution unit, and a reporting unit. The analysis unit analyzes the software specifications and code. For example, the analysis unit analyzes the functional requirements and code structure of the software and collects information for generating test cases. The analysis unit can perform analysis using methods such as static analysis, dynamic analysis, and code review. The generation unit generates test cases based on the information collected by the analysis unit. For example, the generation unit generates input data and expected output data for testing specific functions. The generation unit clarifies the content and generation method of the test cases and performs generation considering the format and scope of input data, data sources, etc. The execution unit executes the test cases generated by the generation unit. For example, the execution unit tests each function of the software according to the generated test cases and compares the actual output with the expected output. The execution unit executes the tests considering the test environment, execution order, execution conditions, etc. The reporting unit reports the results obtained by the execution unit. For example, the reporting unit reports information such as whether the test was successful or failed and where errors occurred. The reporting unit generates reports that include success / failure criteria, error messages, and statistical information. This allows the test automation system according to the embodiment to automate the software testing process and improve development speed.

[0065] The analysis unit analyzes the software specifications and code. For example, the analysis unit analyzes the software's functional requirements and code structure, and collects information to generate test cases. Specifically, the analysis unit utilizes both static and dynamic analysis to gain a detailed understanding of the software's internal structure and operation. Static analysis detects code syntax, dependencies, and potential bugs without executing the source code. This involves using code linting tools and static analysis tools to identify code quality and security issues. Dynamic analysis involves actually running the software and monitoring its runtime behavior and performance. This allows for the identification of potential bugs and performance bottlenecks that may occur during execution. Furthermore, the analysis unit conducts code reviews to check the quality and consistency of the code written by developers. In code reviews, multiple developers review the code and point out areas for improvement and problems. This improves code quality and allows for the collection of accurate information for test case generation. Based on these analysis results, the analysis unit organizes the information necessary for test case generation and provides it to the generation unit. In this way, the analysis unit contributes to improving software quality and streamlining the testing process.

[0066] The generation unit generates test cases based on information collected by the analysis unit. For example, the generation unit generates input data and expected output data for testing specific functions. Specifically, the generation unit clarifies the content and generation method of the test cases, and generates them considering the format, scope, and data source of the input data. First, the generation unit identifies the functions and scenarios to be tested based on the information provided by the analysis unit. Next, it designs appropriate test cases for each function and defines the input data and expected output data. The input data is designed to cover a variety of patterns, assuming actual usage. For example, boundary value analysis and equivalence partitioning are used to efficiently cover the range and combinations of input data. The expected output data is precisely defined based on specifications and design documents and serves as the criterion for judging test results. The generation unit uses scripts and templates to automatically generate these test cases. Scripts automate the test case generation process, minimizing manual work. Templates provide a common test case format and serve as a foundation for generating consistent test cases. The generation unit manages the generated test cases and modifies or adds to them as needed. This allows the generation unit to efficiently and accurately generate test cases, improving the quality and speed of the testing process.

[0067] The execution unit executes the test cases generated by the generation unit. For example, the execution unit tests each function of the software according to the generated test cases and compares the actual output with the expected output. Specifically, the execution unit performs the tests considering the test environment, execution order, and execution conditions. First, the execution unit builds the test environment and places the software under test in it. The test environment is important for reproducing conditions close to the actual operating environment and increasing the reliability of the test results. Next, it executes the generated test cases sequentially and records the results of each test case. The execution unit optimizes the execution order of the test cases and proceeds with the tests efficiently by considering dependencies and priorities. The execution unit appropriately handles errors and exceptions that occur during the execution of test cases to prevent test interruptions. The execution unit also has a function to monitor the test results in real time and immediately notify if an anomaly is detected. This allows for constant monitoring of the test progress and rapid response. The execution unit analyzes the test results and compares the actual output with the expected output. Based on the comparison results, it determines whether the test was successful or failed and generates a detailed report. This enables the execution unit to automate and streamline the testing process, contributing to improved software quality.

[0068] The reporting unit reports the results obtained by the execution unit. For example, the reporting unit reports information such as whether the test was successful or failed, and where errors occurred. Specifically, the reporting unit generates a report that includes success / failure criteria, error messages, and statistical information. First, the reporting unit collects the test results provided by the execution unit and organizes the results for each test case. Next, based on the test results, it applies success / failure criteria to determine the status of each test case. For successful test cases, detailed execution logs and output data are recorded and saved as reference material for the future. For failed test cases, detailed information such as error messages, location of occurrence, and information useful for identifying the cause is recorded. Based on this information, the reporting unit generates a report that includes an overview and details of the test results. The report includes statistical information such as the success rate and failure rate of the tests, the frequency and trends of errors, and the execution time for each test case. Furthermore, the reporting unit can use graphs and charts to visually display the test results in an easy-to-understand manner. This allows for a quick grasp of the overall picture of the test results and clarifies problems and areas for improvement. The reporting department provides the generated reports to development teams and managers, facilitating the sharing and feedback of test results. This allows the reporting department to improve the transparency and reliability of the testing process and contribute to software quality management.

[0069] The analysis unit can analyze the functional requirements and code structure of the software. For example, the analysis unit can analyze the functional requirements of the software and collect information necessary for generating test cases. The analysis unit can analyze user stories, use cases, functional specifications, etc. The analysis unit can also analyze the code structure and collect information necessary for generating test cases. The analysis unit can analyze class diagrams, sequence diagrams, dependencies, etc. By doing so, it can collect information necessary for generating test cases by analyzing the functional requirements and code structure of the software. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input the functional requirements and code structure of the software into AI and have the AI ​​output the analysis results.

[0070] The generation unit can generate input data and expected output data for testing specific functions. For example, the generation unit can generate input data for testing specific functions. The generation unit can generate input data considering data format, data range, data source, etc. The generation unit can also generate expected output data for testing specific functions. The generation unit can generate expected output data considering output format, output conditions, output examples, etc. This improves the accuracy of test cases by generating input data and expected output data for testing specific functions. Some or all of the above processing in the generation unit may be performed using AI, for example, or without AI. For example, the generation unit can input input data and expected output data for testing specific functions into AI and have the AI ​​output the generation results.

[0071] The execution unit can test each function of the software according to the generated test cases and compare the actual output with the expected output. For example, the execution unit can test each function of the software according to the generated test cases. The execution unit can execute the tests considering the test environment, execution order, execution conditions, etc. The execution unit can also compare the actual output with the expected output. The execution unit can obtain the actual output based on log files, console output, database values, etc., and compare it with the expected output. This improves the accuracy of the tests by testing each function of the software according to the generated test cases and comparing the actual output with the expected output. Some or all of the above processing in the execution unit may be performed using AI, for example, or without AI. For example, the execution unit can input the generated test cases into AI and have the AI ​​output the test results.

[0072] The reporting unit can report information such as whether the test was successful or failed, and where errors occurred. For example, the reporting unit can report whether the test was successful or failed. The reporting unit can generate a report that includes success / failure criteria, error messages, and statistical information. The reporting unit can also report where errors occurred. The reporting unit can identify and report the part where the error occurred based on stack traces, error logs, debugging information, etc. This makes it easier to understand the test results by reporting information such as whether the test was successful or failed and where errors occurred. Some or all of the above processing in the reporting unit may be performed using AI, for example, or not using AI. For example, the reporting unit can input test results into AI and have the AI ​​output a report.

[0073] The analysis unit can estimate the user's emotions and adjust the analysis priority based on the estimated emotions. For example, if the user is stressed, the analysis unit will prioritize analyzing the most important parts. If the user is relaxed, the analysis unit can perform a comprehensive analysis and provide a detailed report. If the user is in a hurry, the analysis unit can also focus on key functions to obtain results quickly. This allows for situation-appropriate analysis by adjusting the analysis priority based on the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI includes, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the analysis unit may be performed using AI or not. For example, the analysis unit can input user emotion data into an AI and have the AI ​​output the analysis priority.

[0074] The analysis unit can refer to the software's past version history and focus its analysis on changes. For example, the analysis unit can analyze the differences between the latest version and the previous version to identify changes. The analysis unit can focus its analysis on the code sections related to the changes and assess the risk of bug occurrence. The analysis unit can also collect information necessary for generating test cases based on the changes. This allows for the assessment of bug occurrence risk by referring to the software's past version history and focusing its analysis on changes. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input the software's past version history into AI and have AI output the results of the change analysis.

[0075] The analysis unit can collect software usage data and determine the focus of the analysis based on actual usage frequency. For example, the analysis unit can prioritize the analysis of frequently used functions and evaluate the parts that are important to the user. For less frequently used functions, the analysis unit can perform a simplified analysis to maintain an overall balance. The analysis unit can also customize the analysis results for specific user groups based on the usage data. This allows for a focused evaluation of parts that are important to the user by collecting software usage data and determining the focus of the analysis based on actual usage frequency. Some or all of the above processing in the analysis unit may be performed using AI, for example, or not. For example, the analysis unit can input software usage data into AI and have the AI ​​output the focus of the analysis.

[0076] The analysis unit can estimate the user's emotions and adjust the display method of the analysis results based on the estimated emotions. For example, if the user is stressed, the analysis unit can provide a simple and highly visible display method. If the user is relaxed, the analysis unit can provide a display method that includes detailed information. Furthermore, if the user is in a hurry, the analysis unit can provide a concise display method that gets straight to the point. By adjusting the display method of the analysis results based on the user's emotions, it becomes possible to provide a display that is easy for the user to understand. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or a generative AI. The generative AI is a text generation AI (e.g., LLM) or a multimodal generation AI, but is not limited to such examples. Some or all of the above processing in the analysis unit may be performed using AI, for example, or without using AI. For example, the analysis unit can input user emotion data into an AI and have the AI ​​output a display method for the analysis results.

[0077] The analysis unit can customize its analysis approach based on the attribute information of the software developer. For example, the analysis unit can adjust the level of detail of the analysis according to the developer's years of experience. The analysis unit can perform analyses that focus on specific functions based on the developer's area of ​​expertise. The analysis unit can also determine the priority of the analysis by referring to the developer's past project history. This allows for analyses that are suitable for the developer by customizing the analysis approach based on the attribute information of the software developer. Some or all of the above processes in the analysis unit may be performed using AI, for example, or not. For example, the analysis unit can input the developer's attribute information into AI and have the AI ​​output an analysis approach.

[0078] The analysis unit can analyze the relevant software documentation and integrate it with the code analysis results. For example, the analysis unit can analyze the software specifications and compare them with the code analysis results. The analysis unit can analyze developer comments and documentation to understand the intent of the code. Furthermore, the analysis unit can supplement the analysis results based on the relevant documentation to provide more accurate information. In this way, more accurate information can be provided by analyzing the relevant software documentation and integrating it with the code analysis results. Some or all of the above processes in the analysis unit may be performed using AI, for example, or without AI. For example, the analysis unit can input the relevant software documentation into AI and have the AI ​​output the analysis results.

[0079] The generation unit can estimate the user's emotions and adjust the level of detail of the test cases it generates based on the estimated emotions. For example, if the user is stressed, the generation unit can generate simple test cases. If the user is relaxed, it can generate detailed test cases. Furthermore, if the user is in a hurry, it can generate test cases that can be executed quickly. This allows for the generation of test cases tailored to the user's situation by adjusting the level of detail of the test cases based on the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or a generative AI. The generative AI may be, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processes in the generation unit may be performed using AI, or not. For example, the generation unit can input user emotion data into an AI and have the AI ​​output the level of detail of the test cases.

[0080] The generation unit can apply different test case generation algorithms to each function of the software. For example, the generation unit can apply a detailed test case generation algorithm to major functions, and a simplified test case generation algorithm to auxiliary functions. Furthermore, the generation unit can apply a customized test case generation algorithm to specific functions. This improves the accuracy of test cases by applying different test case generation algorithms to each function of the software. Some or all of the above-described processes in the generation unit may be performed using AI, or not. For example, the generation unit can input different test case generation algorithms for each function of the software into the AI ​​and have the AI ​​output the generation results.

[0081] The generation unit can improve the accuracy of test case generation by referring to past test results. For example, the generation unit can adjust the test case generation algorithm based on past test results. The generation unit can generate test cases that reproduce specific bugs from past test results. The generation unit can also analyze past test results and improve test case coverage. As a result, test case coverage is improved by improving the accuracy of test case generation by referring to past test results. Some or all of the above processes in the generation unit may be performed using AI, for example, or without AI. For example, the generation unit can input past test results into AI and have AI output the generation results.

[0082] The generation unit can estimate the user's emotions and determine the priority of test cases to generate based on the estimated emotions. For example, if the user is stressed, the generation unit will prioritize high-priority test cases. If the user is relaxed, the generation unit can prioritize test cases considering the overall balance. Also, if the user is in a hurry, the generation unit can prioritize test cases that can be executed quickly. In this way, by determining the priority of test cases to generate based on the user's emotions, test cases tailored to the user's situation can be generated. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or a generation AI. The generation AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the generation unit may be performed using AI, or not using AI. For example, the generation unit can input user emotion data into an AI and have the AI ​​output the priority of test cases.

[0083] The generation unit can generate test cases based on the software's operating environment. For example, the generation unit can generate test cases according to the platform on which the software operates. The generation unit can generate test cases under specific conditions based on the software's operating environment. The generation unit can also simulate the software's operating environment and generate realistic test cases. This allows for the generation of realistic test cases by generating them based on the software's operating environment. Some or all of the above-described processes in the generation unit may be performed using AI, for example, or without AI. For example, the generation unit can input software operating environment data into AI and have the AI ​​output the results of generating test cases.

[0084] The generation unit can improve the accuracy of test case generation by referring to the relevant modules of the software. For example, the generation unit can analyze the interfaces of the relevant modules and generate test cases. The generation unit can generate test cases considering the dependencies of the relevant modules. Furthermore, the generation unit can simulate the operation of the relevant modules to improve the accuracy of the test cases. As a result, the accuracy of the test cases is improved by referring to the relevant modules of the software during test case generation. Some or all of the above processes in the generation unit may be performed using AI, for example, or without AI. For example, the generation unit can input the relevant module data of the software into the AI ​​and have the AI ​​output the results of generating test cases.

[0085] The execution unit can estimate the user's emotions and adjust the order of test execution based on the estimated emotions. For example, if the user is stressed, the execution unit will prioritize high-priority tests. If the user is relaxed, the execution unit can execute tests considering the overall balance. Also, if the user is in a hurry, the execution unit can prioritize key tests to obtain results quickly. This allows for test execution tailored to the user's situation by adjusting the order of test execution based on the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the execution unit may be performed using AI or not. For example, the execution unit can input user emotion data into AI and have the AI ​​output the order of test execution.

[0086] The execution unit monitors the software's resource usage during test execution and can execute tests at the optimal time. For example, the execution unit can monitor the software's CPU usage and execute tests when resources are available. The execution unit can also monitor the software's memory usage and execute tests at the optimal time. Furthermore, the execution unit can monitor the software's network usage and execute tests when the network is available. This allows for efficient use of resources by monitoring the software's resource usage and executing tests at the optimal time. Some or all of the above processes in the execution unit may be performed using AI, for example, or without AI. For example, the execution unit can input software resource usage data into AI and have AI output the optimal timing.

[0087] The execution unit can improve the accuracy of test execution by referring to past execution results during test execution. For example, the execution unit can optimize the order of test execution based on past test execution results. The execution unit can prioritize the execution of tests that reproduce specific bugs based on past test execution results. The execution unit can also analyze past test execution results and improve test coverage. As a result, the accuracy of test execution is improved by improving the accuracy of execution by referring to past execution results during test execution. Some or all of the above processes in the execution unit may be performed using AI, for example, or without AI. For example, the execution unit can input past test execution result data into AI and have the AI ​​output the accuracy of the execution.

[0088] The execution unit can estimate the user's emotions and determine the priority of test execution based on the estimated emotions. For example, if the user is stressed, the execution unit will prioritize high-priority tests. If the user is relaxed, the execution unit can prioritize tests considering the overall balance. Also, if the user is in a hurry, the execution unit can prioritize key tests to obtain results quickly. This allows for test execution tailored to the user's situation by determining the priority of test execution based on the user's emotions. Emotion estimation is achieved using an emotion estimation function, for example, using an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the execution unit may be performed using AI or not using AI. For example, the execution unit can input user emotion data into AI and have the AI ​​output the test execution priority.

[0089] The execution unit can perform tests while considering the software's operating environment. For example, the execution unit can perform tests according to the platform on which the software operates. The execution unit can perform tests under specific conditions based on the software's operating environment. The execution unit can also simulate the software's operating environment and perform realistic tests. This makes realistic testing possible by performing tests while considering the software's operating environment. Some or all of the above processes in the execution unit may be performed using AI, for example, or without AI. For example, the execution unit can input software operating environment data into AI and have the AI ​​output the test execution results.

[0090] The execution unit can improve the accuracy of execution by referring to relevant modules of the software during test execution. For example, the execution unit can analyze the interface of relevant modules and execute tests. The execution unit can execute tests while considering the dependencies of relevant modules. The execution unit can also improve the accuracy of tests by simulating the operation of relevant modules. As a result, the accuracy of tests is improved by improving the accuracy of execution by referring to relevant modules of the software during test execution. Some or all of the above processing in the execution unit may be performed using AI, for example, or without AI. For example, the execution unit can input relevant module data of the software into AI and have the AI ​​output the results of the test execution.

[0091] The reporting unit can estimate the user's emotions and adjust the report's presentation based on those emotions. For example, if the user is stressed, the reporting unit can provide a simple and easy-to-read report. If the user is relaxed, the reporting unit can provide a report with detailed information. Furthermore, if the user is in a hurry, the reporting unit can provide a concise report that gets straight to the point. This allows for the provision of user-friendly reports by adjusting the report's presentation based on the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may include, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the processing described above in the reporting unit may be performed using AI or not. For example, the reporting unit can input user emotion data into an AI and have the AI ​​output the report's presentation style.

[0092] The reporting unit can adjust the level of detail in a report based on the importance of the test results when generating the report. For example, the reporting unit can provide a detailed report for high-importance test results, and a simplified report for low-importance test results. The reporting unit can also customize the content of the report according to the importance of the test results. This allows for the priority provision of important information by adjusting the level of detail in the report based on the importance of the test results. Some or all of the above processing in the reporting unit may be performed using AI, for example, or without AI. For example, the reporting unit can input test result importance data into AI and have the AI ​​output the level of detail in the report.

[0093] The reporting unit can improve the accuracy of reports by referring to past report data when generating reports. For example, the reporting unit can optimize the report format based on past report data. The reporting unit can supplement information about specific bugs from past report data. The reporting unit can also analyze past report data and enrich the content of reports. As a result, the accuracy of reports is improved by referring to past report data when generating reports. Some or all of the above processes in the reporting unit may be performed using AI, for example, or without AI. For example, the reporting unit can input past report data into AI and have the AI ​​output the accuracy of the report.

[0094] The reporting unit can estimate the user's emotions and prioritize reports based on those emotions. For example, if the user is stressed, the reporting unit will prioritize providing high-priority reports. If the user is relaxed, the reporting unit can provide reports that consider the overall balance. If the user is in a hurry, the reporting unit can also prioritize providing key reports to get results quickly. This allows for the provision of reports tailored to the user's situation by prioritizing reports based on their emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI includes, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the reporting unit may be performed using AI or not. For example, the reporting unit can input user emotion data into an AI and have the AI ​​output report priorities.

[0095] The reporting unit can generate reports while considering the software's usage environment. For example, the reporting unit can generate reports depending on the platform on which the software operates. The reporting unit can generate reports under specific conditions based on the software's usage environment. Furthermore, the reporting unit can simulate the software's usage environment and generate realistic reports. This ensures that realistic reports are provided by considering the software's usage environment. Some or all of the above-described processes in the reporting unit may be performed using AI, for example, or without AI. For example, the reporting unit can input software usage environment data into AI and have the AI ​​output the report generation results.

[0096] The reporting unit can improve the accuracy of reports by referring to relevant software documentation during report generation. For example, the reporting unit can refer to software specifications to supplement the report content. The reporting unit can also refer to developer comments and documentation to improve the report accuracy. Furthermore, the reporting unit can enrich the report content based on relevant documentation. As a result, generating reports by referring to relevant software documentation improves the accuracy of the reports. Some or all of the above processes in the reporting unit may be performed using AI, for example, or without AI. For example, the reporting unit can input relevant software documentation data into AI and have the AI ​​output the report generation results.

[0097] The system according to the embodiment is not limited to the example described above, and various modifications are possible, for example, as follows.

[0098] The analysis unit can analyze not only the software code but also user operation logs. For example, it can analyze which functions users use frequently and which operations cause errors, and reflect this in the generation of test cases. This allows for the generation of test cases based on actual usage, improving the accuracy of the tests. Furthermore, the analysis unit can generate test cases for specific operation sequences based on user operation logs. This enables testing based on user operation patterns.

[0099] The generation unit can consider the software's security requirements when generating test cases. For example, it can generate test cases to detect vulnerabilities based on security requirements, thereby reducing security risks. The generation unit can also generate test cases for specific attack scenarios based on security requirements, improving the accuracy of security testing. Furthermore, the generation unit can prioritize test cases based on security requirements.

[0100] The execution unit can monitor software performance during test execution. For example, it can monitor CPU usage and memory usage during test execution to identify performance bottlenecks. This allows for early detection and improvement of performance issues. The execution unit can also execute test cases based on specific performance requirements, verifying whether those requirements are met. Furthermore, the execution unit can optimize the execution order of test cases based on performance data.

[0101] The reporting section can provide dashboards for visualizing test results. For example, it can display test success rates and error locations in graphs and charts. This allows for an intuitive understanding of test results. The reporting section can also update test results in real time. This allows for real-time monitoring of test progress. Furthermore, the reporting section can filter and display test results. This makes it easy to check test results based on specific conditions.

[0102] The analysis unit can estimate the user's emotions and adjust the depth of the analysis based on those emotions. For example, if the user is stressed, the analysis depth can be reduced to provide results quickly. If the user is relaxed, a more detailed analysis can be performed to provide more information. If the user is in a hurry, the analysis can focus on the most important points. This enables analysis tailored to the user's emotions and provides information that meets the user's needs.

[0103] The generation unit can estimate the user's emotions and adjust the complexity of the test cases generated based on those emotions. For example, if the user is stressed, it can generate simple test cases. If the user is relaxed, it can generate complex test cases. If the user is in a hurry, it can generate test cases that can be executed quickly. In this way, by adjusting the complexity of the test cases generated based on the user's emotions, test cases tailored to the user's situation can be generated.

[0104] The execution unit can estimate the user's emotions and adjust the frequency of test execution based on those emotions. For example, if the user is stressed, the frequency of test execution can be reduced. If the user is relaxed, the frequency of test execution can be increased. Also, if the user is in a hurry, important tests can be prioritized. In this way, by adjusting the frequency of test execution based on the user's emotions, it becomes possible to perform tests that are tailored to the user's situation.

[0105] The reporting system can estimate the user's emotions and customize the report content based on that estimation. For example, if the user is stressed, it can provide a concise report that gets straight to the point. If the user is relaxed, it can provide a report with more detailed information. Furthermore, if the user is in a hurry, it can prioritize providing key information to ensure quick results. This allows for the delivery of optimal information by customizing the report content based on the user's emotions.

[0106] The analysis unit can analyze not only the software code but also related documentation and specifications. For example, it can analyze the requirements described in the specifications and verify their consistency with the code. This allows for the early detection of missing requirements or specification violations. The analysis unit can also analyze developer comments described in the documentation to understand the intent behind the code. This enables the generation of test cases based on the intent behind the code. Furthermore, the analysis unit can analyze the change history of the documentation and generate test cases based on the changes.

[0107] The test generation unit can consider software dependencies when generating test cases. For example, if a particular module depends on other modules, it can generate test cases that take these dependencies into account. This enables dependency-based testing, improving test accuracy. The generation unit can also optimize the execution order of test cases based on dependencies, enabling efficient test execution. Furthermore, the generation unit can generate test cases under specific conditions based on dependencies.

[0108] The following briefly describes the processing flow for example form 2.

[0109] Step 1: The analysis unit analyzes the software specifications and code. For example, the analysis unit analyzes the software's functional requirements and code structure, and collects information to generate test cases. The analysis unit can perform the analysis using methods such as static analysis, dynamic analysis, and code review. Step 2: The generation unit generates test cases based on the information collected by the analysis unit. For example, the generation unit generates input data and expected output data for testing specific functions. The generation unit clarifies the content and generation method of the test cases and generates them considering the format and scope of the input data, data sources, etc. Step 3: The execution unit executes the test cases generated by the generation unit. For example, the execution unit tests each function of the software according to the generated test cases and compares the actual output with the expected output. The execution unit performs the tests taking into account the test environment, execution order, execution conditions, etc. Step 4: The reporting unit reports the results obtained by the execution unit. The reporting unit reports information such as whether the test was successful or failed, and where errors occurred. The reporting unit generates a report that includes success / failure criteria, error messages, and statistical information.

[0110] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0111] Data generation model 58 is a form of so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> Examples of generative AI include text generation AI, image generation AI, and multimodal generation AI. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats from audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVMs), k-means clustering, convolutional neural networks (CNNs), recurrent neural networks (RNNs), generative adversarial networks (GANs), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI ​​may be an AI agent. Furthermore, when the processing of each of the above parts is performed by the AI, the processing may be performed by the AI ​​in part or in whole, but is not limited to this example.Furthermore, processing performed by AI, including generative AI, may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by AI, including generative AI.

[0112] Furthermore, the processing performed by the data processing system 10 described above is carried out by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart device 14, but it may also be carried out by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart device 14. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the smart device 14 or an external device, and the smart device 14 acquires or collects information necessary for processing from the data processing device 12 or an external device.

[0113] Each of the multiple elements described above, including the analysis unit, generation unit, execution unit, and reporting unit, is implemented in at least one of the smart device 14 and the data processing unit 12. For example, the analysis unit is implemented by the control unit 46A of the smart device 14 or the specific processing unit 290 of the data processing unit 12. The generation unit is implemented by the specific processing unit 290 of the data processing unit 12. The execution unit is implemented by the control unit 46A of the smart device 14 or the specific processing unit 290 of the data processing unit 12. The reporting unit is implemented by the specific processing unit 290 of the data processing unit 12. The correspondence between each unit and the device or control unit is not limited to the example described above and can be changed in various ways.

[0114] [Second Embodiment] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.

[0115] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0116] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.

[0117] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.

[0118] The microphone 238 receives voice signals from the user and accepts instructions from the user. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0119] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).

[0120] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0121] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing by the processor 28. The storage 32 stores the specific processing program 56.

[0122] The processor 28 reads a specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.

[0123] Storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.

[0124] In the smart glasses 214, specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 acting as a control unit 46A according to the specific processing program 60 executed on the RAM 48. The smart glasses 214 also have a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.

[0125] Furthermore, other devices besides the data processing device 12 may also have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).

[0126] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0127] The data generation model 58 is a so-called generative AI. An example of a data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI ​​may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI ​​in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.

[0128] The data processing system 210 according to the second embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 210 is performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart glasses 214, but it may also be performed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart glasses 214. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the smart glasses 214 or an external device, and the smart glasses 214 acquires or collects information necessary for processing from the data processing device 12 or an external device.

[0129] Each of the multiple elements described above, including the analysis unit, generation unit, execution unit, and reporting unit, is implemented, for example, in at least one of the smart glasses 214 and the data processing device 12. For example, the analysis unit is implemented by the control unit 46A of the smart glasses 214 or the specific processing unit 290 of the data processing device 12. The generation unit is implemented, for example, by the specific processing unit 290 of the data processing device 12. The execution unit is implemented, for example, by the control unit 46A of the smart glasses 214 or the specific processing unit 290 of the data processing device 12. The reporting unit is implemented, for example, by the specific processing unit 290 of the data processing device 12. The correspondence between each unit and the device or control unit is not limited to the example described above, and various modifications are possible.

[0130] [Third Embodiment] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.

[0131] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0132] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.

[0133] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.

[0134] The microphone 238 receives voice signals from the user and accepts instructions from the user. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0135] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).

[0136] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0137] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0138] The processor 28 reads a specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.

[0139] Storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.

[0140] In the headset terminal 314, specific processing is performed by the processor 46. The storage 50 stores a specific program 60. The processor 46 reads the specific program 60 from the storage 50 and executes the read specific program 60 on the RAM 48. The specific processing is realized by the processor 46 acting as a control unit 46A according to the specific program 60 executed on the RAM 48. The headset terminal 314 also has a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.

[0141] Furthermore, other devices besides the data processing device 12 may also have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).

[0142] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0143] The data generation model 58 is a so-called generative AI. An example of a data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI ​​may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI ​​in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.

[0144] The data processing system 310 according to the third embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 310 is performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the headset terminal 314, but may also be performed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the headset terminal 314. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the headset terminal 314 or an external device, and the headset terminal 314 acquires or collects information necessary for processing from the data processing device 12 or an external device.

[0145] Each of the multiple elements described above, including the analysis unit, generation unit, execution unit, and reporting unit, is implemented in at least one of the headset terminal 314 and the data processing unit 12. For example, the analysis unit is implemented by the control unit 46A of the headset terminal 314 or the specific processing unit 290 of the data processing unit 12. The generation unit is implemented by the specific processing unit 290 of the data processing unit 12. The execution unit is implemented by the control unit 46A of the headset terminal 314 or the specific processing unit 290 of the data processing unit 12. The reporting unit is implemented by the specific processing unit 290 of the data processing unit 12. The correspondence between each unit and the device or control unit is not limited to the example described above and can be modified in various ways.

[0146] [Fourth Embodiment] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

[0147] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[0148] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.

[0149] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.

[0150] The microphone 238 receives voice signals from the user and accepts instructions from the user. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0151] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS image sensor or CCD image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).

[0152] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0153] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. The robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.

[0154] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0155] The processor 28 reads a specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.

[0156] Storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.

[0157] In robot 414, specific processing is performed by processor 46. A specific program 60 is stored in storage 50. Processor 46 reads the specific program 60 from storage 50 and executes it on RAM 48. The specific processing is achieved by processor 46 acting as a control unit 46A according to the specific program 60 executed on RAM 48. Robot 414 also has data generation model 58 and emotion identification model 59, similar to those of the robot, and can perform processing similar to that of the specific processing unit 290 using these models.

[0158] Furthermore, other devices besides the data processing device 12 may also have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).

[0159] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0160] The data generation model 58 is a so-called generative AI. An example of a data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI ​​may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI ​​in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.

[0161] The data processing system 410 according to the fourth embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 410 is performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the robot 414, but it may also be performed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the robot 414. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the robot 414 or an external device, and the robot 414 acquires or collects information necessary for processing from the data processing device 12 or an external device.

[0162] Each of the multiple elements described above, including the analysis unit, generation unit, execution unit, and reporting unit, is implemented, for example, in at least one of the robot 414 and the data processing unit 12. For example, the analysis unit is implemented by the control unit 46A of the robot 414 or the specific processing unit 290 of the data processing unit 12. The generation unit is implemented, for example, by the specific processing unit 290 of the data processing unit 12. The execution unit is implemented, for example, by the control unit 46A of the robot 414 or the specific processing unit 290 of the data processing unit 12. The reporting unit is implemented, for example, by the specific processing unit 290 of the data processing unit 12. The correspondence between each unit and the device or control unit is not limited to the example described above, and various modifications are possible.

[0163] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[0164] Figure 9 shows the emotion map 400, in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.

[0165] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.

[0166] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.

[0167] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, and motorcycles, emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated based, for example, on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

[0168] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."

[0169] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values ​​representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.

[0170] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing method for the specific process may be used, which includes computer 22 and multiple other computers.

[0171] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.

[0172] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.

[0173] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.

[0174] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.

[0175] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.

[0176] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.

[0177] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.

[0178] Furthermore, although the above-described examples were divided into four embodiments, some or all of these embodiments may be combined. Also, the smart device 14, smart glasses 214, headset terminal 314, and robot 414 are just examples, and they may be combined, or other devices may be used. Also, although the above-described examples were divided into two embodiments, Embodiment 1 and Embodiment 2, these may be combined.

[0179] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and other things that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.

[0180] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.

[0181] (Note 1) The analysis unit analyzes the software specifications and code, A generation unit that generates test cases based on the information collected by the analysis unit, An execution unit that executes the test cases generated by the generation unit, The system includes a reporting unit that reports the results obtained by the execution unit. A system characterized by the following features. (Note 2) The aforementioned analysis unit, Analyze the functional requirements and code structure of the software. The system described in Appendix 1, characterized by the features described herein. (Note 3) The generating unit is Generate input data and expected output data for testing specific functions. The system described in Appendix 1, characterized by the features described herein. (Note 4) The execution unit is, Test each function of the software according to the generated test cases and compare the actual output with the expected output. The system described in Appendix 1, characterized by the features described herein. (Note 5) The aforementioned report section is, The report will include information such as whether the test was successful or failed, and where errors occurred. The system described in Appendix 1, characterized by the features described herein. (Note 6) The aforementioned analysis unit, It estimates the user's emotions and adjusts the analysis priority based on the estimated user emotions. The system described in Appendix 1, characterized by the features described herein. (Note 7) The aforementioned analysis unit, Refer to the software's past version history and focus on analyzing the changes. The system described in Appendix 1, characterized by the features described herein. (Note 8) The aforementioned analysis unit, We collect software usage data and determine the focus of analysis based on actual usage frequency. The system described in Appendix 1, characterized by the features described herein. (Note 9) The aforementioned analysis unit, It estimates the user's emotions and adjusts how the analysis results are displayed based on the estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 10) The aforementioned analysis unit, Customize the analysis approach based on the attribute information of the software developers. The system described in Appendix 1, characterized by the features described herein. (Note 11) The aforementioned analysis unit, Analyze the relevant software documentation and integrate it with the code analysis results. The system described in Appendix 1, characterized by the features described herein. (Note 12) The generating unit is We estimate the user's emotions and adjust the level of detail of the test cases generated based on those estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 13) The generating unit is Apply a different test case generation algorithm for each software function. The system described in Appendix 1, characterized by the features described herein. (Note 14) The generating unit is When generating test cases, we improve the accuracy of the generation by referring to past test results. The system described in Appendix 1, characterized by the features described herein. (Note 15) The generating unit is Estimate user emotions and prioritize test cases based on those estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 16) The generating unit is When generating test cases, they are generated based on the software's operating environment. The system described in Appendix 1, characterized by the features described herein. (Note 17) The generating unit is When generating test cases, we refer to relevant software modules to improve the accuracy of the generation. The system described in Appendix 1, characterized by the features described herein. (Note 18) The execution unit is, It estimates the user's emotions and adjusts the order of test execution based on the estimated user emotions. The system described in Appendix 1, characterized by the features described herein. (Note 19) The execution unit is, During test execution, the software's resource usage is monitored, and execution is performed at the optimal time. The system described in Appendix 1, characterized by the features described herein. (Note 20) The execution unit is, During test execution, past execution results are referenced to improve execution accuracy. The system described in Appendix 1, characterized by the features described herein. (Note 21) The execution unit is, The system estimates user sentiment and prioritizes test execution based on the estimated user sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 22) The execution unit is, When running tests, consider the software's operating environment. The system described in Appendix 1, characterized by the features described herein. (Note 23) The execution unit is, During test execution, the software references relevant modules to improve execution accuracy. The system described in Appendix 1, characterized by the features described herein. (Note 24) The aforementioned report section is, It estimates user sentiment and adjusts the way reports are presented based on the estimated user sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 25) The aforementioned report section is, When generating reports, adjust the level of detail in the report based on the importance of the test results. The system described in Appendix 1, characterized by the features described herein. (Note 26) The aforementioned report section is, When generating reports, we refer to past report data to improve report accuracy. The system described in Appendix 1, characterized by the features described herein. (Note 27) The aforementioned report section is, It estimates user sentiment and prioritizes reports based on the estimated user sentiment. The system described in Appendix 1, characterized by the features described herein. (Note 28) The aforementioned report section is, When generating reports, the software usage environment is taken into consideration when generating the reports. The system described in Appendix 1, characterized by the features described herein. (Note 29) The aforementioned report section is, When generating reports, refer to the relevant software documentation to improve the accuracy of the reports. The system described in Appendix 1, characterized by the features described herein. [Explanation of symbols]

[0182] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots

Claims

1. The analysis unit analyzes the software specifications and code, A generation unit that generates test cases based on the information collected by the analysis unit, An execution unit that executes the test cases generated by the generation unit, The system includes a reporting unit that reports the results obtained by the execution unit. A system characterized by the following features.

2. The aforementioned analysis unit, Analyze the functional requirements and code structure of the software. The system according to feature 1.

3. The generating unit is Generate input data and expected output data for testing specific functions. The system according to feature 1.

4. The execution unit is, Test each function of the software according to the generated test cases and compare the actual output with the expected output. The system according to feature 1.

5. The aforementioned report section is, The report will include information such as whether the test was successful or failed, and where errors occurred. The system according to feature 1.

6. The aforementioned analysis unit, It estimates the user's emotions and adjusts the analysis priority based on the estimated user emotions. The system according to feature 1.

7. The aforementioned analysis unit, Refer to the software's past version history and focus on analyzing the changes. The system according to feature 1.

8. The aforementioned analysis unit, We collect software usage data and determine the focus of analysis based on actual usage frequency. The system according to feature 1.