Description
The first task was to automate the testing using the customer's development tools. acmet had a tool called acmet Compiler Quality Validation System (AQVS), which can be used to automate compiler regression tests. Within the first week of the project, AQVS was customized to use customer's development tools and regression testing was started.
In 2 months there is no way to running all the compiler tests that were available. So first an estimate was made on how many tests could be run within 75% of the given time frame while 25% could be used for defect analysis, reporting and finding more defects based on an identified defect pattern. The priority of running the tests was decided based on which tests have more chances of catching defects. A compiler which is already in market would have cleared all the standard test suites. So it was given the lowest priority.
During the testing phase whenever a defect is identified it was analyzed and the defect pattern was identified. Then test cases were generated around the identified defect pattern to identify similar defects. Once a defect pattern is identified for a defect, a small test program that reproduces the defect pattern was created. The test program was well documented so that the report could easily be understood by the customer.
After a defect is identified, the known defects / issues of the compiler under test were checked from the website. If the defect was one of the known defects / issues, then those defects was not processed further.
The defect reports that were prepared were fairly detailed and provided a complete description of the reported defect. For defects where the compiler output was wrong (like invalid object code), the failure was analyzed and the exact location of failure was identified. Our hypothesis for the reason for failure was also provided. This was possible because of the compiler domain knowledge that acmet possessed.
All the planned tests were completed within the given time-frame. At the end of the project identified 18 defects were identified in the compiler under test; out of which 11 were critical defects. The customer was happy with the effectiveness of our tests, with our analysis of the defects and the defect reports that were raised.