Testing Smart Contracts Gets Smarter