软件测试遵循的基本原则
在实施测试活动时,测试工程师需遵循软件测试的基本原则。经过软件工程、软件测试理论几十年的发展与总结,概括出7条软件测试基本原则。
一、 测试证明软件存在缺陷
无论何种测试活动,其目的都是为了证明软件存在缺陷。通过测试活动可以减少软件中存在未被发现缺陷的可能性,降低漏测风险,但即使通过测试未能发现任何缺陷,亦不能证明被测对象不存在缺陷。
在实际工作中,开发人员在测试工程师不能发现缺陷后,经常会说被测对象已经没有任何问题了,这种观点是极其错误的。
二、 不可能执行穷尽测试
软件是运行在硬件基础上的逻辑实体,在复杂多变的环境中,任何运行环境发生变化都可能导致缺陷的产生,除了小型系统,利用穷举法进行测试是不可能的。
通过风险分析、被测对象测试点优先级分析、软件质量模型及不同测试方法的运用来确定测试关注点,从而替代穷尽测试,提高测试覆盖率。
三、 测试应尽早启动、尽早介入
防患于未然,缺陷越早发现,修复的成本越低。为了尽早发现缺陷,在软件系统生产生命周期中,测试(评审)活动应尽早介入。通常情况下从项目立项开始,每个阶段都进行评审活动。
四、缺陷存在群集现象
引用经济学中的二八原则,一个软件系统的核心业务及功能往往只占系统的20%左右,但这20%模块的缺陷数量可能占了整个系统的80%左右。测试过程中人力、时间、资源分配比例应根据系统业务功能的优先级匹配,并在测试活动结束后,根据缺陷分布情况再进行调整。
在实际测试过程中,不可均分测试资源,需考虑测试投入及风险控制,可使用基于风险或操作剖面的测试策略重点测试。
五、 杀虫剂悖论
害虫经过几轮药物毒杀后,其后代将产生抗体,杀虫剂不再有效。同样的道理,测试用例经过多次迭代测试后,将不能再发现缺陷。
为了解决“杀虫剂悖论”,测试用例需定期评审、及时调整,可根据软件质量特性结合被测对象的业务场景,设计新的测试用例来测试,从而发现更多潜在的缺陷。
六、 不同的测试活动依赖于不同的测试背景
不同的测试背景、测试目标,需开展不同的测试活动。例如,电子商务业务系统与金融证券产品的测试方法可能不一样,安全性测试与兼容测试性测试方法不一样。针对不同的测试背景,采用恰当高效的测试活动,是实施有效测试活动的一个重要环节。
七、不存在缺陷的谬论
当被测对象无法满足用户需求时,即使该系统无任何缺陷,也不能称为高质量的软件。不能满足用户期望的系统即是无用系统。系统无用时,发现与修改缺陷是毫无意义的。实施测试活动时,一定要考虑用户背景。
一部时尚酷炫的手机操作对于老年人而言可能显得费解,即使功能无任何问题,但解决不了老年人的易学易用性问题。
在实施测试活动时,测试工程师需要时刻关注测试目的及所需遵循的原则,利用测试目的及原则指导测试计划、方案及执行过程,从而提高测试效率。
软件测试遵循的基本原则相关推荐
- 软件设计应该遵循的基本原则有哪些?
1.1)高内聚.低耦合 一个软件系统要有一个稳定的架构,不会随着需要的改变在发生巨大的变动.因此,高内聚.低耦合是一个软件系统设计中必须遵循的基本原则. 所谓高内聚,是指一个软件模块内各个元素彼此结合 ...
- 10kv电压互感器型号_10kv电流互感器的一次电流选择应遵循的基本原则
奥科远电器点击左上角奥科远电器加关注10kV电流互感器的额定一次电流载选择时,应遵循的基本原则总结如下: 1.10kV电流互感器一次电流应满足负荷的要求,并应在标准值中选取. 其标准值为10,12.5 ...
- 计算机主机故障检测原则,1.计算机故障处理应遵循的基本原则有哪些? 爱问知识人...
计算机故障处理应遵循的基本原则有: 1. 先软件后硬件的原则 先软件后硬件原则指的就是,当您的电脑发生故障时,应该先从软件和操作系统上来分析原因,排除软件方面的原因后,再开始检查硬件的故障.一定不要一 ...
- 网络安全等级保护制度遵循的基本原则
2004年9月15日,由公安部与其他单位联合下发<关于信息安全等级保护工作的实施意见>(66号文件),明确信息安全等级保护的核心是对信息安全分等级.按标准进行建设.管理和监督.信息安全等级 ...
- 信息安全系统所需要遵循的基本原则有哪些?
随着时代的发展,网络技术逐渐深入到我们的生活之中,很多数据都会存放在网络上,这些数据的安全存储关系到的方面有很多.尤其是对于企业来说正确的进行信息安全存储是十分重要的,所以大多数企业都会选择应用信息安 ...
- P15 - 信息系统测试 之 应遵循的八大基本原则
[软考-软件设计师-历年真题-2013年上半年上午基础知识] 在设计测试用例时,应遵循(35)原则. (35)A.仅确定测试用例的输入数据,无需考虑输出结果 B.只需检验程是否执行应有的功能,不需要考 ...
- 软件测试部分习题答案
一. 单选题(共35题,每题1份) ( B)方法根据输出对输入的依赖关系设计测试用例 A.路径测试 B.因果图 C.边界值分析 D.等价类 下面哪项工作是制定进度计划的基础( B) A.网路图 B.工 ...
- 第二章软件测试基础知识
2.1 软件测试发展历程 软件测试伴随着软件的产生而产生.早期软件开发过程中,软件规模小,复杂程度低,软件开发过程相当混乱无序,软件测试含义也比较窄,等同于"调试".此时软件测 ...
- 软件测试,软件测试练习题
第1章 软件测试基础 答案私聊学习是自己的事情 一.填空题 1.软件从"出生"到"消亡"的过程称为________. 2.早期的线性开发模型称为________ ...
最新文章
- SAP HANA:持续创新十周年
- 《WinForm开发系列之控件篇》Item33 NotifyIcon(暂无)
- Asp.Net Core 2.1+的视图缓存(响应缓存)
- centos vsftp mysql_CentOS6.4 实现基于mysql的vsftpd
- 【BMC_patrol常见问题汇总】Console License生成
- 1951-2021年至今全国气象数据(逐日、逐月、逐年)
- iTunes 12.7降级
- ESP8266在局域网和互联网下的使用
- 第三方支付分类方式综述
- java实现京东云第三方登录
- Unity3d资源反编译. AssetBundle格式简析+简单应用+爬坑
- 机器学习入门 - Google的机器学习速成课程
- invalidate()和postInvalidate() 的区别及使用
- Rabin Karp 算法详解及Python实现
- Chapter1.3:控制系统的仿真介绍
- android 12 源码编译与虚拟机调试
- 从阿里安全峰会看它如何为安全奠基石
- 谷粒商城 (二十八) --------- 仓储服务 API 仓库管理
- JAVA CRC16校验
- Failed to start LSB: Bring up/down networking 终极解决方法
热门文章
- 今年上半年消费市场趋势_您今年需要了解的8种趋势
- 报错Field Mapper in xxx.xxxServiceImpl required a bean of type ‘dao.xxxMapper‘ that could not be found
- lombok常用注解
- 【其他】神舟精盾K470-i3 D3更换支持5GHz的双频无线网卡
- 为老年人熟悉智能手机的APP
- 怎样批量修改图片名称,一键处理
- 我分析了b站10万条弹幕,发现了歪嘴战神的终极奥义!(文末重磅福利)
- ZooKeeper知识点整理
- 无线调试——免除数据线的干扰
- 信息过剩而注意力稀缺的时代需要的是专注