畅谈:软件测试的概念和基本原则

166 篇文章 5 订阅
24 篇文章 2 订阅

1、测试心理

上文中曾经提到过研发和测试在思路和观念上的一些矛盾。多数情况下,研发工程师并不精通软件测试的思路,因此可能会认为测试无非就是走一个流程,认为“软件测试就是证明软件不存在错误的过程”,或者“测试的目的在于证明软件能正确完成其功能”,或者“演示软件做了应该做的流程”。

实际上,几乎所有的程序代码在一开始都存在或大或小的错误,而测试的实际意义在于为了发现各种错误而执行的过程。

2、测试分类

软件测试通常有两种不同的策略:黑盒测试和白盒测试。

a.黑盒测试

所谓黑盒测试,即为数据驱动的测试,或者叫做输入/输出驱动测试。黑盒测试不需要了解程序内部的结构,完全依赖输入和输出数据的关系判断软件的正确性。要在黑盒测试中确保完全避免所有错误,则需要遍历所有可能的输入数据,实际上这是完全不可能实现的。

b.白盒测试

白盒测试是与黑盒测试相对应的另一种测试策略,在这种测试方法中,测试者将检查代码内部的运行流程,确保正确的路程产生正确的结果。同样,要保证白盒测试避免所有错误,则需要遍历程序运行的所有可能流程,而这更是不可能的任务。

因此综上所述,无论黑盒或白盒测试都不能单独保证代码的质量。在实践中,通常是将二者有机结合形成一种不完美却合理的方法。

3、测试原则

a.入-输出关系,无论正确或错误的结果都应该有合理的判断。

b.研发工程师和开发组织不应该测试自己的代码:原因已经在上一篇叙述过,主要是思维定式的问题。但是,由于我们这一系列博文主要是针对研发工程师,因此我们的思路却是反其道而行之,更加强调研发工程师的自测,用这种方式突破思维定式的限制,写出更加优秀的代码。

c.测试用例不仅仅应当依据有效和预期的输入,更多地应当考虑无效和未预料到的情况:该原则呼应了软件测试的实际意义——为发现各种错误而测试。

d.测试时不仅仅应该考虑软件“是否完成了应该完成的”,也要考虑“是否避免了不该做的”:原理同上。

e.保留测试用例用于回归测试:在软件的bug修复后往往需要重新测试,如果不能保证测试用例一致,那么回归测试可能会漏掉某些新出现的故障。

f.已发现的错误数量通常和仍然隐藏的错误数量成正比:错误总是倾向于聚集存呀。

写在最后:

忙的时候虽然累,但是忙完了会特别畅快舒服;闲的时候虽然爽,但是闲的时间长了心就慌了。你迷茫的原因往往只有一个,那就是在本该拼命去努力的年纪,想得太多,做得太少。

所以朋友们确定目标,不忘初心,勇往直前,相信最后一定可以开出一朵属于自己的花儿来,加油。
在这里插入图片描述

絮叨:

在这里推荐一个我自己创建的软件测试交流群,QQ:642830685,群中会不定期的分享软件测试资源,测试面试题以及测试行业资讯,大家可以在群中积极交流技术,还有行业大佬为你答疑解惑。

看到这里的朋友记得举起你那可爱的小手为我点个赞,你的点赞是我积极更文的不竭动力。

大家可以关注我的微信公众号:程序媛一菲,有更多学习资源等待大家来领取。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值