什么是测试

讲起测试,我想起一个故事。当年我还在深圳证券通信有限公司上班,深交所组织体系内的公司开展了一个培训的培训课程。课堂上老师演示了一个好熊熊和坏熊熊的场景,然后让我们辨别两个场景的差异。连续演示了3遍后有一个同事答出来了,老师就问这个同事是做什么的,答之:做测试的。然后老师恍然大悟的说,测试啊?我知道,就是类似网上的那种找不同的游戏,找出系统之间的差别。

这可能是很多外行的人对测试的认知了,认为测试知识简单地对系统和需求文档做比较,找出差异点就发现bug了。我女儿在三岁的时候就能找不同了,刚开始还需要我帮她找出一些不容易区别的地方,当她六岁时已经比我还找的快、找得全了,如果按培训老师的说法,那我女儿做测试比我要强多了,而实际肯定不是如此。

上述这个图是很多年前在群里面传过,我印象很深刻,后来要给新员工做测试概述培训的手想找这个图,找了很久才找到。这个就可以比较形象地描述出我们测试的真实情况,我们拿到的是5,给我们参考的文档却使7(什么都没有),然后要我们去测试,难度可想而知了。

如果搜索软件测试可以找到不同的定义,下面是我找到的几种定义 

经典定义:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程(出自百度百科)

过程定义为了保证软件的质量和可靠性,应力求在分析、设计等各个阶段结束前,对软件进行严格的评审。也就是说软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终审查,它是软件质量保证的关键步骤

CMMI:验证过程域(验证对应的是测试——编者注)“验证”包括按照所有选定的需求对产品和中间工作产品进行的验证,这里的需求包括客户需求、产品需求和产品组件需求。对于产品线来说,还应该验证核心资产及其相关的产品线适应性变化机制。在各个过程域中使用到的术语“产品”与“产品组件”,其含义也包含了服务、服务系统以及它们的组件

从上述我们可以看出,对软件测试有各种不同的定义,有针对测试执行活动的,有针对整个测试活动过程的,有针对测试对象的。在14年参加测试分会,有幸听了James Bach的快速软件测试,回来后再看他的课件,让我对测试有了全面的认识,在此分享给大家。

绝大部分人描述的测试可能是上图,上图也确实是我们测试中做得最多的活动。运行我要测试的系统,做各种操作,观察系统的表现,根据表现判断是否与预期一致,不一致就可能是bug,确认是bug就提bug,然后继续下面的操作。但这个不能算测试,只能算是检查,那测试是什么呢?如下图所示才是测试!该图大家应该都能明白,就不多说了,大家可以记住这个图,然后明白什么是测试、要做好测试我们该做些什么。

PS:上述关于测试的两个图片完全参考James Bach 的快速软件测试培训课件,课件是英文,我利用百度翻译自行翻译过来的。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

六天测试工程师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值