测试分类篇

小王学习录

  • 测试分类
  • 按测试对象划分
    • 1. 界面测试
    • 2. 可靠性测试
    • 3. 容错性测试
    • 4. 文档测试
    • 5. 兼容性测试
    • 6. 易用性测试
    • 7. 安装卸载测试
    • 8. 安全测试
    • 9. 性能测试
    • 10. 内存泄露测试
  • 按是否查看代码划分
    • 1. 黑盒测试
    • 2. 白盒测试
    • 3. 灰盒测试
  • 按开发阶段分
    • 1. 单元测试
    • 2. 集成测试
    • 3. 系统测试
    • 4. 回归测试
    • 5. 冒烟测试
    • 6. 验收测试
  • 按测试实施组织划分
    • 1. α测试和β测试的区别
    • 2. 第三方测试
  • 按是否运行划分
    • 1. 静态测试
    • 2. 动态测试
  • 按是否手工划分
    • 1. 手工测试
    • 2. 自动化测试
  • 按测试地域划分
    • 1. 国际化测试
    • 2. 本地测试

测试分类

测试的分类可以分为以下几类. 本篇文章将大致介绍这几类测试.
在这里插入图片描述

按测试对象划分

1. 界面测试

界面是软件与用户进行交流的工具, 是软件提供给用户的可视化界面, 用户可以通过界面与软件进行交互. 一个美观的界面可以给用户留下良好的印象.

界面测试又称为UI测试, 测试的依据是UI设计稿, 测试的内容主要有以下几点:

  • 界面内容的完整性, 一致性, 准确性, 友好性. 比如屏幕的大小自适应, 自动换行, 内容是否清晰展示等.
  • 验证整个界面布局和排版是否合理, 包括图片的位置和大小, 字体的颜色和大小等.
  • 对界面所有控件的测试, 如: 文本框, 滚动条, 选择按钮等是否可以正常使用.
  • 界面的布局和色调也要符合当前时事的发展.

2. 可靠性测试

可靠性指的是系统正常运行的能力. 又称可用性, 用正常运行时间/(正常运行时间+非正常运行时间)*100%来表示

可用性指标一般要求达到4个或5个9, 即99.99%或99.999%. 对于不同的应用系统, 可用性要求不一样.

  • 99.99% : 对于一个全年不中断运行(7*24)小时运行的系统, 99.99%意味着全年不能正常工作的时间只有52min, 不到一个小时.
  • 99.999%: 同样的系统, 可用性达到99.999意味着一年不能正常工作的时间只有5分钟.

对于可靠性测试, 需要使用测试工具.

3. 容错性测试

容错性是指系统对于用户输入了一个非法数据, 或用户操作错误, 不会使系统奔溃.

对于容错性测试可以采用下面的方法.

  • 输入非法数据或进行异常操作, 看系统的反应. 如果容错性好, 系统会给出提示或内部捕获处理, 而不会导致系统奔溃.
  • 灾难恢复性测试, 强制使软件发生故障, 验证系统恢复的时间以及数据是否发生丢失. (将数据存储到多台服务器中, 这些服务器分布在不同的地方, 当一处的服务器由于外部原因被损坏, 可以从其他服务器中获取到用户数据)

4. 文档测试

文档测试是测试文档的专业术语, 文档的正确性, 完整性, 一致性, 易用性等.

软件开发中的文档有开发文档, 用户文档, 管理文档等.

5. 兼容性测试

兼容性测试主要涉及以下几个方面:

  • 系统版本的兼容, 新发布版本是否能兼容之间版本的用户数据
  • 应用环境的兼容, 在不同设备(手机, 电脑, 平板), 不同型号, 不同操作系统版本, 不同的浏览器版本下系统能否正常运行.
  • 第三方系统与本系统的兼容. 本系统是否会因为有第三方系统运行而无法正常启动的情况.

6. 易用性测试

易用性测试验证用户使用起来是否方便流畅

  • 标准性和规范性. 比如要开发一个已经被开发出来的同类型平台, 应该遵守已经开发出来的平台的规范, 因为用户在潜意识中已经将早开发出来的系统作为标准, 已经习惯了之前的用法.
  • 直观性. 用户界面的直观性, 要求软件功能特性清晰. 不需要用户进行繁琐的操作.
  • 灵活性. 软件应该有不同的选项以满足不同使用习惯的用户.
  • 舒适性. 强调界面友好, 美观, 操作顺畅, 色彩恰当.

7. 安装卸载测试

  • 软件是否能以不同的方式进行安装或卸载. 比如在软件商店中安装或卸载, 在网页中安装或卸载, 使用命令进行安装或卸载等.
  • 软件是否能在不同的系统和版本下进行安装或卸载.
  • 软件安装或卸载过程中是否能手动停止和取消.
  • 安装空间不足时是否会提示.
  • 安装或卸载过程中突然断电, 死机如何处理等

8. 安全测试

安全测试属于非功能测试中很重要的一个方面

  • 在输入框中输入恶意脚本
  • sql攻击, xss攻击等.
  • 数据加密存储, 加密展示, 加密传输.
  • 严格的权限分配.

9. 性能测试

软件运行过程中越来越慢, 查询数据时的响应速度长等问题都属于性能问题. 常见性能问题有如下几种:

  • 资源泄露
  • 线程死锁
  • 接口响应速度慢
  • 系统受外部系统影响越来越大
  • 系统cpu占用率过大

衡量一个系统性能好坏的关键性指标有, 响应用户时间, 事务平均响应时间, 吞吐率, 内存和cpu使用率.

10. 内存泄露测试

内存泄露问题对于缺乏自动垃圾回收机制的语言编写的系统中更为常见, 内存泄露是可积累的, 当耗尽所有内存之后, 软件的执行就会越来越慢, 最后奔溃.

对于内存泄露的测试方法:

  • 人工静态法. 人工观察代码, 发现内存泄漏.
  • 自动工具法. 使用一些测试内存泄露的工具, 如Visual Leak Detector.

按是否查看代码划分

1. 黑盒测试

按是否查看代码可以划分为黑盒测试和白盒测试.
黑盒测试, 又叫数据驱动测试, 只注重系统的功能, 而忽略代码的内部逻辑和结构. 直接按照需求说明测试软件功能是否符合功能描述.

黑盒测试的优点:

  • 黑盒测试不需要关注代码的内部结构和逻辑, 对代码要求较低.
  • 黑盒测试基于需求文档, 不容易遗漏需求文档中需要测试的功能.
  • 黑盒测试是从用户的角度出发设计测试用例, 很容易知道用户使用哪些功能, 在使用这些功能时会遇到什么问题, 锻炼测试人员的产品思维.

黑盒测试的缺点: 不能覆盖所有代码.

2. 白盒测试

白盒测试又称为逻辑测试 / 结构测试, 关注代码内部结构和逻辑, 忽略业务功能, 针对程序的逻辑结构来设计测试用例.

白盒测试的测试目的是, 通过检查软件内部的逻辑结构, 对软件中的逻辑结构进行覆盖测试.

白盒测试有六种测试方法: 语句覆盖, 判定覆盖, 条件覆盖, 判定条件覆盖, 条件组合覆盖, 路径覆盖.

白盒测试的优点: 代码覆盖率高
白盒测试的缺点: 业务逻辑覆盖率低

3. 灰盒测试

灰盒测试是介于白盒和黑盒测试之间的一种测试, 灰盒测试多用于集成测试阶段. 不仅关注业务逻辑, 同时也关注着代码内部的情况.

按开发阶段分

测试金字塔

在这里插入图片描述
从上到下依次是ui测试, 业务测试, 单元测试. 越靠下的排查成本越低. 越靠上越靠近用户.

1. 单元测试

单元测试是对软件最基本的组成单元进行测试. 测试的对象是软件设计的最小单位:函数/方法. 又称为模块测试.

测试阶段: 编码后或这编码前
测试对象: 函数/方法等最小模块
测试人员: 白盒测试工程师或软件开发工程师
测试依据: 代码, 注释, 详细设计文档
测试方法: 白盒测试

2. 集成测试

单元测试完之后, 对多个单元结合起来所对应的接口进行测试. 主要是检查软件单位之间的接口是否正确.

测试阶段: 单元测试之后
测试对象: 模块间的接口
测试人员: 白盒测试工程师或开发工程师
测试依据: 概要设计文档.
测试方法: 黑盒测试和白盒测试
测试内容: 模块之间的数据传输, 功能冲突等.

3. 系统测试

系统测试是对整个软件系统的测试, 包括了功能, 性能, 环境等的测试.

测试阶段: 集成测试完成之后
测试对象: 整个系统
测试人员: 黑盒测试人员
测试依据: 需求规格说明书.
测试方法: 黑盒测试
测试内容: 功能, 性能, 兼容, 安全, 界面, 易用性, 可靠性等

4. 回归测试

回归测试是指修改了代码之后, 重新进行测试确认修改没有引入新的错误或导致其他代码产生了错误. 软件开发的各个阶段会多次进行回归测试, 随着系统的逐步完善, 回归测试的成本也会逐渐扩大.

5. 冒烟测试

冒烟测试的对象是每一个新编译的正式测试的软件版本, 也就是测试此次开发新加的需求, 目的是确认软件本次新加的主要功能和核心流程正常. 回归测试和冒烟测试都属于系统测试, 但是冒烟测试在正式进行系统测试之前进行, 由开发人员先进行冒烟测试, 然后由测试人员进行冒烟测试. 冒烟测试通过之后, 测试人员开始正式的系统测试.

6. 验收测试

验收测试通常由产品经理或运营进行, 是产品上线之前最后的一个测试流程. 又称为交付测试. 目的是确保软件准备就绪.

测试阶段: 系统测试之后
测试对象: 整个系统
测试人员: 最终用户或需求方.
测试依据: 用户需求, 验收标准(由测试人员编写)
测试方法: 黑盒测试

按测试实施组织划分

1. α测试和β测试的区别

  • 环境: α测试在公司内部进行, β测试的测试环境是不确定的
  • 测试人员类型: α测试是由公司的内部人员进行测试的, β测试是由用户进行测试(类似于公测)
  • 测试人员数量: α测试人员较少, β测试人员较多
  • 阶段: α测试是在β测试之前进行的
  • 测试周期: α周期较短, β测试周期较长.

2. 第三方测试

介于开发方和用户方间的组织(公司中单独的组织)的测试

按是否运行划分

1. 静态测试

不运行代码, 静态分析检查源代码, 检查程序的正确性.

2. 动态测试

运行被测试系统, 输入测试用例, 检查输出结果是否与预期结果相符合.

按是否手工划分

1. 手工测试

手工测试由人工手动输入一个个的测试用例. 执行效率慢, 手工测试出错率大, 但是可以进行探索性测试, 具有发散性思维.

2. 自动化测试

自动化测试是将以人为手工的测试行为转化为机器执行.
按照功能划分分为功能测试自动化, 性能测试自动化, 安全测试自动化
按照测试对象可以分为接口测试, UI测试等.

下篇文章将具体介绍自动化测试.

按测试地域划分

1. 国际化测试

如果系统不止国内使用, 则需要进行国际化测试, 要有与对应国家相适应的语言, 日期, 界面风格等.

2. 本地测试

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

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

相关文章

WebofScience快速检索文献的办法

Web of Science为什么老是搜不到文章,原来是要在这个地方全部勾选 如果是搜标题的话,选Title,输入你要搜的文章标题 另外,也可以在浏览器直接搜文章标题,得到文章的DOI,然后选DOI,直接搜DOI也行…

draw.io基础操作和代码高效画图进阶

文章目录 一、基础操作1、链接2、等比例变形3、复制4、插入表格 二、在线打开三、插入—功能聚集地1、插入图片2、插入画笔3、插入布局4、导出 四、图码转换——高效画图1、通用图码转换2、流程图生成:使用mermaid语言生成图: 五、图码转换高效画图的典型…

超维空间M1无人机使用说明书——52、ROS无人机二维码识别与降落

引言:使用二维码引导无人机实现精准降落,首先需要实现对二维码的识别和定位,可以参考博客的二维码识别和定位内容。本小节主要是通过获取拿到的二维码位置,控制无人机全向的移动和降落,分为两种,一种是无人…

问题:为什么IP和端口一样的两个应用服务可以正常启动呢?

mysql安装 将MongoDB安装好并设置bindIP为0.0.0.0,端口为3306 发现问题,MySQL和MongoDB端口和IP一致,两个服务都能同时启动,这是为什么呢? 麻烦知道的大佬帮忙解答一下~~~

win10下安装detectron2-0.5(0.6应该也可以)

最近从github上下载的实例分割代码是detectron2-0.5的记录下配置过程。 1、前面什么pytorch基本步骤网上教程很多, 对着项目的要求下就行 2、到这里一般都是让你去下一个detectron2,但是我们从github上白嫖的项目都是有detectron2的,所以只需要找到那个s…

DQL命令查询数据(三)

本课目标 掌握MySQL的多表查询 SQL语句的综合应用 多表连接查询 通过各个表之间共同列的关联性(例如:外键)来查询的 分类: 内连接(INNER JOIN) ,可简写为 JOIN;左外连接(LEFT OUTER JOIN),…

【EAI 004】LLM+P:借助LLM和PDDL赋予机器人最优规划能力

论文标题:LLMP: Empowering Large Language Models with Optimal Planning Proficiency 论文作者:Bo Liu, Yuqian Jiang, Xiaohan Zhang, Qiang Liu, Shiqi Zhang, Joydeep Biswas, Peter Stone 作者单位:Department of Computer Science, Th…

【前端设计】小球loading动画

欢迎来到前端设计专栏&#xff0c;本专栏收藏了一些好看且实用的前端作品&#xff0c;使用简单的html、css语法打造创意有趣的作品&#xff0c;为网站加入更多高级创意的元素。 html <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

【深度学习:Few-shot learning】理解深入小样本学习中的孪生网络

【深度学习&#xff1a;Few-shot learning】理解深入小样本学习中的孪生网络 深入理解孪生网络&#xff1a;架构、应用与未来展望小样本学习的诞生元学习小样本学习孪生网络的基本概念孪生网络的细节Triplet Loss架构特点关键组件训练过程主要应用领域未来展望示例图片结论 深入…

[AutoSar]基础部分 RTE 06 对runnable的触发和SWC的影响

目录 关键词平台说明一、runnable二、RTE的event2.1Mode类型event2.2周期触发类型2.3 数据交互触发 三、internal runnable value四、专属运行区指定五、per_instance memory 关键词 嵌入式、C语言、autosar、Rte 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商T…

Kali Linux——设置中文

【问题现象】 从下图可以看到&#xff0c;菜单全是英文的。对于英文不好的同学&#xff0c;使用起来很难受。 【解决方法】 1、获取root权限 su root 2、进入语言设置 dpkg-reconfigure locales 3、选择zh_CN.UTF-8 UTF-8 4、设置默认 5、安装完成 6、重启虚拟机 reboot…

深度学习数据集大合集—鱼类数据集

最近收集了一大波有关于各类鱼类的数据集&#xff0c;有淡水鱼、有深海鱼、有鱼的状态、有鱼的分类。大家可以详细查看。废话不多说&#xff0c;接下下来逐一的给大家介绍&#xff01;&#xff01; 1、鱼类检测数据集 包含鱼类的对象检测数据集 本数据集包含4种鱼类及其相关…

【数据结构—排序—交换排序】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、排序的概念及其运用 1、排序的概念 2、排序运用 3、 常见的排序算法 二、交换排序 1、冒泡排序 1.1算法讲解 1.2冒泡排序的实现&#xff1a; 1.2.1头文件的…

记.backward()报错

最近我在模型训练损失里加入了LPIPS深度感知损失&#xff0c;训练的时候就出现了如上的报错&#xff0c;具体解释为&#xff1a;调用梯度反向传播loss.backward()时&#xff0c;我们计算梯度&#xff0c;需要一个标量的loss(即该loss张量的维度为1,只包含一个元素&#xff09;&…

安装ps显示找不到MSVCP140.dll的多种解决方法,轻松解决dll问题

在使用Photoshop&#xff08;简称PS&#xff09;时&#xff0c;有时会遇到“MSVCP140.dll丢失”的错误提示。这个问题可能是由于系统缺少相应的运行库文件导致的。为了解决这个问题&#xff0c;我们需要采取一些措施来修复丢失的MSVCP140.dll文件。本文将介绍五个有效的解决方法…

【MySQL】索引基础

文章目录 1. 索引介绍2. 创建索引 create index…on…2.1 explain2.2 创建索引create index … on…2.3 删除索引 drop index … on 表名 3. 查看索引 show indexes in …4. 前缀索引4.1 确定最佳前缀长度&#xff1a;索引的选择性 5. 全文索引5.1 创建全文索引 create fulltex…

dnSpy调试Web应用程序

文章目录 前言一、dnSpy是什么&#xff1f;二、如何使用dnSpy三、如何调试Web应用程序四、下载总结 前言 dnSpy是一个.NET程序集调试器和编辑器&#xff0c;主要用于调试和编辑没有源码的.NET程序集。 一、dnSpy是什么&#xff1f; dnSpy是一个.NET程序集调试器和编辑器&#…

静态网页设计——极乐迪斯科(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV11k4y1X7mH/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…

SpringCloud系列篇:核心组件之配置中心组件

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于SpringCloud的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.前言 二.配置中心组件是什么 三…

揭秘六大热门认证考试

六大热门认证考试是什么❓今天为大家详细解读PMP、ACP、CDGA、软考中项、软考高项、NPDP、CISP等热门认证考试&#xff0c;让你不再彷徨&#x1f447; 1️⃣PMP &#x1f451;PMP认证是全qiu公ren的项目管理专业认证&#xff0c;旨在评估项目管理人员在项目过程中所需的知识、技…