软件测试技术那么多,我们该如何分辨?

news/2024/4/17 2:48:08/文章来源:https://blog.csdn.net/m0_68405758/article/details/130350031

经典软件测试技术分类:

测试技术是指顺利完成测试的一系列相关过程,有很多可能的分类方式,表2-1就是其中的一种。表中列出了流行的测试技术,也按照上面的讨论对其进行分类:手工测试、自动测试、静态测试、动态测试、功能(黑盒)测试或者结构测试(白盒)测试等。

表2-2描述了每一种软件测试方法。

表2-1  测试技术分类

测试技术

手工测试

自动测试

静态测试

动态测试

功能测试

结构测试

验收测试

X

X

X

X

随机测试

X

X

Alpha测试

X

X

X

基本路径测试

X

X

X

Beta测试

X

X

X

黑盒测试

X

X

X

自底向上测试

X

X

X

边界值测试

X

X

X

分支覆盖测试

X

X

X

分支/条件测试

X

X

X

因果图测试

X

X

X

比较测试

X

X

X

X

X

兼容性测试

X

X

X

条件覆盖测试

X

X

X

CRUD测试

X

X

X

数据库测试

X

X

X

决策表

X

X

X

桌面检查

X

X

X

端到端测试

X

X

X

等价类划分

X

X

异常测试

X

X

X

探索测试

X

X

X

自由形式测试

X

X

X

灰盒测试

X

X

X

X

直方图

X

X

增量集成测试

X

X

X

X

代码审查

X

X

X

X

集成测试

X

X

X

X

JAD

X

X

X

负载测试

X

X

X

X

突变测试

X

X

X

X

正交矩阵测试

X

X

X

测试技术

手工测试

自动测试

静态测试

动态测试

功能测试

结构测试

帕累托分析法

X

X

性能测试

X

X

X

X

X

正反测试

X

X

X

缺陷历史预测试

X

X

X

原型法

X

X

X

随机测试

X

X

X

范围测试

X

X

X

恢复性测试

X

X

X

X

回归测试

X

X

基于风险的测试

X

X

X

运行图

X

X

X

三明治测试

X

X

X

健全性测试

X

X

X

X

安全性测试

X

X

X

状态转换测试

X

X

X

语句覆盖测试

X

X

X

统计概况测试

X

X

X

压力测试

X

X

X

结构化走查

X

X

X

X

语法测试

X

X

X

X

系统测试

X

X

X

X

表测试

X

X

X

线序测试

X

X

X

自顶向下测试

X

X

X

X

单元测试

X

X

X

X

易用性测试

X

X

X

X

用户验收测试

X

X

X

X

白盒测试

X

X

X

表2-2  测试技术描述

测试技术

简 要 描 述

验收测试

基于最终用户/客户规约的最终测试,或基于最终用户/客户使用一段时间的测试

随机测试

与探索测试相似,但是通常指测试人员在测试以前对软件有较深的理解

Alpha测试

当开发接近结束的时候对应用程序进行的测试;作为测试结果,可能会有一些细微的设计变更。通常由最终用户或其他人员完成,而不是开发人员和测试人员

基本路径测试

基于程序或系统的流和路径而进行的测试

Beta测试

当开发和测试基本上都结束的时候对应用程序进行的测试;产品最终发布以前,bug或问题需要在该测试中发现。通常由最终用户或其他人员完成,而不是开发人员和测试人员

黑盒测试

测试用例的产生是基于系统的功能

自底向上测试

从下面开始来对模块或程序进行集成测试

边界值测试

测试用例是由等价类的边界值产生的

测试技术

简 要 描 述

分支覆盖测试

验证程序中每一个判断分支取真取假各至少一次

分支/条件测试

验证每一个判断的所有可能条件的取值组合至少一次

因果图测试

通过映射同时发生、互相影响的多个输入来确定判定条件

比较测试

与竞争对手产品比较其优势与劣势

兼容性测试

测试软件与特定的硬件/软件/操作系统/网络等环境的兼容性

条件覆盖测试

验证每一个判断的每个条件的所有可能的取值至少一次

CRUD测试

建立CRUD矩阵并测试所有目标的生成、检索、修改和删除

数据库测试

检查数据库字段值的完整性

决策表

显示决策标准和相应的行动的表

桌面检查

开发人员评审代码的正确性

端到端测试

与系统测试类似;测试尺度的“宏观”端;包括在一个模拟真实世界使用的情况下对完整的应用程序环境进行的测试,这种模拟包括与数据库互动、使用网络通信或在适当的情况下与其他硬件、应用程序或系统的互动等

等价类划分

每一个输入条件都被划分入两个或多个分组。测试用例由有效类和无效类的代表组成

异常测试

识别出错误信息和异常处理流程以及触发它们的条件

探索测试

经常被看作一个创造性的非正式的软件测试,这一测试不是基于正式的测试计划或测试用例的;测试者可能在测试软件的同时正在学习该软件

自由形式测试

使用直觉定义测试用例,随机地或以头脑风暴方式进行

灰盒测试

白盒测试和黑盒测试的组合方式,充分利用了二者的优点

直方图

测量值的一个图形表示,这些测量值根据定位热点问题的出现频率分类组织

增量集成测试

当在一个应用程序中加入新功能时对其进行的继续测试;需要一个应用程序功能性的不同方面足够独立以能够在程序的所有部分完成之前单独工作,或者测试驱动是按照需求进行开发的;由程序员或者测试人员进行该测试

代码审查

同事之间正式的代码审核,会使用到检查表、准入标准和退出标准

集成测试

对一个应用程序的各个混合部分的进行测试以确定它们的功能是否正确的整合。这些部分可以是代码模块、个体应用程序或者在一个网络上的客户端/服务器应用程序。这种测试类型与客户端/服务器结构的系统和分布式系统的关联尤其紧密

JAD

用户和开发人员坐在一起,用易于理解的会话方式共同设计系统

负载测试

在很重负载的情况下对应用程序加以测试,例如,在一个负载的范围下对一个网站进行的测试以决定在哪一点系统的反应时间会变慢或瘫痪

突变测试

决定一组测试数据或测试用例是否有用的方法,通过故意引入不同的代码变动(“缺陷”),并用原始测试数据/用例重新测试以确定是否这些缺陷能被检测出来。这一方法的适当实现需要大量的计算资源

正交表测试

确定哪些变量的改变需要被测试的数学技术

帕累托分析法

对缺陷模型加以分析以识别原因和来源

性能测试

可与压力和负载测试互换使用的方法。理想情况下性能测试(以及其他任何测试类型)应在需求文档或QA或测试计划中定义

正反测试

对所有输入测试正确值和错误值

缺陷历史预测试

在系统的预测试中,为每一个缺陷创建或者重运行测试用例

原型法

通过建立一个潜在应用程序的某些部分并向用户展示从而从用户处收集数据的一般方法

随机测试

涉及从一个特定的输入值的集合(其中的值与其他值非常相似)中随机选择的技术

测试技术

简 要 描 述

范围测试

对于每一个输入,找出系统反应相同的区间范围

恢复性测试

测试一个系统从崩溃、硬件故障或其他灾难性问题中能够恢复到什么程度

回归测试

回归测试根据在一个开发螺旋周期或者一个新版本的调试、维护或开发中产生的变化对应用程序加以测试

基于风险的测试

测量一个应用程序系统所具有的业务风险的程度以对测试加以改进

运行图

一个关于质量特性怎样随时间变化的图形表示

三明治测试

三明治测试同时使用自顶向下和自底向上技术并且是两个技术的一个折中

健全性测试

一般来说是一个初始的测试工作,用以确定一个新的软件版本是否运行足够良好,达到一个可以进行主要测试的标准。例如,如果新的软件每5分钟就系统崩溃一次、系统运行陷于停顿状态、或者毁坏数据库,那么这个软件可能就处于不足够健全的情况,无法在其现有状态下保证进一步测试的顺利进行

安全性测试

测试系统抵制未授权的内部或外部访问、故意损害等的能力;可能需要复杂的测试技术

状态转换测试

首先标识了一个系统的状态,然后编写一个测试用例以测试造成从一个状态转换到另外一个状态的触发条件的技术

语句覆盖测试

确保代码的每一条语句或者每一行都至少执行一遍

统计概况测试

使用统计技术来描述系统的一个使用概况。基于期望的使用频率,测试人员确定有利于测试的事务路径、条件、功能区域和数据表格

压力测试

可与性能和负载测试互换使用的方法。用于将这样的测试描述为在非正常的高负载、特定行为或输入的大量重复、输入大量数值数据或对数据库系统的大量复杂访问的情况下的系统功能测试

结构化走查

举行一个项目相关人员对工作产品进行查错的会议

语法测试

测试输入排列组合的数据驱动的技术

系统测试

基于一个整体的需求规约的黑盒类型测试,覆盖了一个系统的所有组成部分

表测试

测试表项的访问、安全性和数据完整性

线序测试

将个体单元组合成为共同完成一个或一组功能的功能性线序

自顶向下测试

从顶部开始的整合模块或程序

单元测试

测试最微观的尺度;测试特定的功能或代码模块,一般来说由开发人员而非测试人员进行,因为它需要对程序内部设计和代码有细致的了解。一般不容易实现,除非应用程序的代码具有非常好的结构;可能需要开发测试驱动模块或测试执行器

易用性测试

测试软件的人机交互是否友好。很明显这是主观的,并且依赖于目标终端用户或客户。可使用用户访谈、调查、用户会议的摄像和其他技术。开发人员和测试人员通常不适合作为易用性测试人员

用户验收测试

确定软件是否让最终用户或客户感到满意

白盒测试

通过检查系统的逻辑路径来定义测试用例

 这里为你准备了200G软件测试教程9资料,包括用例模板、计划模板、报告模板、性能调优、自
动化教程、测开模板、简历模板、面试技巧、大厂真题等!点击下方自行获取:

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今年SMETA审核费用即将涨价

【今年SMETA审核费用即将涨价】 SMETA全称( Sedex Members Ethical Trade Audit ),即Sedex会员社会道德贸易审核,它是Sedex发起的一种负责任的供应链审计方法/项目。 Sedex是一个全球性的责任商业平台,SMETA是审核方法…

手推FlinkML2.2(三)

SQLTransformer(SQL转换器)是一种数据预处理方法,允许您使用SQL语句对数据进行转换和操作。SQL转换器通常用于数据清洗、特征工程和数据聚合等任务,以提高数据分析和机器学习模型的性能。它可以与各种数据处理和存储系统&#xff…

本地搭建属于自己的ChatGPT:基于PyTorch+ChatGLM-6b+Streamlit+QDrant+DuckDuckGo

本地部署chatglm及缓解时效性问题的思路: 模型使用chatglm-6b 4bit,推理使用hugging face,前端应用使用streamlit或者gradio。 微调对显存要求较高,还没试验。可以结合LoRA进行微调。 缓解时效性问题:通过本地数据库…

你的车有通风座椅吗?新款奔驰S400升级原厂主副驾座椅通风

大家好,我是奔之升小志(bzs878),专注名车原厂升级,欢迎戳戳右上角“”号关注一下,持续为您带来精彩改装案例。 座椅通风有什么用?能改善身体与座椅接触面空气流通,达到不出汗的效果…

选择美国虚拟主机需注意的安全问题

在选择美国虚拟主机时,安全性应该是您首要关注的问题。虚拟主机通常是网站托管的最便宜和最方便的方式之一,但也存在安全问题。在本文中,我们将讨论一些您应该注意的安全问题,并提供一些解决方案来保护您的网站。 一、了解虚拟主机…

C++(继承(上))

目录 : 1.引出继承的概念 2.继承的关系和方式 3.继承中的作用域 ------------------------------------------------------------------------------------------------------------------------------ 1.引出继承的概念 这些学生、老师、后勤都具有相同的特征&…

elementUI-el-table组件使用总结

一、背景 vue2项目中用到el-table这个组件&#xff0c;但基础的功能不够用&#xff0c;所以需要自定义 二、表头自定义 比如要让表头展现出下面的形式&#xff1a; 只需使用 slot"header" slot-scope"scope" 对插槽进行定义&#xff0c;并绑定变量 <…

CPU Cache:访问存储速度是如何大幅提升的?

我们了解到不同的物理器件&#xff0c;它们的访问速度是不一样的&#xff1a;速度快的往往代价高、容量小&#xff1b;代价低且容量大的&#xff0c;速度通常比较慢。为了充分发挥各种器件的优点&#xff0c;计算机存储数据的物理器件不会只选择一种&#xff0c;而是以 CPU 为核…

java的validation框架(参数校验)

一.bean validation和hibernate validator参数校验常用约束注解&#xff1a; 空值校验类&#xff1a;Null&#xff0c;NotNull&#xff0c;NotEmpty&#xff0c;NotBlank等 范围校验类&#xff1a;Min&#xff0c;Size&#xff0c;Digits&#xff0c;Future&#xff0c;Negati…

微信小程序自定义搜索标题栏

一&#xff1a;需求 把微信小程序标题栏处变成搜索栏。自定义返回上级页面。 二&#xff1a;需求分析 首先要把小程序标题栏设置为可自定义。然后计算原标题栏的高度组成结构。根据计算高度设置搜索框和返回按钮的布局。最后进行代码功能实现。 三&#xff1a;功能实现 1&…

4月19号软件更新资讯合集....

JavaWeb 微服务前后端分离 EurekaEleVue 版 v1.5.0 发布 v1.5.0 更新如下&#xff1a; 1、解决 token 过期无法跳转至登录页的问题&#xff1b; 2、授权服务进行重构与优化&#xff1b; 一款 Java 语言基于 SpringCloud、SpringSecurity、OAuth2、Eureka、Vue、ElementUI、…

Go Fuzzing:发现你未曾发现的漏洞

文章目录 Fuzzing(模糊测试)要求示例模拟crash 总结参考资料 Fuzzing(模糊测试) go fuzz文档 对于软件开发者而言&#xff0c;一项重要的任务就是确保程序的安全性。而其中一种风险就是软件中可能存在的漏洞。传统的测试方法往往需要耗费大量的时间和人力&#xff0c;而使用F…

4月21号软件更新资讯合集.....

PlayEdu v1.0-beta.3 发布&#xff0c;视频培训解决方案 PlayEdu 是基于 SpringBoot3 Java17 React18 开发的企业内部培训系统。它专注于提供私有化部署方案&#xff0c;包括视频&#xff0c;图片等资源的内网部署。目前主要支持有本地视频上传播放、学员邮箱登录、无限级部门…

多数据源 使用 mybatis-plus-generator 3.5.1版本进行代码生成

文章目录 前言多数据源 使用 mybatis-plus-generator 3.5.1版本进行代码生成1. 说明2. 添加依赖2.1. mybatis-plus-generator 自动生成依赖2.2. 多数据源依赖2.3. 建立新项目的完全pom.xml 3. application.yml 多数据源配置 mybatis-plus-generator配置4. 创建一个MybatisPlus…

多通道振弦传感器无线采集仪 数字传感器起始通道分配

多通道振弦传感器无线采集仪 数字传感器起始通道分配 寄存器 DS_CHNUM(299)用于设置读取到的数字传感器数据从哪个通道开始占用&#xff0c;默认为 1。 单个数字传感器占用的通道数量与具体的传感器类型有关&#xff0c;例如&#xff1a;每个激光测距仪会占用 1 个通道&#xf…

Python爬虫之MongoDB

目录 一、Mongo概述 二、安装&下载 1.下载&#xff1a; 2.安装 三、基本命令 插⼊数据 查询数据 修改数据 删除数据 索引 四、Python与MongoDB交互 1.安装pymongo 2.使⽤ 一、Mongo概述 MongoDB是什么&#xff1f; MongoDB是⾮关系型数据库(No sql) 为啥需要…

基于C#asp.net心里咨询服务网站系统

功能模块&#xff1a; 主要分为管理员和注册用户&#xff0c;注册用户可以查看所有人发布的心里文章&#xff0c;情感在线问答&#xff0c;查询相似问题&#xff0c;以及进入论坛进行交流&#xff08;发帖跟帖评论收藏等&#xff09;后台管理主要是针对个人信息修改 管理员对注…

商品价格监控业务场景,API数据分析

商品价格监控指的是对特定商品价格进行实时监控和跟踪&#xff0c;及时更新最新价格并分析价格变化的行为。这种监控可以帮助企业及时了解市场行情&#xff0c;并根据价格变化情况做出相应的调整&#xff0c;以更好地应对市场变化。 一般来说&#xff0c;商品价格监控需要以下…

KVM虚拟机的磁盘无损扩容方法-qcow2格式的

起因&#xff1a;我的KVM主机上安装了基于Debian11的 虚拟机母鸡&#xff0c;其他虚拟机都由此克隆而来。因为最初只配置了8G的虚拟硬盘&#xff0c;因此在需要占用比较大的空间的应用时&#xff0c;就比较麻烦。度娘等中文搜索结果没找到答案&#xff0c;只能google了。 这里…

JavaScript概述四(DOM文档对象模型)

1.DOM(Document Object Model) 会把网页里面的元素当成对象去操作,包含对象的属性,属性值,方便我们去 操作网页。 整个页面最终会形成一个对象 :document ,页面里面的所有的元素(如 标签 ) 最终都会转换成 js 里面的对象。 1.1 获取页面的元素&#xff08;通过选择器&#xff0…