测试测试自动化测试测试自动化测试工作台测试工作台((下游下游CASECASE工具工具))源代码预测器测试管理器测试预估模拟器文件比较器报告生成器动态分析器被测试的程序测试数据测试结果测试结果报告执行报告测试数据生成器规约随机测试自动化工具随机测试自动化工具::猴子测试员猴子测试员只要不停电,偶尔能够得到香蕉,猴子就会永远测试下去一个想法:“假如让一百万只猴子在一百万只键盘上敲一百万年,它们最终就可能写出莎士比亚话剧等巨著”
猴子的进步猴子的进步笨猴子:一点也不懂测试软件,只是随机地单击或按键,直至发生两件情况之一:完成循环或系统崩溃
不太笨的猴子:具有崩溃辨认能力,能够重新启动系统开始测试聪明猴子:能够从它的笨兄弟那儿获得随机测试的结果,增加了对环境的认知能力,有目的地敲键盘,不仅限于查找崩溃缺陷,同时查看数据,检查操作结果,找出与预期结果的差别自动化测试工具实例自动化测试工具实例美国国际软件自动化(ISA)公司的PanoramaforC/C++,j、Java和VB产品,自动化功能包括:•软件结构分析与逻辑框图的自动化•软件静态分析•数据分析•复杂性分析与分析结果列表的自动化•软件质量分析•动态性能分析•软件代码分支或条件覆盖率分析•软件测试用例有效性分析与测试用例最小集的自动选取•软件界面手工操作过程的自动记录与自动再执行(Playback)§6
8调试(纠错技术)测试是找出软件错误的过程,调试是确定错误的位置、性质并纠正
调试的困难在于错误的定位
调试的执行步骤错误现场结果执行案例改正测试用例调试已识别的缘故被怀疑的缘故回归测试附加测试6
1排错策略方法一
强行排错(bruteforce)常见形式:(1)打印出所有存储内容、代码(2)程序中设打印语句(3)用自动纠错工具效率最低二
回溯法(跟踪法)依照错误症状位置,人工沿程序控制流程向回追踪源代码
适用于小程序,路径