一.基本概念
1.什么事需求
1)需求的定义
用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时,必须完成的任务,该需求一般比较简略
软件需求:或则叫功能需求,该需求会详细描述开发人员必须实现的软件功能(需求规格说明书)
2)为什么要有需求
需求是一个标准,有了这个标准开发人员按照这个标准开发,测试人员按照这个标准测试
3)测试人员眼里的需求
比如登陆测试:
功能:满足基本使用操作
安全:数据存储,数据传输
兼容:一套代码在不同平台上都能使用
性能:账号和密码输入后能否立刻登上
4)为什么需求对测试人员这么重要
从软件功能需求出发,无遗漏的识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率 对于识别出的每个测试需求点,需要采用具体的设计测试用例的方法来进行测试用例的设计
5)如何深入理解需求
深入理解规格说明书,尽早介入去求,了解项目背景,项目是什么,项目收益,开需求评审会议
2.什么是测试用例
1)定义:测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境,操作步骤,测试数据,预期结果等要素
比如:
测试环境:牛客提供了一套可以编写代码,运行代码环境
操作步骤:写代码,编译代码,运行代码,提交代码(一系列的动作)
测试数据:验证代码对不对,就会用到牛客提供的测试数据
预期结果:想要代码的通过率是100%,此时这个100%就是预期结果
比如:博客系统:写完项目之后,需要把项目部署到服务器上,验证是否能够登陆成功
环境:Linux系统,浏览器访问
操作步骤:输入账号,输入密码,点击登
预期结果:登陆成功,跳转到bloglist.html
测试数据:账号(zhangsan),密码(123456)
2)为什么要有测试用例
①提高测试效率
②建立自动化基础
3)手机打电话
功能:不输入电话直接拨打,电话打不通、输电入话号码小于11位,电话打不通、输入电话号码等于11位。。。
安全相关:会不会出现病毒,会不会打入非法份子的手机上。。。
兼容相关:不同系统的手机是否能够打通
界面相关:键盘区域,返回桌面区域
二.软件错误的概念
准确的来说:当且仅当规格说明是存在的并且正确,程序与规格说明不匹配才是错误
当需求规格说明书没有提到功能,判断标准以最终用户为准,当程序没有实现其最终用户的合理预期的功能要求是,就是软件错误
三.开发模型和测试模型
软件的生命周期:软件的生命周期是指从软件产品的设想开始到软件不在使用而结束的时间,把软件看成是有生命的事物, 那么软件的生命周期可以分成六个阶段,即需求分析,计划,设计,编码,测试,运行维护
需求分析阶段:分析需求的可行性,产品经理产出需求文档
计划:项目什么时候开始,什么时候结束,由谁开发,测试确定开始结束时间,测试人员。。。
设计:
1)开发人员:软件的架构
2)测试人员:设计师产出UI设计稿
编码:编写代码
测试:测试人员提交bug,验证bug,发测试报告。。。
运行和维护:如果项目上线有bug,此问题时测试人员协助开发人员定位问题,解决问题,最终将项目重新上线
开发模型:这里的模型指的不是大家认为的飞机模型或者汽车模型,指的是软件的开发流程
瀑布流程:
瀑布模型优点是什么
线性的(每个阶段做什么事情都是非常难明确的)
瀑布模型的缺点是什么
测试人员介入需求太晚了,导致发现项目问题的时机太晚了
瀑布模型使用的项目是什么样的
适用于小项目
螺旋模型:
优点:每一个阶段都会进行风险分析,避免问题达到下一个阶段
缺点:公司需要一定的成本(一旦风险分析错误,就会带来一定的损失)
适用项目:大型项目
四、增量,迭代
增量:ABCD(先开发A,再开发B模块,C模块,D模块)
迭代:ABCD各自开发一部分,框架搭建起来-》再去开发接口-》方法
五、敏捷
敏捷宣言:
1.个体与交互重于过程和工具(人和人沟通面对面)
2.可用的软件
(给客户交付的软件)重于完备的文档(测试用例,需求文档,技术文档。。。)
3.客户协作重于合同谈判
4.响应变化重于遵循计划
5.在每对对比中,后者并非全无价值,但我们更看重前者
六、Scrum
Scrum角色:produce owner(产品经理)、scrum master(项目经理)和team(研发团队)组成
produce owner负责整理user story(用户故事),定义其商业价值,对其进行排序,制定发布计划,对产品负责
scrum master 负责召开各种会议,协调项目,为研发团队服务
研发团队则由不同技能的成员组成,通过紧密协议,完成每一次迭代的目标,交付产品
测试模型:
v模型:
v模型的优点:线性执行,将测试分为好多种类型
v模型的缺点:测试人员介入需求较晚,发现问题实际较晚
w模型:
优点:测试人员就可以更早的介入需求
缺点:不能拥抱变化,不能适用于敏捷
特点:第一个v是开发流程,第二个v是测试流程