测试基础知识
开发模型和测试模型
软件的生命周期
软件的生命周期指的是产品从设想开始到软件不再使用的时间。
软件的生命周期可以分为6个阶段:需求分析,计划,设计,编码,测试,运行维护。
瀑布模型
适用项目:小型的项目。
特点:由上图可以看到瀑布模型每个阶段只执行一次,所以瀑布模型是线性顺序进行的软件开发模型。
优点:
强调开发的阶段性
强调早期计划及需求调查
强调产品测试
缺点:
不能适应需求的变化。后期存在风险时失去了较早矫正的机会。
螺旋模型
适用项目:比较大的项目且风险比较高。
特点:是渐进式开发模型之一。
优点:每个阶段都会进行风险分析,避免一些线上问题的发生。
缺点:风险分析可能会分析错误,人力财力的投入较大。
增量、迭代
增量是逐块建造的概念。
迭代是反复求精的概念。
敏捷
敏捷是一种思想。
敏捷宣言:
- 个体和互动 高于 流程和工具
- 工作的软件 高于 详尽的文档
- 客户合作 高于 合同谈判
- 响应变化 高于 遵循计划
scrum
scrum是敏捷开发的一种模式。
Scrum 是一种敏捷项目管理框架,通过一组价值观、原则和实践来协助团队进行工作的结构化和管理。类似于橄榄球队(Scrum 这个词来自于橄榄球比赛中的一个术语)为了大赛而训练,Scrum 鼓励团队通过经验学习,自我组织解决问题,并反思他们的成就。
Scrum 的主要特点包括以下几点:
明确的角色分工:产品负责人、Scrum Master 和开发团队。
明确的会议:Sprint 计划会议、每日 Scrum 会议、Sprint 评审会议和Sprint 回顾会议。
明确的工件:产品积压、Sprint 目标和增量。
通过这些明确的角色、会议和工件,Scrum 帮助团队实现更好的协作、更高效的决策和更好的透明度,从而提高团队的生产效率和创造力。
Scrum 的基本流程如下:
- 产品负责人负责制定并维护产品积压(Product Backlog),其中包括了所有待办的需求和功能,这些需求根据优先级进行排序。
- Scrum 团队根据产品积压选取优先级最高的需求并将其转化为 Sprint 背log(Sprint Backlog)。
- Sprint Planning 是一个会议,旨在协调 Scrum 团队的工作,确定 Sprint 目标,并定义可交付的增量。
- Scrum 团队执行 Sprint Backlog 所包含的任务。
- 每日 Scrum 会议是一种短暂的日常会议,旨在让 Scrum 团队成员汇报他们的工作进展、面临的问题和计划。
- Sprint 结束时,Scrum 团队进行 Sprint 评审会议,演示已经完成的工作,并接受利益相关者的反馈意见。
- Sprint 回顾会议是 Scrum 团队进行自我反思的过程,回顾 Sprint 执行的情况,识别优点和缺陷,并制定改进计划。
在整个 Scrum 流程中,团队需要不断地学习和改进。它强调简洁、透明和自我组织,以及快速响应变化的能力。
软件测试V模型
V模型是一种软件开发模型,它是从瀑布模型演变而来。V模型将软件测试活动与软件开发过程(从分析到设计)紧密结合,强调测试活动在整个软件开发周期中起到了至关重要的作用。V模型的流程可以概括为:系统需求 -> 系统架构 -> 软件需求 -> 软件架构 -> 软件详细设计 -> 软件单元(代码),并且测试工作也贯穿在整个流程中。V模型的左侧表示软件开发阶段,右侧表示相应阶段的测试活动,整个图形像一个"V"字形。
特点:左边是开发,右边是测试。
V模型作为一种软件测试模型具有以下优点:
- 测试活动与软件开发过程密切结合,强调测试在整个开发周期中的重要性。这可以确保软件测试的及时性和有效性,避免了软件开发完之后才开始测试所带来的问题。
- 可以在早期发现缺陷并及时修复,从而降低软件开发成本,并提高软件质量和可靠性。
- 明确地标明了各个测试级别和对应的开发阶段,使得测试工作的组织更加清晰、系统化,方便测试人员的工作。
- 提供了从系统需求到最终测试的全面测试流程,确保所有的测试活动都可以被实施,避免了意外的遗漏。
- 由于测试是在软件开发阶段的同时进行的,因此开发人员可以更快地识别和定位问题,缩短处理时间,同时增强了开发人员和测试人员之间的协作和沟通。
缺点:发现问题时间太晚,维护成本会高一点。
软件测试W模型
它相对于传统的V模型,增加了软件开发各阶段中同步进行的验证和确认活动,因此可以更好地服务于软件的测试工作。W模型由两个V字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系。W模型强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。从需求分析开始,测试工程师就应该参与到项目的测试中,以便尽早全面地发现问题
特点:测试的对象不仅仅是程序,需求、设计等同样要测试,测试与开发是同步进行的。
W模型的优点主要有:
- 测试与开发同步进行:W模型可以让测试活动伴随整个软件开发周期,并且测试与开发是同步进行的。这样可以避免在软件开发结束后才进行测试,从而可以更早地发现并修复问题。
- 强调全面测试:W模型不仅测试程序,还包括需求、设计等开发输出的文档。这样可以保证软件的全面性和正确性。
- 明确测试活动:W模型将软件测试分为多个阶段,每个阶段都有明确的测试活动和测试目标。这样可以更好地组织测试工作,提高测试效率。
- 管理风险:W模型在每个阶段都有验证和确认活动,可以及时发现并解决问题,从而降低软件测试风险。
缺点:不能拥抱变化。
软件测试的生命周期
软件测试的生命周期包括以下阶段:单元测试、集成测试、系统测试、验收测试、Alpha测试、Beta测试和回归测试等级别。其中单元测试是最基础的测试,集成测试是测试组件之间的接口,系统测试将整个系统视为一个整体进行测试,验收测试检查系统是否符合要求,Alpha测试是再开发之前内部测试,Beta测试是在发布之前公开测试。同时还有非功能测试、安全测试、可移植性测试等类型的测试。
软件测试的生命周期:需求分析——>测试计划——>测试设计、测试开发——>测试执行——>测试评估。