For IO testing we do boundary scan also known as JTAG(IEEE 1149.1 standard). This includes EXTEST which test the I/O's as well as the logic between two blocks.
One more method is to use NAND tree test for IO testing which includes the insertion of NAND tree structure at all IO pads on the chip.Then apply your NAND tree pattern and observe the output pattern.
Please correct me if there are more IO tests, other than this.