Before you deploy a test system to production computers, complete the following steps.

  1. Test the deployment on the development computer you used to create the deployment.
  2. Test the deployable image.
  3. Test the installer or package distribution you build with the TestStand Deployment Utility.
  4. Validate the test system and user interfaces on test station computers.

Testing on Development Computers

Development computers include the necessary tools to fix issues in the test system and rebuild the deployment, but you cannot use development computers to fully test whether the installer you build with the deployment utility installs all the required dependencies because the development computer already includes these files. For example, if the test system requires a DLL in the Windows\System directory or a .NET assembly in the Global Assembly Cache (GAC) and you do not include those components in the deployment, the test system most likely functions correctly on the development computer because the files already exist on the computer. However, when you deploy the test system to another computer that does not already include those files, the test system might not function correctly because the deployment did not include those files.

Testing Deployable Images

When you specify the files to include in the deployment on the System Source tab of the deployment utility, the deployment utility copies all the files and their statically referenced dependencies to a directory called the deployable image. The deployment utility creates the deployable image regardless of the deployment mechanism you use.

Use the following techniques to test the deployable image and resolve issues you discover before you create an installer with the deployment utility:

  • Run the TestStand Sequence Analyzer on all the sequence files in the deployable image directory to confirm that the deployment includes all the necessary dependencies. This technique works only when the test system does not use absolute paths because the analyzer uses the source file from the absolute path instead of the copy of the file in the deployable image directory.
  • Execute the test system from the deployable image directory. This technique works only when the development computer includes the hardware the test system requires and when the test system does not use absolute paths because the test system executes source files from the absolute paths and does not execute the copies of the files in the deployable image directory.You might execute a combination of source files and files from the deployable image directory if the deployment includes files from the <TestStand>, <TestStand Public>, or <TestStand Application Data> directories or if you are using search directories. To ensure that TestStand loads the correct file, copy the files from the deployable image directory to the <TestStand>, <TestStand Public>, <TestStand Application Data>, or to the correct search directory on the development computer.You also might need to back up the deployable image directory or perform TestStand configuration changes before you execute the test system to avoid modifying or adding files to the deployable image directory during testing. For example, executing a test system might create or modify files in the deployable image directory or log test results to manufacturing databases.

Testing Distributions You Build with the Deployment Utility

Do not test an installer you build with the deployment utility on the development computer for the following reasons:

  • If the installer you build with the deployment utility installs files to the same locations as the source files on the development computer, the installer overwrites those original files, which might cause you to lose work. The installer provides no warning that it overwrites the source files.
  • If the installer you build with the deployment utility contains a driver with an install type other than Full, installing the driver might remove features of the driver from the development computer.
  • Testing a deployment installer on the development computer does not detect missing dependent files, components, or drivers because the development computer already includes these files.

To effectively test the installer or package you build with the deployment utility, install the deployment on a separate computer that has only the operating system installed. If you are testing a single package or repository distribution type, you will need to install NI Package Manager on the test machine before installing the package.

Testing on Test Stations

Using a test station computer to test the deployment can help you identify additional required components or dependencies. When practical, test deployments on all supported operating systems on an extra, inactive test station computer that is identical to production test station computers to prevent disrupting the manufacturing process. If you do not have an extra test station computer, configure a virtual machine with the supported operating systems to test the deployment for missing code modules or required drivers. If the test system uses a hardware abstraction layer, run validation tests on the virtual machine using a software simulation of the hardware to identify issues with the deployment.

You can also run the TestStand Sequence Analyzer on the test station computer to identify issues to correct.

Validation Testing

Write validation tests for basic functionality of the test system to verify that the test system performs as designed. Validation tests use known inputs for the test system and verify that the test system returns the correct results. For example, you can test a functioning UUT and a UUT with known defects to confirm that the test system reports the outcome of testing the UUTs correctly. Many test systems use simulated measurements for testing to manage the difficulty of maintaining a large inventory of UUTs for validation.

User Interface Testing

Test the functionality of user interfaces as you develop them and validate that the test station computers include the dependencies the user interfaces require, such as files the user interface loads or references dynamically. Testing user interfaces on test station computers can also help you identify differences between development computers and test station computers, such as screen resolution issues.

Previous:Transferring Files