Learning Testing through Programs