软件测试---软件测试原则

完全测试程序是不可能的

  • 输入量太大
  • 输出结果太多
  • 软件实现用途太多

软件测试是有风险的行为

  • 不测所有情况就选择了风险
  • 要将无边际的可能减少到可控制的范围
  • 明智选择,去粗求精
  • 对于相对复杂的产品或系统来说,zero-bug是一种理想,good-enough是我们的原则。

good-enough原则

不充分的测试是不负责任的;过分的测试是一种资源的浪费,同样也是一种不负责任的表现。我们的操作困难在于:如何界定什么样的测试是不充分的, 什么样的测试是过分的。目前唯一可用的答案是:制定最低测试通过标准和测试内容,然后具体问题具体分析。

在这里插入图片描述

软件测试无法显示潜伏的软件bug

通过软件测试只能报告软件已被发现的缺陷和故障,无法报告隐藏的软件故障。

并非所有bug都能修复

不能修复的原因:

  • 没有足够的时间,项目进度决定
  • 不算真正bug,是一项功能
  • Fix风险太大,可能导致其它bug

没有任何一个产品没有Bug

《编程珠玑》作者让100多个专业程序员使用两个小时的充足时间编写一个简单的二分查找程序,结果发现90%的人编写出的的代码都有Bug 。
Knuth在《Sorting and Searching》一书中提及:第一个二分查找程序在1946年已经公布,但直到1962年才出现第一个没有Bug的二分查找程序。

永远不可能找出并修复所有的Bug。

在修复了旧的Bug 的同时,往往又会生新的Bug。
根据微软的经验,每修复三到四个Bug一般就会产生一个新的Bug。
不值得修复,不常用的功能,不常出现的bug,可以躲过的

软件开发过程中应在早期就开展各种质量保证活动。

应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。

在改错之后一定要马上重新测试,以免引入新的错误

程序中的大部分错误往往是在一小部分模块中发现的,遵循帕雷托定律(八二原则)

一段程序中存在错误的概率与这段程序中已经发现的错误数成正比

编码规范、需求理解、技术能力、内部耦合性都会导致这种“虫子窝“现象

避免测试自己的程序

什么时候停止测试

  • 发现所有的漏洞时才停止测试是不可能的
    关键在于是否经济

    • 市场压力
    • 质量目标
    • 客户要求
    • 费用约束
  • 基于静态分析的决策

    • 错误发现率
      错误被发现的频率可以显示出系统的测试阶段是否接近
      完成
    • 错误植入
  • 在这里插入图片描述

  • 在这里插入图片描述

在这里插入图片描述
总的来说,错误的成本必须明显大于测试的成本,我们就可以继续测试下去

测试的误区

  • 测试工作是测试人员的事情,和开发人员无关。

  • 软件质量是由测试人员决定的,如果客户在使用中发现缺陷,那是测试人员的责任。

  • 自动化测试将会取代手动测试

  • 因为软件测试不能给企业带来收益,所以软件测试不重要,重要的是开发人员。

  • 测试没有技术含量,是人就能做。
    卧槽,这个 bug简直太明显了好么?连这个都测不粗来,请问你们的测试,都是姚老师教的吗?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉卧考场君莫笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值