Test and validate your ThingWorx upgrade according to your test plan. Determine if the upgrade is ready for production.
Before you begin, complete these steps:
First, determine the order of site/instance. Your test plan needs to be executed as per the plan. Test your application thoroughly by deploying code from your Dev environment to your Test or QA environments. Developers should follow their processes for source control. This upgrade should not require any code changes. Be sure to complete the upgrade before making any changes to your code. Check that each environment shows the appropriate data for the tests you'll conduct. You may need to strip some production data from some environments for integration and system testing. For user acceptance testing (UAT), you should have production or production-like data available. Do count evaluations on server performances since we might have less data on test/QA servers.
Once your code is in a test or QA environment, developers can execute the testing plan. Stick to the strategy created in the planning phase. Test plan must run through several test scenarios, like adding a new user or interacting with a Mashup with the right frequency of requests. Test every component according to the plan you made, then compare the results between servers. Always keep security in top of mind.
The migration of historical data may take several weeks to migrate fully. The recommendation is to import on a rolling basis. Prioritize the data you need to understand trends or make sense of the data you're collecting going forward. If you're retiring any existing systems, migrate that data sooner. Keep in mind, the more data you migrate and store, the more it affects system performance.
Few reminders for testing:
Remember that testing is an iterative process. Follow your test plan thoroughly. If you have questions, contact PTC Technical Support. Remember to document changes as you write and record test results. Share test results with the project team, including the Project manager, Project sponsor, System admin, ThingWorx admins, and IT team. Test results help you determine the next steps.
Determine which site/instance first to re-enable. Transition your integrations to start feeding data into ThingWorx as planned. After you turn on the integrations, verify the data is flowing from the asset/tool/system as expected. Make sure you're not receiving extraneous data. Compare the data from old systems. Data should be identical. Monitor the data for several hours before you continue through deployments. Consider security measures, network & proxies around each component layer.
Double-check dependencies and integrations for data leakage. These shouldn't be blocking any connectivity and functionality. If an outage occurs, it should be well documented and shared widely.
Verify changes to the visibility and permissions of user groups as needed and update your documentation. You may need to make changes to user groups in ThingWorx Navigate and your source system, like Windchill. If you're working on a custom app, you'll do user acceptance testing to verify user permissions in the next step.
Once the complete system is up and running, monitor logs regularly for any errors. Understand and document the effects of enabling non-ThingWorx software like restart times, downtimes, and workarounds.
Non-ThingWorx software could include:
Have the application in a test/QA environment tested through a selected group of potential users (site managers, frontline workers, or other available participants) to ensure that the upgrade meets their needs and has not negatively impacted their experience. Share test results for all sites with your key stakeholders. Allow them to conduct a UAT of the upgrade. Ensure your app is ready for user acceptance testing (UAT) to pass your integrations and system tests.
Have key stakeholders review:
To get the most accurate test results, complete UAT in a QA environment that matches your production environment as much as possible.
Before going live with the upgrade, determine which instances or site receives the upgrade first based on testing results. Your previously determined schedule may have changed based on the needs.
Send a reminder once again to ensure availability of resources as planned. Re-confirm that resources have the right permissions for assigned tasks.
After you have performed all the necessary testing in the test/QA environment with satisfactory results, backups ready, and gained acceptance from key stakeholders, finalize the Go-Live schedule and share the plan widely.
You may get insights during testing and choose to act on them later. If the application does not meet all user needs, decide whether to pause production or launch it.
Have a question? Submit your contact information and we’ll reach out within 1 business day. You’re never obligated to purchase or commit.