Can Test Automation Really Help Build Sound Embedded Devices?
Can Test Automation Really Help Build Sound Embedded Devices?
In the wake of the disastrous Galaxy Note7 launch, is there a better way to make sure embedded devices are ready for users? See what test automation can do for embedded devices and the challenges standing in the way.
Join the DZone community and get the full member experience.Join For Free
Tech portals are exploding with stories about Samsung Note7’s recall and exchange programs, which has led to Samsung’s stock plunging — with losses as much as $14.3 billion (source: MarketWatch). The Korean electronics giant is now officially in talks and has already started working with the U.S. Consumer Product Safety Commission (CPSC) for the recall and has recommended Note7 owners to switch off their devices and stop charging them.
As the investigation of the phenomenal recall progresses, Samsung UK stated, “Based on our investigation, we learned that there was an issue with the battery cell. An overheating of the battery cell occurred when the anode-to-cathode came into contact which is a very rare manufacturing process error.”
The disruptions caused by this disaster have been startling. For the records, a person’s Jeep reportedly got destroyed after Note7 explosion, while a 6-year-old got severely injured. The Federal Aviation Administration (FAA) has issued a strict warning to the airlines about the device.
New devices and gadgets are enthusing consumers every hour. If not literally speaking, a consumer can witness a new gadget launch every millisecond. Who can imagine that the new consumer friendly gadget lying in your Jeep or near your pillow could be lethal?
Maybe not just in sync, but a disaster like this amplifies the urgency of testing embedded devices for robust framework and ultimately a market-ready product. When the competition is biting in and performance is everything, devising the best testing strategy seems to be the only way out!
An embedded device is generally part of a system that serves a higher purpose. It is a specialized device meant to fit into one or specific few systems. Embedded devices or systems hold tremendous relevance and applications across various domains, namely, commercial, consumer, industrial, health-care, automotive, defence, and many more.
Embedded devices or systems can be found across product segments. It can be part of a heart rate monitor implanted within a wristwatch, which can be connected to a smartphone to display your heart’s health and in emergency situations alert your nearest contact with a call or message. A fitness band on your wrist that tracks your body movements and calories burned for a detailed health record.
While these were instances of some everyday examples, where they help connect human and machine behavior, embedded systems implanted within home and kitchen appliances can communicate among each other. For instance, the refrigerator can notify the users that there is no milk or the vegetables are getting over. Specifically, eEmbedded systems make consumer devices smarter.
Nonetheless, its application as mentioned earlier cannot be confined to a particular domain. Embedded systems are designed particularly with some specific functionalities. They can be found in any/every device, right from smart cars, pacemakers, artificially intelligent drones, to the avionics in current day fighter jets/airplanes.
Testing Automation, Not Just for Experience, but for Excellence
With modern day smart devices dominating our everyday existence, testing these devices for a safe and sound interface is more than critical. Cars are being designed every second hour to get smarter and expectantly better. What if there is a software glitch and in midst of a stormy drive, the sensors stop, and the system is unable to alert you about the tree log approaching your vehicle? Resulting in a sudden crash!
Embedded devices can be found in Avionic systems, Telecom, Logistics, Industrial, Medical, and many more Smart Devices. This shows the impact of testing embedded devices to ensure excellence and seamless functionality.
Experts claim that the core concepts around automated testing for embedded systems are almost in line with its application for any other software. The specifics may vary from application to application or across platforms, but the underlying principles remain in line. At least, not radically different. Developers/Testers are known to look for patterns that can enable both while coding and testing, respectively. A similar pattern can be found while testing embedded systems. "How do you identify these patterns?" is a puzzle that test automation solves.
Though test automation for embedded systems is broadly similar to many other applications, it is influenced by issues that are impacting the embedded world. To cite a few:
- No specific design for testing.
- Resource and time constraints.
- A range of deployment architectures.
- Indefinite perspectives on implementation.
- Still evolving quality & certification parameters/standards.
- Access to execution platforms and multiple environments.
- Gap between the application development and actual execution platform.
Implementing test automation can work wonders in accelerating the overall process. It can help improve the development process, which can be a task in the initial phase. It proves to be an absolute pay-off in the long run. It can be executed faster and in a recurring manner, which turns out to be cost-effective for products where performance has to be checked under various situations.
Specifically, in an Agile environment, it helps to keep going back and repeating the tests to ensure functionality. It further helps in enhancing the test coverage.
While testing embedded systems, the consistency of the behaviour/outcome needs to be tested. Automating the tests brings efficiency and helps get results consistently with repeated tests. Test automation provides a reliable platform for your testing needs.
Simulating a particular user environment can be downright helpful in testing embedded devices. Though its benefits are yet to be established, executing automated tests under an emulated environment can help derive close to reliable results of the system’s functionality. Repeated tests can be executed in a particular set-up to get results and confirm the system’s functional aspects and performance.
Test automation helps you attain quality and at the same time helps you get your product faster to the market. The need to be there before the consumer asks, is every brand’s dream, but at the cost of compromising quality, security, and safety?
iPhone7 has just stepped out of its cradle, but the market is already buzzing with rumours around iPhone8. That’s the pressing need of the hour!
Published at DZone with permission of Subhendu Pattnaik , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.