For those that don't know; JTAG testing is used with complex ICs, Often on many layer PCBs where most of the traces are not on the top layer. Where there is no room for test points. The ICs are so small probes do not work well or ball grid parts with no leads. JTAG has no problem with parts on both sides of the PCB.
Step one is to put into 'test mode' some or all the ICs. You now have control of all the IO pins. Each pin can be input, output, driven high, driven low, or open and its state red back. You tell IC5, pin 152 go low, go high then look at IC7 pin 309 and see if it got the low/high signal. At the same time you look at all the other pins on the board to see if another input gets the signal when it should not. (testing signals and sort testing)
FLASH memory and micros can be programmed at this time.
Companies like Agilent have huge data bases of test plans. You give a net list to the PC and it generates files for testing.
JTAG ports run 10mhz to 50mhz which is fine for short testing but not good for large memory banks. In the case of mother boards; we load a temporary test program in the computer chips and they in turn walk through the memory at full speed. This way multiple tests are run at the same time.
In short, we turn each IC into a test machine.