测试分类篇

按测试对象划分

这里可以分为界面测试, 可靠性测试, 容错率测试, 文档测试, 兼容性测试, 安装卸载测试, 安全测试, 性能测试, 内存泄露测试.

界面测试

界面测试(简称UI测试),指按照界面的需求(一般是UI设计稿)和界面的设计规则,对我们软件界面所
展示的全部内容进行测试和检查. 一般会从:

  1. 验证界面内容显示的完整性,一致性,准确性,友好性。
  2. 验证整个界面布局和排版是否合理
  3. 对界面不同控件的测试是否合理
  4. 界面的布局和色调符合需求.

可靠性测试

可靠性 = 正常运行时间/(正常运行时间+非正常运行时间)*100%.
系统非正常运行的时间可能是由于硬件,软件,网络故障或任何其他因素(如断电)造成的,这些因素 能让系统停止工作,或者连接中断不能被访问,或者性能急剧降低导致不能使用软件现有的服务等。
可用性指标一般要求达到4个或5个“9”,即99.99%或者99.999%

容错率测试

容错性测试是指系统能够处理异常,用户的错误操作而不至于系统崩溃,从而能够提高系统的可用性。
容错性测试包含以下方面:
**输入异常数据或进行异常操作,以检验系统的保护性。**如果系统的容错性好,系统只给出提示或内
部消化掉,而不会导致系统出错甚至崩溃。 比如数据级测试,校验测试,环境容错性测试,界面容错性测试
灾难恢复性测试。 通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失,系统和数据是否能尽快恢复。

文档测试

文档测试的关注点: 文档的术语, 文档的正确性, 文档的完整性, 文档的一致性, 文档的易用性

兼容性测试

兼容性测试需求是指明确要测试的兼容环境,考虑软,硬件的兼容,就软件兼容来说,主要考虑以下几
个方面:

  1. 系统自身版本的兼容,用户已有数据的兼容,数据兼容是重中之重,对用户来说,数据是最有价值的。
  2. 测试与应用环境的兼容性,比如操作系统,应用平台,浏览器的兼容
  3. 测试与第三方系统以及第三方数据的兼容性

易用性测试

易用性一般考虑以下几点:

  1. 规范性和标准性 2. 直观 3. 灵活性 4. 舒适性

安装卸载测试

主要需要考虑以下方面:

  1. 软件不同的安装和卸载方式;
  2. 应用是否可以在不同的环系统,版本下安装(安装兼容性, 高版本兼容低版本)
  3. 安装或者卸载过程中是否可以手动暂停,或者取消
  4. 安装空不足的时候系统是否有提示
  5. 是否可以正常的卸载,以及应用软件的各种卸载方式
  6. 卸载和安装过程中出现环境问题,软件是否可以正常并且合理的应对,比如死机,断电,断网等

安全测试

系统常见的安全漏洞和威胁有:

  1. 输入域,如输入恶性或者带有病毒的脚本或长字符串;
  2. 代码中的安全性问题,如SQL/XML注入
  3. 不安全的数据存储或者传递
  4. 数据文件,邮件文件,系统配置文件等里面有危害系统的信息或者数据;
  5. 有问题的访问控制,权限分配等
  6. 假冒ID:身份欺骗
  7. 篡改,对数据的恶意修改,破坏数据的完整性

性能测试

常见的性能问题有:

  1. 资源泄露
  2. 资源瓶颈
  3. 线程死锁,线程阻塞
  4. 查询速度慢或效率低
  5. 受外部系统影响越来越大

衡量一个性能的好坏有多个指标: 用户响应时间, 事务响应时间, 吞吐率, 每秒点击次数, 内存, cpu使用率等

内存泄露测试

造成内存泄露的原因有很多,最常见的有以下几种。

  1. 分配完内存之后忘了回收。
  2. 程序写法有问题,造成没办法回收(如死循环造成无法执行到回收步骤)。
  3. 某些API函数的使用不正确,造成内存泄露。

内存泄露的检测方法分为人工检测法和自动工具法.它们各有各的好处, 分情况对待.

按照是否查看代码划分

黑盒测试

黑盒测试就是在不考虑程序逻辑和内部结构的情况下,检查系统功能是否满足规范需求。所以,黑盒测试又称之为数据驱动测试,只注重软件的功能.
黑盒测试关注的是业务功能是否符合预期,不关注代码.
它的测试方法有: 等价类, 边界值, 判定表, 正价表, 场景法, 基于需求设计测试用例法.

黑盒测试的优缺点

优点:

  1. 不需要了解软件的内部代码, 对测试人员的代码能力要求比较低.
  2. 从用户角度出发来设计测试用例. 可以容易的知道用户会用到哪些功能和遇到哪些问题
  3. 测试用例是基于软件需求开发文档来设计的, 可以比较全面的覆盖需求文档中需要测试的功能.

缺点:
测试用例不能覆盖所有的代码

白盒测试

**白盒测试它一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试。**白盒测试的测试目的是通过检查软件内部的逻辑结构以确定实际运行状态与预期状态是否一致。
**白盒测试关注的是程序内部的代码逻辑是是否符合预期, 不关注业务功能. **
测试方法有: 语句覆盖, 条件覆盖, 判定覆盖, 组合覆盖, 路径覆盖等.

白盒测试的优缺点

优点:

  1. 它可以帮助测试人员增加代码的覆盖率.
  2. 可以提高代码的质量

缺点:
因为注重点在代码上, 在项目上线后,业务逻辑可能会出现问题,没有测试到.

灰盒测试

灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输
出、输入的正确性,同时也关注程序内部的情况。

按开发阶段划分

这里会分为: 单元测试, 集成测试, 系统测试, 回归测试, 冒烟测试, 验收测试.

单元测试

单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设
计的最小单位:模块。又称为模块测试
测试阶段:编码后或者编码前(TDD)
测试对象:最小模块 (Java中就是一个类或者方法)
测试人员:白盒测试工程师或开发工程师
测试依据:代码和注释+详细设计文档
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

集成测试

集成测试就是将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

系统测试

将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

回归测试

**回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。 **
在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。随着系统
的庞大,回归测试的成本越来越大,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很
有意义的
image.png

冒烟测试

冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件主要功能和核心流程正
常,在正式进行系统测试之前执行。冒烟测试一般在开发人员开发完毕后提交给测试人员来进行测试
时,先进行冒烟测试,保证基本功能正常,不阻碍后续的测试.
如果冒烟测试通过,则测试人员开始进行正式的系统测试,如果不通过,则测试人员可以让开发人员重
新修复代码直到冒烟测试通过,再开始进行系统测试
一般开发都需要拿着冒烟测试用例自己测试,.通过了再交给测试人员进行系统测试.
image.png

按测试实施组织划分

α和β的区别

  1. 测试环境: α测试是在公司内部测试,β测试各种环境都有
  2. 测试人员: α测试是公司内部员工测试的, β测试是客户测试的
  3. 测试时间: α在前, β在后
  4. 测试人员: α比β人数少

这就好比一个公司需要上线一个项目, 让全体工作人员100个都去测试, 发现了问题交给测试人员审核, 这属于α测试. 然后还请了一些用户1000个,去进行测试, 发现bug,有福利, 持续一个星期. 这属于β测试.

按是否运行划分

静态测试

所谓静态测试(static testing)就是不实际运行被测软件,而只是静态地检查程序代码、界面或文档
可能存在的错误的过程。不以测试数据的执行而是对测试对象的分析过程,仅通过分析或检查源程序的
设计、内部结构、逻辑、代码风格和规格等来检查程序的正确性

动态测试

动态测试(dynamic testing),指的是**实际运行被测程序,输入相应的测试数据,检查实际输出结果 **
和预期结果是否相符的过程,所以判断一个测试属于动态测试还是静态的,唯一的标准就是看是否运行
程序。

按是否手动划分

手工测试

手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须
的一个步骤。总结优缺点:
优点:自动化无法替代探索性测试、发散思维结果的测试。
缺点:执行效率慢,量大易错。

自动化测试

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

不能说是自动化好还是手工好, 种类各有各的好处, 使用哪种要看当前公司的业务状态.

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

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

相关文章

DOS攻击实验

实验背景 Dos 攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段,残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃。 实验设备 一个网络 net:cloud0 一台模…

基于微信小程序+SpringBoot+Vue的儿童预防接种预约系统(带1w+文档)

基于微信小程序SpringBootVue的儿童预防接种预约系统(带1w文档) 基于微信小程序SpringBootVue的儿童预防接种预约系统(带1w文档) 开发合适的儿童预防接种预约微信小程序,可以方便管理人员对儿童预防接种预约微信小程序的管理,提高信息管理工作效率及查询…

24暑假算法刷题 | Day22 | LeetCode 77. 组合,216. 组合总和 III,17. 电话号码的字母组合

目录 77. 组合题目描述题解 216. 组合总和 III题目描述题解 17. 电话号码的字母组合题目描述题解 77. 组合 点此跳转题目链接 题目描述 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输…

移动UI:排行榜单页面如何设计,从这五点入手,附示例。

移动UI的排行榜单页面设计需要考虑以下几个方面: 1. 页面布局: 排行榜单页面的布局应该清晰明了,可以采用列表的形式展示排行榜内容,同时考虑到移动设备的屏幕大小,应该设计合理的滚动和分页机制,确保用户…

贪心算法.

哈夫曼树 哈夫曼树(Huffman Tree),又称为霍夫曼树或最优二叉树,是一种带权路径长度最短的二叉树,常用于数据压缩。 定义:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树…

普乐蛙VR航天航空体验馆知识走廊VR体验带你登陆月球

VR航天航空设备是近年来随着虚拟现实(VR)技术的快速发展而兴起的一种新型设备,它结合了航天航空领域的专业知识与VR技术的沉浸式体验,为用户提供了前所未有的航天航空体验。以下是对VR航天航空设备的详细介绍: 一、设备…

UGUI优化篇--UGUI合批

UGUI合批 UGUI合批规则概述UGUI性能查看工具合批部分的特殊例子一个白色image、蓝色image覆盖了Text,白色image和Text哪个先渲染 Mask合批Mask为什么会产生两个drawcallMask为什么不能合批Mask注意要点 RectMask2D为什么RecMask2D比Mask性能更好主要代码RectMask2D注…

Golang | Leetcode Golang题解之第295题数据流的中位数

题目: 题解: type MedianFinder struct {nums *redblacktree.Treetotal intleft, right iterator }func Constructor() MedianFinder {return MedianFinder{nums: redblacktree.NewWithIntComparator()} }func (mf *MedianFinder) AddNum(…

MySQL中多表查询之外连接

首先先来介绍一下我做的两个表,然后再用他们两个举例说明。 -- 创建教师表 create table teachers( id_t int primary key auto_increment, -- 老师编号 name_t varchar(5) -- 姓名 ); -- 创建学生表 create table students( id_s int primary key auto_increment,…

数据结构——单链表OJ题(下)

目录 一、链表的回文结构 思路一:数组法 (1)注意 (2)解题 思路二:反转链表法 (1) 注意 (2)解题 二、相交链表 (1)思路&#…

优化算法:1.遗传算法(GA)及Python实现

一、定义 遗传算法就像是在模拟“优胜劣汰”的进化过程,通过选择最优秀的个体,交配产生下一代,并引入一定的变异,逐步优化解决问题。 二、具体步骤 初始化种群(Initialization): 假设你要找到一个迷宫的最佳出口路径。…

CTF-NSSCTF[GKCTF 2021]

[GKCTF 2021]easycms 考察: 用扫描工具扫描目录,扫描到后台登录界面/admin.php 题目提示了密码是五位弱口令,试了试弱口令admin和12345直接成功了 任意文件下载 点击设计-->主题然后随便选择一个主题,点击自定义&#xff0…

故障诊断 | 基于Transformer故障诊断分类预测(Matlab)

文章目录 预测效果文章概述程序设计参考资料预测效果 文章概述 Transformer故障诊断/分类预测 | 基于Transformer故障诊断分类预测(Matlab) Transformer 模型本质上都是预训练语言模型,大都采用自监督学习 (Self-supervised learning) 的方式在大量生语料上进行训练,也就是…

CTF之网站被黑

简单看一下网页和源码没发现什么明显漏洞 那就扫描一下目录 发现了/shell.php文件,访问一下,发现是一个后台管理登录页面 别无他法只能爆破喽,爆破后发现密码是hack flag{25891d9e9d377f006eda3ca7d4c34c4d}

@JSONField(format = “yyyyMMddHH“)的作用和使用

JySellerItqrdDataDO对象中的字段为: private Date crdat; 2.数据库中的相应字段为: crdat datetime DEFAULT NULL COMMENT 创建时间,2. 打印出的结果为: “crdat”:“2024072718” 年月日时分秒 3. 可以调整format的格式 4. 这样就把Date类…

RedHat8安装Oracle19C

RedHat8安装Oracle19C 1、 更新yum源 更新yum源为阿里云镜像源: # 进入源目录 cd /etc/yum.repos.d/ # 删除 redhat 默认源 rm redhat.repo # 下载阿里云的centos7源 curl -O http://mirrors.aliyun.com/repo/Centos-8.repo # 替换 Centos-8.repo 中的 $releasev…

初学Mybatis之 Lombok 篇

idea 安装 Lombok 插件&#xff1a; File->Settings->Plugins->搜索 lombok 下载 在项目中导入 lombok 的 jar 包&#xff1a; <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.…

C语言程序设计之数学函数篇

程序设计之数学函数 问题1_1代码1_1结果1_1 问题1_2代码1_2结果1 _2 问题1_3代码1_3结果1_3 问题1_1 函数 f u n fun fun 的功能是计算&#xff1a; s ln ⁡ ( 1 ) ln ⁡ ( 2 ) ln ⁡ ( 3 ) ⋯ ln ⁡ ( n ) s\sqrt{\ln(1)\ \ \ln(2)\ \ \ln(3)\ \ \cdots \ \ \ln(n)\ } …

ReentrantReadWriteLock详解

目录 ReentrantReadWriteLock详解1、ReentrantReadWriteLock简介2、ReentrantReadWriteLock类继承结构和类属性3、ReentrantReadWriteLock的读写锁原理分析4、ReentrantReadWriteLock.WriteLock类的核心方法详解非公平写锁的获取非公平写锁的释放公平写锁的获取公平写锁的释放 …

win11查找句柄泄露

1.打开任务管理器&#xff0c;不会的网上搜 2.选择详细信息 3.注意了 比较坑的一点 win11上详细信息不会默认显示句柄数。&#xff08;默认没有句柄那一列&#xff0c;妈的花了我好长时间找&#xff09; 右键&#xff0c;点击选择列 选择句柄 下面的列表里就能看到进程使用…