肖 sir_就业课__004项目流程(H模型)
项目流程:
一、面试提问(h模型)
1、你说下你们公司测试流程?
2、给你一个需求你会怎么做?
3、你讲下你的工作?
4、谈谈你是如何去测试?
答案:h模型

要求第一人称来写
讲解简化文字流程:
内容如下:
拿到需求------需求分析----编写测试计划—编写测试用例-----用例评审----导入用例管理工具—搭建环境–开发提交代码包–部署环境—冒烟测试----sit系统集成测试----提交bug—开发修改bug—进行sit2测试—冒烟-测试–
----以此类推到0bug,用例100%,输出测试报告(sit测试测完)----验收测试(uat测试)-----测试通过------封装版本----上线----线上测试------测试通过----测试完成
备注:
(1)写用例
(2)搭建环境
(3)测试报告
(4)测试计划
升级版本
拿到需求------需求分析----编写测试计划—编写测试用例-----用例评审----导入用例管理工具—搭建环境–开发提交代码包(开发合并分支)–jnnkins构建(部署),获取到代码包====
部署环境—冒烟测试----sit系统集成测试----提交bug—开发修改bug–jenkins构建(部署),获取到最新代码包—冒烟-测试–
----以此类推到0bug,用例100%,输出测试报告( 表示sit测试完成)----验收测试(uat测试)-----测试通过------封装版本----上线----线上测试------测试通过----测试完成
讲解详细文字流程:
内容如下:
拿到一个需求(SRS)软件需求规格说明书
了解概要设计(测试文档)
了解详细设计(测试文档)
需求评审会议(测试,开发,产品)产品主持会议
编写测试计划(测试经理,测试组长,我)
根据测试计划,分配工作
编写测试用例 测试
用例评审(两种评审方式:1、组内评审 :测试,开发,产品,交叉评审:测试同事之间评审)
用例通过,导入到用例管理工具中(禅道)
用例分配给对应的负责
部署环境(测试环境(测试),开发环境,线上环境)
部署:运维,测试经理,测试组长,自己
开发提测,也是提交代码包(达到准入的要求)
拿到代码包部署到环境中
冒烟测试(重点)
冒烟测试(称为版本验证测试,提交测试)是指:对新版本的主要功能,基本功能进行测试,如果通过,那么冒烟测试通过,如果冒烟识失败,那么就把版本打回给开发进行修改,直到冒烟通过;
每一次开发提交新版本,测试都需要在测试环境中进行冒烟测试;
冒烟测试通过以后才能进入sit测试(系统集成测试);
sit测试(系统集成测试) 一般一个项目有三次,项目周期长可能4次,更多;
第一次sit测试是全量测试(所有编写的用例都要进行测试);
测试小结:包括用例数,bug数,新增用例数等 ;
开发修改bug
第二sit测试
冒烟测试 ,sit2测试,(回归测试)
回归测试:是系统维护阶段进行的验证测试
区别:测试的阶段不同
冒烟测试是在版本提交时进行的第一个测试,回归测试是在维护阶段的测试;
用例来源:
1、冒烟测试的用例
2、验证上一个版本提交的bug用例;
3、测试和bug相关联的模块的用例
4、你认为可疑的测试用例或者是测试场景
5、测试补充的测试用例或测试场景
第二次测试小结
有bug转给开发
开发修改bug;
提交第三次版本
sit3测试
冒烟测试
测试用例
达到准出要求;(0bug,用例100%用例执行)
输出测试报告 -----表示sit测试完成
uat 验收测试 (uat环境) --通过uat通过
系统版本打包(封板:是封装版本)
上线
上线成功 ,上线失败,版本回退,继续用之前的版本
回退的版本要重新让开发修改,测试 ,上线
上线前会准备线上测试数据,上线后我们在线上测试下新版本;
如果线上没问题,上线完成,
如果有bug,首先分析bug对项目的影响,影响大,退回版本;影响小,开发和测试分析并上报,建议下一个版本修改。
补充点:
1.1,接口测试是在UI界面未形成之前。(在开发输出自测报告)也就是在功能测试前或同时
1.2包括补充的用例
1.3 UAT测试在sit测试通过并输出测试报告
1.4封装版本(简称封板)上线
1.5线上也准备账号,在线上进行测试(也可能业务测试,测试人员测,如有问题,退回版本,继续用上一个版本,数据回滚。)
1.6性能测试在什么时候? (功能测试结束,才能做性能测试)
1.7自动化测试在什么时候?(在功能测试完成后,主要用来回归测试,节省时间)
(三)那就是我们现在的敏捷开发模式、迭代测试流程
缩短流程的讲解(一个需求一周开发,一周测试,在上线)
(四)工作中的流程,根据公司结构来讲
大型公司:(1)都是按照H模型规范操作
(2)有些公司,可能先上线在测试,在 补用例,
(3)有些公司是只写xmind的测试点,按照测试点进行测试,
(4)先简单测完上线,上线有问题在线上操作
注意注意点:
(1)讲解语速
(2)熟练
(3)讲解的主流程 (重点:环境部署,或搭建环境)
(4)封装版本上线
========================================================================
讲解要求:
1、第一人称
2、
=========================================================================
jenkins 自动化部署环境讲:
了解需求
编写计划
编写测试用例
评审用例
导入用例管理工具
搭建环境(开发环境,测试环境(我),生产环境)
开发提测(达到准出要求)
jenkins上构建,拉取项目包,测试
冒烟测试前一致和h模型
1、测试有bug就提交给开发,开发修改bug,提交代码
2、我们去jenkins构建下,拉取gitlab上的最新代码包
3、部署到测试环境中,就能测试最新的包,验证bug
4、直到用例100%,0bug,就输出报告
5、通知uat验收,验收通过
6、封装版本
7、等待上线
8、线上测试、线上通过
9、上线成功
案例:
流程:
先拿到需求------对需求进行评审------确定基线化文档-----深入了解需求-----编写测试计划------编写测试用例-----用例评审----导入用例管理工具-----搭建环境-----部署代码包------冒烟测试------sit系统集成测试------提交bug------开发修改bug-------进行sit2测试------冒烟----测试--------以此类推到0bug,用例100%执行,输出测试报告----进行验收测试-----验收测试通过------封装版本----上预发—测试-----上线----测试------测试通过----测试完成
案例:
简化版本:
我们先拿到需求,然后对需求进行评审,通过评审确定基线化文档;
测试经理编写测试计划,我们拿到计划后编写相应测试用例,所有人用例写完后进行用例评审,评审通过我们会将用例导入用例管理工具;
然后搭建环境,等待开发提测,提测我们首先进行冒烟测试,冒烟不通过打回修改,通过则进行sit系统集成测试,过程中发现提交bug给开发,开发修改bug这样完成一轮后,进行sit2测试,先冒烟测试,在对所有用例测试,这一轮还会增加测试用例因为bug修改后可能会影响相关模块的功能,所以要添加相应的测试用例;
以此类推进行多次sit测试直到0bug,以及用例100%执行,然后输出测试报告,通知产品进行验收测试,验收测试通过,封装版本,上预发,在预发再进行测试,没问题就可以上线,在正式版再测试,测试通过,测试完成。
详细版本:
产品拿到需求(SRS),软件需求规格说明书,
进行需求澄清会,(测试,开发,产品)产品主持会议,确定基线化需求文档
开发编写概要计划说明书和详细计划说明书,我们也会去参与概要设计说明书和详细设计说明书的评审
开发进行代码的编写,我们编写测试计划(测试经理,测试组长,我)
根据测试计划,分配工作
编写测试用例
用例评审(两种评审方式:1、组内评审 :测试,开发,产品,交叉评审:测试同事之间评审)
用例通过,导入到用例管理工具中(禅道)
用例分配给对应的负责
部署环境(测试环境(测试),开发环境,线上环境)
部署:运维,测试经理,测试组长,自己
开发提测,也是提交代码包(达到准入的要求),我们拿到代码包部署到环境中
冒烟测试(重点)
冒烟测试(称为版本验证测试,提交测试)是指:对新版本的主要功能,基本功能进行测试,如果通过,那么冒烟测试通过,如果冒烟识失败,那么就把版本打回给开发进行修改,直到冒烟通过;
每一次开发提交新版本,测试都需要在测试环境中进行冒烟测试;
冒烟测试通过以后才能进入sit测试(系统集成测试);
sit测试(系统集成测试) 一般一个项目有三次,项目周期长可能4次,更多;
第一次sit测试是全量测试(所有编写的用例都要进行测试);
测试小结:包括用例数,bug数,新增用例数等 ;
开发修改bug
第二sit测试
冒烟测试 ,sit2测试,(回归测试)
回归测试:是系统维护阶段进行的验证测试
区别:测试的阶段不同
冒烟测试是在版本提交时进行的第一个测试,回归测试是在维护阶段的测试;
以此类推进行sit3测试 sit4…
直到达到准出要求;
输出测试报告 -----表示sit测试完成
--------然后
进行uat 验收测试 (uat环境) --通过uat通过
系统版本打包(封板:是封装版本)
----------之后上预发环境再测试
没问题进行上线再测试
上线成功 ,上线失败,版本回退,继续用之前的版本
回退的版本要重新让开发修改,测试 ,上线
上线前会准备线上测试数据,上线后我们在线上测试下新版本;
如果线上没问题,上线完成,
如果有bug,首先分析bug对项目的影响,影响大,退回版本;影响小,开发和测试分析并上报,建议下一个版本修改。
======================================================================
案例1
工作流程是:拿到需求后,我们会对需求进行评审,通过评审确定需求文档,之后测试经理会根据需求文档来编写测试计划,安排各自的任务去写测试用例,在所有人测试用例写完之后进行用例评审,评审通过后将用例导入用例管理工具,
然后搭建环境,等待开发提测把写好的代码包发过来部署到测试环境。再进行冒烟测试,冒烟不通过则版本打回,冒烟通过则进行sit测试,过程中发现BUG提交给开发,开发修改完bug则进行sit2回归测试,先冒烟再测试。一直这样反复测试直到0BUG且测试用例全部执行完毕。然后输出测试报告,通知产品进行验收,验收通过后封装版本上传到预发环境中,在预发环境中再进行测试,没问题后进行上线,上线之后再测试,没问题后则测试完成
案例2:
我们拿到需求文档,我们的产品经理开始召开需求评审会议,对需求进行澄清,评审完之后会形成一个机械化文档(需求规格说明书),开发就会根据需求规格说明书去编写概要设计和详细设计说明书,我们测试人员还在深入了解需求规格说明书,并且评审开发写的概要和详细设计说明书,直到我们测试经理输出测试计划以及测试方案,我再根据测试经理安排的需求去编写测试用例并且写完之后会进行一个组内的评审,评审完用例之后会把定好的用例输入到我们的禅道中去,等开发那边写好代码之后,开发就会把代码包给到我,之后我会进行环境的部署,部署完成之后就会进行冒烟测试,若冒烟不通过,则版本打回;如果通过,则进入到sit1系统集成测试(全量测试),这个时候我就会把功能和接口全部测试完,有bug就提bug,开发把所有的bug修复完之后分配到我这边,我再进行回归测试,可能会有sit2,sit3,回归直到用例全部执行完毕并且没有bug,然后我就会uat任务给到产品经理,uat验收没问题,则发布的前一天会进行一个预发环境的上线,我们会在预发环境进行进一步的验收,无问题后则发布生产环境,最后输出测试报告。。。。。
案例3:
在拿到客户需求之后,我们产品经理会召集我们开一个SRS澄清会议,对需求进行分析,会议完成之后开发那边会编写概要设计和详要设计,我们测试经理会根据需求生成一个测试计划,我会根据测试计划编写好测试用例,同时对测试用例进行评审,再把评审好的测试用例导入到禅道里面去,然后会搭建好测试环境,开发提交代码包后,会对环境进行一个部署,首先会进行冒烟测试,不通过则版本打回,通过之后会进行第一轮的SIT测试,有bug会提bug,开发修改好bug之后,同时进行第二轮SIT测试也叫回归测试,,直到通过所有测试用例,并且没有bug为止,然后会进行uat验收测试,同时运维会上预发环境,通过之后正式上线,并且产出测试报告。
相关文章:
肖 sir_就业课__004项目流程(H模型)
项目流程: 一、面试提问(h模型) 1、你说下你们公司测试流程? 2、给你一个需求你会怎么做? 3、你讲下你的工作? 4、谈谈你是如何去测试? 答案:h模型 要求第一人称来写 讲解简化文字流程&#x…...
snipaste 截图工具——可以使图片悬浮在任何软件上,方便对比
一、下载 官网下载地址:Snipaste Downloads (需要梯子) CSDN下载地址:https://download.csdn.net/download/weixin_43042683/87671809 1. 下载 压缩包后,免安装,直接解压后既可以使用。 2. 点击Snipaste.…...
Docker 快速部署Springboot项目
编写Dockerfile文件 # Docker image for springboot file run # VERSION 0.0.1 # Author: # 基础镜像使用java FROM openjdk:8 # 作者 MAINTAINER laihx # VOLUME 指定了临时文件目录为/tmp。 # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到…...
【LeetCode: 剑指 Offer II 112. 最长递增路径 | 递归 | DFS | 深度优先遍历 | 记忆化缓存表】
🍎作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎 🍎座右…...
hive 入门 一般用于正式环境 修改元数据(二)
安装配置可参考 https://blog.csdn.net/weixin_43205308/article/details/130020674 1、如果启动过derby,最小初始化过 在安装路径下删除 derby.log metastore_db rm -rf derby.log metastore_db此处省略安装mysql数据库 2、配置MySQL 登录mysql mysql -uroot …...
在RedHat系统上使用firewall-cmd命令可以将端口打开
在RedHat系统上使用firewall-cmd命令可以将端口打开,具体操作如下: 首先,检查当前系统使用的防火墙服务,比如firewalld或iptables,使用以下命令: systemctl status firewalld # 检查firewalld服务 system…...
分享(五):免费可用的多种类 API 大全集合整理
前言 搜罗了各大平台整理了一波免费可以用的 API ,有需要的收藏起来啦。 实名认证 运营商二要素 API :运营商校验此姓名、手机号码是否一致。 运营商三要素 API:运营商验证姓名、身份证号码、手机号码是否一致,返回验证结果称…...
8.1 假设验证的基本概念
学习目标: 要学习假设检验的基本概念,我会按照以下步骤进行: 了解假设检验的基本概念:假设检验是一种统计推断方法,用于判断某个假设是否成立。一般来说,假设检验包括原假设和备择假设两个假设,…...
C语言基础
为了学习数据结构,整理一篇基础的C语言入门知识(仅供自身学习用) 条件运算符 语法:exp1 ? exp2 : exp3; exp1是条件表达式,如果结果为真,返回exp2 如果结果为假,返回exp3 if (a > b)max …...
Docker教程:如何将Helix QAC创建为一个容器并运行?
在这个Docker教程中,你将了解到如何将Helix QAC创建为一个容器化的镜像并运行。 Docker的基本定义是一个开源且流行的操作系统级虚拟化(通常称为“容器化”)技术,它是轻量级且可移植的,主要在Linux和Windows上运行。D…...
1676_MIT 6.828 xv6中的CPU alarm_资料翻译整理
全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 我觉得看了几个MIT的课程之后让我觉得我的大学四年有点浪费时光,看起来MIT的课程的确是很有饱满度。 这里,再整理一份课程中的作业要求。 …...
记一次内存泄漏问题的排查
阶段一: 前段时间,突然发现服务在毫无征兆的情况下发生了重启。去看了一下容器退出的日志,发现内存利用率超过了100%,导致容器重启,进一步看了skyWalking,发现heap内存超了,当时只是简单的以为是…...
QML控件--Drawer
文章目录一、控件基本信息二、控件使用三、属性成员一、控件基本信息 Import Statement:import QtQuick.Controls 2.14 Since:Qt 5.7 Inherits:Popup 二、控件使用 Drawer:提供一个可以使用滑动手势打开和关闭的侧面板ÿ…...
PHY- PHY芯片概述
1 PHY概述 关于Internet Protocal的分层模型可以参考文章 :【Internet Protocal-OSI模型中的网络分层模型】,下面我们讲讲底层以太网控制器和收发器的知识。其主要是处理OSI模型中的物理层和链路层的事情。 在CAN/CANFD、FlexRay等总线中,有控制器Controller和收发器Transc…...
【C++】如何获取当前正在运行的函数的名称?
func、FUNCTION、__PRETTY_FUNCTION__的区别 常用获取函数名成的方法都有__func__、FUNCTION、PRETTY_FUNCTION。那么它们的区别是什么呢? 1) func、FUNCTION: 主要是获取函数的名称。 2) PRETTY_FUNCTION: 不仅能获取函数的名称&am…...
42.原型对象 prototype
目录 1 面向对象与面向过程 2 原型对象 prototype 3 在内置对象中添加方法 4 constructor 属性 5 实例对象原型 __proto__ 6 原型继承 7 原型链与instanceof 7.1 原型链 7.2 instanceof 8 案例-模态框 1 面向对象与面向过程 编程思想有 面向过程 与 面向…...
python 读写txt方法
1. Python支持在程序中读写 txt文件。这里有两种方式: 方式一:使用 python内置函数,该函数将一个字符串的长度转换为与这个字符串长度相关的值。 例如:" readme"("r)。 prin…...
香橙派pi5下,debian,docker19.03.9版本runc容器逃逸
在香橙派pi5下,debian,docker19.03.9版本下,安装系统后,启动docker,显示一切正常。 当加入k8s集群以后,可以正常连接到集群,node状态显示为ready。看起来一切正常。不过过一会之后,香橙派节点内存飙升,然后挂掉。重连失败,需要重启后才能重连。且swapoff -a命令执行…...
Thinkphp6.0中间件.上
本节课我们来学习一下中间件的用法,定义一下中间件。 一.定义中间件 1. 中间件的主要用于拦截和过滤 HTTP 请求,并进行相应处理; 2. 这些请求的功能可以是 URL 重定向、权限验证等等; 3. 为了进一步了解中间件的用法&…...
十进制到八进制的转换
目录 十进制到八进制的转换 程序设计 程序分析 十进制到八进制的转换 【问题描述】对于输入的任意一个非负十进制整数n(0=<n<100000),打印输出与其等值的八进制数 【输入形式】非负十进制整数 【输出形式】相应十进制整数转换后的八进制正整数,若输入不符合要求,…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
