复习:
1.什么是软件测试?
软件测试就是测试人员检测软件功能是否符合用户的需求。
2.软件测试和软件研发的区别?
(1)软件开发的流程
需求——软件研发/编码——测试——上线维护
(2)软件测试和软件开发中的调试
目的;
参与角色;测试时开发与测试人员同时参与
执行阶段;整个阶段周期
(3)为什么要选择软件测试(优秀的软件测试人员所拥有的能力)
(下来之后进行自己总结 润色一下);
——————————————————————————————————————
概念篇;
需求
1.需求的来源?
a 盈利—— 商业的app(美团,京东)——从用户需求整理(间接的通过)
—— 甲方要求我们做的 (ERP办公软件之类)——甲方的需求
b.提高工作效率 : 公司内部的系统,比如物流公司,为了提高分拣货物,仓储货物的
效率,开发相应的系统提高工作人员的效率。——我们系统的业务人员提的需求,BOSS的需求。
用户需求 /业务人员——统称为用户需求 ——同属于系统的使用者提出的需求
————————————————————————————————————————
软件开发的流程:
需求——计划——设计——开发/编码——测试——运行维护
用户需求:由系统的使用者提出来的需求, 系统满足用户的期望,所需要的条件或者权限。
软件需求: 用户的需求经过验证和分析之后转化成合理的需求;一般以文档的形式展示;
软件需求是用户需求的细化,细节的进一步实现文档
满足规范,标准,合同等文档所需要的文件和权能
//需求是测试人员测试的依据//
案例:
1.用户需求:
平台支持邮箱注册
2.用户需求转化为软件需求
更加的细分 更加的规范
#
————————————————————————————————————
从测试人员的角度看需求
从用户的需求 ——软件需求——提炼出测试需求点——设计测试用例
——————————————————————————————————
测试人员如何才能深入了解需求?
1.把自己当做用户来看待
2.多和需求的来源交流
3.多积累
4.熟悉系统的所有业务需求
5.从需求一开始(用户提出需求开始)就介入,不断的用户或者项目组人员讨论参与。
—————————————————————————————————————————————
测试用例
测试用例:测什么,怎么测
测试用例的概念:测试用例就是向被测试系统的某一个功能点发起的一组集合,包括测试环境
,测试数据,测试步骤,预期结果(标题,测试功能,方法,重要性,优先级,测试方式);
——————————————————————————————————————
例如网易邮箱的注册
——————————————————————————————————————
3.什么是bug?
如果需求规格说明书(软件需求)存在且合理,不符合需求规格说明书的就是软件错误(BUG);
如果需求规格说明书(软件需求)不存在,用户的需求存在并且合理,不符合用户需求的就是软件错误;
4.软件开发的五个模型
软件开发的生命周期(软件开发的流程)——需求 ——计划——设计——编码——测试——运行维护;
特点 优点 缺点
1.瀑布模型:(像瀑布一样有去无回,每一个阶段比较独立)
特点:强调需求分析和测试
缺点:串联模型 ,有去无回
测试介入晚,导致项目前期问题在后面才发现,失去了错误及时修正的机会
不支持 需求频繁变动的项目。
2.螺旋模型:一个项目分了很多次小的迭代
3.4.迭代,增量模型:
通常将这两种模式同时考虑
例如:有的公司将一个项目分为四周的时间开发 分为ABCD四个模块
增量:第一周完成A 第二周完成B 以此类推;
迭代:第一周完成 ABCD 四个模块的基础框架部分,第二周完成基础功能的开发和测试,
第三周进一步开发复杂的功能 ,第四周完善细节。
5.敏捷开发模型:(敏捷开发最长用的模型) 自动化测试 拥抱变化
特点 :重目标 重产出 青文档 轻流程
注重客户的沟通 整个研发团队的有效沟通,注重deadline
时间短 1-4周时间 ,研发团队5-9个人。
例如:
Scrum 流程:
角色 : PO (product owner ) 产品经理 负责整理用户需求,形成userstory
SM (scrum Master) 项目经理 ,负责开会和各种协调
ST (scrum team ) 研发团队 , 负责整个项目的研发,由各种技能的人组成,测试,开发,ui设计师
具体流程图:
具体应该怎么做:
1.发布计划会:产品经理将需求整理成userstory ,形成product backlog,会议上讨论userstory的重要性排版,决定本期迭代要开发的userstory
2.迭代计划会议:研发团队确认迭代任务,分解userstory,将userstory分成一个个的小任务,确定完成时间,以及具体的人员
3.每日站会:就三个问题,昨天完成了什么,遇到什么问题,今天的计划
(不需要花费很多时间,重点在于总结出现的问题和解决出现的问题,以及了解整个的研发进度)
4.产品演示会议:给客户或者boss演示产品研发的成果,客户会提出改进意见,po整理后形成新的userstory,放到下一次的迭代中改进。
5.项目总结:总结这次的优缺点 ,改进不足之处,优化这个敏捷开发流程
----————————————————————————————————————————、
//我是分隔符//
——————————————————————————————————————
软件测试模型
软件测试的一个“V”模型
开发的阶段 与 测试阶段的 是测试阶段的依据 阶段一一对应
缺点: 串行的过程 ,测试的介入比较晚 导致前期的错过 后期才发现,后期测试发现时
已经失去了错误及时纠正的最好时间了。
————————————————————————————————————
“W” 模型:又叫做双V模型 一个是开发的每一个阶段 测试 开发 双V
测试人员在项目需求开始就介入 ,前期的问题就可以及时的发现
缺点 :也是一个串行的过程 , 不适合需求频繁变更的项目。
不支持敏捷开发