Basically it fills the card with known data then tries to read it back. here is what I got back when testing the "32GB" card from ebay. As you can see 1GB was written and read the other 31gb was lost, because there wasn't anything written as the card was only a 1GB. Below is the text output from h2testw. Was trying to put in the screenshot from the actual program but i guess I can't figure out how to do that. It should also be noted I ras a bench test with atto bench 32 and got fine 7 write and 14 read speeds. I'll try to insert that image also. Hopefully this will help somebody out if they think they have a bad card.
The media is likely to be defective.
113.5 MByte OK (232609 sectors)
31.1 GByte DATA LOST (65287007 sectors)
Details:31.1 GByte overwritten (65287007 sectors)
0 KByte slightly changed (< 8 bit/sector, 0 sectors)
0 KByte corrupted (0 sectors)
16 MByte aliased memory (32768 sectors)
First error at offset: 0x0000000000000000
H2testw version 1.3
Writing speed: 5.82 MByte/s
Reading speed: 8.92 MByte/s