测试基础知识

测试基础知识_第1张图片

开发模型和测试模型

软件的生命周期

软件的生命周期指的是产品从设想开始到软件不再使用的时间。

软件的生命周期可以分为6个阶段:需求分析,计划,设计,编码,测试,运行维护。

瀑布模型

适用项目:小型的项目。

特点:由上图可以看到瀑布模型每个阶段只执行一次,所以瀑布模型是线性顺序进行的软件开发模型。

优点:

强调开发的阶段性

强调早期计划及需求调查

强调产品测试

缺点:

不能适应需求的变化。后期存在风险时失去了较早矫正的机会。

螺旋模型

测试基础知识_第2张图片

适用项目:比较大的项目且风险比较高。

特点:是渐进式开发模型之一。

优点:每个阶段都会进行风险分析,避免一些线上问题的发生。

缺点:风险分析可能会分析错误,人力财力的投入较大。

增量、迭代

增量是逐块建造的概念。

迭代是反复求精的概念。

敏捷

敏捷是一种思想。

敏捷宣言:

  • 个体和互动 高于 流程和工具
  • 工作的软件 高于 详尽的文档
  • 客户合作 高于 合同谈判
  • 响应变化 高于 遵循计划

scrum

scrum是敏捷开发的一种模式。

Scrum 是一种敏捷项目管理框架,通过一组价值观、原则和实践来协助团队进行工作的结构化和管理。类似于橄榄球队(Scrum 这个词来自于橄榄球比赛中的一个术语)为了大赛而训练,Scrum 鼓励团队通过经验学习,自我组织解决问题,并反思他们的成就。

Scrum 的主要特点包括以下几点:

明确的角色分工:产品负责人、Scrum Master 和开发团队。

明确的会议:Sprint 计划会议、每日 Scrum 会议、Sprint 评审会议和Sprint 回顾会议。

明确的工件:产品积压、Sprint 目标和增量。

通过这些明确的角色、会议和工件,Scrum 帮助团队实现更好的协作、更高效的决策和更好的透明度,从而提高团队的生产效率和创造力。

测试基础知识_第3张图片

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模型

测试基础知识_第4张图片

V模型是一种软件开发模型,它是从瀑布模型演变而来。V模型将软件测试活动与软件开发过程(从分析到设计)紧密结合,强调测试活动在整个软件开发周期中起到了至关重要的作用。V模型的流程可以概括为:系统需求 -> 系统架构 -> 软件需求 -> 软件架构 -> 软件详细设计 -> 软件单元(代码),并且测试工作也贯穿在整个流程中。V模型的左侧表示软件开发阶段,右侧表示相应阶段的测试活动,整个图形像一个"V"字形。

特点:左边是开发,右边是测试。

V模型作为一种软件测试模型具有以下优点

  1. 测试活动与软件开发过程密切结合,强调测试在整个开发周期中的重要性。这可以确保软件测试的及时性和有效性,避免了软件开发完之后才开始测试所带来的问题。
  2. 可以在早期发现缺陷并及时修复,从而降低软件开发成本,并提高软件质量和可靠性。
  3. 明确地标明了各个测试级别和对应的开发阶段,使得测试工作的组织更加清晰、系统化,方便测试人员的工作。
  4. 提供了从系统需求到最终测试的全面测试流程,确保所有的测试活动都可以被实施,避免了意外的遗漏。
  5. 由于测试是在软件开发阶段的同时进行的,因此开发人员可以更快地识别和定位问题,缩短处理时间,同时增强了开发人员和测试人员之间的协作和沟通。

缺点:发现问题时间太晚,维护成本会高一点。

软件测试W模型

测试基础知识_第5张图片

它相对于传统的V模型,增加了软件开发各阶段中同步进行的验证和确认活动,因此可以更好地服务于软件的测试工作。W模型由两个V字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系。W模型强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。从需求分析开始,测试工程师就应该参与到项目的测试中,以便尽早全面地发现问题

特点:测试的对象不仅仅是程序,需求、设计等同样要测试,测试与开发是同步进行的。

W模型的优点主要有:

  1. 测试与开发同步进行:W模型可以让测试活动伴随整个软件开发周期,并且测试与开发是同步进行的。这样可以避免在软件开发结束后才进行测试,从而可以更早地发现并修复问题。
  2. 强调全面测试:W模型不仅测试程序,还包括需求、设计等开发输出的文档。这样可以保证软件的全面性和正确性。
  3. 明确测试活动:W模型将软件测试分为多个阶段,每个阶段都有明确的测试活动和测试目标。这样可以更好地组织测试工作,提高测试效率。
  4. 管理风险:W模型在每个阶段都有验证和确认活动,可以及时发现并解决问题,从而降低软件测试风险。

缺点:不能拥抱变化。

软件测试的生命周期

软件测试的生命周期包括以下阶段:单元测试、集成测试、系统测试、验收测试、Alpha测试、Beta测试和回归测试等级别。其中单元测试是最基础的测试,集成测试是测试组件之间的接口,系统测试将整个系统视为一个整体进行测试,验收测试检查系统是否符合要求,Alpha测试是再开发之前内部测试,Beta测试是在发布之前公开测试。同时还有非功能测试、安全测试、可移植性测试等类型的测试。

软件测试的生命周期:需求分析——>测试计划——>测试设计、测试开发——>测试执行——>测试评估。

你可能感兴趣的:(测试开发,java)