测试用例的进阶二

news2024/9/28 22:31:56

1. 按开发阶段划分

1.1 测试金字塔

从上到下,对于测试人员代码就是要求越来越低;

从下到上,越来越靠近用户;

从下到上,定位问题的成本越来越高;

1.2 单元测试(Unit Testing)

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

        测试阶段:编码后或者编码前(TDD)

         测试对象:最小模块

        测试人员:白盒测试工程师或开发工程师

        测试依据:代码和注释+详细设计文档

        测试方法:白盒测试

        测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

1.2 集成测试(Integration Testing)

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

        测试阶段:一般单元测试之后进行

        测试对象:模块间的接口

        测试人员:白盒测试工程师或开发工程师

        测试依据:单元测试的模块+概要设计文档

        测试方法:黑盒测试与白盒测试相结合

        测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块 缺陷对系统的影响 

1.3 系统测试(System Testing)

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

        测试阶段:集成测试通过之后

        测试对象:整个系统(软、硬件)

        测试人员:黑盒测试工程师

        测试依据:需求规格说明文档

        测试方法:黑盒测试

        测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

1.4 回归测试(Regression Testing)

        接着上边的美颜功能不可用的例子,拿去维修点进行了维修,拿到手机后第一件事情是先看美颜功能修好了没 有,第二事情就是看看手机的其它常用功能是否正常。

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

        在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。随着系统 的庞大,回归测试的成本越来越大,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很 有意义的。 

        整理了一个测试用例集合,把我们系统常用的测试用例整理到一起,每次上线,把新的需求测试结束之后,都需要回归TestFlag里面的测试用例集合

1.5 冒烟测试(smoke testing)

        冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件主要功能和核心流程正 常,在正式进行系统测试之前执行。冒烟测试一般在开发人员开发完毕后提交给测试人员来进行测试 时,先进行冒烟测试,保证基本功能正常,不阻碍后续的测试。

        如果冒烟测试通过,则测试人员开始进行正式的系统测试,如果不通过,则测试人员可以让开发人员重新修复代码直到冒烟测试通过,再开始进行系统测试。

        回归测试和冒烟测试都属于系统测试。

1.6 验收测试(Acceptance Testing)

        验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买方展示该软件系统满足原始需求。

         测试阶段:系统测试通过之后

        测试对象:整个系统(包括软硬件)。

        测试人员:主要是最终用户或者需求方。

        测试依据:用户需求、验收标准

        测试方法:黑盒测试

        测试内容:同系统测试(功能...各类文档等)

2. 按测试实施组织

2.1 α测试(Alpha Testing) 

        手机出厂前最后一次测试,开发和测试人员不参与。

        α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的 测试。α测试的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。

         大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试。α测试不能由程序员或测试员完成。

2.2  β测试(Beta Testing) 

        新手机购买回来,参与测试的人是购买者,使用的场所及环境已不再是手面厂商的环境及场所。

        Beta测试是一种验收测试。Beta测试由软件的最终用户们在一个或多个场所进行。

α测试与β测试之间的区别:

1、测试环境区别:α测试是在公司内部测试的,即内部环境;β测试各种环境都有可能;

2、测试人员的区别:α测试是公司内部员工测试的,β测试是客户进行测试的;

3、测试时间节点区别:α测试在前,β测试在后;

4、测试人员数量的区别:α测试比β测试人员数量少;

        第三方测试:介于开发方和用户方间的组织的测试。

3. 按是否运行划分

3.1 静态测试(Static testing)

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

3.2 动态测试(Dynamic testing)

        动态测试(dynamic testing),指的是实际运行被测程序,输入相应的测试数据,检查实际输出结果 和预期结果是否相符的过程;

        所以判断一个测试属于动态测试还是静态的,唯一的标准就是看是否运行程序。 大多数软件测试工作都属于动态测试。

4. 按是否手工划分

4.1 手工测试(Manual testing)

        手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须 的一个步骤。总结优缺点:

        优点:自动化无法替代探索性测试、发散思维结果的测试。

        缺点:执行效率慢,量大易错。

4.2 自动化测试(Automation Testing)

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

        自动化测试比如功能测试自动化、性能测试自动化、安全测试自动化。

        自动化测试按照测试对象来分,还可以分为接口测试、UI测试等。接口测试的ROI(产出投入比)要比 UI测试高。

自动化实施步骤:

        1.完成功能测试,版本基本稳定

        2.根据项目特性,选择适合项目的自动化工具,并搭建环境

        3.提取手工测试的测试用例转化为自动化测试的用例

        4.通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期

        5.生成自动测试报告

        6.持续改进,脚本优化。

5. 按测试地域划分 

5.1 国际化测试

5.2 本地化测试

ps:关于软件测试的分类就到这里结束了,谢谢观看!!!

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

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

相关文章

如何使用ssm实现北关村基本办公管理系统的设计与实现

TOC ssm721北关村基本办公管理系统的设计与实现jsp 第一章 绪论 1.1 选题背景 目前整个社会发展的速度,严重依赖于互联网,如果没有了互联网的存在,市场可能会一蹶不振,严重影响经济的发展水平,影响人们的生活质量。…

终端AI大变身:大模型普惠时代的“魔法钥匙”

当AI遇见你的手机,日常秒变科幻片! 嘿,小伙伴们!想象一下,你早晨醒来,不是先摸手机看时间,而是手机先跟你打招呼:“早安,主人,今天天气不错,适合晨…

支付宝远程收款跳转码接口api之工作证跳转收款码

1、在制作工作证跳转收款之前需要在支付宝上开通工作证 2、然后获取支付宝账户信息、收款码等信息 3、将所需信息填入如下代码之中 const axios require(axios); const authCode 从客户端接收到的授权码;axios({method: post,url: https://openapi.alipay.com/alipay.syst…

前缀和(包括一维和二维)

前缀和 什么是前缀和?用在哪里?有什么好处? 前缀和是在反复求一个序列中不同区间处的元素之和。 例如有以下一个数组:1,2,3,4,5 我们要求a[2]~a[4](不包括a[2]&#xff0…

五、人物持有武器攻击

一、手部添加预制体(武器) 1、骨骼(手) 由于人物模型有骨骼和动画,在添加预制体后,会抓握武器 建一个预制体在手部位置 二、添加武器拖尾 下载拖尾特效 赋值特效中的代码,直接使用 清空里面…

计算机毕业设计 助农产品采购平台的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

代码随想录算法训练营第60天 | 1、城市间货物运输I,2、城市间货物运输II,3、城市间货物运输III

目录 1、城市间货物运输I 2、城市间货物运输II 3、城市间货物运输III 1、城市间货物运输I 题目描述 某国为促进城市间经济交流,决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市,通过道路网络连接,网络中的道路仅允许从某个城市单…

opencv:实现图像的自动裁剪与优化

随着计算机视觉技术的发展,图像处理已成为一项重要的技能。今天,我们将探讨如何使用Python中的OpenCV库来实现对图像的自动裁剪以及一些基本的图像优化技巧。我们的目标是对一张发票图片进行处理,使其更加清晰且便于阅读。 准备工作 首先&a…

【Matlab元胞自动机】《高速公路人工—自动驾驶混行交通流临界特征研究》

一、项目介绍 高速公路是交通流领域研究的重点,自动驾驶车辆的介入势必会对高速公路交通流 产生影响。本文从基础交通流理论研究出发,在三相交通流理论框架下拟定人工-自动 驾驶混行交通流模型规则,进而通过模拟仿真分析自动驾驶车辆对高速公…

AIGC学习笔记—minimind详解+训练+推理

前言 这个开源项目是带我的一个导师,推荐我看的,记录一下整个过程,总结一下收获。这个项目的slogan是“大道至简”,确实很简。作者说是这个项目为了帮助初学者快速入门大语言模型(LLM),通过从零…

如何使用ssm实现航空信息管理系统+vue

TOC ssm728航空信息管理系统vue 第一章 课题背景及研究内容 1.1 课题背景 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是…

Cpp::STL—string类的使用与理解(上)(8)

文章目录 前言一、string类对象的构造函数string()string(const char* s)string(size_t n, char c)string(const string& s)string(const string& str,size_t pos,size_t len npos) 二、string类对象的容量操作size与lengthcapacitycapacity返回…

将CSS OKLCH颜色转换为十六进制HEX颜色和十六进制整数格式

我查找了全网都查不到OKLCH()方法是颜色转换方法,那今天小编就给大家分享我的方法,可能会有点点误差,但是大体不影响。 程序员必备宝典https://tmxkj.top/#/示例:oklch(0.253267 0.015896 252.418) 得到H…

Go基础学习08-并发安全型类型-通道(chan)深入研究

文章目录 chan基础使用和理解通道模型:单通道、双通道双向通道单向通道单向通道的作用 非缓冲通道 通道基本特性通道何时触发panicChannel和Select结合使用Select语句和通道的关系Select语句的分支选择规则有那些Select和Channel结合使用案例一Select和Channel结合使…

Java底层并发:线程、volatile

在Java的并发编程中,线程、volatile关键字、原子性、临界区以及DelayQueue是一些重要概念。理解这些内容对于编写高效且线程安全的程序至关重要。 1. 线程的基本概念 Java中的线程是程序执行的最小单位。Java提供了多种创建线程的方式,最常用的方式是继…

英特尔终于找到了Raptor Lake处理器崩溃与不稳定问题的根源

技术背景 在过去的几个月里,一些用户报告称他们的第13代和第14代Intel Core“Raptor Lake”处理器遇到了系统崩溃和不稳定的情况。这些问题最初在2024年7月底被英特尔识别出来,并且初步的诊断显示,这些问题与微码有关,该微码使CP…

【JavaEE】——各种“锁”大总结

阿华代码,不是逆风,就是我疯, 你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你! 目录 一:乐观锁和悲观锁 1:乐观锁 2:悲观锁 3:总结 二&am…

人工智能实战用折线图解读产业GDP发展态势

内容提要 项目分析项目实战 一、项目分析 1、问题提出 我们拿到一大堆关于GDP的数据,如何从这些表面看起来杂乱无章的数据中解读出一些有价值的信息呢? 显然,如果能将这些数据以图形的方式展现出来,例如将这些数据值随时间(…

备考中考的制胜法宝 —— 全国历年中考真题试卷大全

在中考这场重要的战役中,每一分都至关重要。为了帮助广大考生更好地备考,我们精心整理了这份全国历年中考真题试卷大全,旨在为大家提供最全面、最权威的备考资料。 文章目录 1. 全科覆盖,无遗漏2. 历年真题,权威可靠3.…

【微服务】springboot 实现动态修改接口返回值

目录 一、前言 二、动态修改接口返回结果实现方案总结 2.1 使用反射动态修改返回结果参数 2.1.1 认识反射 2.1.2 反射的作用 2.1.3 反射相关的类 2.1.4 反射实现接口参数动态修改实现思路 2.2 使用ControllerAdvice 注解动态修改返回结果参数​​​​​​​ 2.2.1 注解…