测试概念篇

1.需求部分

 

- 什么是需求:需求分为用户需求和软件需求 。用户需求是用户表达的原始诉求,如“我想谈恋爱”,但未经合理评估,不能直接作为开发和测试依据。软件需求是经过评估后,可实现的具体功能要求,像社交软件中认识朋友、找喜欢的人等功能。还以注册功能为例,介绍了软件需求规格说明书包含的用户需求(平台支持邮箱注册 )、软件需求(注册账号的功能概述、用户角色、前置条件、输入项、处理流程、输出、后置条件等 )。

 

2.开发模型部分

 

- 软件的生命周期:类比建造房子,从明确建房目标(需求分析)、计划时间(计划)、设计建房流程(设计)、施工(编码)、检查房屋质量(测试)到入住后维护(运行维护),对应软件生命周期的需求分析、计划、设计、编码、测试、运行维护阶段 ,每个阶段都有具体工作内容和产出文档。

 

- 常见开发模型

 

- 瀑布模型:是基础模型,按线性顺序执行,依次为需求分析、计划、设计、编码、测试,特点是测试后置,前期风险易在测试阶段才发现,导致返工,但在软件工程中是其他模型的基础框架 。举例直播带货软件两三年的开发节奏体现其特点。

 

- 增量模型、迭代模型:增量模型是将大需求拆成小需求独立开发上线;迭代模型是从草稿版到优化版反复求精。增量像逐步建造,迭代像反复打磨,如今常配合使用,适用于大型、需求不明确项目 。

 

- 敏捷模型:旨在快速适应需求变更,强调个体交互、可用软件、客户协作、响应变化 。以购物软件为例,先有基础模型,功能通过迭代逐步优化。Scrum是敏捷模型的一种,有product owner(产品经理)、scrum master(项目经理)和team(研发团队)三个角色 ,以及发布计划会议(评估需求、确定迭代任务 )、迭代计划会议(任务拆解 )、每日例会(站会,沟通工作进展和问题 )、演示会议(展示迭代成果 )、回顾会议(总结问题、优化流程 )五个重要会议 。敏捷测试强调轻文档、快速迭代,测试人员需主动参与、探索答案:用户需求不可以直接作为测试和开发的工作依据 。

 

解析:用户需求往往是比较模糊、笼统且未经评估的原始诉求,像文档中提到的“我想谈恋爱” ,它没有考虑技术可行性、市场可行性、成本投入和收益占比等多方面因素。只有经过产品经理进行需求分析,将其转化为具体、明确且可实现的软件需求后,才能成为开发人员和测试人员开展工作的依据,所以用户需求不能直接作为测试和开发的工作依这是关于敏捷开发中Scrum模型的知识内容 。主要包括:

 

敏捷宣言要点

 

强调个体与交互重于过程和工具、可用的软件重于完备的文档、客户协作重于合同谈判、响应变化重于遵循计划,体现高效沟通、轻文档、关注当下需求、主动应变等理念 。

 

3.Scrum模型角色

 

- product owner(产品经理):负责整理user story(用户故事 ),定义商业价值并排序,制定发布计划,对产品负责。

 

- scrum master(项目经理):负责召开各种会议,协调项目,为研发团队服务。

 

- team(研发团队):由具备不同技能成员组成,紧密协作完成迭代目标交付产品。

 

4.Scrum流程

 

- 需求整理:产品负责人整理用户需求,形成product backlog(需求池 )。

 

- 发布计划会议:product owner 讲解user story ,进行估算和排序,确定sprint backlog(本次迭代要完成的story列表 )。

 

- 迭代计划会议:团队对story进行任务分解,明确任务负责人和工时预估。

 

- 每日例会(站会):团队成员交流昨天工作、今天计划及遇到的问题 。

 

- 演示会议:迭代结束后,团队展示成果,收集反馈。

 这部分内容是关于软件开发模型的知识:

 

5.单元测试

 

- 定义:对程序的最小单元执行测试,具有一定人为规定性。

 

- 执行人员:一般由开发人员进行,极少单位会招聘专业单元测试人员 。

 

- 适用场景:规模庞大、复杂度高、风险大的项目 。

 

增量模型与迭代模型

 

- 增量模型:把大需求拆成小需求,逐个独立开发上线,像搭积木,逐步增加功能 。

 

- 迭代模型:从草稿版到优化版不断反复求精,逐步完善。

 

- 应用现状与适用场景:如今常配合使用,适用于大型且需求不明确项目 。以画人物画为例,增量是逐步添加画面内容,迭代是从草图不断细化完善 。

 

6.敏捷模型

 

- 核心目标:帮助项目快速适应变更请求,强调“及时迎接变化” 。

 

- 敏捷宣言内容:个体与交互重于过程和工具;可用的软件重于完备的文档;客户协作重于合同谈判;响应变化重于遵循计划 。体现高效沟通、轻文档、关注需求、主动应变等特点 。

 

- 特点:轻文档、轻流程、重目标、重产出 。

 

- Scrum模型:敏捷模型的一种,也叫迭代式增量软件开发模型。涉及product owner(产品经理)、scrum master(项目经理)、team(研发团队)三个角色 ,以及发布计划会议、迭代计软件开发模型相关知识总结

 

7.软件的生命周期

 

- 类比解释:以建造房子为例,阐述软件生命周期各阶段。明确建房目标对应需求分析 ,计划建房时间对应计划 ,设计建房流程对应设计 ,施工对应编码 ,检查房屋质量对应测试 ,入住后维护对应运行维护 。

 

- 具体阶段

 

- 需求分析:分析用户需求合理性,从市场、技术等方面考量,输出需求文档。

 

- 计划:确定执行需求计划及时间,输出计划文档。

 

- 设计:细化需求成任务,团队分工并进行技术设计,输出技术文档。

 

- 编码:开发人员依相关文档编写代码,产出代码文件。

 

- 测试:测试人员用测试用例检测软件,输出测试相关文档。

 

- 运行维护:软件上线后维护,包括修复性(修复问题)、完善性(完善功能)、预防性(预防潜在问题)维护 。

 

8. 常见开发模型 - 瀑布模型

 

- 流程:按需求分析、计划、设计、编码、测试线性顺序执行,是基础模型 。

 

- 特点

 

- 测试后置:前期风险易在测试阶段暴露,可能致大面积返工。

 

- 线性顺序执行:需预留充足测试时间,否则缺陷易暴露给用户 。

 

- 应用思考:虽存在项目风险,但并非不能在实际工作中使用,对于需求明确、稳定,技术成熟的项目,瀑布模型的规范性和有序性仍可发挥优势 。划会议、每日例会、演示会议、回顾会议五个重要会议 。

- 回顾会议:总结本期迭代问题,制定改进计划 。据。测试、自动化测试并与开发协作 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值