找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
第二讲 软件生命周期
一、为什么要测试?
1.软件的非正常运行或其自身的缺陷(BUG)会引发很多问题。
比如12306 我们春节买票的时候,软件很卡,登录不了,为什么会这样
很多人在同一时间作同一件事情,导致服务器处理不过来,性能问题
2.软件是由代码和文档组成的,而这些都是由 来设计和编写的,
人都有可能犯错。
需求文档市由产品经理输出的,需求文档可能存在错别字 逻辑不清楚 所以
要测试,
代码==》开发编写==》存在代码问题
3.环境也会影响软件,以致出现软件失效现 象。
可移植性测试 ==>在不同的区域是否正常
4. 软件测试活动只是关键的质量保证活动之一
测试只是团队中的一份子,需要大家共同维护,产品经理需求要清楚,开发需要自测
代码需要审核
二、什么是测试
1、制造业的定义: 以检验产品是否满足需求为目标
客户需要做一个白色的盒子,需要检验盒子的颜色 大小==》测试
2、软件测试定义
a:验证软件的正确性;
b:发现软件中的缺陷==》专业==》找出软件中的bug
3、发现软件中的缺陷的3种观点:
1.测试是为了证明程序有错 【对】
测试人员存在的价值就是证明软件有问题
2.一个好的测试用例:在于它能发现以前未发现的错误 【对】
测试用例是根据需求文档==》测试点==》测试用例
刚开始没经验写不好是正常的==》慢慢的去积累经验
3.一个成功的测试:能发现前所未有的错误的测【对】
在领导眼里只要上线没有问题,那就是成功的测试
三、软件生命周期
1、概念:指的是软件从产生到报废的整个过程,是一种 时间的概念
四、通常软件生命周期包括哪些阶段?
1)客户问题引入或定义
客户提出一个需求,客户提出的需求比较粗糙,需要产品经理沟通清楚
本身客户提出的需求很多时候会存在问题
2)可行性分析(涉及经济(商业论证),政治, 法律,技术等)
需要做电商平台 ==》违法 挣不挣钱 是否技术支持
3)项目招投标
成立项目组,要确定交付周期(6个月)和交定金30%
4)项目立项
成立项目组xxx项目组,讨论前三个月需要完成什么,后三个月需要完成什么,资源(人力资源,配置)
5)需求分析 (测试从这里开始介入项目)
产品经理对接客户,拿到客户的需求进行分析,提炼出来=》转化为项目需求==》
产品经理主讲(需求评审)==》需求规格说明书
6)开发测试阶段(设计,编码,测试)
开发:编写文档和编写代码
测试:了解需求,编写测试点,编写测试用例,有问题提问题(提给开发)
7)维护
运维系统,交了30%的定金,完成交付之后交60%,10%帮忙维护一年
五、软件生命周期模型
file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml9408/wps21.png
file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml9408/wps22.png
单元测试(UT):是开发自测,称白盒测试
集成测试(IT):是模块测试完成后拼接起来在重新测试,俗称接口测试和接口模式
系统测试(ST):简称 ST(system test)保证整个系统没有问题以及第三个对接也没有问题
第三方测试:比如 淘宝支持支付宝登录 ==》黑盒测试或者功能测试【测试负责】
1、瀑布模型:软件时间周期长,可能错过商机
2、V模型项目阶段{重要}
用户需求:客户提出的要求,客户提出的需求比较笼统,不清晰
需求分析:产品经理根据客户的需求提炼出项目需求,组织it 团队开一个评审会议。有产品经理主讲,测试 开发会提出自己的观点,经过多次讨论=》需求规格说明书(srs)
概要设计:简称HLD 比如我们打建房子,先把框架搭建好,框架里面是什么不知道
软件定义:好比我们的微信,微信呢 通讯录 发现 =》模块1 模块2 模块3
详细设计:简称LLD就是根据每个模块具体有哪些功能,怎么去实现,模块1需要实现聊天 发红包 转账语音视频等等
编写和实现coding 开发人员根据上面的文档编写代码
单元测试:(unit test)白盒测试:可以把他当作一个版颜色的盒子,通过盒子可以看到里面的内部逻辑和内部结构=》可以看到代码逻辑=》代码测试=》一般开发完成(开发)把每一个模块测试好了
[面试题:白盒测试中哪个方法最弱,哪个方法最强?语句覆盖最弱,路径覆盖最强]
集成测试:简称IT (integration test)把模块1模块2测试没问题,需要穿起来进行测试==》集成测试==》会和测试==》接口测试【测试负责】
系统测试:简称ST(system test)保证整个系统没有问题以及第三个对接也没有问题
第三方测试:比如 淘宝支持支付宝登录==》黑盒测试或者功能测试
集成测试和系统测试合并sit测试==》系统集成测试
UAT测试:验收测试(测试环境 验收环境:接近我们线上环境)
1)α 阿尔法==》内部测试:内部人员开发测试 产品坐在一起 模拟用户场景去验收看一下有没有问题,如果发现问题了,及时通知开发修复,测试人员需要跟进bug 解决情况
2)β 贝塔==》外部测试:软件已经交付给客户了,这是客户发现问题,我们 会让客户统一收集bug,以邮件方式发给相关的人,测试人员针对这些问题复测一遍,看下是否存在问题,如果存在大问题,推迟上线,需要和客户狗欧统清楚,承诺上线时间。
你上一家公司项目有哪些阶段?每个阶段有哪些输入输出?
阶段 输入 输出
需求分析阶段 项目组成员参与需求评审 需求分析说明书
概要设计阶段 需求规格说明书 SRS 概要设计说明书HLD
详细设计阶段 概要设计说明书HLD 详细设计说明书LLD
编码阶段 开发编写代码 整个代码包(war.jar .zip )
单元测试阶段 对代码进行单元测试 单元测试报告
系统集成测试阶段 测试人员编写测试用例 执行测试 系统集成测试报告
验收测试阶段 公司内部成员和用户参与验收 验收测试报告
六、H模型==》项目的流程【非常重要】
file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml9408/wps23.png
项目和版本的区别:微信项目11年,期间更新很多版本==》一个项目包含很多各版本
项目和产品的区别:先有项目后有产品 ==>软件生命周期的阶段
客户问题的引入=》可行性分析=》招投标=》成立项目组=》需求分析=》开发测试=》维护
假设6个月一个版本 ==》交付周期
工作日:周一到周五
自然日:周一到周天
1、梳理大致流程
需求评审 开发 测试 产品 运维等
概要设计HLD 测试继续了解需求
详细设计LLD 测试深入了解需求,基于项目周期编写测试计划
编码coding 测试人员根据需求编写测试用例和评审用例
开发把编写好的代码打包 运维搭建测试环境,开发把代码包交给运维部署到测试环境中
测试人员进行冒烟测试,进行sit系统集成测试发现bug提bug
测试人员进行回归测试,将所有的bug全部复测一遍,直至bug数为0
输出一个测试总结报告,发送给领导准备上线
2、针对以上八点细化
1.SRS:(需求说明书)客户提出需求,产品经理和客户积极进行沟通,产品经理根据客户需求,输出项目需求,发给测试 开发运维 ui等,开发测试进行阅读和分析需求,把不确定点记录下来。在这个时候产品经理通知大家开一个需求评审会议,有产品经理主讲,测试开发听,提出自己的意见,产品经理觉得提出的意见还可以,就调整需求,经过多次讨论,输出一个基线化文档==》需求规格说明书
开会通知方式:邮件 项目组群 领导转达
通知内容:会议内容 时间 地点
基线化:表示没有问题,非常稳定 随时可以进入下一环节
2.开发同事基于需求,编写概要设计说明书==》HLD
测试人员了解需求,有时候测试人员可以参加开发文档评审(review)
3.
开发基于概要设计说明书,编写详细设计说明书LLD
测试人员深入了解需求,需要挖掘需求当中的需求点,便于编写测试用例
基于项目的周期编写测试计划(测试范围 人力 任务进度 资源等)
测试计划谁写?==》测试经理 测试骨干 自己写
4.
开发基于文档编写代码(coding)
测试人员基于需求编写测试用例,编写完后,进行用例评审
用例评审有哪些?
交叉评审:我写的用例,你来评审,你写的用例,我来评评审(测试组内)
组内评审:项目组内部成员 产品 项目经理 运维==》在公司一般是这种形式
会议评审:客户可能也想参加(一般很少)
用例评审完后进行增删改,有可能进行二次评审,评审完没有问题后,进行保存
保存方式有几种?(1.自己保存,2.发给领导3.上传用例管理testlink)
TE:test engineer 测试工程师
TC:test case 测试用例
TPM:test project manager 测试经理
TL:测试组长
5.打包部署
运维搭建测试环境,开发编写好的代码达成一个代码包,交给运维,运维将代码包部署到测试环境中(包war jar zip )根据服务器而定,一般基于LINUX,运维通知测试人员可以进行到测试环节,会给到测试人员 ip地址 账号 密码
公司中有哪些环境?
测试环境:测试人员使用 (内网)
开发环境:开发人员使用 (内网)
生产环境:线上环境 真实环境
测试环境下一个单不会真实发货,如果在生产环境下单会真实发货
6.
测试人员开始测试 (总共1000条)
首要要进行冒烟测试(选取用例50条以内)
冒烟测试:对主体功能的测试 ==》cms登录主体功能是登录成功
微信支付功能的主体功能是 支付成功
qq注册功能的主体功能是 qq注册成功可以登录
如果冒烟测试不通过,把版本打回给开发进行修复,让开发修复好后 通知我们测试
继续进行测试
如果冒烟测试通过,进行sit1系统集成测试
SIT1:系统集成测试,全量测试,把所有的用例全部执行一次(1000条用例)
发现bug 提交到bug管理工具,测试完 后输出一个测试小结(记录这次测试发现多少bug
执行多少用例 通过多少失败多少)==》假如发现用例没有覆盖全==》新增用例
-
SIT2:称为回归测试,也叫增量测试 (有可能抽取500)
回归测试测哪些内容?
1)复测上一轮发现bug
2)新增用例需要测试
3)冒烟测试
4)上一轮发现bug相关联模块
==》测试完后后需要输出测试小结(记录这次测试发现多少bug
执行多少用例 通过多少失败多少)假如发现用例没有覆盖全==》新增用例
SIT3:称为回归测试,也叫增量测试 (有可能抽取300)
回归测试测哪些内容?
1)复测上一轮发现bug
2)新增用例需要测试
3)冒烟测试
4)上一轮发现bug相关联模块
==》测试完后后需要输出测试小结(记录这次测试发现多少bug
执行多少用例 通过多少失败多少)假如发现用例没有覆盖全==》新增用例
SIT4:称为回归测试,也叫增量测试 (有可能抽取100)
回归测试测哪些内容?
1)复测上一轮发现bug
2)新增用例需要测试
3)冒烟测试
4)上一轮发现bug相关联模块
==》测试完后后需要输出测试小结(记录这次测试发现多少bug
执行多少用例 通过多少失败多少)假如发现用例没有覆盖全==》新增用例
当最后一轮测试没有问题了,所有的bug全部修复,都已ok,回归测试已结束
这时需要输出一个测试总结报告(记录所有测试的情况,用例执行情况 bug修复情况,
遗留)发给领导,领导会根据这个报告来作上线准备
问题1:一般测试一个版本有多少bug?比如1000条用例 5%-15%==》50-150个bug
问题2:H模型有一个0/1表示什么意思?
可以理解为是一个建议性bug,建议性bug可以留到下一个版本修复,需要把这个情况告知测试经理,让领导来决定是否可以遗留,需要确定
哪一个版本修复,修复时间
问题3:上线的标准(测试准出的标准)是什么?
1)本次更新的功能均已实现,符合需求规定的功能
2)所有的用例全部100%执行
3)所有提交的bug(致命 严重 一般 )全部都要解决,且已验证通过和关闭
4)相关小结的文档,冒烟测试报告 bug统计报告 用例执行报告已输出
5)输出测试总结报告且通过相关领导确认
问题4:测试准入标准(什么时候可以介入测试)
1)所有相关文档都已输出(需求文档 开发文档 用例文档 测试计划)
2)开发编写的代码已完成且通过了单元测试,研发的功能符合需求文档
3)测试用例已通过评审
4)环境搭建好了,代码也已部署到测试环境
5)冒烟测试通过
问题5:假如上线后出现了问题怎么(客户那边反馈了线上有问题)?
1)让客户收集问题,统一发给我们研发部门
2)对这些问题在测试环境(线上环境)中操作一遍,是否是客户这边误操作
3)如果测试环境没有问题,线上存在问题,可能漏传代码,立马上传代码,看下
是否正常
4)如果测试环境存在,对这些bug进行划分等级(致命 严重 一般 建议),通知上级领导
5)一时半会修复不了,这些问题有点严重,看是否需要回滚代码,回滚代码时需要
备份数据
6)跟进这些问题,直到修复为止
七、敏捷开发模型:项目周期端,项目进行比较快,互联网较多
八、迭代开发模型:在原有的系统上面增添新的功能
九、测试基本原则
file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml9408/wps24.pngfile:///C:/Users/Administrator/AppData/Local/Temp/ksohtml9408/wps25.jpg
file:///C:/Users/Administrator/AppData/Local/Temp/ksohtml9408/wps26.png
十、测试活动生命周期
测试计划(测试准入)==》前提是需求基线化,已经了解了需求
测试分析和设计 ==》前提是测试计划输出,开始设计用例
测试实现和执行 ==》前提是用例已经编写好了,用例也评审过了
测试报告(测试准出)==》前提是用例执行完了,bug也已经修复了且为0
测试资产归档 ==》前提是测试报告输出==》手机测试

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册