Test Time and Test Data Volume Reduction Techniques for VLSI Circuits