Testing your forms
Before you deploy your forms for actual data collection, you will want to test them thoroughly.
The easiest way to get started testing a form is to use the test view available within the online form designer. Just click Test for any form listed on the Design tab (or, if you're already in the form designer, just click Test in the top-right to toggle over to the test view).
Once in the test view, you can:
- Preview how your form looks and works. If you'll be collecting data using the mobile app, then you'll ultimately want to deploy your form and do final testing on a real device – but we've included as much of the functionality as possible in the web interface, and we've worked hard to make it look and work as similarly as possible to the mobile app. Previewing and testing in your web browser is generally the quickest and easiest way to identify and resolve most issues with your form.
- Toggle between the test and design views, to make quick fixes and other adjustments. If you see issues during testing, you can toggle over to the design view, fix those issues, and then toggle back to resume testing. If you use spreadsheet form definitions, you can download and upload those from the design view as well. (After making a change, you'll need to reload your test session to switch to the updated form definition, but you'll have the option to save your progress and resume from the same point after the reload.)
- Use the Form inspector panel to guide and assist your testing. On the right-hand side of the test view is a Form inspector panel that you can open to reveal details useful for testing: internal information about the current field (like its constraint expression, if any), references to the current field elsewhere in your form, and what fields or groups were skipped between the prior screen and the current one. In addition to providing direct insights into the underlying form design, the inspection panel makes it easy to navigate around your form, view the current value of any field (including calculate fields), and jump straight in to edit a field or group.
- Save and resume progress from earlier testing sessions. Particularly if your form is a lengthy one, you won't want to start over from scratch every time you go in to test something. As you test your form, you can save your progress in order to resume testing later – and you can even save your progress at the very end of a test submission, in order to be able to resume later with all of the test data you had entered already filled out. And whenever you save progress, you can specify a name so that you can easily find it later. (You can even save your progress, then later "Save as" to save a new copy of the progress under a different name.)
- Submit real data to test downstream processes. Most of the time, you will want to just discard the data you enter during testing. However, you may also want to submit your test data as real form data, in order to test downstream data systems; you would do this if you wanted to test the review and correction workflow, automated quality checks, publishing to outside systems, data exports, outside code to clean or analyze the data, etc. When you finish filling out a test submission, you'll have the option to submit the data as real form data, if you wish. The only requirement is that your form does have to be "deployed" in order for you to submit data (but if you hadn't already deployed your form, you will be given the option).
The form designer's test view provides a powerful tool for testing your forms, so that you can assure that forms you deploy are as high-quality and error-free as possible. Questions you might ask yourself while testing:
- What fields or groups of fields am I not seeing? Use the inspection panel to identify what is skipped, and make sure to circle back and test every part of your form – even parts that will only appear under rare circumstances. If something is skipped that shouldn't have been skipped, click to view its relevance conditions, to figure out what went wrong.
- Am I seeing something that I shouldn't be seeing? If you see something you shouldn't see, click in the inspection panel to see the relevance conditions that resulted in the field displaying. Click further on individual fields within the relevance conditions to inspect their current values.
- What am I allowed to enter or select here? Keep an eye on the "Field info" section of the inspection panel to see when a field has particular constraints on what can be entered or selected. Be sure to confirm that those constraints are what they should be, and that they are operating as expected.
- What else in my form depends on the value I enter or select here? Also keep an eye on the "References to this field" section of the inspection panel to learn about a field's impacts elsewhere in the form. Click to jump to other parts of the form as needed to check that the impacts are as expected.
- Is each field and option translated properly? If you have a form that's been translated into multiple languages, be sure to check each translation carefully.
And finally, as mentioned earlier: if you'll be collecting data using the mobile app, then be sure to do final testing on a real device (ideally a device that is representative of the exact devices you'll be using to collect data).