更详细的软件测试理论基础:流程,开发、测试模型,测试分类,测试用例及其设计方法,缺陷
文章目录
- 一、测试流程
- 二、开发模型
- 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…...
直播预告 | 别再从零写标准了!——AI帮你5分钟生成标准草案
直播预告写一份标准草案,通常要多久?查模板、搭框架、写内容、调格式、改编号……熟悉流程的人都知道,哪怕是一份相对简单的企业标准,从空白文档到初稿完成,少则半天,多则数天。本期直播,我们将…...
广州邮科选型指南:挑选可调电源必须关注的四个核心参数
在电子工程师的工作台上,有一种设备兼具了灵活性与智能保护——它就是可调稳压恒流开关电源。这种电源不仅是供电工具,更像是懂得自我保护的"智能能源管家"。它如何同时实现稳压与恒流?传统电源往往只能固定输出,而这类…...
Python如何实现定时异步任务_结合asyncio与loop.call_later调用
asyncio.call_later不能直接await,因为它返回Handle对象而非Awaitable;正确做法是在回调中用asyncio.create_task启动协程。asyncio.call_later 为什么不能直接 await?因为 loop.call_later 是一个同步注册函数,它不返回协程对象&…...
程序员副业图谱
引言:程序员副业的现状与趋势程序员副业需求增长的背景(技术变现、职业发展多元化)CSDN作为技术社区在副业生态中的角色CSDN程序员副业图谱的核心模块技术内容创作博客/专栏写作:技术干货、实战经验、行业分析视频教程:…...
一文吃透 TDengine:对比主流时序库、核心语法与避坑指南
前言在物联网、工业监控、车联网、能源等场景,时序数据(时间戳 指标 标签)的规模动辄亿级测点、万亿行数据,传统数据库与通用时序库往往陷入 “写不动、查不动、存不起” 的困境。TDengine(涛思数据库)凭…...
免疫治疗新视角:CD47 (分化簇47) 信号通路机制与药物研发技术综述
在生物制药与免疫学领域,CD47 (分化簇47) 作为连接先天免疫与适应性免疫的关键节点,近年来备受关注。作为一种广泛表达的跨膜糖蛋白,它通过复杂的信号轴调控免疫细胞的吞噬行为。本文将深入剖析CD47的作用机制、当前药物研发的临床进展以及未…...
STM32智能水产养殖系统设计与实践
1. 项目概述这个基于STM32的智能水产养殖大棚监测与控制系统,是我去年为一个淡水虾养殖场设计的实际项目。传统的水产养殖大棚主要依赖人工经验进行环境调控,不仅劳动强度大,而且难以实现精准控制。这套系统通过传感器网络实时采集水质参数&a…...
AI终于学会“动手”了:让ToClaw在高铁上帮我干活
在高铁上,我让 AI 帮我把电脑上的活干完了 上周出差,高铁上突然收到老板消息:「那份数据表记得今天下班前发我。」 我人在车上,电脑却留在公司。按以前,这事基本没戏——要么改签提前回去,要么硬着头皮说「…...
SimpleFOC源码学习03(v2.3.2) - 时间工具模块time_utils.cpp与time_utils.h
前言github源码:https://github.com/simplefoc/Arduino-FOC/tree/master/src/common 为什么需要time_utils.cpp与time_util.h? 在电机控制中,时间非常重要: PID 控制器需要知道"距上次运行过了多久"(dt&…...
收藏!程序员转型AI必看:手把手教你构建百万级文档RAG系统
本文聚焦于企业级大模型应用中的RAG技术,针对10万级文档规模,探讨了如何构建一个高效、稳定且可扩展的RAG系统。文章从RAG的基本原理出发,分析了检索慢、召回率低和部署复杂三大痛点,并提出了相应的优化策略,包括文档预…...
