测试遵循的原则

news2024/12/22 19:02:19

  测试遵循的原则

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

  软件测试的七大原则

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

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

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

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

  

  原则3: 测试的尽早介入

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

  原则4:缺陷集群性

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

  原则5: 杀虫剂悖论

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

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

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

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

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

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/500802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【51单片机】:串口通信基础知识详解

学习目标: 串口通信的基础知识和设置详解。 学习内容:串口通信基础知识 并行通信:多条数据线将数据字节的各个位同时传送*缺点:1.电磁干扰 2.成本高 3.由于传输线较多,长距离传输成本高串口通信:将数据字节…

STL常用梳理——STACK、QUEUE

STL——适配器篇 1、ListSTL list 容器介绍list使用 2、适配器介绍3、Deque容器Stack、Queue适配器实现 1、List STL list 容器介绍 STL list 容器,又称双向链表容器,即该容器的底层是以双向链表的形式实现的。这意味着,list 容器中的元素可…

Lecture 11(Preparation):领域自适应 (Domain Adaptation)

Domain shift: Training and testing data have different distributions. Transfer learning:在A任务上学到的技能,可以被用在B任务上 Domain Adaptation的技术,可以看作是Transfer learning的一种 Domain Adaptation: 第一种情况&#xf…

栈和队列OJ题思路分享之括号匹配(C语言实现)

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:刷题分享⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你刷更多C语言和数据结构的题!   🔝🔝 栈和队列刷题分享 1. 前言&…

【密码学复习】第七章 公钥加密体制

公钥加密模型 密钥生成过程:接收消息的端系统(如图中的接收者Alice)产生一对密钥(PKA ,SKA ), PKA 是公开钥(用于加密), SKA 是秘密密钥(用于解密). 加密过程:Bob想向…

从C出发 30 --- 指针与堆空间

数组 就是变量的有序集,因此只有可以动态的创建一个变量,就可以动态的创建多个变量了, 堆空间就是一片内存区域,用于动态创建内存变量的区域 void 类型是基础类型,不是基础数据类型,为什么?因为…

MySQL --- 图形化工具DDL表结构操作

一. 图形化工具 1. 介绍 前面学习了DDL中关于数据库操作的SQL语句,在编写这些SQL时,都是在命令行当中完成的。在命令行当中来敲这些SQL语句很不方便,主要的原因有以下 3 点: 没有任何代码提示。(全靠记忆&#xff0…

行为型模式-备忘录模式

备忘录模式 概述 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,很多软件都提供了撤销(Undo&#xff0…

【自动化测试】Appium环境设置

启动Appium需要的环境配置有些复杂,这里将需要的环境配置整理出来,附上博主亲测有效的教程,有些教程有一点点老了,博主也做了备注,并且有些老一点步骤,博主根据现有的情况做了新的图文教程,大家…

近源渗透学习

一、近源渗透 近源渗透测试是网络空间安全领域逐渐兴起的一种新的安全评估手段。 它是一种集常规网络攻防、物理接近、社会工程学及无线电通信攻防等能力于一体的高规格网络安全评估行动。网络安全评估小组在签订渗透测试授权协议后,通过乔装、社工等方式实地物理侵…

微服务体系

目录 结构服务注册中心EurekaZookeeperConsul上面三者的对比 Ribbon 负载均衡负载均衡OpenFeign 远程服务调用Hystrix服务熔断常见的设置 Hystrix 工作流程Hystrix-DashBoard 的使用 SpringCloud Gateway核心工作流程 SpringCloud Config 分布式配置中心bootstrap.yml配置文件 …

独立按键识别

项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第四章 IO口编写 参考图电路编写程序,要求实现如下功能: 开始时LED均为熄灭状态,随后根据按键动作点亮相应LED(在按键释放后能继续保持该亮灯状态,直至新的按键压下时为止…

【实用工具】SpringBoot实现接口签名验证

需求场景 由于项目需要开发第三方接口给多个供应商,为保证Api接口的安全性,遂采用Api接口签名验证。 Api接口签名验证主要防御措施为以下几个: 请求发起时间得在限制范围内请求的用户是否真实存在是否存在重复请求请求参数是否被篡改 项目…

java8新特性——StreamAPI

1.集合处理数据的弊端 当我们在需要对集合中的元素进行操作的时候,除了必需的添加,删除,获取外,最典型的操作就是集合遍历。 package com.wxj.streamapi;import java.util.ArrayList; import java.util.Arrays; import java.uti…

E. Vasya and Good Sequences(异或)

Problem - E - Codeforces Vasya有一个由n个整数组成的序列a。 Vasya可以执行以下操作:从序列中选择一些数字,并交换其二进制表示中的任意一对位。例如,Vasya可以将数字6(… 000000001102)转换为3(… 00000…

[数据库系统] 一、外键约束 (educoder)

1.任务:给表添加外码。 2.相关知识 需要掌握: (1)什么是外码; (2)怎么给表添加外码。 (1)什么是外码 外部关键字 外码是另一张表中的主码。**外码的主要作用是保持数据的一致性,完整性。 如图有两张表,classId 是T…

蓝晓转02上市价格预测

蓝晓转02 基本信息 转债名称:蓝晓转02,评级:A,发行规模:5.460645亿元。 正股名称:蓝晓科技,今日收盘价:88.16元,转股价格:92.73元。 当前转股价值 转债面值 …

10.集合

1.泛型 1.1泛型概述 泛型的介绍 ​ 泛型是JDK5中引入的特性&#xff0c;它提供了编译时类型安全检测机制 泛型的好处 把运行时期的问题提前到了编译期间避免了强制类型转换 泛型的定义格式 <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如:…

深度学习模型部署的步骤和相关注意事项

文章目录 深度学习模型部署的步骤和相关注意事项什么是模型部署&#xff1f;步骤1&#xff1a;选择合适的部署环境步骤2&#xff1a;选择合适的部署框架步骤3&#xff1a;将模型转换为部署格式步骤4&#xff1a;创建API接口步骤5&#xff1a;部署模型总结 深度学习模型部署的步…

JWT漏洞基础

JWT漏洞基础 什么是JWTJWT漏洞介绍工具使用 身份认证(Authentication)又称鉴权&#xff0c;是指通过一定的手段&#xff0c;完成对用户身份的确认。认证的方式&#xff1a;sessioncookie、JWT、Token session认证的局限性 session认证机制需要配合cookie才能实现。由于cookie默…