一.软件测试的定义
- 定义一:软件测试是为了发现程序中的错误而执行程序的过程
- 定义二:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期输出结果),并利用这些测试用例运行程序,以及发行错误的过程。
二.测试的工作内容
主要工作内容
- 需求分析
- 检视代码,评审开发文档
- 测试设计(测试文档、方案、用例、执行流程、输出管理、测试控制)度量软件质量
。。。。。。
三.测试用例(Test Case)
是为某个特殊目标而编制的一组测试输入,包含了执行条件以及预期结果,以便测试某个程序(路径)或核实是否满足某个特定需求,是执行测试的最小实体。例如:
特点:
- 正确性:验证系统是否满足需求规格说明书的各项功能
- 完整性:基本功能,不能有遗漏
- 唯一性:按测试用例输入实施测试后,不能出现模糊不清的结果
- 清晰、简洁:好的测试用例描述清晰,每一步都有很强的针对性
- 可维护性:可根据需要,对测试用例进行修改、增加、删除等,已复核相应测试要求
- 可操作性:适合特点的测试环境以及符合整个团队的测试水平
- 可重用性:要求不同测试这在同样的测试环境下使用同样测试用例都能得出相应结论
四.测试执行
根据事先设计好的测试用例而执行程序的过程,这个过程需要根据用例执行的输入数据,判断执行程序后的输出结果是否正确。
五.测试目的
- 确认软件质量(Do the right thing&Do it right)
- 尽可能发现软件中的错误,提高软件的可靠性
- 通过测试活动,发现并解决缺陷,增加人名对被测对象的质量信心
- 通过测试活动,获取被测对象的质量信息,为决策者提供信息
- 预防缺陷,降低风险,保证软件开发过程的高质量
六.缺陷等级
一级:致命缺陷,使整个系统失效、不能运行、性能严重偏离
二级:严重缺陷,不会引起项目运行失败或对项目造成重大不良影响
三级:一般缺陷,不影响系统的正常使用,属于编程规范性错误
建议:建议类问题和程序优化性问题
疑问:不确定的问题
七.软件测试原则
- 测试尽早介入
- 穷尽的测试是不可能的
- 测试显示软件存在缺陷
- 缺陷集群性(8/2原则)
- 杀虫剂悖论
- 测试活动因爱与测试内容
- “无错就是好”的谬论
八.软件测试潜规则
- 可以规划缺陷的数量
- 测试在前期工作只能是学习
- 姜是老的辣,用例是陈的香
- 任何一个项目都是可以复制的
- 超出设计规格的缺陷都不是缺陷
- 规格是测试处理的,不是设计出来的