Attacks Defenses and Testing for Deep Learning