US 12,468,623 B2
Graphical user interface for automatically generating software tests
Michael Dale Anderson, Wilton, NY (US); Byron Asa Wingerd, Cary, NC (US); Andrea Coombs, East Lansing, MI (US); and Mary Loveless, Arlington, MA (US)
Assigned to JMP Statistical Discovery LLC, Cary, NC (US)
Filed by JMP Statistical Discovery LLC, Cary, NC (US)
Filed on Jun. 20, 2024, as Appl. No. 18/748,627.
Claims priority of provisional application 63/567,245, filed on Mar. 19, 2024.
Claims priority of provisional application 63/624,187, filed on Jan. 23, 2024.
Prior Publication US 2025/0238355 A1, Jul. 24, 2025
Int. Cl. G06F 11/3668 (2025.01); G06F 8/30 (2018.01)
CPC G06F 11/3684 (2013.01) [G06F 8/30 (2013.01)] 30 Claims
OG exemplary drawing
 
1. A method comprising:
obtaining, by one or more processors, an output dataset generated by a first software program based on an input dataset, wherein the input dataset includes numerical values, wherein the output dataset includes analytical metrics generated based on the numerical values, and wherein the first software program is a first analytical program provided by an entity that is different from an end user;
generating, by the one or more processors, a graphical user interface (GUI) that displays the output dataset to the end user;
detecting, by the one or more processors, a selection by the end user of a particular value of the output dataset in the GUI for use as an expected output value during a subsequent test;
providing, by the one or more processors, a first interface element of the GUI through which the end user can input a maximum number of significant figures for the particular value;
in response to receiving the maximum number of significant figures from the end user via the first interface element, generating, by the one or more processors, a truncated value based on the particular value, wherein the truncated value is a version of the particular value as truncated to the maximum number of significant figures input by the end user;
providing, by the one or more processors, a second interface element showing the truncated value, the second interface element being different from the first interface element;
providing, by the one or more processors, a third interface element through which the end user can input a log relative error value, wherein the third interface element is different than the first and second interface elements;
receiving, by the one or more processors, the log relative error value from the end user via the third interface element;
generating, by the one or more processors, a testing program for testing functionality of a second software program, by inserting the truncated value into testing logic of a predefined code template as the expected output value, wherein the second software program is a second analytical program, and wherein generating the testing program further involves inserting the log relative error value into the testing logic of the predefined code template;
executing, by the one or more processors, the testing program to test the functionality of the second software program and thereby generate test results, wherein the testing program is configured to:
provide the input dataset as input to the second software program;
receive an output from the second software program generated based on the input dataset;
determine whether the output of the second software program deviates from the truncated value by more than a threshold amount; and
in response to determining that the output of the second software program deviates from the truncated value by more than the threshold amount, flag the deviation in the test results; and
outputting, by the one or more processors, the test results to the end user in the GUI.