Automatic testing apparatus for embedded software, automatic testing method thereof and test scenario composing method
US-9195571-B2 · Nov 24, 2015 · US
US9612942B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9612942-B2 |
| Application number | US-94878810-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 18, 2010 |
| Priority date | Nov 18, 2010 |
| Publication date | Apr 4, 2017 |
| Grant date | Apr 4, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Testing a computer program comprises identification of resource access requests by the computer program to a resource provided by an underlying host. The resource access requests may be intercepted and a determined response may be returned instead of the actual response of the underlying host. In some exemplary embodiments, the resource may a clock of the underlying host and the response may be the time of the clock. In some exemplary embodiments, the computer program may be tested to check for validity during execution on a cloud computing environment, in which access to resources may yield results that on a non-cloud computing environments are generally not expectable. The testing may be performed on a non-cloud computing environments and simulate scenarios applicable to cloud computing environments.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method, the method comprising: testing a computer program by operating the computer program by a computerized device, wherein the computerized device is operative to provide the computer program with access to a clock, wherein the clock is configured to provide a time while preserving a monotonically strict increasing property; wherein said testing comprises: intercepting at least a first access request and a second access request to the clock by the computer program, wherein said intercepting comprises: determining a first response and a second response to be provided to the computer program in response to the first access request and the second access request, respectively, wherein the first response and the second response is a time of the clock, wherein the first response is configured to simulate execution of the computer program on a first computerized device, and the second response is configured to simulate execution of the computer program on a second computerized device, wherein the second response is intentionally designed to be a response that would not have been returned in response to the second access request if the second access request was executed on the first computerized device, thus simulating migration of the computer program from the first computerized device to the second computerized device during execution, wherein said determining the second response comprises determining to violate a monotonically strict increasing property of a time function of the clock; in response to said determining to violate the monotonically strict increasing property of the time function: retrieving a previously provided time; and randomizing a time preceding the previously provided time within a predetermined range, wherein the randomized time is the second response; and providing the first response and the second response to the computer program instead of a first and second responses from the clock to the request. 2. The computer-implemented method of claim 1 , further comprising receiving from a user the predetermined range. 3. The computer-implemented method of claim 1 , wherein said determining comprises: retrieving a current time from the clock; and determining the time so as the time is after at least a predetermined time duration from the current time. 4. The computer-implemented method of claim 1 , wherein said testing comprises testing validity of operation of the computer program in a cloud computing environment, wherein said testing is configured to test the validity of operation in response to migration between devices in the cloud computing environment. 5. The computer-implemented method of claim 4 , further comprises, in response to completion of said testing validity of operation, loading the computer program onto the cloud computing environment. 6. The computer-implemented method of claim 1 , further comprises pre-processing the computer program and identifying a function call operative to access the clock. 7. The computer-implemented method of claim 6 , further comprising instrumenting the computer program with a code operative to replace the function call; and wherein said intercepting comprises executing the code. 8. A computerized apparatus, the apparatus comprising: a testing module operative to operate a computer program, wherein the testing module is configured to provide the computer program with access to a clock, wherein the clock is configured to provide a time while preserving a monotonically strict increasing property, wherein said testing module is operatively coupled to an interceptor; said interceptor operative to intercept at least a first access request and a second access request to the clock by the computer program, wherein said interceptor comprises a response determinator operative to determine a first response and a second response to be provided to the computer program in response to the first access request and the second access request, respectively, wherein the first response and the second response is a time of the clock, wherein the first response is configured to simulate execution of the computer program on a first computerized device, and the second response is configured to simulate execution of the computer program on a second computerized device, wherein the second response is intentionally designed to be a response that would not have been returned in response to the second access request if the second access request was executed on the first computerized device, thus simulating migration of the computer program from the first computerized device to the second computerized device during execution, wherein said determining the second response comprises determining to violate a monotonically strict increasing property of a time function of the clock; in response to said determining to violate the monotonically strict increasing property of the time function: retrieving a previously provided time; and randomizing a time preceding the previously provided time within a predetermined range, wherein the randomized time is the second response; and wherein said interceptor is further operative to provide the first and second responses to the computer program instead of a first and second responses from the clock to the request; and a processor that is configured to be utilized by said testing module and said interceptor. 9. The computerized apparatus of claim 8 , further comprising an input module operative to receive from a user the predetermined range. 10. The computerized apparatus of claim 8 , wherein said response determinator is further operative to retrieve a current time from the clock; and determine the time so as the time is after at least a predetermined time duration from the current time. 11. The computerized apparatus of claim 8 , wherein said testing module is configured to test validity of operation of the computer program in a cloud computing environment, wherein said testing is configured to test the validity of operation in response to migration between devices in the cloud computing environment. 12. The computerized apparatus of claim 8 , further comprising an access identifier operative to pre-process the computer program and identify a function call operative to access the clock. 13. The computerized apparatus of claim 12 , wherein pre-processing the computer program comprises instrumenting the computer program with code operative to replace the function call. 14. A computer program product comprising a non-transitory computer readable medium retaining program instructions, which instructions when read by a processor, cause the processor to perform a method comprising: testing a computer program by operating the computer program by a computerized device, wherein the computerized device is operative to provide the computer program with access to a clock, wherein the clock is configured to provide a time while preserving a monotonically strict increasing property; wherein said testing comprises: intercepting at least a first access request and a second access request to the clock by the computer program, wherein said intercepting comprises: determining a first response and a second response to be provided to the computer program in response to the first access request and the second access request, respectively, wherein the first response and the second response is a time of the clock, wherein the first response is configured to simulate execution of the computer program on a first computerized device, and the second response is configured to simulate execution of the computer program on a second com
Test management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.