软件测试基础概念

测试的概念:

        验证软件的特征是否满足用户的需求,(提高用户的满意度)

        虽然软件测试人员主要的职责时保障产品的质量,但是软件的质量并不是只由测试人员保障!项目组(产品经理,前端开发,后端开发,测试,交互,设计)均为产品质量负责。

软件开发的流程:

需求分析-> 计划-> 设计-> 编码-> 测试-> 运行维护

需求分析:分析用户需求是否合理,分别从市场需求,技术等方面进行分析,输出需求等文档。

计划:对成立的需求执行计划,多长时间内完成该需求,每段时间具体完成哪些功能,输出计划等文档。

设计:将需求细化成一个个任务,团队成员各司其职领取任务并进行技术设计(如何进行架构设计,设计哪些接口,采用了什么技术)

编码:开发人员参考需求文档,设计文档,交互图等文件可进行代码的编写。

测试:测试人员需要介入到软件的测试中,参考测试用例对软件进行测试。输出测试用例,测试设计与计划,测试报告等文档。

常见开发模型

1. 瀑布模型(Waterfall Model)

        => 同软件的生命周期基础流程

特点线性顺序开发,阶段严格划分,前一个阶段完成后才能进入下一个阶段。
适用场景需求明确、变更少的传统项目(如政府系统、银行核心系统)。
流程:start → 需求分析 → 计划 → 设计 → 编码 → 测试 → 部署 → 维护 → end

优点:结构清晰,文档完整,适合固定需求的项目。
缺点:可以运行的产品很迟才能被看到,可能导致需求/功能过时。                                               测试后置:1.前面各阶段遗留的风险推迟到测试阶段才能被看到,导致项目大面积返工,失去了及早修复的机会,后期发现问题修复成本高

                   2.必须留有足够的时间给测试活动,否则导致测试不充分,将缺陷直接暴露给用户。

2. 螺旋模型(Spiral Model)

        => 各个阶段都引入了风险分析+原型

特点:结合瀑布模型和迭代模型,强调风险管理,适用于高风险项目
适用场景大型复杂系统(如航空航天、军事软件)。
流程(每轮螺旋包含4个阶段):

1. 确定目标与风险分析 2. 开发与测试(原型) 3. 用户评估 4. 规划下一轮迭代

优点:1.强调严格的全过程风险管理 2.强调各开发阶段的质量 3.风险驱动,适合关键系统。
缺点:1.成本高,管理复杂。 2.在螺旋模型中需要额外招聘专业的风险分析人才,各阶段是否遗留问题完全取决于风险分析人员,这跟风险分析人员的技术技能直接挂钩。

3. 增量模型(Incremental Model)

特点:分多个增量(模块)逐步交付,每个增量经历完整的开发周期。
适用场景需求可拆分、希望尽早交付部分功能的项目。
流程:增量1(需求→设计→编码→测试)→ 增量2 → ... → 最终产品

优点:可提前交付部分功能,降低风险。
缺点:需要良好的架构设计,否则后期集成困难。

4. 迭代模型(Iterative Model)

特点:通过多次迭代完善产品,每次迭代都是一个可运行的版本。
适用场景:需求不明确,需要逐步探索的项目(如创新产品)。
流程:初始版本(基本功能)→ 迭代1(优化)→ 迭代2 → ... → 最终版本

优点:灵活适应需求变化,早期用户反馈可优化产品。
缺点:管理复杂,文档可能不够完善。

5. 敏捷模型(Agile Model)

        =>促进项目的快速完成

特点:以用户需求为核心,小步快跑,持续交付可工作的软件。
适用场景需求变化快、需要快速响应的项目(如互联网产品)。
常见方法

  • Scrum(冲刺Sprint、每日站会、产品待办列表)

  • Kanban(可视化任务流,限制在制品WIP)

  • 流程:需求拆分 → Sprint计划 → 开发&测试 → 评审&回顾 → 下个Sprint

优点:灵活适应变化,快速交付价值。
缺点:依赖团队自律,文档可能较少。

四个特点:轻文档,轻流程,重目标,重产出。

一、Scrum的三大核心角色

1. 产品负责人(Product Owner, PO)

职责

  • 代表客户/利益相关者,负责产品方向和商业价值。

  • 维护产品待办列表(Product Backlog),明确需求优先级。

  • Sprint评审会上验收成果,决定是否发布。

关键能力
✔ 精通业务需求,能权衡优先级。
✔ 与开发团队紧密沟通,避免需求模糊。

2. Scrum Master(项目经理)

职责

  • 确保团队正确执行Scrum流程,移除障碍(如资源不足、沟通问题)。

  • 保护团队免受外部干扰(如临时加需求)。

  • 引导每日站会、评审会、回顾会,促进持续改进。

关键能力
✔ 精通Scrum规则,擅长协调和 facilitation(引导)。
✔ 服务型领导,而非传统管理者。

3. 开发团队(Development Team)

职责

  • 跨职能团队(开发、测试、UI/UX等),通常5~9人。

  • 自组织分配任务,共同完成Sprint目标

  • 每日同步进度,承诺交付可工作的增量。

关键原则
✔ 无层级划分,集体对结果负责。
✔ 全职能覆盖,避免依赖外部团队。

二、Scrum的五个重要会议

scrum的基本流程:

1)产品负责人整理用户故事,形成produce backlog。

2)发布计划会议:product owner负责讲解用户故事,对其进行估算和排序,发布计划会议的产出是制定出这一期迭代要完成的story列表,sprint backlog。

3)迭代计划会议:项目团队对每一个story进行任务分解,标准为完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计。

4)每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么,今天计划做什么,遇到了哪些问题。

5)演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果,po整理反馈,形成新的story。

6)回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,以达到持续改进的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值