I am coming from the embedded background and mainly working in the testing domain. I am just planning to shift my career to linux (embedded linux mainly). My doubt is how far can this help me in my career upliftment? Is this a right decision to go on since I have been working in the embedded testing domain for more than 4 years.
Linux is widely used now, and will be more and more used in embedded devices in the future.
Also IMHO, as a computer scientist, you should know and understand all major operating systems.
Since Linux seems to be more and more important in the embedded field I really recommend to get a grip on it. I for one have spent the last six years or so building appliances with Linux (with a self-developed in-house embedded Linux distro no less), ranging from a thin-client to several VoIP appliances, using ARM, PowerPC and Intel. With these devices, our company grew from 3 people to about 15 within three years, more than half of which where developers and two testers. (Have changed the job now since I wanted to do something different but that's another story.)
Thing is, aside from NetBSD there is probably no other OS that has such a good support for so many different CPU platforms (and also peripherals). A lot of developers are familiar with Linux as hobbyists. Add to that the fact that Linux is pretty widespread on servers nowadays. This means that as a company it's probably easier to find competent Linux developers than, say, QNX developers. So I expect the number of embedded devices with Linux to further rise in the next years, but this also means that the need for competent developers and testers should rise.
I for one can say that my Linux knowledge did help my carrier, a lot. It made forming the aforementioned company possible in the first place. Knowing different OS'es is always a good thing, or to be more generic: being flexible, having diverse knowledge is always helping a carrier. So if you're interested, don't hesitate to also play around with OS'es like FreeBSD, NetBSD, OpenSolaris, or whichever OS you can find.
When changing jobs a couple of years ago, I saw a number of opportunities for Linux in embedded systems, My experience was largely in RTOS development, so I started getting up to speed on Linux to increase the scope of opportunities I might apply for. However, I was left with the feeling that Linux for embedded was suited to the kind of applications that I was not particularly interested in (network routers, data storage for example), and that for what I wanted to do RTOS remained the better solution.
For what its worth I used "Embedded Linux System Design and Development", but I cannot say I have read widely enough on the subject to recommend it over any other similarly titled book.
If the development and/or test environment is Linux then there is obviously a benefit in knowing Linux from a user point-of-view at least. Linux supports a great many open-source tools relevant to software test, that in the Win32 environment often cost a great deal of money (though often also more polished and easy to deploy). Even commercial and expensive test tools such as PolySpace sometimes work better on Linux that Win32 (because in the case of PolySpace the Win32 port is merely a Cygwin base port).
My answer would be - It Depends.
Some embedded systems will use Linux, the majority do not.
You say that you work in embedded test at the moment. Do you intend to stay with the same company and move into the firmware development department? If the answer to both of these is yes then learning about Linux would be a good move.
If the type of embedded device that you are interested in is based on a large, powerful processor with bucketfuls of memory then Linux MAY be useful.
If your target systems are likely to be based on smaller processors and memory sizes that are below Megabytes (I have never gone above 0.5MByte, mostly sub 64Kbyte) then Linux is no use at all. The system will often be based on a proprietary or commercial RTOS scaled for the processor architecture being used. Many targets will not have an operating system at all.