Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1999-10-12
2003-02-18
Le, Dieu-Minh (Department: 2184)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C714S037000
Reexamination Certificate
active
06523137
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention pertains generally to remote software application testing. More particularly, the invention is a method for remotely testing application program interface function calls within a software application under test which does not require a priori programming of remote procedure calls or other function-specific algorithms within the software application under test. The invention provides a lookup agent within the software application under test for determining indirect reference values and a component test framework for handling messaging between the software application under test and the test application.
2. The Prior Art
It is often necessary to test a software application in a configuration where the test program or application resides in or is executing in a different computer from the software application under test. In other cases, the test application resides on the same computer as the software application under test, but the test application executes within a different memory address space from the software application under test. In either case, the test application is considered “remote” from the software application under test, because the test application does not have access to the memory address spaces used by the software application under test. Thus the test application is not able to determine certain values ascertainable from the software application under test.
For example, the test application is not able to determine values which are “indirectly referenced” by the software application under test. Values such as structures and arrays or values containing pointers to other structures, arrays or values, for example, are indirect references having values which are not normally determinable from the test application, because the address space reference by such indirect references are not available to the test application as is well known in the art.
This inability to determine the values of indirectly referenced objects presents a serious problem in the field of remote testing because in order for the remote test application to check values of arguments in functions calls, including application program interface (API) function calls, made by the software application under test, the values of such arguments within the function calls must be also determinable. However, since function calls may include one or more arguments which include indirect references, the values of which are inaccessible remotely as described above, remote testing of such function calls involving indirect references is severely limited accordingly.
The current approach to providing the actual values of indirect references provided in function calls involves “pre-packaging” function calls. Where function calls include arguments having indirect references, this approach extracts the values of such arguments a priori from memory and/or using a local call to obtain such indirect reference values. After determining the value of each indirect reference, the function call including the actual values packaged therewith is suitable for use by the remote test application.
Several disadvantages are presented by the prior art approach of pre-packaging. First, the task of pre-packaging function calls involves a substantial amount of development time in tracking the actual value of interest, particularly because indirect references may include further indirect references. For example, a first pointer object may reference a structure object which further references a second pointer object. Thus, ascertaining the actual value of an indirect reference may involve tracking a plurality of other indirect references. Second, as structures or function calls are changed, the pre-packaging effort of tracking the actual values of indirect references must be repeated to ensure accurate manual referencing in the software application under test resulting in additional development time and costs.
These disadvantages are also present with systems using remote procedure call (RPC). RPC is a type of protocol that allows a client program on one computer to execute a program on a server computer. Using RPC, a system developer need not develop specific procedures for the server. Instead, the client program sends a message to the server with appropriate arguments and the server returns a message containing the results of the program executed. The arguments provided by the client messages to the server must be resolved to actual values if the arguments involve indirect references in order to provide remote testing of such messages, because as noted above, remote test applications do not have access to the memory address space pointed to by indirect references. The process of resolving indirect references to actual values requires a development effort and expense similar to that described above for pre-packaging function calls.
Furthermore, it is often disadvantageous to have the developer of the software application under test provide the code required to make such software application “test-ready” (i.e., providing code to make such application suitable for test) because the developer may be unfamiliar with the techniques used by a tester to test software applications. Likewise, it is disadvantageous to have the tester provide code within the software application under test to make such application “test-ready” because the tester may be unfamiliar with the specifics of the software application code. It is desirable to have the software application under test be independent from the test application wherein the tester need only be familiar with the function calls provided by the software application under, not the specific implementation of the function calls.
Accordingly, there is a need for a method and system for remote testing of software applications which does not require a priori programming of remote procedure calls or other function-specific algorithms within the software application under test. The present invention satisfies these needs, as well as others, and generally overcomes the deficiencies found in the background art.
An object of the invention is to provide a method and system for remote testing of software applications which overcomes the prior art.
Another object of the invention is to provide a method and system for remote testing of software applications which does not require a priori programming of remote procedure calls or other function-specific algorithms within the software application under test.
Another object of the invention is to provide a method and system for remote testing of software applications which provides a lookup agent within the software application under test for determining indirect reference values and a component test framework for handling messaging between the software application under test and the test application.
Another object of the invention is to provide a method and system for remote testing of software applications which provides a method for ascertaining the values of indirect reference objects without function-specific algorithms within the software application under test.
Another object of the invention is to provide a method and system for remote testing of software applications having function calls with one or more arguments including an indirect reference which does not require function-specific algorithms within the software application under test.
BRIEF DESCRIPTION OF THE INVENTION
The present invention is a system and method for remotely testing function calls made by a software application by providing a mechanism for externally intercepting the function calls made by the software application and a mechanism for determining the values of arguments having indirect references within each of the function calls.
In its most general terms, the system of the invention provides a lookup agent, a component test framework (CTF) operatively coupled to the software application under test (component under test), and a test application operatively coupled to the CTF.
The lookup agent carries out the ope
Le Dieu-Minh
Sierra Patent Group Ltd.
LandOfFree
Method and system for remote testing of application program... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system for remote testing of application program..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for remote testing of application program... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3136018