US 12,013,775 B2
Building coverage metrics and testing strategies for mobile testing via view enumeration
Joseph William Ligman, Wilton, CT (US); Marco Pistoia, Amawalk, NY (US); Gegi Thomas, Piermont, NY (US); and Omer Tripp, Bronx, NY (US)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by International Business Machines Corporation, Armonk, NY (US)
Filed on Dec. 9, 2015, as Appl. No. 14/964,210.
Prior Publication US 2017/0168922 A1, Jun. 15, 2017
Int. Cl. G06F 9/44 (2018.01); G06F 3/14 (2006.01); G06F 11/36 (2006.01)
CPC G06F 11/3676 (2013.01) 16 Claims
OG exemplary drawing
 
10. An apparatus, comprising:
a processor; and
a memory system accessible by said processor, wherein said memory system stores a set of computer-readable instructions that permit said processor to execute a method of testing an application program, said set of computer-readable instructions comprising:
performing a static analysis of metadata of code of an application, using a test application program executed by a processor on a computer;
simulating the application code to determine available user interface states of said application based on said static analysis of the metadata of the code of the application;
accessing and parsing a configuration file of said application to enumerate states possible for said application, wherein the accessing and parsing the configuration file includes parsing and enumerating a plurality of different views of the configuration file;
calculating a coverage metric for said application based on a difference between a number of the states reached by said simulating of said available user interface states and a number of states possible as enumerated from said configuration file;
determining which possible states are missing when said simulating is completed according to the metadata of the code of application; and
comparing the number of states reached during the simulation with the number of states possible, including calculating one or more coverage values,
wherein the user interface states in a code under testing are simulated based on the static analysis of the metadata.