Patent US5651111A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5651111A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for producing a software test system using complementary code to resolve external dependencies

Assignee: Hewlett Packard Development Co LP
•
Filing: 1996-01-16
•
Granted: 1997-07-22
•
Expires: 2016-01-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A software unit development and test methodology in which a software application or project is dividing into conceptual units. Each unit is first developed and debugged in an isolated testing environment which simulates the actual testing environment through test conditions. Following unit testing, other tested units are incrementally combined and tested in a similar isolated manner. Automatic generation of a testing environment and development system driving debugging and testing software, for measuring testing completeness, and for verifying correctness of future development and maintenance efforts are provided.

Inventors

  • 👤 William M. McKeeman
  • 👤 August G. Reinig

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 05:54
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3668; G06F11/3672; G06F11/3688

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 82 words
A method of software testing using a computer system having a memory, said method comprising the steps of: analyzing source code stored in the memory to produce analysis information identifying external dependencies which are needed for testing the source code in an isolated environment, said analysis information including a list of external routines called from said source code and not defined in said source code; and automatically generating, in response to said analyzing step, complementary code including definitions resolving said external dependencies.
Claim 2
Independent Claim 82 words
A method of software testing using a computer system having a memory, said method comprising the steps of: analyzing source code stored in the memory to produce analysis information identifying external dependencies which are needed for testing the source code in an isolated environment, said analysis information including a list of external routines called from said source code and not defined in said source code; and automatically generating, in response to said analyzing step, complementary code including definitions resolving said external dependencies.
Claim 3
Dependent Claim 58 words
The method of claim 1 further comprising the step of translating said source code and said complementary code to produce a machine-executable program for testing said source code, and wherein said analyzing step comprises producing a symbol table containing said analysis information, said analysis information including routine signature information, variable typing information, and another list of driven routines.
Claim 4
Dependent Claim 25 words
The method of claim 2, wherein said complementary code includes source code for providing a test system environment enabling execution of test system environment commands.
Claim 5
Dependent Claim 27 words
The method of claim 3 further comprising executing the machine-executable program using said test environment commands and using data to test runtime execution of said source code.
Claim 6
Dependent Claim 24 words
The method of claim 4, wherein said test environment commands are contained in a recorded input script for subsequent executions of said machine-executable program.
Claim 7
Dependent Claim 14 words
The method of claim 4, wherein said test system environment commands are issued interactively.
Claim 8
Dependent Claim 30 words
The method of claim 4, wherein said test environment commands include commands defining test variables used to communicate data between a plurality of routines during execution of said machine-executable program.
Claim 9
Dependent Claim 24 words
The method of claim 4, wherein said test environment commands include commands for queueing values to a routine for successive invocations of such routine.
Claim 10
Dependent Claim 41 words
The method of claim 4 further comprising recording test results from executing said machine-executable program in accordance with issued test environment commands to establish a benchmark test result for comparison to other test results from subsequent executions of another machine-executable program.
Claim 11
Dependent Claim 42 words
The method of claim 9 further comprising comparing the benchmark test result to a subsequent test result to determine if the subsequent test result is different from the benchmark test result, and, if different taking a corrective action based on the difference.
Claim 12
Dependent Claim 22 words
The method of claim 10 wherein said corrective action includes one of modifying said source code, or modifying said test environment commands.
Claim 13
Dependent Claim 31 words
The method of claim 2, wherein said complementary code includes source code which monitors the execution of source code statements contained in said source code to provide testing coverage analysis information.
Claim 14
Dependent Claim 44 words
The method of claim 12, wherein said machine-executable program includes a testing environment with coverage commands for accessing said testing coverage analysis information, and wherein said complementary code produced in said generating step includes source code to support the execution of said coverage commands.
Claim 15
Dependent Claim 36 words
The method of claim 2, wherein other source code is integrated with said source code to produce a combined source code, and wherein said analyzing, generating, and translating steps are performed using said combined source code.
Claim 16
Dependent Claim 34 words
The method of claim 1, wherein said generating step comprises using said analysis information contained in said symbol table to provide passive stub routine definitions for routines contained in said list of external routines.
Claim 17
Dependent Claim 43 words
The method of claim 1, wherein said source code includes interface description files containing information describing routines defined in the source code, and containing information describing externally defined routines which are called from said source code and not defined within said source code.
Claim 18
Dependent Claim 30 words
The method of claim 16, wherein said information contained in said interface description files comprises type information for routine parameters, and routine return value information describing said externally defined routines.
Claim 19
Dependent Claim 30 words
The method of claim 1 further comprising storing test system options in a system options filer and wherein said analyzing uses said test system options to produce said analysis information.
Claim 20
Dependent Claim 37 words
The method of claim 18, wherein said system options file includes information that identifies a complex variable type as opaque to signify that a limited description of said complex variable type is contained in said source code.
Claim 21
Dependent Claim 46 words
The method of claim 1, wherein said source code includes pre-conditions and post-conditions defining values for performing runtime verification of routine parameters at the beginning of a routine call, and wherein said generating includes generating said complementary code to perform the runtime verification of said pre-conditions.
Claim 22
Dependent Claim 48 words
The method of claim 1, wherein said source code includes post-conditions defining values for performing runtime verification of routine return values and routine parameters prior to returning from the called routine, and wherein said generating includes generating said complementary code to perform the runtime verification of said post-conditions.
Claim 23
Dependent Claim 41 words
The method of claim 1, wherein said source code includes a first routine to be tested and a second routine which is an active stub routine definition functioning as a placeholder routine definition, said second routine called from said first routine.
Claim 24
Dependent Claim 66 words
The method of claim 1, wherein said source code contains preprocessor source statements, and the method further includes, prior to the analyzing step, a preprocessing step which evaluates the preprocessor source statements, and produces a post-preprocessing file containing expanded source code resulting from the evaluation of said preprocessor source statements, and wherein said post-preprocessing file is used in said analyzing step to produce said analysis information.
Claim 25
Dependent Claim 29 words
The method of claim 1 further comprising the step of translating said source code and using said complementary code to produce a machine-executable program for testing said source code.
Claim 26
Independent Claim 126 words
An apparatus for software testing in a computer system having a memory comprising: means for analyzing source code stored in the memory to produce analysis information identifying external dependencies which are necessary to allow the source code to be tested in an isolated environment, said analysis information including a list of external routines that are called from said source code and not defined in said source code and comprise said external dependencies; and means, coupled to said analyzing means, for automatically generating complementary code including definitions resolving said external dependencies comprising said external routines contained in said list; means for translating said source code and said complementary code to produce a machine-executable program for testing; and means for executing said machine-executable program within a testing environment.
Claim 27
Independent Claim 126 words
An apparatus for software testing in a computer system having a memory comprising: means for analyzing source code stored in the memory to produce analysis information identifying external dependencies which are necessary to allow the source code to be tested in an isolated environment, said analysis information including a list of external routines that are called from said source code and not defined in said source code and comprise said external dependencies; and means, coupled to said analyzing means, for automatically generating complementary code including definitions resolving said external dependencies comprising said external routines contained in said list; means for translating said source code and said complementary code to produce a machine-executable program for testing; and means for executing said machine-executable program within a testing environment.
Claim 28
Dependent Claim 35 words
The apparatus of claim 25, wherein said testing environment includes means for providing a runtime testing environment with testing environment commands to examine routine information and test results and to provide test data to routines.
Claim 29
Independent Claim 98 words
An apparatus for software testing in a computer system having a memory comprising: means for analyzing source code stored in the memory to produce analysis information identifying external dependencies which are necessary to allow the source code to be tested in an isolated environment, said analysis information including a list of external routines that are called from said source code and not defined in said source code and comprise said external dependencies; and means, coupled to said analyzing means, for automatically generating complementary code including definitions resolving said external dependencies comprising said external routines contained in said list.
Claim 30
Independent Claim 98 words
An apparatus for software testing in a computer system having a memory comprising: means for analyzing source code stored in the memory to produce analysis information identifying external dependencies which are necessary to allow the source code to be tested in an isolated environment, said analysis information including a list of external routines that are called from said source code and not defined in said source code and comprise said external dependencies; and means, coupled to said analyzing means, for automatically generating complementary code including definitions resolving said external dependencies comprising said external routines contained in said list.
Claim 31
Dependent Claim 26 words
The apparatus of claim 27 further comprising: means for translating said source code and for using said complementary code to provide a machine-executable program for testing.
Claim 32
Dependent Claim 35 words
The apparatus of claim 28, wherein, prior to using said complementary code, said means for translating translates said complementary code, and the apparatus further comprises: means for executing said machine-executable program within a testing environment.

References Cited (Backward Citations)

US4595981A Cited
US5357452A Cited
US5359546A Cited
EP0594888A1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-07-21 2001-01-20 2001-07-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-07-21 2005-01-20 2005-07-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-07-21 2009-01-20 2009-07-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag