To help ensure that forms based on your form template are easy to use and and that they gather the correct type of data, you should test your form templates before you publish them for users to fill out.
In this article
Depending on the number of users who will be filling out forms based on your form template, and depending on the type of data that you intend to collect, testing a form template can be as simple as previewing a form template intended for a small team or as extensive as planning a formal process that includes a test environment to test the functionality of a company-wide form template. Whether your form template is intended for 10 users or 10,000 users, testing your form template is still an important part of the design process.
Testing a form template before you publish it allows you to do the following:
Help ensure that forms based on your form template will collect the correct type of data by verifying that the controls in the form template are configured correctly.
Verify that all of the features that you implemented in your form template work properly.
Ensure that your users can create and submit a new form or modify an existing form based on your form template.
Verify that any managed code in your form template works as designed.
Verify that forms configured with different security settings will work as expected.
Testing a form template typically begins with defining a test plan. If your form template is intended for a small audience, your test plan may be as simple as written notes to yourself. If your form template will be used by a large number of people, your test plan may be a formal document that describes the tests that you plan to perform, the expected results, and the criteria that will be used to decide when the form template is ready to be published.
It is a good idea to create your test plan during the planning phase, before you begin designing your form template. If the planned design of your form template changes during the design phase, you should modify your test plan accordingly. When you write your test plan, make sure that you include tests where the correct value is entered and tests where an incorrect value is entered, to make sure that only correct values are saved or submitted. During the planning phase, when you decide to include a field, control, or feature in your form template, you should be thinking about or writing down how you plan to test that field, control, or feature. For example, if you plan to add a control to your form template that will accept only positive numbers from 1 to 31, your test plan might include tests where you enter a correct value, a value that is higher or lower than the allowed values, and a test where you enter characters instead of numbers.
In some cases, you may choose to test features and functionality while you design your form template. For example, you might choose to test the data validation for a control immediately after implementing it, by using the Preview window. This can reduce the actual testing time needed after you finish designing your form template.
When you are done designing your form template, you can begin testing according to your test plan. Note any problems that you find while testing the form template. However, before you fix a problem, you should first determine if the problem is worth fixing at this time. Depending on your schedule for deploying the form template, you might want to fix data-related issues, such as formulas that give the incorrect results, before you fix any visual problems, such as the color of the form template or the position of controls. After you fix a problem, you should run the same tests again to ensure that the problem has truly been fixed and that new errors were not introduced.
During this test process, you may decide that new features or changes to the original design of the form template are needed. Before you implement these changes, consider the cost of implementing and testing these new features. You should also consider the possibility that new features may affect the stability of existing features. Whenever you add a new feature to a form template, you should update your test plan to include testing these new features. Consider implementing these new features at a later time if the implementation cost will delay the scheduled deployment of the form template.
The testing process can be a combination of testing the functionality and appearance of the form, and testing the process of creating and submitting a new form or modifying an existing form based on your form template. Testing the functionality of the form includes ensuring that the data collected in the form is correct. Testing the data can include testing the Microsoft Office InfoPath features implemented in your form template, such as conditional formatting, data validation, and code, as well as ensuring that the form template collects the correct data. You should also test the process of creating a new form, submitting a new form, and modifying an existing form. By testing both the data and the process, you ensure that forms based on your form template can collect and save the correct data.
Testing the data collection features
InfoPath provides a variety of features, such as conditional formatting, data validation, formulas, rules, and code, to help ensure that users enter the correct data into your form. You can test these features to ensure they are configured correctly by previewing your form template. When you preview a form template, InfoPath opens a new Preview window with a form that is based on your form template that you can use to test these features.
If you find yourself using the same set of data to test your form template multiple times, you can save a form with sample data and then configure the form template to use this form with sample data whenever you preview your form template. This prevents you from having to enter the same set of data every time that you preview your form template. You can use sample data to test that the controls and fields on your form template are configured to accept the correct data, or you can save a form with sample data that is incorrect to test that the form template responds appropriately when incorrect data is entered.
Testing the user experience
To test the process that your users will experience when they fill out and submit a form based on your form template, you need to publish your form template to a test environment. Ideally, your test environment is similar to the production environment where your users will access and fill out the forms based on your form template. For example, if your production environment is a Microsoft Windows network managed by several servers running Microsoft Windows Server 2003 with a Microsoft SQL Server database, your test environment should be a separate Windows network that is managed by a separate server. You should not conduct your tests in the production environment, because your tests might affect the users in your production environment or the data stored on those servers.
In your test environment, you can test the process of creating and submitting a new form, modifying an existing form with data, and testing that the data is submitted to the correct external data sources. You can also use the test environment to test contingency plans, such as what to do if the server goes offline when a user has created but not yet submitted a form.
Tip: An additional way to test the process of accessing, filling out, and submitting forms is to invite some typical users to use your form template before you make it available to all of your users. This allows you to confirm that forms based on your form template are easy to fill out by your actual users, and that users can create and submit new forms or modify existing forms. During this period, you can collect valuable feedback on how your users will actually use your form template, and then you can modify your form template accordingly, based on that feedback. For example, some users might have trouble using a particular control, and you may not have predicted this behavior during the design of the form template. Without running tests with potential users, you might discover this behavior only after you deploy the form template.