An automated test system is software and hardware tightly integrated to make a set of measurements which are evaluated to provide a test result. In some cases, the test result may be a dataset which is further analyzed by a domain expert, and in other cases a result may be a functional pass/fail result.
Some systems are used for repetitive measurements of the same type and others may need to be highly configurable to allow for reusing the same hardware for many types of tests. The types and number of inputs and outputs in the system will be highly dependent on the product under test and the purpose of the test.
To build a successful test system the hardware must be suitable for the task and the software needs to be of the right quality. When we talk about software quality, we value two aspects above other. First, the software should behave as expected. And second, it should be easy to change. This is simply another way of saying that the system should do what it is supposed to do and have a good design.
Our software and hardware platform are very flexible and allows for any measurement, instrument, communication bus or protocol. Building software on our flexible framework, the development is accelerated and delivered with minimal technical risk. Using a proven software architecture, the cost of updating and maintaining the system is also greatly reduced.
When developing a product, a massive amount of data is required to make decisions on the design and construction. By automating repetitive tests, more time can be spent innovating. Test results are easier to analyze and compare if the data is acquired by an automated system and tedious report writing can further be automated. A good test system for product development is flexible and configurable by the user, who is typically a domain expert and may not be a programmer.
When manufacturing a product, testing is often essential to ensure that the product functions as expected and has no defects. A good test system can reduce the time spent on testing, while proving the quality of the product through measurements. By collecting highly structured data, trends in production may be identified and supply chain issues may be identified early. A good test system for production is reliable, but it should also be ridiculously easy to use with minimal training.
Embedded Software Test
When testing embedded software, it is desirable to run the software on real hardware with actual physical signals. It is common to model the environment and it is desirable to test possible edge cases and fault modes. In order to accurately simulate the real world with realistic timing, the test software and simulation models often needs to run in hard real time. This is usually referred to as hardware-in-the-loop (HIL) testing. The test system may be linked to a CI system to automatically run regression tests for each new build.
Monitoring & Life-Time Test
A monitoring system gathers data on a product while in use, either in the field or in a controlled environment. Condition monitoring is often applied to high value assets for predictive maintenance and fault detection. A good monitoring system is reliable even when deployed in an uncertain environment. It is often desirable to do triggering on special events and to perform analysis at the edge to reduce the amount of raw data to be stored.
Astemes provide services tailored to your needs and priorities, from supporting your development team to delivering complete turnkey systems. By using iterative development practices, large upfront requirement specification may be avoided. Incremental deliveries, using prototypes and mock-ups, greatly reduces both technical risk and misunderstandings. Each delivery adds value as new knowledge is obtained and allows for regular course corrections.
If you have challenges like the ones described above, we want to learn more about your situation and have a discussion on how we could help you achieve your goals. Give us a call to explore how we can collaborate!