软件测试(基础)

软件

  • 程序
  • 数据
  • 文档

软件的分类

  • 按层次划分
  • 按组织划分
  • 按结构划分

软件缺陷的定义

所有不满足需求或超出需求的都是缺陷
没有不存在缺陷的软件,只有迄今为止尚未发现的缺陷.
软件未实现产品说明书要求的功能
软件出现了产品说明书指定不应该出现的功能
软件实现了产品说明书未提到的功能
软件未实现产品说明书虽未提到,单应该实现的功能.

软件测试的定义

正向思维:

	出发点:使自己确信产品是能够正常工作的评价一个程序和系统的特性或能力,并确定它是否达到期望的结果,软件测试就是以此为目的的任何行为.

反向思维:

	出发点:测试是为了发现错误而执行一个程序或者系统的过程
	测试是为了证明程序有错,而不是正确程序无错误
	一个好的测试用例在域他能发现以前未发现的错误.
	一个成功的测试是发现了以前未发现的错误的测试.

IEEE定义的测试 (全称是Institute of Electrical and Electronics Engineers)

	在规定条件下运行系统或构件的过程:观察和记录结果,并对系统或构件的某些方面给出评价.
	分析软件项目的过程:检测现有状况和所需状况之间的不同,并评估项目的特性.

美国的电子技术与信息科学工程师的协会

广义软件测试定义:

软件测试是对软件形成过程中的所有工作产品(包括程序以及相关文档)进行的测试,而不仅仅是对程序的运行测试.
确认(Validation)
	通过检查和提供客观证据来证实特定**目的功能或应用是否已经实现**
验证(Verification)
	通过检查和提供客观证据来证实指定的**需要是否满足.**	

软件测试的目的

以最少的人力,物力和时间找出软件中潜在的各种错误和缺陷,保证各种错误和缺陷得以修复,避免软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险.
同时利用测试过程中得到的测试结果和测试信息,作为后续项目开发和测试过程改进的重要输入,避免在后续的开发和测试中重复同样的错误.
采用更加高效的测试管理手段,提高软件测试的效率和软件产品的质量.

测试和调试的区别:
测试: 调试:
主体 测试人员 开发 人员
目标 找bug 将错误修改正确
方法 等价类,边界值… 程序和逻辑算法对不对,合理不合理.
思路 反向思维, 正向思维

测试是从已知的条件开始,使用预先先定义的过程,并且有预知的结果,调试是从未知的条件开始,结束的过程可能不可预计
测试可以计划,可以预先制定测试用例和过程,工作进度可以度量,描述调试的过程或持续时间相对比较困难.
测试的对象包括软件开发过程中的文档,数据以及代码,而调试的对象一般来说只是代码.

软件工程包括两个方面的内容:

	软件开发技术:软件开发方法学,软件工具和软件工程环境
	软件项目管理:软件质量,项目估算,进度控制,人员组织,配置管理,项目计划.

软件测试是软件质量管理体系中一个非常重要的手段.

软件的生命周期模型

需求分析-概要设计-详细设计-编码-测试-验收
在这里插入图片描述
在这里插入图片描述

瀑布模型:最早提出软件开发的过程模型.

  1. 存在的问题:
  • 强调时间顺序的严格执行,前阶段不完成,后阶段不开始.
  • 将测试放在了编码之后,没有体现出测试贯穿软件生命周期的原则,可以避免需求的问题一直延续代码完成才暴露或者被发现.
  • 不适应用户需要的变化.

学习要求:会画出来瀑布模型.
2) 优点

  • 为项目提供了按阶段划分的检查点.
  • 当前一阶段完成后,只需要去关注后续阶段.
  1. 缺点
    • 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量
    • 线性开发,用户等到整个过程的末期才能见到开发成果,从而增加了开发风险.
    • 瀑布模型不适应用户需求的变化.

螺旋模型

螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控.
引入了其他模型不具备的分险分析,使软件在无法排除重大风险时有机会停止,以减少损失.
螺旋模型更适合大型的昂贵的系统级别的软件应用.
在这里插入图片描述

迭代模型

迭代包括 生产品发布(稳定,可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他元素,强调开发的深入
在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:需求分析,设计,实施和测试工作流程.
迭代过程具有以下优点:
降低了在一个增量上的开支分险.
降低了产品无法按照既定进度进入市场的分险.
加快了整个开发工作的进度.迭代过程这种模式适应需求的变化会更容易些.
在这里插入图片描述

敏捷模型

敏捷宣言,也叫做敏捷软件开发宣言,正式宣布了对四种核心价值和十二条原则,是一种以人为核心,迭代,循序渐进的软件开发方法.
在这里插入图片描述
面试官:迭代多少个版本, (升级)发布了多少版本
迭代周期? 每一个版本花多少时间(2周-6周)
以人为本:弱化文档,强调沟通.

增量模型:

	把软件分割成独立的模块,分批次的完成交付.
	缺点:打破原有的软件结构和框架,可能会带来一定的风险.
	增量模型和迭代模型一起运用.
	1) 软件增加了新功能
	2) 优化了..功能
	3) 修复了某些未知/已知bug

快速原型模型

	应用领域越来越多.
	原型:就是一个模型.可以模拟操作,简单运行.
	典型应用和工具: Axure. 制作原型.

软件测试流程(重点)

在这里插入图片描述
测试需求分析阶段:
测试计划阶段: 主要认为是编写测试计划
测试设计阶段: 编写测试用例
测试执行阶段: 搭建测试环境,执行预测(冒烟).
测试评估阶段:

软件测试过程模型

1 v模型
2 w模型

3 h模型
4 x模型

v模型 揭示了开发过程与测试过程中各阶段的对应关系. (面试经常问,下图要会画.)

在这里插入图片描述

w模型

		由两个v字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系.

在这里插入图片描述
优点:测试的活动与软件开发同步进行
测试对象不仅仅是程序,包括需求和设计
尽早发现软件缺陷可降低软件开发的成本
局限性:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值