测试遵循的原则

news/2024/12/2 20:50:02/

  测试遵循的原则

  软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件测试的基本原则有助于测试人员进行高质量的测试,尽早尽可能多的发现缺陷,并负责跟踪和分析软件中的问题,对存在的问题和不足提出质疑和改进,从而持续改进测试过程。

  软件测试的七大原则

  原则1: 测试显示缺陷的存在

  测试可以显示缺陷的存在,但不能证明系统不存在缺陷。测试可以减少软件中存在缺陷的可能性,但即使测试没有发现任何缺陷,也不能证明软件或系统是完全正确的,或者说是不存在缺陷的。

  原则2: 穷尽测试是不可能的

  穷尽测试是不可能的,当满足一定的测试出口准则时测试就应当终止。考虑到所有可能输入值和它们的组合,以及结合所有不同的测试前置条件,这是一个天文数字,我们没有可能进行穷尽测试。

  

  原则3: 测试的尽早介入

  根据统计表明,在软件开发生命周期早期引入的错误占软件过程中出现所有错误(包括最终的缺陷)数量的50%~60%。此外,IBM的一份研究结果表明,缺陷存在放大趋势。如需求阶段的一个错误可能会导致N个设计错误,因此,越是测试后期,为修复缺陷所付出的代价就会越大。因此,软件测试人员要尽早地且不断地进行软件测试,以提高软件质量降低软件开发成本。

  原则4:缺陷集群性

  Pareto原则表明“80%的错误集中在20%的程序模块中”。实际经验也证明了这一点,通常情况下,大多数的缺陷只是存在测试对象的极小部分。缺陷并不是平均而是集群分布的。因此,如果在一个地方发现了很多缺陷,那么通常在这个模块中可以发现更多的缺陷。因此,测试过程中要充分注意错误集群现象,对发现错误较多的程序段或者软件模块,应进行反复的深入的测试。

  原则5: 杀虫剂悖论

  论杀虫剂用得多了,害虫就有免疫力,杀虫剂就发挥不了效力。在测试中,同样的测试用例被一遍一遍反复使用时,发现缺陷的能力就会越来越差。这种现象的主要原因在于测试人员没有及时更新测试用例,同时对测试用例及测试对象过于熟悉,形成思维定势。

  为克服这种现象,测试用例需要经常的评审和修改,不断增加新的不同的测试用例来测试软件或系统的不同部分,保证测试用例永远是最新的,即包含着最后一次程序代码或说明文档的更新信息。

  原则6: 测试活动依赖于测试背景

  对于每个软件系统,比如测试策略测试技术、测试工具、测试阶段以及测试出口准则等等的选择,都是不一样的。同时,测试活动必须与应用程序的运行环境和使用中可能存在的风险相关联。因此,没有两个系统可以以完全相同的方式进行测试。比如,对关注安全的电子商务系统进行测试,与一般的商业软件测试的重点是不一样的,它更多关注的是安全测试和性能测试。

  原则7: 不存在缺陷的谬论

  系统的质量特征不仅仅是功能性要求,还包括了很多其它方面的要求比如稳定性、可用性、兼容性等等。假如系统无法使用,或者系统不能完成客户的需求和期望,那么,这个系统的研发是失败。同时在系统中发现和修改缺陷也是没有任何意义的。

  如需了解更多测试技术信息请关注:深圳多测师软件与技术服务有限公司

 


http://www.ppmy.cn/news/64221.html

相关文章

spring-transaction源码分析(3)Transactional事务失效原因

问题概述 在Transactional方法中使用this方式调用另一个Transactional方法时&#xff0c;拦截器无法拦截到被调用方法&#xff0c;严重时会使事务失效。 类似以下代码&#xff1a; Transactional public void insertBlogList(List<Blog> blogList) {for (Blog blog : …

MapReduce调优

MapReduce调优 MapReduce应用场景优点缺点擅长应用场景不擅长应用MapReduce优化需求与方向 文件存储格式行式存储、列式存储Sequence File优缺点Sequence File格式Sequence File 未压缩格式Sequence File 基于record压缩格式Sequence File基于block压缩格式生成Sequence File文…

虚拟环境中的 CPU 优化

近年来&#xff0c;虚拟化已成为管理计算资源的一种越来越流行的方式&#xff0c;使用户能够在一台机器上运行多个操作系统和应用程序。虽然虚拟化提供了许多好处&#xff0c;例如更好的资源利用率和更大的灵活性&#xff0c;但在优化 CPU 性能方面也可能带来挑战。 在本文中&…

@Configuration(proxyBeanMethods = false) 解析

又是美好的一天呀~ 个人博客地址&#xff1a; huanghong.top 往下看看~ Configuration(proxyBeanMethods false) 解析proxyBeanMethods分析总结 Configuration(proxyBeanMethods false) 解析 最近看一些源码的时候&#xff0c;发现很多Configuration配置类上Configuration(p…

阿里、京东等大厂年薪50w的测试都是什么水平?

各位做测试的朋友&#xff0c;但凡经历过几次面试&#xff0c;那么你一定曾被问到过以下问题&#xff1a; 1、在Linux环境下&#xff0c;怎么执行web自动化测试&#xff1f; 2、Shell如何&#xff0c;Docker熟悉吗&#xff1f; 3、全链路的压测实操过吗&#xff0c;如何推进与开…

如何使用Typeface-Helper-自定义字体

随着科技的不断发展&#xff0c;人们对于视觉效果的要求也越来越高。在设计领域中&#xff0c;字体设计是非常重要的一环&#xff0c;因为它直接影响了整个设计的风格和品质。因此&#xff0c;越来越多的设计师开始寻找能够帮助他们自定义字体的工具。在这个过程中&#xff0c;…

【JavaEE初阶】文件操作——IO

摄影分享~ 文章目录 文件文件路径&#xff08;Path&#xff09; 文件的类型Java中操作文件File概述 文件内容的读写——数据流字节流InputStream概述OutputStream 概述字符流FileInputStream 概述利用 Scanner 进行字符读取 实例练习 文件 文件&#xff1a;File这个概念&…

KingbaseES 的角色和权限管理

KingbaseES使用角色的概念管理数据库访问权限。为了方便权限管理&#xff0c;用户可以建立多个角色&#xff0c;对角色进行授权和权限回收&#xff0c;并把角色授予其他用户。 数据库初始化时&#xff0c;会创建一个超级用户的角色&#xff1a;system(默认&#xff0c;可修改)。…