测试进阶-软件测试的分类

news2024/10/2 10:33:19

目录

  • 按照测试对象划分
    • 界面测试 *
    • 可靠性测试
      • 如何进行可靠性测试
    • 容错性测试
    • 文档测试
    • 兼容性测试 *
    • 易用性测试 *
    • 安装卸载测试 *
    • 安全测试
    • 性能测试
    • 内存泄漏测试
  • 按照是否查看代码划分
    • 黑盒测试
    • 白盒测试
    • 灰盒测试
  • 按照开发阶段划分
    • 测试金字塔
    • 单元测试
    • 集成测试
    • 系统测试
    • 回归测试
    • 冒烟测试
    • 验收测试
  • 按照测试实施组织划分
    • α测试
    • β测试
    • α测试 和 β测试的区别
    • 第三方测试
  • 按是否运行划分
    • 静态测试
    • 动态测试
  • 按是否手工划分
    • 手工测试
    • 自动化测试
    • 手工测试 vs 自动化测试
  • 按测试地域划分
    • 国际化测试
    • 本地化测试

按照测试对象划分

界面测试 *

用户肉眼直观的看到的都属于界面

  • web站(通过浏览器打开的网站)
  • APP
  • 小程序
  • 公众号

界面的重要性:
用户和软件进行交互的时候,通常都是通过界面和软件进行沟通的
业界测试界面的时候,参考软件规格说明书,UI视觉稿

界面测试:

  • 验证界面内容显示的完整性、一致性、准确性、友好性。比如界面内容对屏幕大小的自适应,换行,内容是否全部清晰展示。
  • 验证界面的布局和排版是否合理
  • 对界面的控件测试。比如对话框、文本框、滚动条、选项等。
  • 界面的布局和色调是否符合当下实时

可靠性测试

可靠性即可用性,系统正常运行的能力。
一般指正常向用户提供软件服务发时间占总时间的百分比表示
可靠性=正常运行时间 / (正常运行时间 + 非正常运行时间)* 100%

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

如何进行可靠性测试

人为无法测试,借助工具
后续补充

容错性测试

容错性测试是指系统能够处理异常,用户的错误操作不至于导致系统崩溃,从而提高系统的可用性。
容错性测试包含:

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

文档测试

  • 开发文件
  • 用户文件
  • 管理文件

兼容性测试 *

明确测试的兼容环境,考虑软件和硬件的兼容
软件兼容主要考虑的几个方面:

  • 系统自身版本的兼容,用户已有数据的兼容
  • 测试与应用环境的兼容性。操作系统、应用平台、浏览器
  • 测试与第三方系统以及第三方数据的兼容性

易用性测试 *

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

安装卸载测试 *

  • 软件不同的安装和卸载方式
    • 应用市场
    • 浏览器
    • 下载apk包
    • 脚本/命令 下载/卸载
  • 是否可以在不同的环境系统,版本下安装(安装兼容性)
  • 安装或者卸载的过程中是否可以手动暂停/取消
  • 安装空间不足系统是否会提示
  • 是否可以正常的卸载,应用程序的各种卸载方式
  • 卸载和安装时如果出现环境问题软件如何应对,比如死机,断电,断网

安全测试

性能测试

常见的性能测试:

  • 资源泄漏
  • 资源瓶颈
  • 线程死锁,线程阻塞
  • 查询速度慢或效率低
  • 受外部系统影响越来越大
    衡量一个系统性能好坏的关键性指标:用户响应时间、事务平均响应时间(TPS)、吞吐率、每秒点击次数、内存和CPU使用率等。

内存泄漏测试

在这里插入图片描述

按照是否查看代码划分

黑盒测试

黑盒测试是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规定正常使用、是否能够接收输入数据(黑盒测试用例设计方法),输出正确结果,满足规范需求。
优点:

  • 不需要了解程序内部的代码以及实现,不关注软件内部的实现。对于测试人员代码的要求不高
  • 从用户角度出发设计测试用例,锻炼测试人员的产品思维。
  • 测试用例时基于软件需求开发文档,不容易一楼软件需求文档中需要测试的功能

缺点:
不可能覆盖所有的代码,代码覆盖率比较低

黑盒测试用到的测试方法:等价类、边界值、因果图、场景法、错误猜测法。

白盒测试

白盒测试又称为结构测试或逻辑测试。
用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试。
白盒测试关注的是代码逻辑,对业务功能就有了一定的忽视
主要包含的6种测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

白盒测试
优点:代码覆盖率较高
缺点:业务功能覆盖率较低

灰盒测试

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

按照开发阶段划分

测试金字塔

在这里插入图片描述

单元测试

单元测试是对软件组成单元进行测试。目的是检测软件的基本组成单元的正确性。
测试的对象是软件设计的最小单位:模块。
单元测试又称为集成测试

  • 测试阶段:编码后或者编码前(TDD)
  • 测试对象:最小模块。在Java中是一个类方法,C语言中是函数。
  • 测试人员:白盒测试工程师 或者 开发工程师
  • 测试依据:代码、注释、详细设计文档
  • 测试方法:白盒测试
  • 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试。
    Java进行单元测试:junit…

集成测试

集成测试的主要目的是检查软件单位之间的接口是否正确

  • 测试阶段:一般在单元测试之后进行
  • 测试对象**:模块间的接口**
  • 测试人员:白盒测试工程师 或 开发工程师
  • 测试依据:单元测试的模块、概要设计文档
  • 测试方法:黑盒测试与白盒测试相结合
  • 测试内容:模块之间的数据传输、模块之间的功能冲突、模块组装功能正确性,全局数据结构,单模块缺陷对系统的影响。

系统测试

**将软件系统看成是一个系统的测试。**包括对功能,性能以及软件所运行环境的软硬件进行测试

  • 测试阶段:集成测试通过之后
  • 测试对象:整个系统(软件、硬件)
  • 测试人员:黑盒测试工程师
  • 测试依据:需求规格说明书
  • 测试方法:黑盒测试
  • 测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

回归测试

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误

冒烟测试

冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件的主要功能和核心流程正常,在正式进行系统测试之前执行

冒烟测试的执行流程:

  1. 产品需求的讲解
  2. 梳理测试点(设计测试用例)
    • 包含冒烟测试用例(测试点属于本次测试的主流程)
  3. 评审测试用例
    • 确定了所有的测试用例(包含了冒烟测试)
  4. 测试
    • 先执行冒烟测试用例,如果测试通过,此时进入正式测试;如果测试不通过,此时测试停止,让开发人员重新修复代码,直到冒烟测试通过。
  5. 项目上线

验收测试

验收测试是部署软件之前的最后一个测试操作,是产品上线之前最后一个测试流程,也称为交付测试。
目的是确保软件准备就绪。

  • 测试阶段:在系统测试通过之后
  • 测试对象:整个系统
  • 测试人员:最终用户或需求方
  • 测试依据:用户需求、验收标准
  • 测试方法:黑盒测试
  • 测试内容:同系统测试

按照测试实施组织划分

α测试

β测试

α测试 和 β测试的区别

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

第三方测试

介于开发方和用户方之间的组织的测试

按是否运行划分

静态测试

不实际运行被测软件,只是静态的检查程序代码、界面或文档中可能存在的错误的过程

动态测试

实际运行被测程序、输入相应的测试数据、检查实际输出结果和预期结果是否相符发过程。
大多数软件测试都属于动态测试

按是否手工划分

手工测试

人为的一个一个输入用例

自动化测试

自动化测试按照测试对象可以分为:

  • 接口测试:产出投入比高
  • UI测试

手工测试 vs 自动化测试

自动化测试不能不能完全代替手工测试,可以代替操作重复性比较高的测试操作。

按测试地域划分

国际化测试

本地化测试

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

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

相关文章

行政前台快递管理软件使用教程

行政前台快递如何管理,是每个行政人员永远避不开的话题。 不管是从行政相关的论坛中,还是从身边从事行政相关工作的亲友口中,亦或是某些公司前台堆积的快递,我们都能看到、听到行政相关人员抱怨“行政前台快递管理为什么这么难”…

办公环境监测与智能控制软硬件全套解决方案

心理学研究表明,良好的工作环境对员工的身心健康及提高工作效率有积极影响。 不仅如此,近几年国家尤其提倡“碳中和”与“碳达峰”政策,并提出“节约能源、美化环境”的重要目标。以“企业数字化转型”为根本,一切事物都在朝着智能…

因子图优化

最大后验概率估计问题 我们常将状态估计问题建模为最大后验估计(MAP)。之所以命名为最大后验估计,是因为它在给定了观测 Z \bm Z Z的情况下,最大化状态 X \bm X X的后验概率密度 p ( X ∣ Z ) p(\bm X|\bm Z) p(X∣Z) X M A P …

迅为RK3568开发板驱动教程更新了兄弟们,思路更科学

驱动视频全新升级,并持续更新~更全,思路更科学,入门更简单。 迅为基于iTOP-RK3568开发板进行讲解,本次更新内容为第九期,主要讲解设备模型,共计29讲。 教程观看链接:B站搜索-迅为电子 课程目录…

Mysql——SUM()函数

目录 一、前期准备工作 新建表如下: 插入的数据如下: 二、SUM()函数的用法 1.求和,返回指定列的总和 SUM 函数可以对单个列求和,也可以对多个列运算后求和,计算中忽略 NULL 值 SUM函数与分组 GROUP BY 使用&a…

MySQL调优系列(五)——索引详解

一、索引的定义 数据库索引就像是书前面的目录,能加快数据库的查询速度。 索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。 是一种帮助MySQL高效获取数据的数据结构。 ps:大多数情况下,索引查询都是…

计算机图形学 | 实验九:纹理贴图和天空盒

计算机图形学 | 实验九:纹理贴图和天空盒 计算机图形学 | 实验九:纹理贴图和天空盒实验概述顶点数据立方体顶点数据天空盒顶点数组 纹理载入创建纹理纹理读取纹理绑定 使用纹理立方体着色器顶点着色器片元着色器 天空盒着色器顶点着色器片元着色器 立方体…

管好【SD-WEBUI】中大量的模型:模型信息预览插件(Part.3)

文章目录 (零)前言(一)模型预览图(一)模型信息预览插件(Model Preview)(1.1)示例(Markdown描述提示词备注)(1.2&#xff0…

AI大模型驱动下,数字虚拟人与虚拟场景为高等学院建设带来何种改变?

继今年年初美国人工智能研究实验室OpenAI推出ChatGPT(一种人工智能驱动的自然语言处理工具)之后一段时间里,阿里、百度、商汤等一众国内IT巨头纷纷发布了各自的AI大模型(可浅理解为用于AI学习用的超大量数据)&#xff…

运动控制轴单位设置(H5U PLC)

H5U PLC运动控制相关应用,请参看下面博客文章 10轴总线控制(汇川H5UPLC+总线伺服编程应用)_RXXW_Dor的博客-CSDN博客H5UPLC控制总线伺服的详细配置过程,可以参看下面的文章链接:汇川H5U PLC通过EtherCAT总线控制SV660N和X3E伺服_ethercat总线伺服如何控制_RXXW_Dor的博客-C…

使用MFT进行加密文件传输的7个好处

至少,托管文件传输(MFT)解决方案是一种产品,它包含入站和出站文件传输的所有方面,同时使用行业标准的网络协议和无缝加密。它可以从单个集中管理点在您的网络,系统,应用程序,贸易伙伴…

2024王道数据结构考研丨第二章:线性表

2024王道数据结构考研笔记专栏将持续更新,欢迎 点此 收藏,共同交流学习… 文章目录 第二章:线性表2.1线性表的定义2.2顺序表的定义2.2.1静态分配:2.2.2动态分配 2.2顺序表的基本操作1.插入操作 :平均时间复杂度O(n)2.删除操作&…

小白怎么入门网络安全?看这篇文章就够啦!(2023最新)

作为一名从业多年的网络安全工程师,我了解到,网络安全是一个高度技术密集的领域,它涵盖了网络架构、网络协议、操作系统、编程语言、密码学、安全漏洞、入侵检测和应急响应等多个方面。如果你是零基础的小白,想要进入这个行业&…

5个设计师必备的页面设计工具!

在现代科技飞速发展的时代,设计软件的选择越来越多。本文将盘点 5 大主流页面设计工具其中,即时设计是一款协同页面设计工具,提供在线编辑和保存等功能,同时拥有免费设计素材和在线留言评论等实用功能。它的云端协作设计使得复杂的…

街电入局两轮电动车充电,讲出了“跃迁”式的新故事?

以共享单车为起点,中国的共享经济正蓬勃发展。国家信息中心披露的数据显示,2022年,中国共享经济市场交易规模约38320亿元,同比增长约3.9%。 虽然同属共享经济,但与部分共享单车企业嫁入“豪门”全身而退不同&#xff…

【接口自动化测试】cookie绕过验证码自动登录?(保持登录状态)

目录 前言 cookie工作原理 cookie绕过登录 【自动化测试工程师学习路线】 1、自动化测试必备Python编程内容​ 2、Web UI 自动化测试基础内容​ 3、Web UI 自动化测试实战内容​ 4、APP UI 自动化测试基础内容​ 5、APP UI 自动化测试实战内容​ 6、API 接口自动化测…

实验四 面向对象分析与设计——UML类图与时序图

一、实验目的: 掌握面向对象分析中静态结构模型与动态行为模型的基本思想。学会识别系统中的类、类的属性和操作以及类之间的关系,掌握UML类图的绘制方法。了解时序图的作用和组成元素,掌握UML时序图的绘制方法。 二、实验仪器及实验环境&a…

ATA-2000系列高压放大器在压电陶瓷中的典型应用

ATA-2000系列高压放大器在压电陶瓷中的典型应用 压电陶瓷介绍: 压电陶瓷是一种能够将机械能和电能互相转换的陶瓷材料。压电陶瓷除具有压电性外,还具有介电性、弹性等,已被广泛应用于医学成像、声传感器、声换能器、超声马达等。压电陶瓷利用其材料在机…

改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 | 涨点杀器

改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv7 论文地址:https://arxiv.org/abs/2107.08430 文章目录 改进YOLOv7 | 头部解耦 | 将YOLOX解耦头添加到YOLOv71. 解耦头原理2. 解耦头对收敛速度的影响3. 解耦头对精度的影响4. 代码改进方式第一步第二步第三步第四步第五步参…

字节跳动测试岗四面总结....

字节一面 1、 简单做一下自我介绍 2、 简要介绍一下项目/你负责的模块/选一个模块说一下你设计的用例 3 、get请求和post请求的区别 4、 如何判断前后端bug/3xx是什么意思 5、 说一下XXX项目中你做的接口测试/做了多少次 6、 http和https的区别 7、 考了几个ADB命令/查看…