Embedded Systems Testing : Embedded Hardware and Software testing

I have moved almost all contents to www.embeddedsystemtesting.com, my blog. Easy to use and maintain. I am not maintaining this site anymore.

Embedded System Testing
is one of the challenging job to be done. To make embedded system testing as your career you should know what are embedded systems.  If you love finding defects , if you are tool -savvy and always searching for new tool and new ways to test your embedded domain, this is the site for you. I am a professional with 10 + years of experience and embedded system testing is my passion.

For me embedded system testing is a group of both hardware and software areas to be tested. My specific areas are in depth protocol level functional testing and embedded system testing ( voice + video + data ).

The Aim of this site is to share the knowledge.Also as this is a vast field everyday i learn new things, i always think that i will remember these things when i need them, but sometimes its not true. This site is for me as easy reference for what i am learning now, already know and will be learning in future.

Embedded System as per Wikipedia is "An embedded system is a computer system designed to do one or a few dedicated and/or specific functions often with real-time computing constraints." So embedded system is nothing but low cost , low space and low maintenance system. It is designed to handle a specific task to be controlled by one or more main processing cores that are typically either micro-controllers or digital signal processors (DSP). 

We can have variety of embedded system which can be used in variety of fields like telecommunication, networking, medical, air traffic and consumer electronics. Here our main purpose is computer networking and core testing units are switches and routers.  We should be familiar with few terms to understand it fully.

Testing

Testing is very vague term and to define it we should know and we should have some baselines. Basically to understand testing we should know few things :

1)  Testing is not independent module it is interlinked with the system to be tested.

2)  To test the system you should know the system, this actually means if you want to test anything first you should have a through knowledge of the system.

3) You should be aware of the standards, type of environment and the actual deployment scenario of the system to test it thoroughly and properly.

This are very basic things and can be applied to any system/scenario. For Embedded Systems testing we should be aware of the testing environment and the actual use case in which the system is to be tested.

Testing Methods

We have basically three categories for testing :

1) White box testing
2) Black Box testing
3) Grey Box testing

It all depends on the requirement of the product and the company which type of method they follow for testing their products. All types can be explained in simple way as:

White Box testing is done with the actual code. If you are using some API's , any other tool to see code coverage etc you are doing white box testing . If you are modifying the code to see whether it is working as expected is not, is white box testing.

Black Box Testing : If you believe that every system has a bug and try to find defects without even knowing the internal coding of the system is black box testing.

Grey Box Testing : If you know how internal coding has been done and writing the test cases based on how the system will be used comes under grey box testing.

To test Embedded System we need tools which can generate real time traffic or simulate them. We need to have basic level of understanding of protocols . Because if you know why it is designed in that way, you know where it will work and where it will be broken.

I have tried to cover Wireless protocols and wired networking protocols.Specific test cases for few protocols. These things are starting points to build a system once you know how to test each case separately, you can go for Embedded system testing.

i will also cover some topics like how to write test cases, how to design test cases , what things we need to cover for testing protocols. Also what steps we should follow before filing any bugs. One more thing in starting this site is many people want to join embedded system domain
but have little or no knowledge from where to start so it will be useful for all who wants to make career in embedded system testing. 

I will add slowly the embedded systems testing interview questions which is generally asked. All protocols which are to be tested for embedded domain.

Please leave your comments and doubts and i will try to update the pages with it. This i am starting seriously in Sept 2011 and i wish by 2013 i will make this site better and useful for all including me :-) . Wish me luck ......