Attacks, Defenses and Testing for Deep Learning