At PDFlib, we are dedicated to provide software for heavy duty enterprise deployment – to be run in mission critical environments on web- or database servers.
All software available from PDFlib GmbH has undergone intense testing before being released to public use. Our own testframe PTF helps us in securing highest quality!
Eat your own dog food... We do not just sell software and hope that it will work for customers. Instead, we use our products extensively for our own office automation. We use the PDFlib Personalization Server to generate hundreds of PDF invoices each month, as well as our monthly accounting journal (for tax reasons). The data is kept in an MS Access database; VBA script programming is used to generate invoice documents with the help of the PDFlib COM edition. The generated PDF documents are printed or delivered via e-mail.
PDFlib is thread-safe, i.e. it can safely be used in multi-threaded server applications. The COM edition is »both-threaded« for improved performance. C or C++ library clients can install their own memory management and error handling routines.
PDFlib's memory management has been rigorously engineered and tested for memory leaks in order to guarantee 24-hour deployment without any shutdown periods.
In order to catch newly introduced bugs early during the development cycle, a PDFlib application called "smoke test" is run on a frequent basis. It exercises all PDFlib API functions and quickly informs developers about new problems. Running the smoke test is an integral part of daily development.
In order to test PDFlib features more rigorously, and to apply regression tests across versions and platforms, we developed a general solution called "Portable Test Framework" (PTF). PTF works as an umbrella for executing and collecting the results of many individual tests. PTF runs in unattended mode, and reports back the number of failed tests along with additional information.
PTF is run on a regular basis during development, and on a large scale before each release. A full PTF run exercises PDFlib functions with a wealth of test data which we collected over many years. The test corpus includes hundreds of font, image, and PDF files from a variety of sources. In addition to run-time errors PTF also spots bad PDF output by programmatically comparing tens of thousands of generated PDF pages files with known good ones.
By writing new PTF tests and adding more test data we try to cover as many PDFlib features as possible to make sure that these are permanently regression tested. In the past, PTF helped us identify various problem classes, from mere programming errors to compiler bugs and architecture-specific problems.
Since we developed PTF on our own, it is available on all platforms, including mainframes.PureCoverage helps us identify code which is not yet covered by PTF.
We take performance and memory considerations very serious. In order to detect potential memory leaks (which would adversely affect served-side usage) we use a professional tool called IBM Purify®. Purify is fed with tens of thousands lines of code, and checks each statement for proper memory allocation and deallocation. Purify also helps us identify other programming errors, such as uninitialized memory.


