A regression testing method for a linear static analysis solver of a structural analysis software

By adopting an automated regression testing method based on an SQLite database, the problems of low efficiency and unreliable test quality of linear static analysis solvers in structural analysis software are solved, achieving efficient and accurate solver performance evaluation and supporting rapid software iteration and updates.

CN121301225BActive Publication Date: 2026-03-24CHINA AIRPLANT STRENGTH RES INST
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-12-12
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

The regression testing efficiency of linear static analysis solvers in existing structural analysis software is low, the test quality is unreliable, and there is a lack of automation and unified evaluation standards, making it difficult to meet the needs of rapid software version iteration and updates.

Method used

A regression testing method based on an SQLite database is adopted. Through automated scripts, the response information and solution time of test cases are extracted, stored in the database, and the solution skewness and time ratio are calculated to evaluate the performance of the solver before and after the update iteration.

Benefits of technology

This enables efficient and accurate regression testing of the linear static analysis solver in structural analysis software, meeting the needs of rapid iterative updates and improving the automation level of testing and the objectivity of evaluation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121301225B_ABST
    Figure CN121301225B_ABST
Patent Text Reader

Abstract

The application belongs to the technical field of iterative updating regression testing of structure analysis software, and particularly relates to a regression testing method for a linear static analysis solver of structure analysis software, which comprises the following steps: step one, calling a linear static analysis solver before updating iteration and a linear static analysis solver after updating iteration, and solving a test case; step two, extracting response information in a solution result of the test case, and extracting a solution time length of the test case from log files of the linear static analysis solver before updating iteration and the linear static analysis solver after updating iteration; step three, storing and managing the response information in the solution result of the test case and the solution time length of the test case based on an SQLite database; and step four, calculating a solution deviation and a solution time length ratio of the test case of the linear static analysis solver before updating iteration and the linear static analysis solver after updating iteration, and comparing and evaluating the performance of the linear static analysis solver after updating iteration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of regression testing technology for iterative updates of structural analysis software, and specifically relates to a regression testing method for a linear static analysis solver of structural analysis software. Background Technology

[0002] With the rapid development of computer-aided engineering technology, structural analysis software, such as ANSYS, ABAQUS, NASTRAN, and SABRE, is increasingly being used in industrial fields such as aerospace, automotive, and civil engineering. The complexity of structural analysis software is constantly increasing, and the number of functional modules is continuously expanding, leading to frequent software version updates. To ensure the reliability and compatibility of new versions of structural analysis software, regression testing has become an indispensable and demanding part of software version updates.

[0003] The core of regression testing for structural analysis software version updates is the regression testing of the linear static analysis solver. Currently, regression testing of the linear static analysis solver is mainly performed manually, involving manually organizing test cases, executing solver commands one by one, recording calculation results, and calculating data discrepancies. This method has the following drawbacks:

[0004] Inefficient: The test cases have poor reusability, each step is highly dependent on manual operation, includes a large number of repetitive operations, has high manpower and time costs, and a long test cycle, which cannot meet the needs of rapid iteration and update of structural analysis software versions.

[0005] Unreliable test quality: Incomplete test case coverage, inconsistent tolerance standards, varying from person to person and time to time, lack of unified and objective evaluation criteria, and insufficient comparability and credibility of test results.

[0006] To improve the efficiency of regression testing of linear static analysis solvers, some structural analysis software is designed with secondary development interfaces, which allow testers to write scripts to perform regression testing of linear static analysis solvers in a partially automated manner. However, this requires testers to have a high level of programming skills.

[0007] Regression testing of linear static analysis solvers in structural analysis software primarily relies on benchmark test cases, consisting of test cases thoroughly validated by mature commercial software and classic problems with theoretical solutions. Currently, script-driven batch processing methods for regression testing of linear static analysis solvers in structural analysis software mainly focus on test data management, addressing isolated aspects of the testing process. This approach lacks adaptability and fails to establish a standardized and complete automated testing workflow.

[0008] This application is made in view of the aforementioned technical deficiencies. Summary of the Invention

[0009] The purpose of this application is to provide a regression testing method for a linear static analysis solver in structural analysis software, in order to overcome or mitigate at least one of the known technical defects.

[0010] The technical solution of this application is:

[0011] A regression testing method for a linear static analysis solver in structural analysis software includes:

[0012] Step 1: Call the linear static analysis solver before update iteration and the linear static analysis solver after update iteration to solve the test cases;

[0013] Step 2: Extract the response information from the test case solution results, and extract the solution time for the test cases from the log files of the linear static analysis solver before and after the update iteration;

[0014] Step 3: Analyze the response information and solution time of the storage management test cases based on the results of solving the SQLite database storage management test cases.

[0015] Step 4: Based on the response information and solution time of the test cases in the solution results, calculate the solution skewness and solution time ratio of the linear static analysis solver before and after the update iteration for the test cases, and compare and evaluate the performance of the linear static analysis solver after the update iteration.

[0016] Optionally, in the regression testing method of the linear static analysis solver of the above structural analysis software, in step one, a test case list is constructed;

[0017] Define the linear static analysis solver before update iteration, the linear static analysis solver after update iteration, and their calling method dictionary. Then call the linear static analysis solver before update iteration and the linear static analysis solver after update iteration, and solve the test cases in turn according to the test case list.

[0018] Store the solution results of the test cases in folders named after the linear static analysis solver before the update iteration and the linear static analysis solver after the update iteration.

[0019] Optionally, in the regression testing method of the linear static analysis solver of the above structural analysis software, in step two, the response information in the test case solution results is extracted using the three-item positioning method of node / element number, response class, and load case, and stored in a dictionary with the storage format {[node / element number, response class, load case]:[response value]};

[0020] The response information includes displacement response information, stress response information, strain response information, and constraint reaction force response information;

[0021] Store the solution time of the test cases in a dictionary, with the storage format being {test case name: solution time}.

[0022] Optionally, in the regression testing method of the linear static analysis solver of the above structural analysis software, in step three, the response information in the solution results of the test cases and the solution time of the test cases are stored in the form of a database table.

[0023] Optionally, in the regression testing method of the linear static analysis solver of the above structural analysis software, in step four, the response information corresponding to the response values ​​that are less than the usable threshold in the test case solution results is removed.

[0024] Optionally, in the regression testing method of the linear static analysis solver of the above structural analysis software, in step four, for the linear static analysis solver before the update iteration and the linear static analysis solver after the update iteration, the number of response information Nc in the solution results of each test case is counted, and the number of response information Nc_failed whose response value deviation is greater than the deviation threshold is counted, and the solution skewness N=Nc_failed / Nc for the test case is calculated.

[0025] If the skewness N of the solution for the test case by the linear static analysis solver before the update iteration is greater than the skewness threshold, then the linear static analysis solver before the update iteration is considered to have failed to solve the test case; otherwise, the linear static analysis solver before the update iteration is considered to have succeeded in solving the test case.

[0026] If the skewness N of the updated linear static analysis solver for the test case is greater than the skewness threshold, then the updated linear static analysis solver is considered to have failed to solve the test case; otherwise, the updated linear static analysis solver is considered to have succeeded in solving the test case.

[0027] Optionally, in the regression testing method of the linear static analysis solver of the above structural analysis software, in step four, if the number of successfully solved test cases by the linear static analysis solver after the update iteration is greater than the number of successfully solved test cases by the linear static analysis solver before the update iteration, then it is considered that the linear static analysis solver after the update iteration is superior to the linear static analysis solver before the update iteration in terms of solution accuracy.

[0028] If the number of test cases successfully solved by the updated linear static analysis solver is equal to the number of test cases successfully solved by the original linear static analysis solver, then the updated linear static analysis solver is considered to be comparable to the original linear static analysis solver in terms of solution accuracy.

[0029] Otherwise, it is assumed that the updated linear static analysis solver is less accurate than the original linear static analysis solver in terms of solution accuracy.

[0030] Optionally, in the regression testing method of the linear static analysis solver of the above structural analysis software, in step four, if the ratio of the solution time of the linear static analysis solver before the update iteration to that of the linear static analysis solver after the update iteration for the test case is less than 0.98, then it is considered that the linear static analysis solver after the update iteration is less efficient than the linear static analysis solver before the update iteration.

[0031] If the ratio of the solution time of the linear static analysis solver before the update iteration to that of the linear static analysis solver after the update iteration is greater than 1.02, then the linear static analysis solver after the update iteration is considered to be superior to the linear static analysis solver before the update iteration in terms of solution efficiency.

[0032] Otherwise, it is assumed that the solution efficiency of the updated linear static analysis solver is comparable to that of the original linear static analysis solver.

[0033] This application has at least the following beneficial technical effects:

[0034] This paper presents a regression testing method for linear static analysis solvers in structural analysis software. This method is based on a lightweight database and can automatically, efficiently, and accurately perform regression testing on linear static analysis solvers in structural analysis software using script-driven approaches. It can effectively meet the needs of rapid version iteration and updates in structural analysis software. Attached Figure Description

[0035] Figure 1 This is a flowchart of the regression testing method for the linear static analysis solver of the structural analysis software provided in this application embodiment.

[0036] To better illustrate this embodiment, some content in the accompanying drawings may be omitted, enlarged, or reduced. They are for illustrative purposes only and should not be construed as limiting the scope of this application. Detailed Implementation

[0037] To make the technical solution and advantages of this application clearer, the technical solution of this application will be described in a clearer and more complete manner below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only some embodiments of this application, and are only used to explain this application, not to limit this application. It should be noted that, for ease of description, only the parts related to this application are shown in the accompanying drawings, and other related parts can be referred to the general design.

[0038] Furthermore, unless otherwise defined, the technical or scientific terms used in this application description shall have the ordinary meaning understood by one of ordinary skill in the art to which this application pertains. The word "comprising" as used in this application description indicates that the concept preceding the word encompasses the concepts listed following the word and their equivalents, without excluding other related concepts.

[0039] A regression testing method for linear static analysis solvers in structural analysis software, such as... Figure 1 As shown.

[0040] Step 1: Call the linear static analysis solver before update iteration and the linear static analysis solver after update iteration to solve the test cases. The linear static analysis solver before update iteration is the standard linear static analysis solver, and the linear static analysis solver after update iteration is the linear static analysis solver to be used in the regression test.

[0041] Create a list of test cases, selecting benchmark test cases as the test cases.

[0042] Define the linear static analysis solver before update iteration, the linear static analysis solver after update iteration, and their calling method dictionary. Then call the linear static analysis solver before update iteration and the linear static analysis solver after update iteration, and solve the test cases in sequence according to the test case list.

[0043] Store the solution results of the test cases in folders named after the linear static analysis solver before the update iteration and the linear static analysis solver after the update iteration.

[0044] Step 2: Extract the response information from the test case solution results, and extract the solution time for the test cases from the log files of the linear static analysis solver before and after the update iteration.

[0045] The response information includes displacement response information, stress response information, strain response information, constraint reaction force response information, etc.

[0046] The response information in the test case solution results is extracted using a three-item localization method based on node / unit number, response type, and load condition. The information is stored in a dictionary with the format {[node / unit number, response type, load condition]:[response value]}.

[0047] Store the solution time of the test cases in a dictionary, with the storage format being {test case name: solution time}.

[0048] Step 3: Analyze the response information from the SQLite database storage management test case solution results, as well as the solution time for the storage management test cases.

[0049] The response information from the test case solution results, as well as the solution time of the test cases, are stored in the form of database tables, thereby realizing the structuring and lightweighting of unordered data.

[0050] The response information in the test case solution results is stored in a database table, containing 9 data bits: node / unit number, response class, load condition, V1, V2, V3, V4, V5, V6. Among them, the V1, V2, V3, V4, V5, and V6 data bits are used to store the response values.

[0051] The solution time for test cases is stored in a database table, containing two data fields: test case name and solution time.

[0052] Step 4: Based on the response information and solution time of the test cases in the solution results, calculate the solution skewness and solution time ratio of the linear static analysis solver before and after the update iteration for the test cases, and compare and evaluate the performance of the linear static analysis solver after the update iteration.

[0053] Response information corresponding to response values ​​less than the usable threshold in the test case solution results will be removed and will not be included in subsequent comparison and evaluation calculations.

[0054] For the linear static analysis solver before and after the update iteration, the number of response information Nc in the solution results of each test case and the number of response information Nc_failed whose response value deviation is greater than the deviation threshold are counted respectively. The solution skewness N = Nc_failed / Nc for the test case is calculated.

[0055] If the skewness N of the solution for the test case by the linear static analysis solver before the update iteration is greater than the skewness threshold, then the linear static analysis solver before the update iteration is considered to have failed to solve the test case; otherwise, the linear static analysis solver before the update iteration is considered to have succeeded in solving the test case.

[0056] If the skewness N of the updated linear static analysis solver for the test case is greater than the skewness threshold, then the updated linear static analysis solver is considered to have failed to solve the test case; otherwise, the updated linear static analysis solver is considered to have succeeded in solving the test case.

[0057] If the number of successfully solved test cases by the updated linear statics solver is greater than the number of successfully solved test cases by the original linear statics solver, then the updated linear statics solver is considered superior to the original linear statics solver in terms of solution accuracy. If the number of successfully solved test cases by the updated linear statics solver is equal to the number of successfully solved test cases by the original linear statics solver, then the updated linear statics solver is considered comparable to the original linear statics solver in terms of solution accuracy. Otherwise, the updated linear statics solver is considered inferior to the original linear statics solver in terms of solution accuracy.

[0058] Available thresholds, deviation thresholds, and skewness thresholds can be set according to specific circumstances. The available thresholds are typically set to [value missing]. The deviation threshold can usually be set to 5%, and the skewness threshold can usually be set to 3%.

[0059] If the ratio of the solution time of the linear static analysis solver before and after the update iteration for the test case is less than 0.98, then the linear static analysis solver after the update iteration is considered to be less efficient than the linear static analysis solver before the update iteration. If the ratio of the solution time of the linear static analysis solver before and after the update iteration for the test case is greater than 1.02, then the linear static analysis solver after the update iteration is considered to be more efficient than the linear static analysis solver before the update iteration. Otherwise, the linear static analysis solver after the update iteration is considered to be comparable to the linear static analysis solver before the update iteration in terms of solution efficiency.

[0060] The calculation results of the solution skewness and solution time ratio of the linear static analysis solver before and after the update can be visualized using pie charts, scatter plots, and lists. For example, pie charts showing the proportion of solution efficiency, scatter plots showing response values, and lists showing solution skewness can be used to visually compare the performance of the linear static analysis solver before and after the update, making it easier to locate problems in the updated linear static analysis solver.

[0061] The regression testing method for linear static analysis solvers in structural analysis software disclosed in the above embodiments calls both the linear static analysis solver before and after the update iteration to solve test cases, extracts response information and solution time from the test case solution results, and calculates the solution skewness and solution time ratio of the linear static analysis solver before and after the update iteration based on SQLite database storage management. The method compares and evaluates the performance of the linear static analysis solver after the update iteration. This is a regression testing method for linear static analysis solvers based on a lightweight database. It can automatically, efficiently, and accurately complete the regression testing of linear static analysis solvers in structural analysis software based on scripts, and can well meet the needs of rapid iteration and update of structural analysis software versions.

[0062] The technical solution of this application has been described in conjunction with the preferred embodiments shown in the accompanying drawings. Those skilled in the art should understand that the scope of protection of this application is obviously not limited to these specific embodiments. Without departing from the principles of this application, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions after these changes or substitutions will all fall within the scope of protection of this application.

Claims

1. A regression testing method for a linear static analysis solver in structural analysis software, characterized in that, include: Step 1: Call the linear static analysis solver before update iteration and the linear static analysis solver after update iteration to solve the test cases; Step 2: Extract the response information from the test case solution results, and extract the solution time for the test cases from the log files of the linear static analysis solver before and after the update iteration; Step 3: Analyze the response information and solution time of the storage management test cases based on the results of solving the SQLite database storage management test cases. Step 4: Based on the response information and solution time of the test cases in the solution results, calculate the solution skewness and solution time ratio of the linear static analysis solver before and after the update iteration for the test cases, and compare and evaluate the performance of the linear static analysis solver after the update iteration. In step four, for the linear static analysis solver before the update iteration and the linear static analysis solver after the update iteration, the number of response information Nc in the solution results of each test case and the number of response information Nc_failed whose response value deviation is greater than the deviation threshold are counted respectively, and the solution skewness N=Nc_failed / Nc for the test case is calculated. If the skewness N of the solution for the test case by the linear static analysis solver before the update iteration is greater than the skewness threshold, then the linear static analysis solver before the update iteration is considered to have failed to solve the test case; otherwise, the linear static analysis solver before the update iteration is considered to have succeeded in solving the test case. If the skewness N of the updated linear static analysis solver for the test case is greater than the skewness threshold, then the updated linear static analysis solver is considered to have failed to solve the test case; otherwise, the updated linear static analysis solver is considered to have succeeded in solving the test case. In step four, if the ratio of the solution time of the linear static analysis solver before the update iteration to that of the linear static analysis solver after the update iteration for the test case is less than 0.98, then it is considered that the linear static analysis solver after the update iteration is less efficient than the linear static analysis solver before the update iteration. If the ratio of the solution time of the linear static analysis solver before the update iteration to that of the linear static analysis solver after the update iteration is greater than 1.02, then the linear static analysis solver after the update iteration is considered to be superior to the linear static analysis solver before the update iteration in terms of solution efficiency. Otherwise, it is assumed that the solution efficiency of the updated linear static analysis solver is comparable to that of the original linear static analysis solver.

2. The regression testing method for the linear static analysis solver of structural analysis software according to claim 1, characterized in that, In step one, a list of test cases is constructed; Define the linear static analysis solver before update iteration, the linear static analysis solver after update iteration, and their calling method dictionary. Then call the linear static analysis solver before update iteration and the linear static analysis solver after update iteration, and solve the test cases in turn according to the test case list. Store the solution results of the test cases in folders named after the linear static analysis solver before the update iteration and the linear static analysis solver after the update iteration.

3. The regression testing method for the linear static analysis solver of structural analysis software according to claim 2, characterized in that, In step two, the response information in the test case solution results is extracted using a three-item localization method based on node / unit number, response type, and load condition. This information is stored in a dictionary with the format {[node / unit number, response type, load condition]:[response value]}. The response information includes displacement response information, stress response information, strain response information, and constraint reaction force response information; Store the solution time of the test cases in a dictionary, with the storage format being {test case name: solution time}.

4. The regression testing method for the linear static analysis solver of structural analysis software according to claim 3, characterized in that, In step three, the response information from the test case solution results, as well as the solution time of the test cases, are stored in the form of a database table.

5. The regression testing method for the linear static analysis solver of structural analysis software according to claim 4, characterized in that, In step four, response information corresponding to response values ​​that are less than the usable threshold are removed from the test case solution results.

6. The regression testing method for the linear static analysis solver of structural analysis software according to claim 5, characterized in that, In step four, if the number of test cases successfully solved by the updated linear static analysis solver is greater than the number of test cases successfully solved by the original linear static analysis solver, then the updated linear static analysis solver is considered to be superior to the original linear static analysis solver in terms of solution accuracy. If the number of test cases successfully solved by the updated linear static analysis solver is equal to the number of test cases successfully solved by the original linear static analysis solver, then the updated linear static analysis solver is considered to be comparable to the original linear static analysis solver in terms of solution accuracy. Otherwise, it is assumed that the updated linear static analysis solver is less accurate than the original linear static analysis solver in terms of solution accuracy.

Citation Information

Patent Citations

  • Solver performance defect detection method based on multi-target genetic algorithm

    CN113377676A

  • AI-based front-end low-code automatic programming method and system

    CN119065657A