Testing of Device Drivers. -->What kind of efficient methods people usually use to test the device drivers ?
Testing of Device Drivers.
What kind of efficient methods people usually use to test the device drivers ?
If testers supposed to be hired to test the Device Drivers,what possible skills one need to see with them ?
Is it really required "that to test the device drivers", there is some requirement of separate test team ?
Usually developers who develop Device Driver e.g; Touch Panel Driver,Key Board Driver backlight,battdrvr,cspddk,serial,pccard,usb.pmic,block etc.
In terms of expertise of developer side :That required low level coding, including the good knowledge about the device or may be required the study of schematic.
How do you feel about the Tester skills ?
To test the device drivers, is it required for tester to test the possible set of developed APIs?
Can any body share his experience towards the device drivers testing and some of the important practices which need to be followed for the same?
Answers (3)
Paul W
Technologist, Advocate, Architect, Consultant
Best Answers in: Computers and Software (9), Software Development (5), Web Development (4), Enterprise Software (2), Individual Insurance (1), Blogging (1), Computer Networking (1), Information Security (1), Information Storage (1), Telecommunications (1), Wireless (1)
Hi Sumit,
Admittedly I have done little of this kind of work for real. For the small projects I worked on, I found that using some kind of loopback driver was very helpful. If the loopback was connected to a software program that emulated the device's inputs and outputs then I could script different test scenarios and make my driver respond properly.
Later, when the device arrived (most of the initial development was done "dry" with only a specification document) I could write a hardware abstraction layer that would feed my driver, as well as "fix" any deltas between the specification and the reality of the hardware.
This concept worked well for me, and I didn't require a tester as such.
If I were working on a larger project and looking to test the driver, I would try to create at least one of each possible input from the device, as well as generate at least one of every output to the device. Those inputs and outputs should be well documented, as to create the spec you would need to document that.
Best of luck,
~ Paul
I think such a person should be well verse with programming on that particular OS at the system call level, and not just library level. He should know the driver calls he can make (ioctl, open, read etc. if driver supports).
He should know scripting too well in order to write small scripts once he has developed application programs to use that driver.
Most often you would already have generic applications capable to use that device and driver, and he should have broader knowledge of user programs on the OS he is working.
If he knows kernel internals, he can try to write another kernel driver and try to test the driver from within the kernel, though this would be a big overkill.
My two cents. Hope this helps.
- Adhyas
Not a specific answer to your question, but if you have not explored it, look at Microsoft's resources at http://www.microsoft.com/whdc/default.mspx
While Windows specific, a lot of the discussion helps elsewhere. The specs for the platforms are there. AND they have a suite of testing tools in the WDK space.