A question I get often is what is the difference between mobile, embedded, and more traditional software testing, e.g. IT or PC? I just did an interview for my upcoming book (publish due date Sept. 26, so watch for it). This topic came up there and in a couple of lines of text we addressed it. The book goes into more detail. But I think I’d like to address it a little bit more here and later on our web site, which should go live before the book is public.
Besides reading me, one can Google to find things like Wikipedia that outline difference and these are pretty good. And I think I say this in several places, but really I look at software domains as a continuum along a line or maybe multi-dimensional surface. At one extreme you have large main frames and supercomputers. These are big hardware and processing. Maybe at another extreme you have things like embedded microprocessors, FPGAs, and code on a chip (logic gates?). These are small and limited resources. In between you workstations, servers, PC, smart phones, and other devices which run software or can be programmed. Maybe I should be working on a multi-dimensional picture.
Each of these share concepts and approaches in testing. It is tempting to plan and conduct testing as if they are same because of what is common. And certainly a lot of testing can be done in common using classic test techniques. A tester would certainly find a lot of bugs and provide useful information just being “classic”. BUT, my research into taxonomies, which drive the upcoming book, showed some bugs patterns are more of an issue for mobile and embedded devices. In my opinion, a good tester will consider such patterns in planning and executing tests for a specialized domain such as mobile or embedded. My upcoming book provides such patterns (attacks) based on bugs.
Is it complete (meaning all bugs would be found)? No of course not and no test book or technique is. Much thinking is still needed. The nature of mobile and embedded are one aspect of context. Remember: “It depends”. More to come.