软件测试学习11

软件测试知识体系学习路线软件测试基础知识 软件测试流程 测试用例设计方法 缺陷管理 测试工具使用 测试文档编写 软件测试人员需具备的素质踏实细心

软件测试知识体系学习路线

  • 软件测试基础知识
  • 软件测试流程
  • 测试用例设计方法
  • 缺陷管理
  • 测试工具使用
  • 测试文档编写
  • ......

软件测试人员需具备的素质

  • 踏实细心
  • 质疑精神
  • 沟通能力
  • 责任意识
  • 主观能动
  • 善于总结

软件测试的原则

原则1: 所有的测试都应追溯到用户需求
产品缺陷的80%以上是在产品开发过程中的需求定义阶段引入的,如果需求得到了准确的验证,则可以消除80%的返工问题,节省总项目投入费用的45%

原则2: 尽早启动测试工作
不管是V模型还是W模型都是线性推动项目,如果问题不能及时被发现,那么随着项目阶段的推进,缺陷的修复成本将会从程几何增长

原则3: Pareto法则应用于软件测试

Pareto(帕累托)法则是由意大利经济学家帕累托提出的,又称为28效率法贝测试中的 Pareto法则是说一般情况下,在分析、设计、实现玠段的复审和测试工作能够发现和避兔80%的缺陷,而系统测试又能找出其余缺陷中的80%,最后4%的缺陷可能只有在用户的大范围、长时间使用后才会曝露出来。

原则4: 穷尽测试是不可能的
由于很少有机会对一个应用软件进行所有可能的测试,对大多数软件开发项目来说,利用风险分析是适当的。这需要判断技能、常识、感觉和经验。如果有正当理由,也可采用正式的方法。

原则5: 杀虫剂效应
概念:如果你不断重复相同的测试,那么软件会对你的测试产生免疫,多个版本迭代下来,最终这些相同的测试用例将不再能发现新的bug。
原因:这是因为几轮下来,在这些用例覆盖的领域,bug已经被修复的差不多了,而且在测试人员发现bug的地方,开发人员也会格外关注和小心,这样最终软件对这些测试产生了免疫,就很难再发现新的bug了,俗称"灯下黑"。

原则6: 前进两步,后退一步
测试中的一个基本问题是—缺陷修复总会以(20-50)%的机率引入新的缺陷。
每次修复之后,必须重新运行先前所有的测试用例,从而确保系统不会以隐蔽的方式被破坏

原则7: 三心二意
三心:耐心、细心、责任心
二意:沟通意识、质疑意识

拓展:杀虫剂效应如何预防

解决方法:

  1. 内部测试人员交叉测试,测试团队成员对被测系统交叉模块测试。(使用不同品牌的农药)
  2. 测试用例常用常更新,在测试过程中根据软件的特性修改测试用例。
  3. 不断地变化测试方法,不要使用单一的测试方法去测试软件,根据软件内容使用不同的测试手段、测试方法。测试人员提升自己能力,掌握新技能,新思想,新方案,用更多测试技术提高测试覆盖率。(修改农药配方,提升配方质量)
  4. 引入更高级测试人员,同时对现有技术人员进行技能培训。(提高使用农药浓度)

根据上面四种方法交叉执行,从而发现更多的缺陷,保证软件质量,降低风险。
所以永远不要停止测试,永远不要停止思考,永远不要相信某一种方法或者工具可以帮助你解决所有问题!在这岗位上就不要停止学习新的技术和方法

预防措施:

  1. 根据产品变更,持续维护和更新你的测试用例
    不管是大的变更还是琐碎的变更,都要及时增加相应的新用例;并分析对巳有功能的影响,修改受影响的现有用例。
  2. 改变原有测试数据
    在实际工作中,我们会发现,有很多生产环境的bug都是和具体数据相关的缺陷,所以在原有测试数据发现缺陷越来越少甚至发现不了缺陷的情况下,应该尝试去增加或者更新一下旧的测试数据。
  3. 同行测试
    让同行,可以是测试同行、也可以是产品经理、运维人员、甚至是新人等,参与进来进行测试,他们会从一些新的视角,尝试一些新测试场景,发现一些新的bug。
  4. 减少已经有杀虫剂效应的测试用例或者降低它们的优先级
    比如对于一些用例来说,他们在10次回归测试中都没有发现bug,这个时候就要 review评审一下这些用例,说明系统已经对它们产生了杀虫剂效应,除了冒烟测试级别的用例外,就要适当减少这些用例的数量,或者降低这些用例的执行优先级。因为随着时间推移,系统逐渐变的庞大,这些用例的数量也将越积累越多,他们在每次回归中可能都会占用很大比例的执行时间,一般来说如果这些用例在5次回归执行中都没有发现缺陷,就要考虑减少他们的数量或者降低它们的执行优先级,以提升测试执行的效率,同时保证测试质量。

参考文档:https://zhuanlan.zhihu.com/p/400033792
参考文档:《软件测试技术》--Boris Beizer
参考文档:百度文档

标签: 软件测试 文档