常见的测试方法

  软件测试是软件⽣命周期中的⼀个重要环节,具有较⾼的复杂性,对于软件测试,可以从不同的⻆度加以分类,使开发者在软件开发过程中的不同层次、不同阶段对测试⼯作进⾏更好的执⾏和管理测试的分类⽅法。

按照测试目标分类

界面测试

  界⾯测试(简称UI测试),指按照界⾯的需求(⼀般是UI设计稿)和界⾯的设计规则,对我们软件界⾯所展⽰的全部内容进⾏测试和检查。一般包括:

• 验证界⾯内容显⽰的完整性,⼀致性,准确性,友好性。⽐如界⾯内容对屏幕⼤⼩的⾃适应,换
⾏,内容是否全部清晰展⽰;
• 验证整个界⾯布局和排版是否合理,不同板块字体的设计,图⽚的展⽰是否符合需求;
• 对界⾯不同控件的测试,⽐如,对话框,⽂本框,滚动条,选项按钮等是否可以正常使⽤,有效

• ⽆效的状态是否设计合理;
• 界⾯的布局和⾊调符合当下时事的发展。

功能测试

功能测试就是对产品的各功能进⾏验证,根据功能测试⽤例,逐项测试,检查产品是否达到⽤⼾要
求的功能。

性能测试

  我们在使⽤软件的时候有时会碰到软件⽹⻚打开时越来越慢,查询数据时很⻓时间才显⽰列表,软件运⾏越来越慢等问题,这些问题都是系统的性能问题引起的。要对产品的性能需求进⾏分析,然后基于系统的性能需求和系统架构,完成性能测试的设计和执⾏,最后要进⾏持续的性能调优。

可靠性测试

可靠性,是指系统正常运⾏的能⼒或者程度,⼀般⽤正常向⽤⼾提供软件服务 的时间占总时间的百分⽐表⽰。

  系统⾮正常运⾏的时间可能是由于硬件,软件,⽹络故障或任何其他因素(如断电)造成的,这些因素 能让系统停⽌⼯作,或者连接中断不能被访问,或者性能急剧降低导致不能使⽤软件现有的服务等。

安全性测试

  安全性是指信息安全,是指计算机系统或⽹络保护⽤⼾数据隐私,完整,保护数据正常传输和抵御黑客,病毒攻击的能⼒。如输入恶性或带有病毒的脚本或长字符串。SQL注入等。

易用性测试

让⽤⼾获得舒适,易⽤的体验,针对软件这⽅⾯的测试称之为易⽤性测试。

⽤性包含七个要素:符合标准和规范,直观性,⼀致性,灵活性,舒适性,正确性和实⽤性


按照执行方式分类

静态测试

  所谓静态测试就是不实际运⾏被测软件,⽽只是静态地检查程序代码、界⾯或⽂档中可能存在的错误的过程。

不以测试数据的执⾏⽽是对测试对象的分析过程,仅通过分析或检查源程序的设计、内部结构、逻
辑、代码⻛格和规格等来检查程序的正确性。

动态测试

  动态测试,指的是实际运⾏被测程序,输⼊相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断⼀个测试属于动态测试还是静态的,唯⼀的标准就是看是否运⾏程序。
大多数软件测试⼯作都属于动态测试。


按照测试方法

白盒测试

  ⽩盒测试⼜称为结构测试或逻辑测试,它⼀般⽤来分析程序的内部结构,针对程序的逻辑结构来设计测试⽤例进⾏测试。

  ⽬的是,通过检查软件内部的逻辑结构,对软件中的逻辑路径进⾏覆盖测试;在程序不同地⽅设⽴检查点,检查程序的状态,以确定实际运⾏状态与预期状态是否⼀致。

动态测试⽅法主要包含六种测试⽅法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

总结

• ⽩盒测试主要应⽤于单元测试阶段
• 先执⾏静态设计⽤例的⽅法,再执⾏动态设计测试⽤例的⽅法

黑盒测试

  ⿊盒测试就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规 定正常使⽤、是否能适当的接收输⼊数据⽽输出正确的结果,满⾜规范需求。
所以,⿊盒测试⼜称之为数据驱动测试,只注重软件的功能。

优点

1、不需要了解程序内部的代码以及实现,不关注软件内部的实现。
2、从⽤⼾⻆度出发设计测试⽤例,很容易的知道⽤⼾会⽤到哪些功能,会遇到哪些问题,锻炼测试⼈员的产品思维。
3、测试⽤例是基于软件需求开发⽂档,不容易遗漏软件需求⽂档中需要测试的功能。

缺点:不可能覆盖所有代码。

灰盒测试

  灰盒测试,是介于⽩盒测试与⿊盒测试之间的⼀种测试,灰盒测试多⽤于集成测试阶段,不仅关注输出、输⼊的正确性,同时也关注程序内部的情况。  

常见面试题:你知道的测试⽅法有哪些?哪种⽤的⽐较多?
  常⻅的测试⽅法有⿊盒测试,⽩盒测试和灰盒测试。开发⼈员主要⽤⽩盒测试和灰盒测试,测试⼈员主要⽤⽩盒测试和黑盒测试。对于测试⼈员来说,相较于⽩盒测试,⿊盒测试⽤的更多⼀些。


按照测试阶段来分类

单元测试

  与编码同步进⾏,针对软件最⼩组成单元进⾏测试,“最小单元”是认为规定的。主要采⽤⽩盒测试⽅法,从被测对象的内部结构出发设计测试⽤例。

• 测试阶段:编码后或者编码前(TDD)
• 测试对象:最⼩模块
• 测试⼈员:⽩盒测试⼯程师或开发⼯程师
• 测试依据:代码和注释+详细设计⽂档
• 测试⽅法:⽩盒测试
• 测试内容:模块接⼝测试、局部数据结构测试、路径测试、错误处理测试、边界测试

集成测试

  集成测试也称联合测试(联调)、组装测试,将程序模块采⽤适当的集成策略组装起来,对系统的接⼝ 及集成后的功能进⾏正确性检测的测试⼯作。集成主要⽬的是检查软件单位之间的接⼝是否正确。

• 测试阶段:⼀般单元测试之后进⾏
• 测试对象:模块间的接⼝
• 测试⼈员:⽩盒测试⼯程师或开发⼯程师
• 测试依据:单元测试的模块+概要设计⽂档
• 测试⽅法:⿊盒测试与⽩盒测试相结合
• 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模
块缺陷对系统的影响。

系统测试

通过集成测试的系统进⾏整体测试,验证系统功能性和⾮功能性需求的实现。

• 测试阶段:集成测试通过之后
• 测试对象:整个系统(软、硬件)
• 测试⼈员:⿊盒测试⼯程师
• 测试依据:需求规格说明⽂档
• 测试⽅法:⿊盒测试
• 测试内容:功能、界⾯、可靠性、易⽤性、性能、兼容性、安全性等

冒烟测试

  检查主流程是否走的通。就是检查系统是否具备可测试性,如果没有可测试性,则直接打回。若具备可测试性,则执行系统测试。 

回归测试

  所有页面所有的功能测试完成之后要整体再回归一遍。

验收测试

  针对⽤⼾需求,对通过系统测试的软件进⾏交付性测试,以确定系统是否满⾜验收标准,由⽤⼾
或其他授权机构决定是否接受系统。它是技术测试的最后⼀个阶段,也称为交付测试

按照是否手工测试

手工测试

  ⼿⼯测试就是由⼈去⼀个⼀个的输⼊⽤例,然后观察结果,和机器测试相对应,属于⽐较原始但是必须的⼀个步骤。

优点

• 对测试⼈员技术要求没有⾃动化技术要求⾼
• 可以进⾏发散性测试

缺点

• 效率低
• ⼈员,时间成本⽐起⾃动化测试都⽐较⾼

自动化测试

  就是在预设条件下运⾏系统或应⽤程序,评估运⾏结果,预先条件应包括正常条件和异常条件。简单说 ⾃动化测试是把以⼈为驱动的测试⾏为转化为机器执⾏的⼀种过程。

优点

• 节省成本
• 提⾼测试⼈员执⾏⼯作效率
• 保障软件的质量

缺点

• 对测试⼈员技术要求较⾼
• 不能发散性测试

按照实施组织划分

α测试(Alpha Testing)

α测试⼜叫内测或者叫a测。α测试通常是公司内部的⽤⼾在模拟实际操作环境下进⾏的测试。α测试的⽬的是评价软件产品的FLURPS(即功能、可使⽤性、可靠性、性能和⽀持)。 α测试不能由程序员或测试员完成。

β测试(Beta Testing)

β测试⼜叫公测或者叫b测。β测试由软件的最终⽤⼾们在⼀个或多个场所进⾏,这⾥就可以理解为,β测试是正式⽤⼾中的⼀部分,他们在任意的场合来使⽤软件,⽬的是为了发现软件是否存在⼀系列的问题。

α测试与β测试的区别

测试的场所不同:α测试是在公司内部进⾏测试的,但是β测试是在⽤⼾环境下进⾏测试的
α测试的环境是受开发⽅控制的,⽤⼾的数量相对⽐较少,时间⽐较集中。β测试的环境是不受开发
⽅控制的,⽤⼾数量相对⽐较多,时间不集中。
测试执⾏时机不同:α测试先于β测试执⾏。通常是α测试通过后,在进⾏β测试。

测试持续时间⻓短不同:α测试时间没有β测试持续时间⻓。

按照测试地域划分

按照测试地域划分,⼀般会将测试划分为国际化测试和本地测试。

以上,关于测试的分类,希望对你有所帮助。

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

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

相关文章

Linux驱动开发第2步_“物理内存”和“虚拟内存”的映射

“新字符设备的GPIO驱动”和“设备树下的GPIO驱动”都要用到寄存器地址,使用“物理内存”和“虚拟内存”映射时,非常不方便,而pinctrl和gpio子系统的GPIO驱动,非常简化。因此,要重点学习pinctrl和gpio子系统下的GPIO驱…

【0x001C】HCI_Write_Page_Scan_Activity详解

目录 一、命令概述 二、命令格式和参数说明 2.1. HCI_Write_Page_Scan_Activity命令格式 2.2. Page_Scan_Interval 2.3. Page_Scan_Window 三、响应事件及参数说明 3.1. HCI_Command_Complete事件 3.2. Status 3.3. 示例 四、命令执行流程 4.1. 命令发起阶段(主机端…

【AI图像生成网站Golang】雪花算法

AI图像生成网站 目录 一、项目介绍 二、雪花算法 三、JWT认证与令牌桶算法 四、项目架构(等待更新) 五、图床上传与图像生成API搭建(等待更新) 六、项目测试与调试(等待更新) 雪花算法 雪花算法 (Snowflake) 是一种高效、可扩展的分布式唯一ID生成算法,最早…

JMeter与大模型融合应用之JMeter日志分析服务化实战应用

JMeter与大模型融合应用之JMeter日志分析服务化 引言 在当今的互联网时代,网站和应用程序的性能直接影响到用户的体验和业务的成功。为了保证系统的稳定性和高效性,性能测试成为了软件开发过程中的一个重要环节。在这其中,Apache JMeter作为一款开源的性能测试工具,凭借其…

Docker环境搭建Cloudreve网盘服务(附shell脚本一键搭建)

Docker搭建Cloudreve Cloudreve介绍: Cloudreve 是一个基于 ThinkPHP 框架构建的开源网盘系统,旨在帮助用户以较低的成本快速搭建起既能满足个人也能满足企业需求的网盘服务。Cloudreve 支持多种存储介质,包括但不限于本地存储、阿里云OSS、…

浪浪云轻量服务器搭建vulfocus网络安全靶场

什么是网络安全靶场 网络安全靶场是一个模拟真实网络环境的训练平台,旨在为网络安全专业人员提供一个安全的环境来测试和提高他们的技能。靶场通常包括各种网络设备、操作系统、应用程序和安全工具,允许用户在其中进行攻击和防御练习。以下是网络安全靶…

对称加密算法DES的实现

一、实验目的 1、了解对称密码体制基本原理 2、掌握编程语言实现对称加密、解密 二、实验原理 DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密…

【linux学习指南】VSCode部署Ubantu云服务器,与Xshell进行本地通信文件编写

文章目录 📝前言🌠 步骤🌉测试同步 🚩总结 📝前言 本文目的是讲使用Vscode连接Ubantu,与本地Xshell建立通信同步文件编写。 查看本机系统相关信息: cat /etc/lsb*DISTRIB_IDUbuntu: 表示这是 Ubuntu 发行…

实战:一文讲透模糊匹配的三种方式的区别

在 SQL 查询中,模糊查询是我们常用的工具之一。LIKE 关键字配合 % 符号,可以实现前缀匹配、后缀匹配和包含匹配等多种查询方式。然而,不同的匹配方式对查询性能会有显著影响。本文将详细探讨在 SQL 查询中,字符串前后加 % 与只在后面加 % 的性能差异及其应用场景。 一、SQL…

利用Blackbox AI让编程更轻松

引言 随着人工智能技术的发展,AI已经成为工作中不可缺少的工具之一。俗话讲“术业有专攻”,对AI来说当然也是如此。由于训练集、调教等方面的差别,不同的AI适用的工作也不尽相同。在编程辅助方面,已经有一系列比较成熟的平台&…

Vue学习记录03

响应式基础 声明响应式状态 ref() 在组合式API中,推荐使用ref()函数来声明响应式状态: import { ref } from vueconst count ref(0) ref()接收参数,并将其包裹在一个带有.value属性的ref对象中返回: const count ref(0)con…

排序排序的概念及其运用和选择排序

排序排序的概念及其运用和选择排序 7. 排序7.1 排序的概念及其运用7.2 选择排序算法——直接选择排序选择排序基本思想:直接选择排序选择排序原理参考程序 如何交换数据直接选择排序的特性总结: 7. 排序 7.1 排序的概念及其运用 排序:所谓排…

【目标检测】用YOLOv8-Segment训练语义分割数据集(保姆级教学)

前言 这篇教程会手把手带你用 YOLOv8-Segment 搭建一个属于自己的分割任务项目。从环境配置到数据集准备,再到模型训练和测试,所有步骤都有详细说明,适合初学者使用。你将学会如何安装必要的软件,标注自己的数据,并使…

爬虫开发工具与环境搭建——开发工具介绍

第二章:爬虫开发工具与环境搭建 第一节 开发工具介绍 爬虫开发需要一些合适的工具和框架来高效地抓取网页数据。在这节中,我们将介绍常用的开发工具,帮助开发者快速搭建爬虫开发环境。 1. Python与爬虫框架选择 Python因其简洁、易学的语法…

类和对象——拷贝构造函数,赋值运算符重载(C++)

1.拷⻉构造函数 如果⼀个构造函数的第⼀个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数也叫做拷贝构造函数,也就是说拷贝构造是⼀个特殊的构造函数。 // 拷贝构造函数//d2(d1) Date(const Date& d) {_year d._yea…

高级数据结构——hash表与布隆过滤器

文章目录 hash表与布隆过滤器1. hash函数2. 选择hash函数3. 散列冲突3.1 负载因子3.2 冲突解决3. STL中的散列表 4. 布隆过滤器4.1 背景1. 应用场景2. 常见的处理场景: 4.2 布隆过滤器构成4.3 原理4.4 应用分析4.5 要点 5. 分布式一致性hash5.1 缓存失效问题 6. 大数…

xcode-select: error: tool ‘xcodebuild‘ requires Xcode, but active developer

打开 .sh 文件所在的终端窗口,执行终端命令:sh 文件名.sh,出现如下错误: 解决办法:

java中volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗?

大家好,我是锋哥。今天分享关于【java中volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗?】面试题。希望对大家有帮助; java中volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗&…

candence : 通孔焊盘、插装器件封装绘制

通孔焊盘、插装器件封装绘制 以2.54mm 2x10的 排针为例绘制封装 一、 flash 热风焊盘制作 1、新建 2、选择 flash SYMBOL,并设置保存路径 3、add flash 具体参数 花焊盘参数 Inner diameter 通孔直径(1.0mm) 圆形补偿值(0.4mm)1.4mm Outer diameter 通孔直径…

VSCode设置

打开设置页 VSCode打开配置页面,有多种方式: a. 点击左上角 File(文件) -> Preferences (首选项) -> Settings(设置)。 b. 使用快捷键 Ctrl ,(Windows) 或 Cmd ,(Mac)。 c. 点击左下角 Manage(管理) -> Settings(设置)。 VSCode设置页面打…