9.什么是动态测试
动态测试需要在开发/测试环境或实际运行环境中运行软件,并使用测试用例去查找软件缺陷;动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等
10.什么是静态测试
静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。静态测试包括代码检查、程序结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行
11.手工测试和自动测试
a.手工测试缺点在于测试工作量大,重复多,回归测试难以实现
b.自动测试利用软件测试工具自动实现全部或部分测试工作:管理、设计、执行和报告;节省大量的测试开销,并能够完成一些手工测试无法实现的测试
●手工完成测试的全部过程无法保证测试的科学性与严密性:
1)修改的缺陷越多,回归测试越困难
2)没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率
3)反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一
4)测试花费的时间越长,测试的严格性也就越低
●自动测试将测试人员从反复、烦杂的测试执行中解放出来,用更多的时间进行测试设计和结果分析
●软件测试不可能完全自动化
●不能完成所有手工测试任务
●无创造性且灵活性差,不能改进测试的有效性
●过程中可能会遇到许多意想不到的问题,特别是当软件不稳定时
●测试脚本的维护高
12. 测试流程
●单元测试
●集成测试
●系统测试
●用户验收测试
●回归测试
13.单元测试
●完成对最小的软件设计单元—模块的验证工作
●目标是确保模块被正确地编码
●使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误
●通常情况下是面向白盒的
●对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早地发现和解决不易显现的错误
●单元测试的内容
1)接口测试
2)内部数据结构
3)全局数据结构
4)边界
5)语句覆盖,错误路径