Testing is very important for your embedded hardware product. I am sure you are aware of this already.
Test automation can help you a lot in reducing the effort required to analyze how well your product is performing and in production can validate the quality so that your user is happy after receiving the product.
Companies invests millions and a lot of time and effort in building the test automation solutions for their products.
It is such large industry that If you are an engineer and loves testing, you can build a great career in test automation by leaning how to build such test automation solutions.
See video below to know how phones are tested for reliability 🙂
if you are not putting an effort to create a test automation setup and so that you are able to validate your product really well, it is certain that you will face a lot of challenges when users start using your product.
There are several things to be tested in an embedded product:
Although, what all need to be tested depends purely on your product specifications, few things are common.
If you are new to test automation, the first question would be, what all to test?
What all to test in test automation?
- Power Supply Voltages: You need to test if all power supplies on your embedded board are working fine, you can test voltage.
- Power Cycle: You need to power cycle the embedded board 100s/1000s of times and see if it fails anywhere during boot up/ start up time. How can you test that? well, power up the board with power supply and detect if boot up message has come or not or you can make one GPIO set once boot up is completed, you can detect that to detect boot successful.
- Display: If you have a display, you can check 100s/1000s of times if the display works fine, and whether all parameters which are supposed to come on display are coming properly or not.
- Sensors: if you have sensors on board, create some conditions for testing them and see if sensors are working fine continuously for hours, days, and months
- Connectivity Interfaces: If onboard Wi-Fi/BLE/GPRS is there you need to check if it is connected every time or not, so you need a system that tests connect disconnect automatically 100s/1000s of time.
- UART: If data is coming on UART or some other interface you can make a test solution easily by reading that data on a PC and building software to test that automatically.
- A lot of other things are also there but I guess you understood what I mean.
Understand what all need to be tested is just the 1st part of toward building test automation solution.
What other things to take care of while building test automation solution?
- Architecting the whole test automation solution? Architecting the test automation solution right is very important else you will end up complicating the who design and not using it well or may be not completing it all together.
- Which all test instruments, actuators, custom hardware needs to be used? Picking up the right instruments is very critical for the success of your test automation. Right instruments can help reduce the complexity of the whole solution.
- Decision on whether to use a readily available test automation framework or get it developed by your own team or getting it developed from an expert outside your team? It is always a good idea to outsource to someone who has experience and done it already several times. You team can also do but their core focus should be how to build a great product and not anything else. Focus on what is core for your company is the main thing.
- Phase-wise implementation: consider building test automation like building a product, if you do it phase wise, you will be able to do it with much ease, if you start to think that everything needs to be done at once, many times I have seen companies end up achieving nothing.
- Get it in use: just by building the test automation solution is not enough, you need to get it into use by motivating your team, by force. It will take quite a lot of effort in this phase believe me or not so be ready with your strategy. People testing your products manually would not want to use automated tools, so many a times they will restrict or giving you reasons why solution is bad by saying it always fails, etc. etc. But it is your implementation teams responsibility to get it implemented till it becomes a norm and everyone accepts it 🙂
May be in another blog I will share some examples how automation could be done.
Like if you are building a datalogger kind of device or sensor how to go about building test automation solution for such devices.
I hope you got the point and have learned something new today.
Please keep testing in your mind while building an embedded product.
if you need any help in building test automation solution, you can contact me.
I have a lot of experience in building PCB test automation and full product functional testing and automating it using different sophisticated instruments, custom hardware, custom scripts, and PC-based or cloud-based software.
If you have any feedback, you can share in the comments section or you can also contact me directly.
Read more interesting articles on testing.