肖 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),打印输出与其等值的八进制数 【输入形式】非负十进制整数 【输出形式】相应十进制整数转换后的八进制正整数,若输入不符合要求,…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...
用鸿蒙HarmonyOS5实现国际象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码,使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...
