PDF-Blog-Hero-18SEP2020

Depending on your industry, PDFs might be the lifeblood of your organization. You may send out PDFs as marketing collateral. You might send them to your customers as forms to e-sign, or you might send custom-generated prefilled forms as invoices or compliance documents. You might even send custom PDFs containing analytics reports for consumption by VIPs like investors, board members, and C-levels. Lastly, PDFs have become the standard for shipping labels, which means that complex international supply chains depend on correctly generated PDFs.

No matter who ends up downloading your PDFs, they need to be perfect as received—especially if you are using them for billing or to work with regulators. Placing the wrong text in the wrong box might generate any number of harms—billing for the wrong amount or reporting the wrong amount of revenue to tax authorities. This means that PDF testing is a mission-critical practice, but unfortunately, this has been an area where automated testing has lagged.

Why is automated PDF testing important?

So, PDFs are clearly important enough that it’s necessary to test them, but it has also been incredibly difficult to perform automated testing. As such, PDF testing has been performed manually in the past—but this is also time consuming and difficult. There are many things that can go wrong with an automatically generated PDF, including:

  • Text that lies outside of expected margins
  • Barcodes that don’t match the text on the page
  • Unreadable layouts
  • Unsigned PDFs, or PDFs with the wrong signature attached
  • Incorrect or mismatched ZUGFeRD data resulting in an incorrect invoice

Testing all these elements is impractical at scale, which means that many automated PDFs contain errors. These errors don’t take place in a vacuum—they cause repercussions that include unpaid bills, misfiled taxes, undelivered packages, and incorrect assumptions. As businesses increasingly rely on the PDF standard for documentation, testing organizations need to pursue automated PDF testing validation.

How to test PDF validation

There are several ways to conduct PDF testing. The first way is to run a visual UI test. This works for simpler documents where the output of the PDF will be the same for every user. This process essentially saves a baseline PDF as an image file and then flags other PDF outputs when they don’t match the saved image. This is useful when, for example, you want to test whether a PDF will render the same way on a large combination of browsers and devices.

More complicated PDFs—those that are generated by an application and will be different for every user—will need different validation methods. There are many ways to test custom PDFs, but one way is to use what’s the objects, methods, and properties within a Java library. These allow the testing solution to retrieve data from the PDF.

PDF data is stored in multiple layers. The PD layer contains objects that act as gateways to the images and text stored within the document, and the COS layer contains the content itself. The Java Runtime Environment can strip images, text, and metadata from a PDF, allowing you to compare them against their baseline values for testing purposes.

The problem with this method is that preparing PDFs for analysis in this manner can be incredibly time-intensive, and it’s difficult to use this method within automated workflows. Simpler image comparisons can be used within automated workflows, but these tests can be too simple for many purposes. How can organizations implement PDF testing that’s both granular and automated?

PDF testing with mabl

With mabl, testing a PDF is as easy as testing a webpage (which is to say: pretty easy). All you need to do is make sure that you set the trainer to understand that it’s testing a PDF. Then you start recording your test. Embedded PDFS will display onscreen within the mabl PDF viewer. Otherwise, the testing application will record and remember which PDF you download.

Once downloaded, you can test just as though you were testing a website in mabl, with no additional knowledge required. You can test assertions, variables, JavaScript, and more. Each test can be fully integrated into your automated workflow.

Testing PDFs can be difficult, but there’s no longer any need to either limit your automated testing or proceed with granular and time-intensive manual testing. Instead, you can easily integrate full-fledged automated testing into your testing workflow, allowing your organization to proceed with billing, shipping, compliance, and marketing at maximum speed.

See for yourself how you can test PDFs, sign up for a free trial of mabl today.