Fault Self-Detection of Automatic Testing Systems by Means of Aspect-Oriented Programming