The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
May. 30, 2006
Filed:
Sep. 05, 2001
Eitan Farchi, Pardes Hana, IL;
Alan Hartman, Haifa, IL;
Paul Kram, Lowell, MA (US);
Kenneth Nagin, D.N. HaMovil, IL;
Eitan Farchi, Pardes Hana, IL;
Alan Hartman, Haifa, IL;
Paul Kram, Lowell, MA (US);
Kenneth Nagin, D.N. HaMovil, IL;
International Business Machines Corporation, Armonk, NY (US);
Abstract
The present invention enables the modeling of plural outcomes resulting from a single stimulus, thereby allowing for automated test generation for non-deterministic software. In accordance with the present invention, a method, system, and computer program product are disclosed for testing software having a non-deterministic outcome. In accordance with the present invention, a set of rules is created, each rule having an associated stimulus, a precondition computation, and a computation procedure to produce the set of all valid outcome states. Each valid outcome state models one of several states that may result from applying the stimulus to any state which satisfies the precondition computation. Using these models, a test generation program is executed against the set of rules to recursively expand each path associated with an outcome state of a rule and outputting a list of valid possible outcomes, then selecting sequences of stimuli in accordance with coverage goals set by the test engineer. A test execution engine is then run against the application under test applying the sequences of stimuli to the software and a list of observed states resulting from the application of the stimuli is compiled. Finally, the list of observed states is compared with the list of valid possible outcome states to identify defects (as well as to identify correct outcomes) in the application under test and ensure the attainment of the coverage goals.