This only works if you already have a virtual machine with a high quality model of the hardware you're trying to test the driver for. For core PC devices like VESA and SATA this is mostly OK (though you still have a high risk of introducing opposing bugs in the device model and the driver which cancel each other out, so it can't replace testing with real hardware entirely). But it won't scale to the huge range of drivers for more or less obscure hardware which the kernel has these days -- writing a device model is about as much work again as writing the device driver, maybe more, and often devices just don't have enough documentation to write an accurate model. Nor is it likely to identify regressions like "we accidentally reverted the fix for this hardware bug that only affects rev 0 SCSI adaptors from manufacturer X".