CPU Architectural Testing

I was recruited right out of college by Amdahl Corporation into their Processor Products, Diagnostics Development group. This was a great job. The department when I started there was about 30 engineers who spent all their time trying to break stuff programmatically. At its largest the group was 80 developers who worked on a multi-pronged approach to provide tests for Amdahl processors (mainframes, big iron, IBM 3090 class, multimillion dollar machines, you get the idea).

The particular group that I was in was responsible for CPU architectural compatibility testing. What this meant was to take the IBM Principles of Operation and write tests to confirm everything it said about the CPU. For those who have never seen the POO (POP, for those on the east coast), it describes the assembly language instruction set and all the things that go with it (addressing modes, privilege modes, interrupts, etc.). It's everything you need to make a large Red machine look like a large Blue machine.

There were actually two groups that did architectural compatibility testing. The group I was in wrote small, hand-coded tests. This was a scalpel approach to testing. Think what you want to do, write a test case that could prove the machine doesn't do what you think it should, then use an IBM machine to test the test. The other group did more of a shot-gun approach -- write what was basically a very specialized operating system to cause a lot of traffic and check that nothing illegal happened.

In large part, this was a satisfying place to work because the cost of failure was high. From a tester's point of view, that means you get to do most of what you think "should" be done, not just what "must" be done. It seems that developers are more frustrated by functionality not making it into a product. Testers are usually more frustrated by bugs not coming out of a product.

In the QE lingo, my first job was entirely a Verification task. We had no control over what the machine was going to do. We were chartered to make sure that the CPU did what it did entirely correctly. Incompatibility was not an option.

Anne Powell 2/7/98