← Back to Patent Explorer
US5745767A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for testing the interoperability of application programs

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1995-03-28
•
Granted: 1998-04-28
•
Expires: 2015-03-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for testing the interoperability of application programs. The interoperability testing system uses an application-independent test script and application-specific command scripts to test the interoperability of application programs. An application-independent test script contains a series of high-level application-independent commands that are to be performed to test the application programs. Each application program to be tested has a corresponding application-specific command script. An application-specific command script contains an implementation of each high-level command for the corresponding application program. To test application programs, the interoperability testing system executes an application-independent test script by reading each high-level command from the test script, retrieving the implementation of that high-level command for the application program that is to perform that command, and executing that implementation.

Inventors

  • 👤 Douglas Jay Rosen
  • 👤 Ross Faulkner Smith, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 17:49
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3668; G06F11/3672; G06F11/3684; G06F11/30; G06F11/34; G06F11/3409; G06F11/3414; G06F2201/00; G06F2201/86; G06F2201/88

Claims Analysis

Total Claims: 47
Claim 1
Independent Claim 205 words
A method in a computer system for testing a plurality of application programs, each of the application programs having low-level commands, each of the low-level commands indicating a task to be performed by the application program, the computer system having a test script containing a description of a test to be performed on each of the application programs, the test script having a plurality of application-independent high-level commands, each of the high-level commands specifying a task to be performed by the application program being tested, each of the application programs having an implementation of each of the high-level commands for the application program, each of the implementations having an associated plurality of low-level commands for directing the application program to perform the task of an associated one of the high-level commands, the method comprising the steps of: selecting each of the high-level commands in the test script; retrieving the implementation of each of the selected high-level commands for the application program being tested; selecting each of the low-level commands in each retrieved implementation; and directing the application program being tested to perform the task of each of the selected low-level commands to effect the performance of the task of each of the selected high-level commands.
Claim 2
Independent Claim 205 words
A method in a computer system for testing a plurality of application programs, each of the application programs having low-level commands, each of the low-level commands indicating a task to be performed by the application program, the computer system having a test script containing a description of a test to be performed on each of the application programs, the test script having a plurality of application-independent high-level commands, each of the high-level commands specifying a task to be performed by the application program being tested, each of the application programs having an implementation of each of the high-level commands for the application program, each of the implementations having an associated plurality of low-level commands for directing the application program to perform the task of an associated one of the high-level commands, the method comprising the steps of: selecting each of the high-level commands in the test script; retrieving the implementation of each of the selected high-level commands for the application program being tested; selecting each of the low-level commands in each retrieved implementation; and directing the application program being tested to perform the task of each of the selected low-level commands to effect the performance of the task of each of the selected high-level commands.
Claim 3
Dependent Claim 70 words
The method of claim 1 including an application information table indicating properties possessed by each of the plurality of application programs, a test script information table indicating which properties each of the application programs to be tested is to possess, and including the step of determining from the application information table and the test script information table which application programs possess the properties of the application programs to be tested.
Claim 4
Dependent Claim 18 words
The method of claim 2 wherein each of the low-level commands is a message indicative of an event.
Claim 5
Dependent Claim 17 words
The method of claim 3 wherein an event may be a mouse movement or a keyboard command.
Claim 6
Dependent Claim 83 words
The method of claim 1 for testing the interoperability of two application programs, wherein each of the high-level commands indicates which of the two application programs is to perform the task of the high-level command; wherein the step of retrieving the implementation retrieves the implementation of the high-level command for the application program that is to perform the task of the high-level command; and wherein the step of directing directs the application program that is to perform the task of the high-level command.
Claim 7
Dependent Claim 70 words
The method of claim 5 including an application information table indicating properties possessed by each of the plurality of application programs, a test script information table indicating which properties each of the application programs to be tested is to possess, and including the step of determining from the application information table and the test script information table which application programs possess the properties of the application programs to be tested.
Claim 8
Dependent Claim 18 words
The method of claim 6 wherein each of the low-level commands is a message indicative of an event.
Claim 9
Dependent Claim 17 words
The method of claim 7 wherein an event may be a mouse movement or a keyboard command.
Claim 10
Dependent Claim 88 words
The method of claim 1 including, for each of the plurality of application programs, a high-level command table having an indicator for the implementation of each of the high-level commands for each of the application programs, and a mapping from an identifier of each of the application programs to the high-level command table for that application program, and wherein the step of retrieving the implementation of each of the selected high-level commands includes using the mapping to retrieve the high-level command table for the application program being tested.
Claim 11
Dependent Claim 68 words
The method of claim 1 including an application programming interface function for each of the high-level commands, each application programming interface function for receiving an identifier of the application program being tested and for retrieving the implementation of the high-level command corresponding to the identifier of the application program, and including the step of invoking a corresponding application programming interface function for each of the selected high-level commands.
Claim 12
Dependent Claim 37 words
The method of claim 10 wherein the application programming interface function returns to the test script, when its execution is successful, a flag indicating successful, and when its execution is not successful, a flag indicating not successful.
Claim 13
Dependent Claim 40 words
The method of claim 1 further including the step of receiving an implementation of a user-defined high-level command and wherein the step of retrieving retrieves the received implementation when each of the selected high-level commands is the user-defined high-level command.
Claim 14
Dependent Claim 141 words
The method of claim 12 including, for each of the plurality of application programs, a system-defined high-level command table and a user-defined high-level command table, the system-defined high-level command table having an indicator to the implementation of each system-defined high-level command for the application program, the user-defined high-level command table having an indicator to the implementation of each user-defined high-level command for the application program, a mapping from an identifier of the application program to the system-defined high-level command table and to the user-defined high-level command table for the application program, and wherein the step of retrieving the implementation of each of the selected high-level commands includes the steps of retrieving the system-defined high-level command table when the high-level command is a system-defined high-level command; and retrieving the user-defined high-level command table when the high-level command is a user-defined high-level command.
Claim 15
Dependent Claim 17 words
The method of claim 1 wherein an application program further includes a configuration of an application program.
Claim 16
Dependent Claim 33 words
The method of claim 1 wherein in performing the step of retrieving, different application programs may retrieve the same implementation of each of the selected high-level commands for the application program being tested.
Claim 17
Dependent Claim 225 words
A computer testing system for testing a plurality of application programs, each of the application programs having low-level commands, each of the low-level commands indicating a task to be performed by the application program, the computer testing system comprising: a test script containing a description of a test to be performed on each of the application programs, the test script having a plurality of application-independent high-level commands, each of the high-level commands specifying a task to be performed by the application program being tested; for each of the plurality of application programs, for each of the high-level commands, an implementation of the high-level command for the application program, the implementation having a plurality of low-level commands for directing the application program to perform the task of the high-level command; and a testing component for testing one of the application programs based on the test script, the testing component having means for selecting each of the high-level commands in the test script; means for retrieving the implementation of each of the selected high-level commands for the application program being tested; means for selecting each of the low-level commands in the retrieved implementation; and means for directing the application program being tested to perform the task of each of the selected low-level commands to effect the performance of the task of each of the selected high-level commands.
Claim 18
Dependent Claim 225 words
A computer testing system for testing a plurality of application programs, each of the application programs having low-level commands, each of the low-level commands indicating a task to be performed by the application program, the computer testing system comprising: a test script containing a description of a test to be performed on each of the application programs, the test script having a plurality of application-independent high-level commands, each of the high-level commands specifying a task to be performed by the application program being tested; for each of the plurality of application programs, for each of the high-level commands, an implementation of the high-level command for the application program, the implementation having a plurality of low-level commands for directing the application program to perform the task of the high-level command; and a testing component for testing one of the application programs based on the test script, the testing component having means for selecting each of the high-level commands in the test script; means for retrieving the implementation of each of the selected high-level commands for the application program being tested; means for selecting each of the low-level commands in the retrieved implementation; and means for directing the application program being tested to perform the task of each of the selected low-level commands to effect the performance of the task of each of the selected high-level commands.
Claim 19
Dependent Claim 70 words
The system of claim 16, further comprising: an application information table indicating properties possessed by each of the plurality of application programs; a test script information table indicating which properties each of the application programs to be tested is to possess; and means for determining from the application information table and the test script information table which the application programs possess the properties of the application programs to be tested.
Claim 20
Dependent Claim 18 words
The system of claim 17 wherein each of the low-level commands is a message indicative of an event.
Claim 21
Dependent Claim 19 words
The system of claim 18 wherein the event may be an event triggered by a mouse or a keyboard.
Claim 22
Dependent Claim 84 words
The system of claim 16 for testing the interoperability of two application programs, wherein each of the high-level commands indicates which of the two application programs is to perform the task of the high-level command; and wherein the means for retrieving the implementation retrieves the implementation of the high-level command for the application program that is to perform the task of the high-level command; and wherein the means for directing directs the application program that is to perform the task of the high-level command.
Claim 23
Dependent Claim 70 words
The system of claim 20, further comprising: an application information table indicating properties possessed by each of the plurality of application programs; a test script information table indicating which properties each of the application programs to be tested is to possess; and means for determining from the application information table and the test script information table which the application programs possess the properties of the application programs to be tested.
Claim 24
Dependent Claim 18 words
The system of claim 21 wherein each of the low-level commands is a message indicative of an event.
Claim 25
Dependent Claim 19 words
The system of claim 22 wherein the event may be an event triggered by a mouse or a keyboard.
Claim 26
Dependent Claim 91 words
The system of claim 16, further comprising: for each of the plurality of application programs, a high-level command table having an indicator for the implementation of each of the high-level commands for each of the application programs; a mapping from an identifier of each of the application programs to the high-level command table for that application program; and wherein the means for retrieving the implementation of each of the selected high-level commands further comprises means for using the mapping to retrieve the high-level command table for the application program being tested.
Claim 27
Dependent Claim 68 words
The system of claim 16, further comprising: an application programming interface function for each of the high-level commands, each application programming interface function for receiving an identifier of the application program being tested and for retrieving the implementation of the high-level command corresponding to the identifier of the application program, wherein each of the high-level commands is implemented as an invocation of the corresponding application programming interface function.
Claim 28
Dependent Claim 37 words
The system of claim 25 wherein the application programming interface function returns to the test script, when its execution is successful, a flag indicating successful, and when its execution is not successful, a flag indicating not successful.
Claim 29
Dependent Claim 40 words
The system of claim 16 further including means for receiving an implementation of a user-defined high-level command and wherein the means for retrieving retrieves the received implementation when the selected one of the high-level commands is the user-defined high-level command.
Claim 30
Dependent Claim 137 words
The system of claim 27 including, for each of the plurality of application programs, a system-defined high-level command table and a user-defined high-level command table, the system-defined high-level command table having an indicator to the implementation of each system-defined high-level command for the application program, the user-defined high-level command table having an indicator to the implementation of each user-defined high-level command for the application program, a mapping from an identifier of the application program to the system-defined and user-defined high-level command tables for the application program, and wherein the means for retrieving the implementation of each of the selected high-level commands includes means for retrieving the system-defined high-level command table when the high-level command is a system-defined high-level command and means for retrieving the user-defined high-level command table when the high-level command is a user-defined high-level command.
Claim 31
Dependent Claim 17 words
The system of claim 16 wherein an application program further comprises a configuration of an application program.
Claim 32
Dependent Claim 32 words
The system of claim 16 wherein the means for retrieving may retrieve for different application programs the same implementation of each of the selected high-level commands for the application program being tested.
Claim 33
Independent Claim 187 words
A method in a computer system for testing a plurality of application programs, the computer system having a test script, the test script having a description of a test to be performed on each of the application programs, the test script having application-independent high-level commands, each of the high-level commands having a task, each application program having an application-specific implementation of each of the high-level commands, each application-specific implementation having low-level commands, each of the low-level commands having events for directing the application program to perform a task of the low-level command, the method comprising the steps of: for each of the application programs selecting each high-level command in the test script, retrieving the application-specific implementation of each of the selected high-level commands for the application program; and for each of the low-level commands in each retrieved application-specific implementation, selecting the low-level command; and for each event of each of the selected low-level commands, sending the event to the application program to effect the performance of the task of each of the selected high-level commands, whereby each of the application programs is tested using the test script.
Claim 34
Independent Claim 187 words
A method in a computer system for testing a plurality of application programs, the computer system having a test script, the test script having a description of a test to be performed on each of the application programs, the test script having application-independent high-level commands, each of the high-level commands having a task, each application program having an application-specific implementation of each of the high-level commands, each application-specific implementation having low-level commands, each of the low-level commands having events for directing the application program to perform a task of the low-level command, the method comprising the steps of: for each of the application programs selecting each high-level command in the test script, retrieving the application-specific implementation of each of the selected high-level commands for the application program; and for each of the low-level commands in each retrieved application-specific implementation, selecting the low-level command; and for each event of each of the selected low-level commands, sending the event to the application program to effect the performance of the task of each of the selected high-level commands, whereby each of the application programs is tested using the test script.
Claim 35
Dependent Claim 18 words
The method of claim 31 wherein each of the low-level commands is a message indicative of an event.
Claim 36
Dependent Claim 16 words
The method of claim 32 wherein the event may be a mouse movement or keyboard command.
Claim 37
Dependent Claim 162 words
A computer-readable medium containing instructions for causing a computer system to test a plurality of application programs, the computer system having a test script, the test script having a description of a test to be performed on each of the application programs, the test script having application-independent high-level commands, each of the high-level commands having a task, each application program having an application-specific implementation of each of the high-level commands, each application-specific implementation having low-level commands, each of the low-level commands for directing the application program to perform a task of the low-level command, by: for each of the application programs, selecting each high-level command in the test script, retrieving the application-specific implementation of each of the selected high-level commands for the application program; and for each of the low-level commands in each retrieved application-specific implementation, selecting the low-level command; and sending to the application program an indication to effect the performance of the task of each of the selected low-level command.
Claim 38
Dependent Claim 162 words
A computer-readable medium containing instructions for causing a computer system to test a plurality of application programs, the computer system having a test script, the test script having a description of a test to be performed on each of the application programs, the test script having application-independent high-level commands, each of the high-level commands having a task, each application program having an application-specific implementation of each of the high-level commands, each application-specific implementation having low-level commands, each of the low-level commands for directing the application program to perform a task of the low-level command, by: for each of the application programs, selecting each high-level command in the test script, retrieving the application-specific implementation of each of the selected high-level commands for the application program; and for each of the low-level commands in each retrieved application-specific implementation, selecting the low-level command; and sending to the application program an indication to effect the performance of the task of each of the selected low-level command.
Claim 39
Dependent Claim 19 words
The computer-readable medium of claim 34 wherein each of the low-level commands is a message indicative of an event.
Claim 40
Dependent Claim 17 words
The computer-readable medium of claim 35 wherein the event may be a mouse movement or keyboard command.
Claim 41
Dependent Claim 204 words
A computer-readable medium containing instructions for causing a computer system to test a plurality of application programs, each of the application programs having low-level commands, each of the low-level commands indicating a task to be performed by the application program, the computer system having a test script containing a description of a test to be performed on each of the application programs, the test script having a plurality of application-independent high-level commands, each of the high-level commands specifying a task to be performed by the application program being tested, each of the application programs having an implementation of each of the high-level commands for the application program, each of the implementations having an associated plurality of low-level commands for directing the application program to perform the task of an associated one of the high-level commands, by: selecting each of the high-level commands in the test script; retrieving the implementation of each of the selected high-level commands for the application program being tested; selecting each of the low-level commands in each retrieved implementation; and directing the application program being tested to perform the task of each of the selected low-level commands to effect the performance of the task of each of the selected high-level commands.
Claim 42
Dependent Claim 204 words
A computer-readable medium containing instructions for causing a computer system to test a plurality of application programs, each of the application programs having low-level commands, each of the low-level commands indicating a task to be performed by the application program, the computer system having a test script containing a description of a test to be performed on each of the application programs, the test script having a plurality of application-independent high-level commands, each of the high-level commands specifying a task to be performed by the application program being tested, each of the application programs having an implementation of each of the high-level commands for the application program, each of the implementations having an associated plurality of low-level commands for directing the application program to perform the task of an associated one of the high-level commands, by: selecting each of the high-level commands in the test script; retrieving the implementation of each of the selected high-level commands for the application program being tested; selecting each of the low-level commands in each retrieved implementation; and directing the application program being tested to perform the task of each of the selected low-level commands to effect the performance of the task of each of the selected high-level commands.
Claim 43
Dependent Claim 68 words
The computer-readable medium of claim 37 including an application information table indicating properties possessed by each of the plurality of application programs, a test script information table indicating which properties each of the application programs to be tested is to possess, and including determining from the application information table and the test script information table which application programs possess the properties of the application programs to be tested.
Claim 44
Dependent Claim 19 words
The computer-readable medium of claim 38 wherein each of the low-level commands is a message indicative of an event.
Claim 45
Dependent Claim 18 words
The computer-readable medium of claim 39 wherein an event may be a mouse movement or a keyboard command.
Claim 46
Dependent Claim 81 words
The computer-readable medium of claim 37 for testing the interoperability of two application programs, wherein each of the high-level commands indicates which of the two application programs is to perform the task of the high-level command; wherein the retrieving of the implementation retrieves the implementation of the high-level command for the application program that is to perform the task of the high-level command; and wherein the directing directs the application program that is to perform the task of the high-level command.
Claim 47
Dependent Claim 68 words
The computer-readable medium of claim 41 including an application information table indicating properties possessed by each of the plurality of application programs, a test script information table indicating which properties each of the application programs to be tested is to possess, and including determining from the application information table and the test script information table which application programs possess the properties of the application programs to be tested.

References Cited (Backward Citations)

US5157779A Cited
US5233611A Cited
US5410681A Cited
US5495578A Cited
US5475843A Cited
US5404528A Cited
US5418941A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-04-27 2001-10-27 2002-04-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-04-27 2005-10-27 2006-04-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-04-27 2009-10-27 2010-04-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag