1.1错误处理组合测试
1.1.1 错误组合测试1
- 测试用例 ```pascal program test(input,output); var asadhsadsadsadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:integer; # begin
end.
- 预期结果报标识符长度超过限制100的错误,报非法字符的错误- 测试结果
keyword: program identifier: test delimiter: ( identifier: input delimiter: , identifier: output delimiter: ) delimiter: ; keyword: var [Identifier length too large, exceed 100] 2.5-2.133 //标识符长度超过限制 identifier: asadhsadsadsadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa delimiter: : type: integer delimiter: ; [Invalid character!] 3.1-3.1 //非法字符 # ^ keyword: begin keyword: end delimiter: .
- 分析报错结果和对策符合预期。<a name="pF1l6"></a>### 1.1.2 错误组合测试2- 测试用例```pascalprogram test(input,output);const a=''b='abc
预期结果
报读取的字符常量为空的错误,报读取字符常量时遇到文件尾的错误
测试结果
keyword: programidentifier: testdelimiter: (identifier: inputdelimiter: ,identifier: outputdelimiter: )delimiter: ;keyword: constidentifier: aEQUAL: =[Char constant missing!] 2.9-2.10 //读取的字符常量为空const a=''^^char:identifier: bEQUAL: =[Unexpected end of file when reading a char constant] 3.12-3.12 //遇到文件尾b='abc^
- 分析
1.1.3 错误组合测试3
- 测试用例
program test(input,output);const a='abc'b='bacbegin{123end.
预期结果
报读取的字符常量不止一个字符的错误,报右单引号缺失的错误,报多行注释遇到文件尾的错误
测试结果
keyword: programidentifier: testdelimiter: (identifier: inputdelimiter: ,identifier: outputdelimiter: )delimiter: ;keyword: constidentifier: aEQUAL: =[Too many characters in a char constant!] 2.10-2.12 //字符常量不止一个字符const a='abc'^^^char: aidentifier: bEQUAL: =[Right quote missing!] 4.11-4.11 //右单引号缺失b='bac^char: bkeyword: begin[Unexpected end of file when reading a multiple line comment, lacking of a right brace] 6.4-6.4 //读取多行注释时遇到文件尾end.^
- 分析
报错结果和对策符合预期。
