更详细的软件测试理论基础:流程,开发、测试模型,测试分类,测试用例及其设计方法,缺陷
文章目录
- 一、测试流程
- 二、开发模型
- 1、 瀑布模型
- 2、增量模型
- 3、快速模型
- 4、其他
- 三、测试模型
- 1、V模型
- 2、W模型
- 四、测试分类
- 五、测试用例 test case
- 六、测试用例设计方法
- 1、等价类划分法
- 2、边界值分析法
- 3、因果图法
- 4、判定表法
- 5、正交法
- 6、场景法
- 7、流程分析法
- 8、错误推测法
- 方法选取
- 七、缺陷 BUG
- 1、基本概念
- 2、缺陷报告
- 3、缺陷的状态
- 4、缺陷的处理流程
- 5、缺陷的优先级
- 6、缺陷的表现形式
一、测试流程
1、需求分析
阅读需求文档、产品文档、产品详细设计说明书、分析需求的点、参与需求评审
快速熟悉项目2、制定测试计划和测试方案
测试计划:测试整个项目的总体的规划
测试的范围、进度的安排、人力物力的安排、整体的测试策略、风险的评估测试方案:
被测试的目标、选取什么样的测试工具、测试的方法、测试的重点3、设计测试用例
边界值、等价类4、执行测试用例5、评估阶段 测试报告
二、开发模型
1、 瀑布模型

特点:
1、阶段间具有顺序性和依赖性
2、质量保证的观点
3、推迟实现
瀑布模型是文档驱动的模型,遵守这个约束可使软件维护变得比较容易一些,从而显著降低软件预算
2、增量模型

把瀑布模型的顺序特征与快速原型法的迭代特征相结合,将软件看作一系列相互联系的增量,在开发过程的各次迭代中,每次完成其中的一个增量
3、快速模型


4、其他
螺旋开发模型(了解)
迭代开发模型(了解)
敏捷开发模型(了解)
三、测试模型
1、V模型

优点:每一个阶段都清晰明了、便于控制开发的每一个过程,既包含单元测试又包含系统测试
缺点:测试介入的较晚,对于前期的一些缺陷无从发现和修改,测试和开发串行,总用时较长
2、W模型

优点:测试伴随软件的整个生命周期,例如,在需求分析结束后就可以进行需求分析测试、测试于开发是并行独立进行
缺点:对需求和测试技术要求高,适用于大中型企业
四、测试分类
测试(开发)阶段:
1、单元测试:
编码完成前/后
模块、类、函数、方法
开发人员、白盒测试人员2、集成测试:
单元测试完成以后
模块已经完成编码
模块和模块之间内容
开发人员和白盒测试人员3、系统测试:
集成测试完成之后
程序、软件、app、系统、网址、项目
整体测试
开发人员、白盒黑盒测试人员测试4、验收测试:
系统测试之后
整个的系统α测试、β测试
媒体、用户
是否覆盖源码:
1、黑盒测试:没有覆盖源码
功能测试(UI界面测试、业务功能测试、文档测试、易用性测试、安装卸载测试、兼容器测试)
性能测试(一般性能测试:相应时间、对资源的利用,稳定性测试、负载测试、压力测试)2、灰盒测试
关心输入输出,考虑程序运行的状态3、白盒测试:有覆盖源码
语句覆盖、判断覆盖、条件覆盖、路径覆盖
是否运行:
1、静态测试
测试程序的结构、程序过程、接口是否正常、代码的风格是否符合标准2、动态测试是否自动化:
1、手工测试
2、自动化测试地域测试:
1、本地化测试
2、国际化测试其他测试:
1、回归测试
2、冒烟测试:硬件测试词语,主要测试基本功能。模块是否能正常运行
3、随机测试:monkey测试
4、探索测试
五、测试用例 test case
是为了某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求
特性:有效性、可复用性、易组织性、可评估性、可管理性
要素:用例编号、用例标题、模块/项目、优先级、前置条件、测试步骤、测试数据、预期结果
六、测试用例设计方法
1、等价类划分法


案例:


2、边界值分析法


3、因果图法


4、判定表法
因果图的实例


5、正交法
研究多因素多水平




6、场景法
一般用于冒烟测试

7、流程分析法

8、错误推测法

方法选取
1.先关注主要功能也业务流程、业务逻辑是否正确实现,考虑场景法
2.需要输入数据的地方,考虑等价类划分法
3.在任何情况行都使用边界值法
4.如果程序的功能中包含输入条件的组合情况,则选取因果图和判定表法
5.对于配置类软件,需要考虑参数的组合情况,考虑使用正交排列法
6.对照程序逻辑,如果发现没有达到要求的覆盖标准。适当补充更多的测试用例
7.采用错误推断法,追加其他测试用例
七、缺陷 BUG
1、基本概念



2、缺陷报告

3、缺陷的状态

4、缺陷的处理流程

5、缺陷的优先级

6、缺陷的表现形式

相关文章:
更详细的软件测试理论基础:流程,开发、测试模型,测试分类,测试用例及其设计方法,缺陷
文章目录 一、测试流程二、开发模型1、 瀑布模型2、增量模型3、快速模型4、其他 三、测试模型1、V模型2、W模型 四、测试分类五、测试用例 test case六、测试用例设计方法1、等价类划分法2、边界值分析法3、因果图法4、判定表法5、正交法6、场景法7、流程分析法8、错误推测法方…...
input css padding
这样控件会跑出外套控件在HTML JSP里面是经常出现的。但有些外国adobe的as控件不存在这种情况,这是因为内层控件定义的时候不能超出外层控件的范围。 修改下:去掉原来css padding,然后加上宽度和高度...
如何打印 springboot 框架中 接收请求的日志
在 Spring Boot 框架中,您可以使用日志来记录接收请求和发送响应的详细信息。Spring Boot 默认使用 SLF4J(Simple Logging Facade for Java)作为日志抽象层,并支持多种日志实现,如 Logback、Log4j2 等。以下是一种常见…...
JVM的内存区域划分
JVM即Java虚拟机,是Java实现跨平台交互能力的核心,Java编译后的.class文件,就是通过虚拟机和操作系统进行交互的; 常见的虚拟机有:JVM、VMwave、Virtual Box,目前最主流使用的JVM是HotSpot VM;…...
YOLOv9有效改进|使用动态蛇形卷积Dynamic Snake Convolution
专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,主力高效涨点!!! 一、改进点介绍 使用ICCV2023中的动态蛇形卷积替换YOLOv9网络中的Conv模块。 二、Dynamic Snake Convolution模块详解 2.1 模块简介 应用场景&#x…...
设计模式学习笔记 - 设计原则 - 1.单一职责原则
前言 前面我们提到过 SOLID 原则,实际上 SOLID 由 5 个设计原则组成,分别是:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖反转原则。它们分别对应 SLOID 中的 S、O、L、I、D 这 5 个英文字母。 今天来学习下 SOLID 原则中的第…...
飞天使-学以致用-devops知识点4-SpringBoot项目CICD实现(实验失败,了解大概流程)
文章目录 代码准备创建jenkins 任务测试推送使用项目里面的jenkinsfile 进行升级操作 文字版本流程项目构建 代码准备 推送代码到gitlab 代码去叩叮狼教育找 k8s 创建jenkins 任务 创建一个k8s-cicd-demo 流水线任务 将jenkins 里面构建时候的地址还有token, 给到…...
使用HTML5画布(Canvas)模拟图层(Layers)效果
使用HTML5画布(Canvas)模拟图层(Layers)效果 在图形处理和计算机图形学中,图层(Layers)是指将图像分成不同的可独立编辑、组合和控制的部分的技术或概念。每个图层都可以包含不同的图形元素、效…...
违背祖训,微软骚操作强制用户更新至 Win 11 23H2
话说,大伙儿有让 Windows 操作系统一直保持最新版习惯吗? 根据以往惯例,Windows 系统更新是个比较玄学的存在,谁也不能保证随手更新后会不会出现什么奇葩 Bug。 因此对于不少同学来说,Windows 更新到一个稳定版本后&a…...
MISRA C++ 2023指南:您需要了解的一切
MISRA C 2023可以帮助使用现代C语言的组织开发安全关键型软件。使用新的MISRA标准,开发人员可以通过确保和记录其软件应用程序的MISRA合规性,满足IEC 6108或ISO 26262等功能安全标准给出的静态分析要求。 什么是MISRA C2023? 以便使用C17进行安全可靠…...
Vue:【亲测可用】父组件数组包对象,传给子组件对象,子组件修改属性(字段)后,父组件没有更新
场景:vue中父组件数组包对象,传给子组件对象,子组件修改属性(字段)后,父组件没有更新 代码: # 父组件 <div v-for"(object, name, index) in arr" :key"index"><…...
hbase学习十:客户端实现与Meta表解析
1、客户端实现 hbase社区的客户端一般是java客户端。 HBase也支持Shell交互式客户端。Shell客户端实质是用JRuby(用Java编写的Ruby解释器,方便Ruby脚本跑在JVM虚拟机上)脚本调用官方HBase客户端来实现的。因此,各种客户端的核心实现都在社区Java版本客户端上。 客户端访…...
《OpenScene: 3D Scene Understanding with Open Vocabularies》阅读笔记1
传统的3D场景理解方法依赖于带标签的3D数据集,用于训练一个模型以进行单一任务的监督学习。我们提出了OpenScene,一种替代方法,其中模型在CLIP特征空间中预测与文本和图像像素共同嵌入的3D场景点的密集特征。这种零样本方法实现了与任务无关的训练和开放词汇查询。例如,为了…...
数据结构 - Trie树(字符串统计、最大异或对)
文章目录 前言Part 1:Trie字符串统计1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2:最大异或对1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客将介绍Trie树的常见应用,包括:Trie…...
2. vue 工程创建
1. 基于 vite创建 官方文档: https://v3.cn.vuejs.org/guide/installation.html#vite vite官网: https://vitejs.cn 使用vite创建的优势: 开发环境中,无需打包操作,可快速的冷启动。轻量快速的热重载(HMR)。真正的按需编译,不再…...
2024绿色能源、城市规划与环境国际会议(ICGESCE 2024)
2024绿色能源、城市规划与环境国际会议(ICGESCE 2024) 一、【会议简介】 随着全球气候变化和环境问题日益严重,绿色能源和可持续发展已成为全球关注的焦点。本次会议旨在汇聚全球在绿色能源、城市规划与环境领域的专家、学者和实践者,共同探讨和分享关于…...
0门槛电子画册制作
电子画册制作,门槛低至零,也可以制作出如此精美的电子画册吗?别担心,这个问题早已解决,今天就教你如何0门槛制作电子画册。 选择合适的企业宣传册制作软件,如FLBOOK在线制作电子杂志平台等。这个工具提供…...
C语言----冒泡排序进阶
冒泡排序大家应该到写过吧。但大家可能知道到的冒泡排序有两种方法。而我呢,最近学习到了另外一种方法,现在知道三种方法了。所以想与大家分享一下。但是缺点是第三种是第二种的自实现版。第一种就是我们平常写的普通冒泡排序。第二种就是qsort。第三种就…...
【机器学习】实验5,AAAI 会议论文聚类分析
本次实验以AAAI 2014会议论文数据为基础,要求实现或调用无监督聚类算法,了解聚类方法。 任务介绍 每年国际上召开的大大小小学术会议不计其数,发表了非常多的论文。在计算机领域的一些大型学术会议上,一次就可以发表涉及各个方向…...
安卓虚拟机ART和Dalvik
目录 一、JVM和Dalvik1.1 基于栈的虚拟机字节码指令执行过程 1.2 基于寄存器的虚拟机 二、ART与Dalvikdex2aotAndroid N的运作方式 三、总结 一、JVM和Dalvik Android应用程序运行在Dalvik/ART虚拟机,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。 Dalvik…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...
