软件测试的七个原则
发布时间:2018-01-25 分享到:
一、测试尽早介入
为什么测试要尽早介入呢?
简单的来说就是保证软件质量,降低成本。测试人员一般都在需求阶段就开始介入,这时测试的对象就是需求。软件测试的目的是保证质量,预防风险,降低成本,其中成本包括缺陷的修复成本,缺陷有一个特点就是越早发现的缺陷,修复成本越低,这也是为什么测试要尽早介入,就是为了能够在需求阶段就能找出需求与设计方面的缺陷,降低后期的修复成本。
二、穷尽测试是不可能
现在的软件规模越来越大,复杂度越来越高,想做到完全性的测试是完全不可能的。在测试阶段,软件测试人员可以根据风险和优先级来进行集中测试和高强度测试,从而保证软件的质量。
三、测试显示软件存在缺陷
软件测试只能证实软件中存在缺陷,但是并不能证明软件中不存在缺陷,只能降低软件存在缺陷的可能性。
如果说公司的决策层想通过软件测试来证明软件中不存在缺陷,那是行不通的。测试人员只能证明软件中存在缺陷,但并不能证明软件中没有缺陷,软件完美。
软件测试人员可以通过软件测试活动,找出软件中大部分缺陷,避免软件在上线后给用户带损失。
四、缺陷集群性(2/8原则)
世界上万事万物都符合二八原则,比如著名的财富理论:世界20%的人掌握了世界上80%的财富。
软件测试也符合二八原则:
1.功能:一个软件20%为主要功能,会花费软件测试人员80%的时间。
2.缺陷:一个功能模块发现的缺陷越高,那存在的未被发现的缺陷也越高,故发现的缺陷与未发现的缺陷成正比。
五、杀虫剂悖论
只要做过软件测试的测试人员都会发现一个有趣的现象:
开发刚转测当天,测试人员是一个bug接一个bug的提,但随着测试进度的推进,每天发现在的缺陷会越来越少,到最后简直就是不能够发现缺陷了。但是能说这个软件中不存在缺陷么?相信哪个测试人员都没有这样的自信保证自己测试的软件中没有bug了,那为什么存在中明明不存在缺陷,而测试人员就是发现不了呢?
这是因为测试人员对缺陷产生了免疫能力,就算是一个bug放在测试人员面前,测试人员也不一定能发现。这就像害虫对杀虫剂产生了免疫,杀不死一样的。
那应该怎么解决这个问题呢?
解决方案有:
1. 内部测试人员交叉测试。
2.测试用例常用常更新,在测试过程中根据软件的特性修改测试用例。
3.不断地变化测试方法,不要使用单一的测试方法去测试软件,根据软件内容使用不同的测试手段、测试方法。
根据上面三种方法交叉执行,从而发现更多的缺陷,保证软件质量,降低风险。
六、测试活动依赖于测试内容
在面试过程中有时总会遇到面试官部“做软件测试什么最重要”,做过测试的都知道“需求”最重要,对测试人员来说是需求,对公司来说就是业务。
根据业务的不同,软件测试内部也分不同的行业,比如游戏行业,金融行业,电商行业等等。不同的行业,测试活动的开展都有所不同,比如工具的选择,测试流程都不尽相同,所以软件测试活动的开展依赖于所测试的内容。
7.无错就是好是谬论
无错,对软件测试人员来说是可望不可即的。
假设一个软件完全没有bug,完美无缺,但是不符合用户的需求,那能说这个软件是OK的么?所以判断一个软件的好与不好,主要依据的还是用户需求,是否实现用户所期盼的结果。
相关推荐
-
02-02
一
祝贺!博测空间检测评价技术服务有限公司在中国赛宝实
近日,中国赛宝实验室 的 CEPREI-SPT-2302软件信息安全性测试能力验证 比结果发布,博测空间检测评价技术服务有限公司在 能力考核中成绩优异,在参与能力验证的全国 156家实验室中名...
-
02-02
一
能力验证结果优秀实验室名单揭晓!我司在其中
2023年6月-11月,中国赛宝实验室策划实施了CEPREI-SPT-2302软件信息安全性测试能力验证计划,全国150余家实验室报名参加。2024年1月12日,相关工作总结会在中国赛宝增城总部成功举办。近...
-
04-02
一
国家智慧教育平台将上线“AI学习”专栏
在国家智慧教育平台上线两周年之际,数字教育集成化、智能化、国际化专项行动暨“扩优提质年”启动仪式日前在北京举行,会上,教育部正式启动人工智能赋能教育行动。 教育部党...
-
04-08
一
Claude发布函数调用工具:Tool use
允许模型与外部系统和数据进行交互 使用Tooluse(functioncalling)功能,Claude不仅能够生成文本或回答问题,还能实际调用外部定义的函数或工具来执行特定操作,如获取当前的天气信息、执...