测试工作流程

基础

测试流程

1)需求研读:

  • 通读需求了解需求整体内容,然后精读需求理解需求的每⼀个业务逻辑,每⼀句话的意思。
  • 在研读需求过程中的记录问题,然后通过百度,AI⼯具,CSDN社区,咨询朋友,同事,解决遇到的需求问题。
  • 如果还有解决不了的问题抽时间和业务沟通,在需求评审之前,尽量把需求吃透

2)需求评审:

  • 三⽅评审,产品主讲,主要讲解需求中的重点,难点,开发、测试、⼀起沟通讨论问题

3)测试计划:

  • 测试计划⼀般由测试经理或者测试组⻓或者测试经验丰富的⼈编写
  • 写测试计划之前⼀般要和开发负责⼈和业务沟通下,开发提测时间和业务要求的上线时间,根据这两个时间,确定我们有多少时间编写案例,多少时间进⾏测试,做⼏轮测试,每轮测试做多久
  • 测试计划内容:测试开始时间,结束时间,⼈员配置,资源配置,测试的标准、⻛险(需求变动,bug太多,⼈员调动,测试环境和实际环境不⼀致)

4)分析需求编写测试⼤纲:

  • 根据最终版需求,使⽤xmind(思维导图)编写出每个模块的测试点即编写测试⼤纲

5)编写案例:

  • 根据测试⼤纲,使⽤多种设计⽅法设计案例。⽐如等价类,边界值,场景法,异常分析法,错误推断法等等,将测试点转化成具体的测试步骤

6)案例评审:

  • 测试主讲,产品开发⼀起参加,查缺补漏 ,同时做好评审会议记录,会后补充修改案例

7)冒烟测试:

  • 主要功能是否可以使⽤

8)系统集成测试:

  • 执⾏测试⽤例,⽤例执⾏通过就pass,有问题就提交bug ,跟踪bug,验证bug

9)回归测试:

  • 缺陷多的模块、新增模块、重点模块进⾏回归、根据个⼈经验

10)验收测试:

缺陷管理流程、缺陷状态

  1. 发现bug通过管理⼯具jira提交给开发
  2. 如果是bug,开发修改完成后更改bug状态为已解决。重新指派给测试
  3. 由测试⼈员进⾏验证,确认修改正确,关闭bug
  4. 如果不是bug,退回给测试⼈员并描述退回原因,或为设计如此,或为外部原因,或者不能重现。
  5. 验证未通过的bug重新激活,开发⼈员继续修改,直⾄验证通过,关闭bug

缺陷单状态

标题,重现步骤、附件(视频、log⽇志、截图、canlog⽇志)、严重等级、优先级、版本,所属模块等等

  • 标题:缺陷标题通常需要简明扼要地描述缺陷所涉及的问题,开发快速了解缺陷的性质
  • 重现步骤:能够帮助开发⼈员理解问题的真正原因,如果重现步骤能够详细清晰地描述,开发⼈员就可以快速定位和修复缺陷,节省不必要的沟通
  • 附件:让开发更快地获取到必要信息。例如,截图、录屏、⽇志等多媒体素材能够有效地帮助缺陷处理⼈员定位问题,避免不必要的沟通和确认环节。

如何设计测试案例

  • 设计测试案例最重要的是要先读懂需求,只有充分理解了需求,才能写出全⾯的有⽤的测试⽤例
  • 通读需求了解需求整体内容,然后精读需求理解需求的每⼀个业务逻辑,每⼀句话的意思。在研读需
  • 求过程中的记录问题,然后通过百度,AI⼯具,CSDN社区,咨询朋友,同事,解决遇到的需求问题。
  • 如果还有解决不了的问题抽时间和产品沟通,在需求评审之前,尽量把需求吃透

除了需规上已经覆盖到的场景之外

  • 我们还需要需要多参考借鉴其他同类产品中做的好的优秀的功能,多站在⽤⼾实际使⽤的⻆度,多从交互⽅向考虑设计测试⽤例
  • 然后针对每个模块先设计流程的⽤例,包括正流程和异常流程,再根据业务规则设计各种场景⽤例,
  • 再针对栏位,ui,提⽰信息设计对应的⽤例,当然涉及到模块之间的交互场景都要设计到在设计测试⽤例的时候会结合案例设计⽅法(等价类,边界值,场景法、错误推测法、异常分析等)进⾏设计

举个例⼦:语⾳控制空调

  • ⾸先,设计正常调节温度的流程⽤例,然后再设计调节温度低于最低稳定、⾼于最⾼温度、吹脚、吹脸、或者脚脸同时吹、电量低开启空调、空调切换到舒适模式、切换到节能模式、切换到通⻛模式、⾳区同步开启和未开启状态下,跨⾳区控制空调等等⽤例,最后还要设计ui界⾯检查和提⽰语的⽤例
  • 调节温度的案例设计可以采⽤等价类,边界值的⽅法,⽐如温度在16~32,有效等价类16度-32度, ⽆效等价⼩于16度和⼤于32度,在这个基础之上可以⽤边界测试下温度的边界15,16,32,33

异常分析法: ⽹络异常、断电、⽅⾔

测试报告包括哪些内容

每⼀轮测试执⾏完成之后编写测试报告

主要包含:

  1. 测试⼈员,被测⻋机系统版本号,测试时⻓;
  2. 测试内容(被测模块);
  3. 执⾏⽤例数;
  4. 发现bug 数,其中严重的多少条,⼀般的多少条,轻微的多少条;
  5. 是否还有遗留 bug;是否有⻛险,⻛险点在哪⾥;
  6. 还有测试结果,通过或者不通过

提交⼀个bug开发不承认怎么办

开发如果不承认⼀般有两种情况,第⼀需求中没有要求,第⼆开发没有复现出你提交的bug

第⼀种情况,需求中没有提到,那我⼀般会站在⽤⼾的⻆度考虑,是否真的会有这样的场景,如果有

的话,那我先和开发沟通,晓之以理,动之以情,⼀般开发都会配合修改的,如果还是不修改的话,

那⼀般会把情况和业务进⾏沟通,最终由业务⽼师进⾏定夺

第⼆种情况,可能是开发复现的步骤不对,那这个时候我们就给给他复现⼀遍,如果复现确实存在问

题,开发⼀般会承认

如果我们⾃⼰也不能复现,那有可能这个bug是⼀个偶现的bug,针对偶现的bug,⼀般我们会尽可能多

的执⾏⼏遍,找出出现的原因,或者概率,然后也会去找出当时的⽇志,结合分析问题。如果⼀直复

现不了,那我们⼀般会记录这个bug然后每个版本都会进⾏验证(⼀般跟踪5-10个版本)

迭代项⽬制定执⾏案例的策略是什么?

⾸先,要选择本轮迭代新增和修改的案例其次,要选择本轮迭代内容相关联的案例,⽐如修改了⻋速⽅⾯的,就会把⻋速⽅⾯的案例都回归⼀

遍,(开发⼀般会给影响性评估表,我们也会根据⾃⼰的经验判断影响性)

然后,还要把所有的模块的流程案例和主要逻辑案例执⾏⼀遍

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

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

相关文章

鸿蒙 arkts 实现手机号中间四位隐藏, 可以使用 substring [ 简单适用新手 ]

1, 看效果 2, 直接cv代码就可以 Preview Entry Component struct Setting {Statephone:string 15555555555maskPhoneNumber(phone:string){const start phone.substring(0,3)const end phone.substring(7)return ${start}****${end}}build() {Column(){Text(this.maskPhon…

Leetcode2542-最大子序列的分数

1.问题转换 首先明确题意,要选取的值和num1,num2两个数组都有关,但是num1中选取的是k个数,num2中选取的是1个数,显然num2中的数所占的权重较大(对结果影响较大),所以我们就可以对nu…

【Java探索之旅】多态:向上下转型、多态优缺点、构造函数陷阱

文章目录 📑前言一、向上转型和向下转型1.1 向上转型1.2 向下转型 二、多态的优缺点2.1 多态优点2.2 多态缺陷 三、避免避免构造方法中调用重写的方法四、好的习惯🌤️全篇总结 📑前言 在面向对象编程中,向上转型和向下转型是常用…

Django 新增数据 create()方法

1,添加模型 Test/app11/models.py from django.db import modelsclass Book(models.Model):title models.CharField(max_length100)author models.CharField(max_length100)publication_date models.DateField()price models.DecimalField(max_digits5, decim…

小米订单锐减背后的挑战与应对之道

近期,富士康印度子公司Bharat FIH面临高管离职、工厂关闭的困境,其背后原因之一是小米订单的显著下滑,据报道,这一降幅高达70%。这一现象不仅反映了富士康在印度市场的艰难处境,也揭示了小米在全球智能手机市场面临的挑…

六、数据可视化—Wordcloud词云(爬虫及数据可视化)

六、数据可视化—Wordcloud词云(爬虫及数据可视化) 也是一个应用程序 http://amueller.github.io/word_cloud/ Wordcloud词云,在一些知乎,论坛等有这样一些东西,要么做封面,要么做讲解,进行分析…

C++ | Leetcode C++题解之第223题矩形面积

题目: 题解: class Solution { public:int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {int area1 (ax2 - ax1) * (ay2 - ay1), area2 (bx2 - bx1) * (by2 - by1);int overlapWidth min(ax2, bx2) - max…

实战Qt开发WordBN笔记软件#01 搭建开发环境:VS2019+Qt6.5+CMake+Git

01 背景 【WordBN字远笔记】是天恩软件工作室开发的一款免费笔记软件;WordBN基于VS2019、Qt6.5开发,使用Qt Quick(QML)开发语言。 本课程将以【WordBN字远笔记】的界面为实战基础,详细介绍如何基于Qt/QML开发语言&am…

WPF 表格控件斑马线使用

这里用ListView为案例。 如图效果: 主要思路: 用AlternationCount属性来设置需要使用斑马线的条数,就是说几行一换色,也可以理解为需要几种颜色, 然后再样式模板中,写触发器属性ItemsControl.Alternatio…

python深拷贝和浅拷贝之间的区别是什么?

在Python中,深拷贝和浅拷贝是两种不同的对象复制机制,它们在复制对象时的行为有显著差异: 1. 浅拷贝(Shallow Copy): - 浅拷贝创建一个新对象,但它只是复制了原始对象中元素的引用(对于可变…

明明已经安装了python中的某个库,但是还是报错ModuleNotFoundError: No module named ‘sklearn‘

问题: 明明已经安装了python中的某个库,但是还是报错ModuleNotFoundError: No module named sklearn 解决方法: 卸载重新安装一下即可 pip uninstall scikit-learn pip install scikit-learn 成功解决!!&#xff…

《Windows API每日一练》9.1 资源-图标

本节讲述图标、鼠标指针位图、字符串资源表、自定义资源的添加和应用。 本节必须掌握的知识点: 图标 第56练:ICON图标资源 鼠标指针位图 字符串资源表 自定义资源 第57练:字符串资源表和自定义资源 9.1.1 图标 在 Windows 窗口编程中&…

知识付费系统3.0整站源码知识付费网课平台网创资源付费带自动采集同步插件

程序说明: 1.修复更新到最新版本 2.自动采集插件重写 3.关闭采集授权域名直接对接 4.更新插件主动请求同步资源 5.带自动采集插件 原始功能 支持分类替换 将主站同步过来的文章分类进行替换 支持自定义文章作者(选择多个作者则同步到的文章作者将会随机分…

java中==和equals()的区别探究

目录 一、Object对象 二、 三、String类的equals()方法 四、示例 4.1直接定义两个相同的值比较 4.2直接定义两个值不同的字符串进行比较 4.3直接定义一个字符串和new一个字符串进行比较(两者值相同) 4.4直接定义一个字符串和new一个字符串进行…

Halcon Ean13 一维码读取

一 EAN码介绍 1 EAN码定义: EAN码是国际物品编码协会制定的一种商品用条码,通用于全世界。EAN码符号有标准版(EAN-13)和缩短版(EAN-8)两种。标准版表示13位数字,又称为EAN13码,缩短版表示8位数…

VScode免密链接ubuntu

Ubuntu 下载: sudo apt-get install openssh-serverps -e | grep sshd参考IP : ifconfig VScode配置 重新尝试连接,输入的密码是虚拟机用户密码 免密链接 Windows生成公钥 1、打开CMD 2、输入命令ssh-keygen 3、连续回车确认即可生成 …

正态、威布尔、指数分布、伽马分布、对数正态分布介绍

目录 正态、威布尔、指数分布、3.1 概念介绍概率密度函数(PDF)累积分布函数(CDF)性质应用 3.2 参数及绘图参数概率密度函数(PDF)累积分布函数(CDF)绘图图像解读 3.3 指数分布拟合代码…

Emacs有什么优点,用Emacs写程序比IDE更方便吗?

Emacs 是一款历史悠久且功能强大的文本编辑器,它以其高度的可定制性和丰富的功能而闻名。在讨论 Emacs 的优点以及它是否比 IDE 更方便时,我们需要从多个角度进行深入分析。以下是对 Emacs 优点的详细阐述,以及它与 IDE 的比较。 Emacs 的优…

第11章 规划过程组(二)(11.10制订进度计划)

第11章 规划过程组(二)11.10制订进度计划,在第三版教材第395~397页;文字图片音频方式 第一个知识点:定义及作用 分析活动顺序、持续时间、资源需求和进度制约因素,创建项目进度模型,从而落实项目…

Docker定时清理

一、循环调度执行 1、检查cron状态 systemctl status crond 2、创建要执行的shell脚本 vim /home/cleanup_docker.sh #! /bin/bash # 清理临时文件 echo $(date "%H:%M:%S") "执行docker清理命令..." docker system prune -af-a 清理包括未使用的镜像 …