软件测试的概念

2021/12/2 23:13:22

本文主要是介绍软件测试的概念,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

软件测试基础

  • 一、什么是软件测试
  • 二、软件测试跟软件开发的区别?
  • 三、什么是需求?
  • 四、测试用例
  • 五、什么是BUG
  • 六、软件开发的五个模型
    • 6.1瀑布模型
    • 6.2螺旋模型
    • 6.3增量模型
    • 6.4迭代模型
    • 6.5敏捷模型
  • 七、软件测试模型
    • 7.1软件测试V模型
    • 7.2软件测试W模型

一、什么是软件测试

  • 软件测试就是测试人员用一系列手段来判断软件是否满足用户需求。
  • 软件测试要验证软件功能的正确性
  • 软件测试要验证软件测试功能是否满足对软件的“预期结果”
  • 软件测试的特点:软件测试只是一个样本实验,具有不可穷尽性

二、软件测试跟软件开发的区别?

  1. 软件研发的流程
    需求—计划—设计—开发/编码—测试—运行维护
  2. 软件测试跟软件开发中调试的区别
    a.目的:
    软件测试是测试人员根据需求看软件功能是否满足(实现)了用户的需求
    软件调试是开发人员看软件功能是否实现了他(软件开发人员)想让软件实现的功能
    b.角色
    软件测试:开发人员和测试人员共同完成 白盒测试是由白盒测试工程师或软件开发人员来完成
    软件调试:开发人员独立完成
    c. 阶段
    软件测试:贯穿到了整个软件开发流程
    软件调试:开发阶段

三、什么是需求?

  1. 需求:满足规范、标准、合同等文档锁需要的条件和权限
  2. 用户需求:系统的使用者提出的需求,系统要满足用户的期望,所需要的条件或权限。
  3. 软件需求:用户需求经过验证和分析之后转化成的合理需求,一般以文档的形式进行展示。(软件需求是用户需求的细化,细节的进一步实现文档)
  4. 需求是软件测试人员的依据
  • 测试人员如何才能深入了解需求:
    把自己当成用户,多和需求的来源交流 把自己代入到用户体验,多积累,从需求的一开始就介入,不断与用户或者项目组的人员讨论

四、测试用例

  • 概念:测试用例就是向被测试的系统的某一个功能点发起的一组集合,包括测试环境、测试数据、测试步骤、预期结果(标题、测试功能、方法、重要性、优先级、测试方式)
    在这里插入图片描述
  • 测试用例解决了测什么?怎么测?

五、什么是BUG

  • 如果需求规格说明书(软件需求)存在且合理,不符合需求规格说明的就是软件错误(BUG)
  • 如果需求规格说明书(软件需求)不存在,用户的需求存在且合理,不符合用户需求的就是软件错误(BUG)

六、软件开发的五个模型

6.1瀑布模型

在这里插入图片描述

  • 优点:
    1.强调开发的阶段性
    2.强调早期计划及需求调查
    3.强调产品测试
  • 缺点:
    1.串行,有去无回
    2.测试介入晚,导致项目前期的问题到后面才发现,失去了错误及时修正的机会
    3.不支持需求频繁变动的项目

6.2螺旋模型

在这里插入图片描述

  • 缺点:
    1.风险分析要求很高,需要投入专业的人员导致时间,项目支出费用会比较高
    2.风险分析对测试人员和开发人员要求比较高

6.3增量模型

6.4迭代模型

6.5敏捷模型

  • 特点:
    1.重目标,重产出,轻文档,轻流程
    2.注重和客户的沟通,整个研发团队有效沟通,注重产品质量,注重产品规格的交付日期。(拥抱变化,客户可以在项目开发过程中改变需求)
    3.敏捷开发周期很短(1-4周),研发团队人员(5-9人)

  • 角色:
    1.PO:产品经理
    2.SM:项目经理
    3.ST:研发团队
    在这里插入图片描述

  • Scrum流程:
    1.发布计划会
    2.迭代计划会议
    3.每日站会
    4.产品演示会议
    5.项目总结
    在这里插入图片描述

七、软件测试模型

7.1软件测试V模型

在这里插入图片描述

  1. 特点:左边开发的每一个阶段和测试的每一个阶段对应起来,是测试每一个阶段的依据
  2. 缺点:串行的过程,测试是在编码后有的,测试介入比较晚,导致前期的错误后期发现,后续测试发现时,已经失去了错误及时纠正的最好时机

7.2软件测试W模型

在这里插入图片描述

  1. 特点:测试在需求分析时介入,双V模型,开发和测试是并行进行的
  2. 优点:测试介入比较早,项目前期的问题可以及时发现,在一定程度上可以保证产品的质量
  3. 缺点:串行过程,阶段性比较强,不能适应需求的频繁变更,不适用敏捷开发


这篇关于软件测试的概念的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程