Beyond Common Myths

Perhaps it would be useful to step back and take a look at the motivations behind the development of PDF InteropAnalyzer, then move forward to see how the PDF Functional Test Suite fits into your overall PDF testing strategies.

Over the 20+ years that PDF has been around, Acrobat has been the defacto standard consumer of PDF files. If a PDF file renders in Acrobat, users expect other PDF consumers such as a printer to render the same files. There are dozens if not hundreds of different PDF producers, not all generating PDF files that conform to the Adobe specifications. As Acrobat will successfully render many of these non-conformant files, shipping a PDF consumer that only renders conformant PDF files is inadequate.

The PDF InteropAnalyzer solves this problem by providing a test suite that contains a statistical sample of files available on the Internet that can be rendered in Acrobat, plus a sampling of PDF files generated from latest applications (including acrobat distiller) to address the PDF usage issue that might not have found its way into the population of files on the internet.

A PDF Test Suite That Addresses All the Issues

PDF consumer developers at the bleeding edge still had problems developing test cases for the very latest changes to the PDF specification that had yet to find their way into any application implementations. The “Plus” version of the PDF InteropAnalyzer addressed this with the addition of hand coded functional test cases for the very latest changes to the PDF specification.

With these test tools, PDF consumer developers now had a way to establish some confidence that their implementations were interoperable with the universe of PDF producers available today and in the very near future.

Unfortunately, this confidence tends to be transitory as the implementation models of the PDF producers evolve over time. One of the myths that some believe is that PDF files generated by popular applications sufficiently covers a PDF consumer’s testing needs. If a PDF producer starts using an aspect of PDF in a way that other producers have never done before, consumers that have not had rigorous conformance testing across the breadth of PDF may not successfully render the files generated by this producer. PDF files that are generated by an application or other PDF emitters rarely cover all aspects of a PDF language specification.

The solution to this problem was the development of a systematic test across the breadth of features and functions defined in the PDF specification. This set of hand coded test cases, called the PDF Functional Test Suite, provides assurance that the underlying implementation of PDF is solid and is capable of handling not only the current implementations of PDF producers, but those implementations likely to emerge in the future.

Recommended PDF Testing Strategies

Use the PDF Functional Test Suite to establish a solid conformant implementation of PDF.

Use the PDF ATS to establish interoperability with the currently population of PDF producers.

Use both the Function Test and InteropAnalyzer to identify and carefully document both conformance and interoperability issues with your implementation.

Knowing what problems you have with your implementation and making careful deliberate decisions about what to fix is the sign of a quality company.