软件测试基本概念
通过手工或者工具对“被测对象”进行测试,验证实际结果与预期结果之间是否存在差异。
软件测试作用
通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心。测试可以降低同类型产品开发遇到问题的风险。
软件测试原则
测试显示缺陷的存在
测试只能证明有缺陷存在,不能证明不存在缺陷。
穷尽测试是不可能的
无法测试所有的情况,当满足一定的测试出口准则时测试就应当终止。
测试尽早介入
早介入早发现早治疗,早期解决的成本更低
缺陷集群性(2/8原则)
80%的问题存在于20%的功能模块中。一个模块中发现了很多问题,可以判断可能有更多问题。是否有逻辑复杂、需求模糊、功能设计问题等。
杀虫剂悖论
多次使用同样的测试用例,软件会产生“耐药性”,不容易发现问题。同样的测试用例被一遍一遍反复使用时,发现缺陷的能力就会越来越差。
测试活动依赖于测试内容
不同的软件系统,使用的测试技术和工具存在差异。不同的软件系统,不会使用完全相同的测试方法。
没有错误是好是谬论
任何软件系统都不会是完美的。没有发现错误更应引起重视。
软件测试对象
需求分析阶段:需求文档、接口文档
编码实现阶段:源代码
系统功能使用:软件程序
测试用例
为特定目的而设计的一组测试输入、执行步骤和预期结果,以便测试产品是否满足某个特定需求的文档