******为重点考点
一丶什么是需求?
1.需求的来源
(1)盈利
①商业app(淘宝、美团、拼多多..)-----》用户需求
②EPR办公软件之类-----》甲方提需求
(2)提高工作效率
公司内部的系统,比如物流公司,为了提高分拣货物,仓储货物的效率,开发一些想赢的系统提高员工的工作效率 ------》业务人员提出的需求(Boss提出的需求)
用户需求/业务人员提出的需求---统称为用户需求
******软件开发的流程:
需求——计划——设计——开发/编码——测试——运行维护(上线维护)
用户需求:系统的使用者提出的需求
软件需求: 系统要满足用户的期望,所需要的条件或者权限
用户需求经过验证和分析之后转化成合理的需求,一般以文档的形式展示
软件需求是用户需求的细化,细节的进一步具体实现文档
需求是软件测试人员测试的依据
案例:
一.用户需求:
平台支持邮箱注册
二.用户需求转化为软件需求
上图作为参考
从测试人员角度看需求
用户需求——软件需求——从软件需求提炼出测试需求点——设计测试用例
别忘记在用户需求需要进行验证分析进而转化为软件需求
/测试人员如何才能深入了解需求?
1.把自己当做用户
2.多和需求的来源交流,把自己带入用户去体验
3.多多积累经验(软件测试实践为主,理论为辅)
4.熟悉系统的所有业务需求
5.从需求一开始(用户提出需求开始)就介入,不断的和用户或者项目组人员讨论参与
//案例结束
2.测试用例
测试用例:测什么?怎么来测?(业务,工具)
测试用例的概念:测试用例就是向被测试系统的某一个功能点发起的一组集合,包括测试环境、测试数据、测试步骤、预期结果(这四个很重要)(标题、测试功能,方法、重要性、优先级、测试方法等)
比如网易邮箱:
测试用例:
标题:输入符合规范的邮箱,密码,手机号注册
测试环境:Microsoft Edge 96.0.1054.34(浏览器 版本) Windows10 联想拯救者Y7000
测试数据(需要具体的数据):
邮箱:1290631276@
密码:ouyang123654
手机号:1659746321
测试步骤:
1.在浏览器中打开网易邮箱注册页面网易邮箱大师-高效强大的全平台邮箱客户端(这是一个链接)
2.输入测试数据
3.点击同意勾选框
4.点击立即注册
预期结果:注册成功
3.什么是Bug?***************
如果需求规格说明书(软件需求)存在并且合理,不符合需求规格说明书的就是软件错误(Bug);如果需求规格说明书(软件需求)不存在,用户的需求存在并且合理,不符合用户需求的就是软件错误(Bug)
4.软件开发的5个模型
瀑布模型:
特点:瀑布模型在软件工程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次,因此是线性顺序进行的软件开发模式。(每一个阶段比较独立)
在此:测试是产品质量的最后一道把关,如果有问题,问题会直接展示给用户。
缺点:串行,有去无回型;测试介入晚,导致项目前期的问题到后面才发现,是去了错误及时修正的机会,并且不支持需求频繁变动的项目
螺旋模型:
特点:一个项目分很多层小迭代
优点:适合风险比较大并且整个项目也比较庞大的项目,每一个迭代做风险分析;可以讨论项目是否有价值继续
缺点:风险分析要求很高,需要投入专业的人员,导致时间,项目支出费用会很高(风险分析对测试人员和开发人员要求比较高)
迭代、增量模型:
文字叙述:比如4周时间来开发一个系统的A,B,C,D四个模块的功能
增量:第一周完成A模块,第二周完成B模块,第三周完成C模块,第四周完成D模块
迭代:第一周完成A,B,C,D四个模块的基础框架部分,第二周完成基础功能的开发和测试,第三周进一步开发负责的功能,第四周完成系统的细节
***********敏捷开发模型:
特点:
1.重目标,重产出,轻文档,轻流程
2.注重和客户的沟通,整个研发团队有效沟通,注重产品的质量,注重产品规定的交付日期
3.敏捷开发周期很短(1~4周时间),研发团队人员大概5~9人
敏捷开发有很多种方式,其中scrum是比较流行的一种
scrum流程:
角色:
PO(product owner)产品经理:负责整理用户需求,形成userstory
SM(scrum Master)项目经理:负责保证整个敏捷开发流程的顺利实施,开发和各种协调等
ST(scrum team)研发团队:负责整个项目的研发,各种技能的人组成:测试、开发、UI设计师等
scrum流程图:
具体过程:
1.发布计划会,产品经理把需求整理成userstory,形成product backlog,会议上讨论userstory的重要性排版,决定本期迭代要开发的userstory;
2.迭代计划会议,研发团队确认迭代任务,分解userstory,将userstory分解成一个个的任务,确定任务完成的时间,具体的人员等
3.每日站会,三个问题:昨天完成了什么?遇到什么问题?今天的计划?(重点在于总结和解决出现的问题,以及链接整个研发的进程)
4.产品演示会议:给客户和Boss演示产品研发的成果,客户会提出改进意见,PO(产品经理)整理后形成新的userstory
5.项目总结:总结这次迭代的优缺点,不足的改进,优化本次敏捷开发流程
//
5.软件测试模型
软件测试V模型
左边是开发的每一个阶段,右边是测试的每一个过程,左边的每一个阶段对应是右边测试每一个阶段的依据
缺点:串行过程,测试人员实在编码后进行介入的,导致前期的错误后期才能发现,后期测试人员发现时,已经失去了错误及时纠正的最好时机。
软件测试W模型:
W模型又被称之为双V模型
特点:测试人员在项目需求开始就介入,前期的问题就可以及时发现,并且测试和开发阶段是并行的,一个V是开发阶段,一个V是测试阶段
缺点:串行,阶段性强,不适合需求频繁变更的项目,不支持敏捷开发
如果觉得《测试第二节重点(什么是需求?测试用例 什么是Bug?软件开发的5个模型 软件测试)》对你有帮助,请点赞、收藏,并留下你的观点哦!