一、开发模型
1. 瀑布模型 —— 线性顺序
- 优点:各个阶段比较独立,看重需求分析和软件测试
- 缺点:无法适应需求的变化;测试到编码后才介入,导致前期的缺陷无法及时发现,无法及时修正
- 适用项目:适用于需求稳定的项目
2. 螺旋模型——渐进式
- 适用项目:前期需求不是很明确,并且有风险,项目比较庞大的系统开发
- 优点:强调软件质量;每一次迭代进行严格的风险分析,提供讨论项目是否有必要进行下去的机会
- 缺点:引入风险管理,会投入大量人力物力
3. 迭代,增量模型
一个系统的四个功能,A模块 B模块 C模块 D模块,两周时间完成
- 迭代模型:第一周开发人员完成A B C D四个模块的基础功能;第二周,在基础功能之上进行细化和完善
- 增量模型:第一周,完成 A模块 B模块 ;第二周,完成 C模块 D模块
- 迭代模型抗风险能力更强
4. 敏捷模型
- 清文档,清流程,重目标,重质量 拥抱变化,可以适应需求的变化
目标:交付一个高质量可用的软件
```
1. 个体与交互重于过程和工具
2. 可用的软件重于完备的文档
3. 客户协作重于合同谈判
4. 响应变化重于遵循计划
5. 在每对比对中,后者并非全无价值,但我们更看重前者。
```
- scrum 流程: 1~4周,10人以内
- PO,product owner 产品经理,把客户的需求整理成user story,客户的代表方
-
SM,scrum master 项目经理,负责保证整个敏捷流程的顺利实施
-
ST,scrum Team 研发团队,目标是交付一个高质量可用的软件
- scrum 流程
-
发布计划会议 —— PO负责讲解 user story,根据user story的紧急程度排出本期要迭代的user story,形成sprint backlog
-
迭代计划会议 —— 细化user story,分配任务(每个人需要完成什么任务以及完成的时间节点)
-
研发期 —— 开发过程中,每日站会(昨日总结,遇到困难,今天的计划)
-
产品演示会议 —— 给甲方/boss 演示完成的产品,用户提出一定意见,产品经理整理成新的user story放到下次的迭代中
-
回顾计划会议 —— 对本期迭代进行总结
二、软件测试模型
1. V模型
- 优点:左边开发的每一个阶段和右边测试的每一个阶段一一对应,是右边测试每一个阶段的依据
- 缺点:测试介入晚,前期的错误和风险到后期才发现,会失去及时纠正的机会
2. W模型
- 优点:测试阶段和开发阶段在两个独立的V模型里面,测试介入包比较早,在项目初期就介入,前期的风险可以及时被发现
- 缺点:W模型每一个阶段仍然是一个串行的过程,不能适应需求变化的项目,所以无法应用到敏捷开发
三、软件测试的生命周期
1. 需求分析阶段
分析需求,细化需求,验证需求的正确性和合理性
2. 测试计划阶段
规划测试人员数量,规划时间测试范围,测试目的
3. 测试设计/开发
分析需求,从细化的需求中提炼功能点,设计测试用例
4. 测试执行
执行测试用例,记录BUG
5. 测试报告
测试的范围,有多少测试用例,执行了多少,余留了多少测试用例,发现了多少BUG,修改了多少BUG(验证),遗留的BUG以及解决方案
四、如何描述BUG
1. 方法
-
版本号(代码版本号)
-
测试环境(平台)
-
不同的浏览器对同一个系统的同一个页面解析是不一样的
-
windows —— FIrefox Chrome edge 360 QQ 搜狗
-
MAC —— 浏览器对应的版本号
-
手机APP —— iOS,Android 不同机型
-
-
测试步骤和测试数据
-
实际结果
-
预期结果
-
附件 错误截图,错误日志等
2. 以网易邮箱为例
-
操作:邮箱输入了19个字符,输入正确的密码和手机号,勾选同意,点击立即注册,注册成功
-
标题:注册邮箱,邮箱地址输入19个字符,注册成功
-
测试版本号:versionx12
-
测试环境:Windows10 Chrome版本89.0.4389.128
-
测试步骤:
-
进入网易邮箱注册页面
-
邮箱地址输入19个字符:jkjasjkjldfjl…
-
输入符合要求的正确的密码:********
-
输入符合要求的正确的手机号:XXXX
-
勾选同意条款
-
点击立即注册成功
实际结果:注册成功
预期结果:注册失败
五、BUG 级别
1. 致命
系统运行阻断,严重地影响了开发人员和测试人员的工作,需要立马修复(线上出现奔溃级别的BUG怎么办?—— 回退到一个稳定的版本)
可能出现系统瘫痪、服务器内存泄漏等问题
2. 严重
系统还可以运行,但是已经不稳定了,如果再运行下去,可能会产生严重的后果
直播画面失帧 密码明文显示 *****
跨境电商 支付 信用卡 没有密码
log日志,用户名,信用卡号(完整地记录下来)
春运抢票 可以获取其他用户的电话号码 个人信息
百度网盘账户 窜号(几人共用一个账号)
3. 一般
系统可以稳定地运行,但是一些次要功能没有实现,可能会影响用户的体验
4. 次要(建议性)
没有严格体现在需求里面的。影响用户的视觉体验,界面的文字提示内容、展示,图片的排版,要不要改和产品经理商量
四、BUG的生命周期
问题1:测试人员提供了一个BUG,开发人员已经修改了,但是测试人员测试的时候,发现这个BUG依然存在,有哪些原因?
答:开发人员没修好;开发人员没有把代码更新到测试环境(没有提交代码);测试人员忘记拉取最新的代码到测试环境进行发布
问题2:如果碰到一个BUG,和开发人员产生冲突怎么办?*
答:1. 先检查自己的BUG描述是否清楚
2.检查BUG 的定级是否按照公司的标准来的
3.站在用户的角度去说服开发人员
4.不断提高自己的业务水平和技术水平
5.和开发人员,产品经理开会商量BUG的解决方案