软件测试入门第一步:编写测试报告
什么是测试报告?
1、说明:是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。
ps.
- 【测试过程和测试结果的分析报告,以及上线许可】
- 【其实测试报告的内容基本都是模板的那些,只是在实际测试过程中,如何去整理内容结构,使得报告的通常阅读者:开发人员、测试经理、产品经理、项目负责人能够一目了然地查看想要了解的内容才是测试报告最值得注意的地方】
2、组成部分:
- 概述
- 测试范围
- 测试人员
- 测试进度
- 测试结果
- 缺陷分析
- 测试结论(简言之:是否允许上线)
功能测试报告基本信息如下:
1、引言部分
1.1、项目背景
本测试报告为xx系统测试报告,本报告目的在于总结测试阶段的测试过程及测试结果分析,描述系统是否达到需求的目的。
本报告预期参与人员包括测试人员、测试部门经理、项目管理人员、SQA人员和其他质量控制人员,开发,运维,产品。
ps.
- 测试部门经理:把控测试报告编写是否正确完整。
- 运维:根据测试结果来判断是否可以上线。
- 产品:测试范围是否覆盖整个需求。
pps.
- 测试计划:测试主管编写。
- 测试报告:测试人员编写(写的好不好,体现了自己的其中一项价值)。
1.2、参考资料
- 《需求说明书》
- 《原型图》
- 《缺陷记录》
- 《测试用例》
- 《测试计划》
- 等等(基本包含了软件开发生命周期阶段,所有的输出文档)
2、测试基本信息
2.1、测试范围
测试范围
产品 模块 子模块 功能 测试点 优先级 测试工程师 ps.
- 测试点:不等同于测试用例标题;
- 优先级:一定要熟悉需求,了解什么是核心、基本、次要;
- 测试范围(来源于 产品说明书、需求、邮件、销售、实施、客服......)
pps.
- 没有任何一个产品是100%没有bug的。
- 保证 不脱离需求,比较浅显的bug不出现。
- 偶然性的bug、深挖的bug不敢保证不会有。
2.2、测试案例设计思路
测试案例设计思路
测试类型 测试用例设计方法及思路 功能测试 参考需求说明文档,使用等价类、边界值、场景法、错误推算法编写测试用例,并进行测试。 UI测试 参考原型图,对页面文案、链接、图片图标等进行界面测试 兼容性测试 使用IE8,9,10,chrome,firefox等主流浏览器进行兼容性测试(根据浏览器的内核不同来区分) 2.3、测试环境
- 硬件环境
- 软件环境
- 网络拓扑图
3、测试结果及缺陷分析【重点内容】
3.1、测试执行情况及记录
3.1.1、测试组织
测试组织
项目经理 软件工程师(开发) 测试工程师 业务负责人(产品经理)
- 软件/测试工程师:所有的开发/测试人员,哪怕只有一行代码的输出都要写上(线上有问题,需要参考这些人员)。
3.1.2、测试时间
测试
阶段
计划
开始时间
计划
结束时间
实际
开始时间
实际
结束时间
计划工作量(人/天) 实际工作量(人/天)
- 来源于测试计划。 测试开始时间:提测开始。
- 功能测试、接口测试,测试报告需要分开写,此文只是功能测试报告。
3.1.3、冒烟情况
冒烟测试 时间 是否通过 如不通过,请写原因
- 提测之后,只要出现任何问题,都要提bug。
3.1.4、测试用例统计
案例总数 可执行个数 未执行个数 成功个数 失败个数 案例成功率
- 案例总数:用例的总数,所有人写的总数。
- 可执行的:
- 未执行的:测试环境接口不通。这情况很少。
- 案例成功率=成功个数/可执行个数。
3.2、缺陷的统计与分析
- 缺陷汇总:列出本次实际发现缺陷数、解决的缺陷数、残留的缺陷数(未解决缺陷)。
- 缺陷分析:对测试中发现的缺陷按缺陷类型、严重程度进行分类统计: 对测试中发现的缺陷就其功能分步、测试阶段进行统计,分析软件缺陷倾向及其主要原因。
- 残留缺陷与未解决问题 对残留缺陷对系统功能的影响情况进行分析:对未解决问题对项目的影响。
- 建议使用“bug状态统计”报表 分析bug。
3.2.1、缺陷汇总
{饼状图,可来源于tapd}
本次项目发现缺陷总数:X,解决的缺陷数:X,残留的缺陷数:X。
3.2.1、缺陷分析
3.2.1.1、按缺陷类型:
{饼状图}
该项目功能问题有x个,其次,页面优化有x个,安全相关、设计缺陷有x个,其他有x个。 大量的bug来源于功能模块,占比达到xx%,优化问题也有x个,达到xx%。
3.2.1.2、按严重程度:
{饼状图}
该项目的缺陷,大量的是属于一般缺陷,小部分属于优化缺陷,严重缺陷极少。
3.2.1.3、按功能分布:
{饼状图}
bug发生在x、x、x...模块居多,小部分发生在x,x,x模块
3.2.1.4、按测试阶段:
{饼状图}
冒烟测试V1.1,第一轮V1.1,第二轮V1.2,第三轮V1.3, bug大量的发生在V1.1,V1.2少部分,V1.3极少
4、测试结果与建议
4.1、风险分析及建议
风险: 测试环境接口不通,无法在测试环境测试 测试时间紧张 需求变更频繁 xx模块bug率较高
4.2、测试结论
本项目根据业务需求及开发人员,产品经理的反馈意见,覆盖了所有测试需求,所有的案例均已在xx测试环境验证完成。
有效案例一共xx个,执行率xx%,成功率xx%,缺陷关闭率为xx%,目前缺陷均已修复并回归关闭。
未解决的bug(延期处理、不予解决、暂不处理等等)已经和产品经理,开发工程师进行沟通,不影响本次上线的基本功能。
综上所述,xx项目,版本Vxx,达到xx项目测试上线标准,可以进行发布。
备注,需求不明确时:一定要去产品经理,把不懂的地方弄懂,把不准确的地方弄准确,不能带着不清不楚的地方执行测试,编写测试用例。
最后:【可能给你带来帮助的教程】
这一些资料,对做【软件测试】的朋友而言应该是较为完整了,这类学习资料也陪伴我走过了最艰难的路程,希望也可以帮助到你!万事要尽早,尤其是技术行业,一定要提升技术功底。
相关文章:

软件测试入门第一步:编写测试报告
什么是测试报告? 1、说明:是指把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。 ps. 【测试过程和测试结果的分析报告,以及上线…...
【Vue】vue中的路由导航守卫(路由的生命周期)
文章目录全局前置守卫可选的第三个参数 next全局解析守卫router.beforeResolve全局后置钩子路由独享的守卫组件内的守卫可用的配置 API使用组合 API完整的导航解析流程正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。这里有很多方式植入…...

NumPy 基础知识 :6~10
原文:Numpy Essentials 协议:CC BY-NC-SA 4.0 译者:飞龙 六、NumPy 中的傅立叶分析 除其他事项外,傅立叶分析通常用于数字信号处理。 这要归功于它在将输入信号(时域)分离为以离散频率(频域&am…...

实现vue的条件渲染
我的需求是根据设备不同的状态 渲染不同的标签。设备状态用device_State表示。 在线上面是一个vue的标签,我有一个数据state ,如何让这个标签根据数据的取值 ,修改内容,如state1时,标签修改为离线 要根据数据的取值动态…...

第四章 word2vec 的高速化
目录4.1 word2vec 的改进①4.1.1 Embedding 层4.1.2 Embedding 层的实现4.2 word2vec 的改进②4.2.1 中间层之后的计算问题4.2.2 从多分类到二分类4.2.3 sigmoid 函数和交叉熵误差4.2.4 多分类到二分类的实现4.2.5 负采样4.2.6 负采样的采样方法4.2.7 负采样的实现4.3 改进版 w…...
【四】3D Object Model之创建Creation——clear_object_model_3d()/copy_object_model_3d()算子
😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有…...
第三十一章 配置镜像 - 删除镜像成员时删除镜像数据库属性
文章目录第三十一章 配置镜像 - 删除镜像成员时删除镜像数据库属性删除镜像成员时删除镜像数据库属性编辑或删除异步成员第三十一章 配置镜像 - 删除镜像成员时删除镜像数据库属性 删除镜像成员时删除镜像数据库属性 当从镜像中删除成员时,始终可以选择从属于该镜…...

自动写作ai-自动写作神器
自动生成文章 自动生成文章是指使用自然语言处理和人工智能技术,通过算法来自动生成文章的过程。一些自动生成文章的工具可以使用大量数据,学习数据背后的语言规范和知识结构,从而生成高质量和有用的文章。这种技术能够减少写作时间和人力成…...
P1368 【模板】最小表示法(SAM 求最小循环移位)
【模板】最小表示法 题目描述 小敏和小燕是一对好朋友。 他们正在玩一种神奇的游戏,叫 Minecraft。 他们现在要做一个由方块构成的长条工艺品。但是方块现在是乱的,而且由于机器的要求,他们只能做到把这个工艺品最左边的方块放到最右边。…...
投票感知器参数学习算法
投票感知器参数学习算法 以下为投票感知器参数学习算法的伪代码: 输入:训练集 (x1,y1),(x2,y2),...,(xn,yn)(x_1, y_1), (x_2, y_2), ..., (x_n, y_n)(x1,y1),(x2,y2),...,(xn,yn),学习率 η\etaη,最大迭代次数 TTT…...

Hyper-v下安装CentOS-Stream-9
1、我不想要动态扩展的硬盘,固定大小硬盘性能更高,所以这里我先创建一个固定硬盘(如果你想用动态扩展的硬盘,那么可以省略前面几步,直接从第7步开始,并在第12步选择创建可动态扩展的虚拟硬盘)&a…...
数据结构之顺序表,实现顺序表的增删改查
目录 一、顺序表的概念 二、顺序表的分类 1.静态顺序表 2.动态顺序表 3.顺序表的增删改查 总结 一、顺序表的概念 顺序表是一段物理地址连续的村塾单元依次存储数据元素的线性结构,一般情况下使用数组存储,在数组上完成数据的增删改查。 二、顺…...

HTB-Jeeves
HTB-Jeeves信息收集80端口50000端口开机kohsuke -> Administrator信息收集 80端口 ask jeeves是一款以回答用户问题提问的自然语言引擎,面对问题首先查看数据库里是否…...

大力出奇迹——GPT系列论文学习(GPT,GPT2,GPT3,InstructGPT)
目录说在前面1.GPT1.1 引言1.2 训练范式1.2.1 无监督预训练1.2.2 有监督微调1.3 实验2. GPT22.1 引言2.2 模型结构2.3 训练范式2.4 实验3.GPT33.1引言3.2 模型结构3.3 训练范式3.4 实验3.4.1数据集3.5 局限性4. InstructGPT4.1 引言4.2 方法4.2.1 数据收集4.2.2 各部分模型4.3 …...

Linux ubuntu更新meson版本
问题描述 在对项目源码用meson进行编译时,可能出现以下错误 meson.build:1:0: ERROR: Meson version is 0.45.1 but project requires > 0.58.0. 或者 meson_options.txt:1:0: ERROR: Unknown type feature. 等等,原因是meson版本跟设置的不适配。 …...
匹配yyyy-MM-dd日期格式的正则表达式
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$ 解释: ^:匹配行的开头 \d{4}:匹配四个数字,表示年份 -:匹配一个横杠 (0[1-9]|1[0-2]):匹配01到12的月份,0开头的要匹配两位数字,1开…...
【失业预告】生成式人工智能 (GAI)AIGC
文章目录AIGCGAIAGI应用1. 计算机领域2. 金融领域3. 电商领域4. C端娱乐5. 游戏领域6. 教育领域7. 工业领域8. 医疗领域9. 法律领域10. 农业/食品领域11. 艺术/设计领域来源AIGC AIGC,全称为Artificial Intelligence Generated Content,是一种新型的人工…...
TensorFlow 2.0 的新增功能:第一、二部分
原文:What’s New in TensorFlow 2.0 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关心如何实现目…...
Spring Boot配置文件详解
前言 Spring Boot 官方提供了两种常用的配置文件格式,分别是properties、YML格式。相比于properties来说,YML更加年轻,层级也是更加分明。 1. properties格式简介 常见的一种配置文件格式,Spring中也是用这种格式,语…...
实习面试题整理1
1、进行一下自我介绍 2、介绍一下你简历里的两个项目 3、说说vue的生命周期(具体作用) 4、说说你对vue单页面和多页面应用的理解 5、说说vue里自带的数组方法(七种,往响应式数据上靠) 6、说说vue双向数据绑定&…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...

UE5 音效系统
一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类,将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix,将上述三个类翻入其中,通过它管理每个音乐…...