Upgrade to Printable Test Reports

The printable (snapshot) reports now include a list of all test comments underneath the summary grid. The comments are those collected during testing, and can be used for any result type: pass, fail, blocked, query, or even no result.

Quite a few customers have been asking for this one, especially where they're not using a separate bug tracker and want to record (and print) any problems in Testpad.

For now this feature is always on - if there is demand to make these comments optional, please shout and we'll make it more configurable.

This change only affects the printable (snapshot) report that is an all-in-one html file that can be saved and emailed as is, as well as printed. The browseable (live) report continues to show comments when you hover over the comment symbol in a test result cell.

New Video: Introduction to Testpad

The Testpad homepage now has a 2-minute video giving a very quick overview of Testpad. Check it out if you're new to Testpad and want a quick way to see what it's all about.

Or send a link to a friend to save you the trouble of explaining it to them!


For the curious: The video was captured and edited on a Mac using the excellent ScreenFlow app from Telestream, and the audio was recorded and processed with the open source tool Audacity. It's hosted on Vimeo for their high-resolution embedded player, as it really needs to be viewed in HD to see what's going on.

QR codes in web-apps to link desktops to mobiles and tablets

This post highlights a feature of Testpad that I think could be used a lot more across web apps in general - that of using QR codes as a convenient way to move a browser session from a desktop to a mobile. It’s fairly simple to implement and is surprising it's not used more.

The idea is mainly useful for web apps (as opposed to native apps) that have both a big-screen (laptop/desktop) version and a complementary small-screen (phone/tablet) version, and the problem is one of convenience when switching between the two.

Imagine using a web app on your laptop, all logged in and in the middle of some session. Then consider the steps needed to pick up this session on your tablet's browser:

  1. launch or switch to the browser
  2. enter the URL or load the bookmark (requires prior step of making a bookmark)
  3. enter username and password if not cached, remembering that this happens on a touch screen, often prompting with inappropriate spelling corrections
  4. navigate within the app to the item/action of interest

This can easily add up to dozens of taps and tens of seconds, i.e. it's fiddly and can be very frustrating.

Testpad’s solution

Testpad is a web app for writing and running checklists to help with the manual testing of software, especially in agile development environments. It's aimed at teams looking to do better than hacking a spreadsheet/wiki but without going for heavyweight “waterfall-inspired” Test Case Management.


The big-screen UI is for composing checklists with a slick keyboard-driven outline editor. These can then be stepped through by a human on either the same big-screen UI or on the complementary mobile phone/tablet UI.

For Testpad's users, the mobile UI makes for a very convenient way of separating the app that's under test from the app that's managing the test run.

Instead of getting the user of a mobile to login and then navigate to the relevant account/script/test run, Testpad offers a QR code as a shortcut from within the big-screen UI. The QR code contains a URL like:

https://<account>.ontestpad.com/script/2/run/1?auth=<token>
which, when loaded by the mobile browser, takes the user straight to the UI for running those tests.


Now, instead of dozens of taps, the relevant part of the mobile version of Testpad can be reached in as little as one tap - which is the tap required to launch the scanner app (and assuming the scanner goes straight to scan mode, like Optiscan does).

There are more screenshots of Testpad’s tablet and mobile UI if you scroll down a bit on the Testpad home page.

If you want to try this for yourself, take advantage of the free starter plan. Simply create an account, open the “Hello World” script and click on the QR code button as illustrated above.

Implementation Notes

The simplest way to use a QR code in your web app is to include a fixed code that acts as a mobile bookmark. Google search for “qr code generator” for several online services that can generate a static image of a QR code.

However, it’s more interesting if your app can generate dynamic QR codes that are specific to the current context and user of the app.

For several years now, the easiest option here has been to use Google’s Infographics API for QR codes. Simply serve an <img> element with a ‘src’ attribute pointing to this API, with the desired URL encoded as a parameter (along with other options). Sadly, Google have announced the retirement of this service in April 2015 (see the deprecation notice at the top of their page). Nevertheless, it might still be worth using this API for now because its integration is so quick, and replacing it with a DIY solution if the product/feature is proving its worth in a year or two.

Alternatively, for in-browser solutions, take a look at these JavaScript generators:
http://www.d-project.com/qrcode/index.html (renders as an image with a data URL)
https://github.com/jeromeetienne/jquery-qrcode (renders in a canvas tag or table tag)

And similarly for server-side generators, there’s the Java zxing project, or a pure Python library pyqrnative. For the Python library, StackOverflow have a question on serving dynamically generated images in Django which might be helpful.

Security caution: if also encoding an authorisation token in the URL that can automatically log someone in, don't forget you probably want to implement an expiry date for the token. As depending on the sensitivity of the app and its data, this is a magic key that logs in anyone in possession of (or in line of sight of) the QR code on the screen!

For bonus points, the URL you put into the QR code can easily also include tracking parameters for stats and analysis. It's always useful to know if, how, and by whom, your QR codes are being used.

Email alternative

As cool as QR codes are, there is another alternative that doesn’t even need a third party scanning app, and that's having the web app send the user an email containing a link to the relevant mobile URL. Most email clients in mobiles will let the user tap the link and cause the browser to load the page. This is not quite as instant as a QR code as you have to wait for the email to deliver, but it’s still faster than trying to get there by hand. Testpad therefore goes for both methods for transferring to mobile: the QR code or an email link.



So if you haven’t already, check it out on Testpad. The starter plan is free and takes only moments to register for.

Follow me on Twitter @testpadapp


Make your own backups

Although the Testpad servers have got you covered with their hourly snapshots of the database, many customers have asked for ability to download all their data in one go, without having to export each project manually.

New settings tab: Backups

Well, today, Testpad got just such a feature. Account owners (i.e. you need some proper privileges for this one) can browse to the new Backups tab in the settings page, and from there download a ZIP of all the data held in the account.

The ZIP contains folders for each project, with each project containing CSV files per script. Account and project settings are also saved to "info.csv" files in the relevant folders.

The CSV files can be opened in say, MS Excel, or parsed by a script for use in another process.

Automated downloads

If you (or a friendly system administrator) would like to write a script to regularly download your whole account, then enable the "auto-login" link provided. This link includes an authentication token which allows the download without first having to log in.

All optional, of course

But if you don't feel the need, then rest assured Testpad is keeping your data very safe anyway. The database is replicated across multiple servers located in separate availability zones on Amazon's cloud infrastructure. Further, hourly snapshots are archived to Amazon's long term storage service, S3, and regularly tested for consistency.

Good luck with your testing. Any questions, please email me (stef@ontestpad.com)

If you haven't already, give Testpad a try with a free starter plan:

Testpad Home Page

New Free Starter Plan for Testpad

Testpad just grew some new pricing plans: a Free Starter Plan and a Custom Plan that's based on the number of users (announced in a separate post here).

As ever with Testpad, these plans were added in response to user feedback, in particular, feedback from smaller startups and individuals who felt the old pricing model didn't fit with their usage model.

FREE Starter Plan

The new Starter Plan is a free plan with full Testpad functionality, but limited to 1 user and 5 active scripts. All new signups start with this plan, which can be upgraded to a paid plan as and when needed (i.e. to enable more users or more scripts).

The free plan is designed for individuals, startups and small teams with only one tester as a cheap (very cheap!) way to get going with Testpad.

The free plan is also intended as the first step for bigger teams to evaluate the what/why/how of Testpad. As and when these teams want to take their evaluation to the next step, a paid plan is needed to enable more users or more scripts - remembering that monthly paid plans can be upgraded, downgraded or canceled at any time, and now start from as little as $9 per month.

Note: For folks on existing Free Trial accounts, these will continue to operate as before, i.e. unlimited usage but that expire when time's up. If your account usage (users and scripts) fit, the subscriptions tab will offer the chance to switch to the new Free Starter Plan.

Any questions or feedback on the new plans, please email me at stef@ontestpad.com.

Simple, lightning quick, test management.

New Per-User Pricing Plan

Testpad just grew some new pricing plans: a Free Starter Plan (announced in a separate post here) and a Custom Team plan that uses a per-user model as an alternative to the existing "Script Bundle" plans.

Custom Plan, to fit your team size

The new Custom Team plan is simply $9 per user per month with no limit on the number of scripts in the account.

When selecting this plan you can configure exactly how many users you would like your account to support. This number can be upgraded or downgraded at any time. As with other upgrades or downgrades, changes to the account limits take effect immediately, and changes to the amount billed happen on the next billing cycle.

Choice of model: per-user or script-bundles

The new Custom Team plan is being offered in addition to the existing "script bundle" plans (Small, Growing and Large Team). This means you have the choice of having unlimited scripts for a set number of users, or having unlimited users but with a set maximum number of scripts.

Which plan to go for depends on your team size and your Testpad usage. If you've got a big team concentrated on one or two products, you might find the script bundles make more sense. If you've got a smaller team and don't want to be constrained on your usage, the Custom Team will make more sense.

And remember you can upgrade/downgrade at any time, and between all the plan types, so there's no risk in selecting a plan, just try it and if it doesn't seem appropriate after some initial usage, simply go and change it!

One caveat: the Custom Team plan is only available monthly at present, so if you go for an annual script-bundle plan, you can't take advantage of the per-user model (yet).

Any questions or feedback on the new plans, please email me at stef@ontestpad.com.

Simple, astonishingly productive, test management.

Minor update - expand/collapse controls and more

Small update to Testpad over the weekend, mainly in response to customer feedback... you don't get what you don't ask for! Keep that feedback rolling.

Outline Controls

There are now some subtle controls to expand/collapse the visible outline levels of the rows in a script. You get these controls on both the script editing page and the interactive version of reports. I say 'subtle' as you have to know they're there to spot them...

The options "expand all" and "close all" should be fairly self-evident. As too is opening only to a specified level. Perhaps less obvious is the expand option called "Interesting". This option will close everything and then only open branches that have "interesting" results, where "interesting" is defined as any non-pass result.

More "Visiting" Options

When running a test, Testpad will auto-advance to the next test according to the visiting mode. This release added two more useful modes: visiting everything not already passed, and visiting just results marked as queried.

Performance Enhancements

Lots of improvements behind the scenes aimed at making performance better and more consistent, with the most noticeable effect on big scripts and projects.

And that, with a few minor bug fixes, is that for this update. As ever, please keep the feedback coming.