Posts

Showing posts from December, 2024

Embedded testing - Why? - II (Part 5)

Let's continue the previous post to understand further why we need testing for embedded systems. Some might not know this, some might have experienced it, some might have tried it, and some might have been experts. What am I talking about? The process of baking bread in the oven. How many of us tried this at least once in our lifetime?  Imagine a situation, where you have set the timer for 30 seconds (no bread will be baked in 30 seconds, this is just an example 😊) but due to a software error, the timer mistakenly interprets this as 30 minutes. What is the outcome? Burnt bread, wasted ingredients, and frustration. Now imagine the temperature was set with the assumption of 100 degrees Fahrenheit but the oven was programmed to interpret it as Celcius. You would end up with underbaked dough instead of golden-brown perfection. How does the baked bread come out well if the expected outcome does not meet the requirements? These seemingly small errors arise from a lack of software testi...

Embedded testing - Why? (Part 4)

 After reviewing the basics of Embedded systems and Embedded software , the next step might be to consider the importance of testing the embedded software system. In today's world, there is no option to live without embedded software systems. It is used everywhere and the avoidance of such systems is difficult in this busy life. It is integrated into our daily lives - cars, voice assistants (Alexa, Google Assistant), medical devices, planes, rockets, at home, offices, and many more. To use embedded devices and machines, need to be thoroughly tested before getting into the market.  Some of the examples will help to understand the importance of testing. The Falcon 9 Starlink 6-77 mission was initially planned for December 3, 2024. Due to a helium pressurization issue, the launch was postponed, and a new date has not yet been announced as SpaceX evaluates the situation and coordinates with other scheduled missions. FAA Air Traffic Control Outage (January 2023): A software malfun...

Embedded testing - Embedded software (Part 3)

 In continuation of the previous post, " Embedded system ," let's examine embedded software and how it plays a major role in physical devices. An application software is a computer program that provides functionality on a computer. It is specifically made for consumers to use. However, embedded software is computer software that is written for controlling physical machines to operate. Most of the embedded software is written in C, C++, and C#. In recent times, Javascript, Java, and Python also come into the picture to control embedded systems. Embedded software is like a well-organized but strict boss living inside the machine or device. It is tiny, invisible, and works behind the scenes to make sure the machine does not crash. How does the embedded software work? Embedded software is a manager who sits in the office and manages the team (hardware) Providing instructions:  This manager never calms down and he/she keeps on giving instructions to the team.  To check the tem...

Embedded testing - Embedded system (Part 2)

Image
 In this second blog post related to embedded testing, firstly I would like to explain an embedded system. Click here to view the first post. What does embedded mean? It is something integrated into another thing. For example, an embedded hyperlink is text that acts as a link instead of an actual link ( https://www.google.com can be  Google ) . Embedded content is content used in a website from another source. When you attach an Excel sheet to the PowerPoint presentation, it is called an embedded file. An embedded system is a device that incorporates all the relevant components such as a microprocessor, microcontroller, memory, input/output units, drivers, bus, and many more. The embedded system is designed to work with a combination of hardware and software to perform specific tasks to achieve functionalities within a larger system. If a human user of a system is only partially aware that they are interacting with a computer running software, then it is an embedded sof...

Embedded testing - Introduction (Part 1)

 I'm writing a series about my recent learnings in embedded testing. Here is the basic introduction about this topic with a simple example. Scenario 1: A patient books an online appointment to provide a blood sample for a hemoglobin level test. To book an appointment, the patient only needs access to a web or mobile application. When a quality engineer tests the functionality of this appointment registration process, it is referred to as software testing. Scenario 2: The patient now wants to collect the test report after the blood sample analysis. To measure the hemoglobin level, the lab technician uses an automated medical device. At this stage, if the quality engineer is involved in testing, they require both a physical device (hardware) to process the sample and an application (software) to enter or capture the details. When testing involves both hardware and software, it is referred to as embedded testing. Click here to read the next blog