Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1999-12-15
2002-12-03
Beausoleil, Robert (Department: 2184)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C717S124000
Reexamination Certificate
active
06490696
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Technical Field
This invention relates to testing printer output. More particularly, the invention relates to testing printer output using regression techniques based on display list comparison.
2. Description of the Prior Art
The computer industry is dynamic and experiencing rapid, continual change. Software and hardware systems continue to improve at an accelerating rate, benefiting synergistically from prior advances in technology. Hence, in light of this technology upheaval, coalescing software and hardware design to produce a desired consistent output remains a formidable challenge.
An iterative diagnostic and quality control method known as regression testing is used to compare outputs from various combinations of hardware and software to determine if a change in one element of the system causes an undesirable change in the output of the system. If a change in the output does occur, the identified error may be used by designers to modify their particular hardware or software to hopefully eliminate the undesirable change in the system output. Unfortunately, identifying the source of the cause of the change in the output can be quite difficult, given the dependencies between the innumerable hardware and software elements of a computer system.
Generally, output from a computer system may include either the results of a calculation, a display on a computer video terminal or tangible printed output from a computer printer. Computer printers must be designed to work appropriately with thousands of different software programs. Software will direct a printer to produce images, graphics and text with differing attributes, such as position, color, shape, size and resolution. Frequently, the computer generates an instruction set to send to the printer based upon a pre-defined printer definition language (PDL), such as ADOBE'S POSTSCRIPT developed by Adobe Systems, Inc. of Mountainview, Calif. The printer interprets the PDL commands to generate the desired printed page.
Printer manufacturers continually strive to upgrade their printer systems to provide higher quality printed output. As print resolution increases and the available spectrum of colors that can be printed expands, substantially more data must be transmitted to the printer to produce the desired output. As a result, previously satisfactory methods for ensuring consistent, quality printer output prove to be inadequate.
For example, checksum comparison is one method used for regression testing of software that produces printed output. For example, when a software program generates and communicates a print command to a printer, the computer will produce a bitmap of the intended page. The checksum for the bitmap is determined by adding the value of the bits or pixels within the bitmap to arrive at a total sum for the bitmap of the particular page. The checksum is a number requiring only a few bytes of storage space. Consequently, a checksum may be generated for a known correct page and stored for later comparison.
If any element of the software is changed, the same original commands may be communicated to the new modified version of the software to generate a new bitmap for the particular page. A new checksum for this new bitmap is then calculated and compared against the original checksum for the known correct page. If the checksum of the original page and the new page are equal, it suggests that the newest version of the software has not affected printer output. However, it does not ensure that the printed output is consistent. For example, an image may appear to be printed correctly, but its position on the page may be different. A checksum comparison test would suggest that the new page has not changed, although in fact, it has. Hence, the checksum regression testing method must be accompanied by manual visual comparison of archived known correct reference pages against new pages to ensure that the software changes have not affected printer output. The need for manual visual comparison causes this approach to be extremely time consuming, unwieldy, and inaccurate. Full regression testing for just one printer description language (PDL) interpreter can comprise upwards of 10,000 pages, for both color and monochrome, and for two or three different resolutions. Hence, an individual, or team of individuals, might be required to visually compare as many as 60,000 pages of output for just one PDL interpreter. Not only is this exceptionally time consuming, but it also tends to introduce a substantial amount of human error in the quality control process due to the tedious nature of the evaluation.
Another common method used to regression test software programs that produce printed output is known as bitmap comparison. In this method, the bitmap for a new page is compared against the bitmap for a known correct page. This approach consumes substantial memory since the known correct reference pages must be stored for all software and hardware configurations being tested. However, the bitmap comparison method does provide more information than the checksum comparison method, since the number and value of different pixels in the bitmap may be counted. Nonetheless, this method still is unable to classify different types of objects in the bitmap to more readily identify the source of a problem. Additionally, the bitmap comparison method is computationally intensive and also requires substantial human interpretation to identify the source of an incorrect output. Hence, as printers become more advanced, the bit map comparison method becomes even more inefficient and introduces substantial human error into the quality control process.
In addition to the basic checksum and bitmap comparison regression testing techniques discussed above, the prior art includes slight variations on these fundamental approaches. For example, Ross, Jr., Method For Improving The Dimensional Accuracy of Laser Printers, U.S. Pat. No. 5,815,187 (Sep. 5, 1998), describes a method for improving the printed output from a laser printer when the moving components of the printer wear with use. Print commands for a known test pattern are sent to the printer. The printed output is then compared to the original known correct test pattern. An adjustment calibration factor is then manually determined and input into the graphics controller to account for the wear in the laser printer. Ross's method is simply a variation of the bitmap comparison method and is limited in use to adjusting horizontal and vertical dimensional inaccuracies in the printed output.
Edmonds et al, Software Verification Apparatus, U.S. Pat. No. 5,022,028 (Jun. 4, 1991) offers only a slight variation on standard regression testing for software programs. A known set of commands used to generate desired output are automatically replicated and input to a newer revised version of a software program. Edmonds does not suggest any more efficient methods for comparing output generated by the software versions and verifying its accuracy.
Bangston, Method And System For Converting Bitmap Data Into Page Definition Language Commands, U.S. Pat. No. 5,659,638 (Aug. 19, 1997) describes a method for iteratively generating page definition language (PDL) commands from bitmaps generated by scanning the pages of a book. The purpose of Bangston's invention is simply to provide a means to more accurately reproduce printed pages, when the original source for the printing is no longer available. Bangston's method is simply a reverse implementation of the standard bitmap comparison approach directed to a very narrow purpose.
McKeeman et al, Method And Apparatus For Producing A Software Test System Using Complementary Code To Resolve External Dependencies, U.S. Pat. No. 5,651,111 (Jul. 2, 1997) describes a software debugging system where separate portions of the computer code are first independently tested and debugged. Then, each code “unit” is incrementally combined and tested in a similar isolated manner. McKeeman's invention is directed to identifying software bugs that
Iannino Anthony
Wood Patrick H.
Beausoleil Robert
Electronics for Imaging, Inc.
Maskulinski Michael
LandOfFree
System and method for printer output regression testing... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for printer output regression testing..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for printer output regression testing... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2972788