Testing Static and Dynamic Faults in Random Access Memories