软件测试 – 概念篇

1.需求

1.1 概念

满足用户的期望或正式规定文档(合同, 规定, 规范)所具有的条件和权能

  • 用户需求: 一般比较简单/粗略;
  • 软件需求: 或叫做功能需求,该需求会详细描述开发人员必须实现的软件功能;

吃饭的例子: 用户需求: 我饿了 软件需求: 想吃炒菜米饭,锅包肉,冰淇淋… 需求不一定完全正确,需求也需要测试

2.Bug

2.1 概念

  1. 当规格说明书是存在的并且是正确的,程序与规格说明书之间的不匹配才是错误;
  2. 当规格书不存在的时候,程序没有实现最终用户合理的预期的功能要求时时,就是软件错误;

Bug后果: 用户流失; Bug责任: 第一责任人为测试; Bug处理: 生产环境上的问题,要第一时间回滚,再慢慢定位; Bug态度: 心存敬畏,但是不要害怕,程序员身上背负的Bug,就像是一个老兵身上的伤疤,是最值得骄傲的军工勋章;

3.测试用例

3.1 概念

为了实施测试而向被测试的系统提供的一组集合,这组集合包括: 测试环境, 操作步骤, 测试数据, 预期结果等要素;

3.2 测试核心步骤

不同的要求步骤会改变,但是以下三点一定是有的

  • 操作步骤
  • 输入数据
  • 预期结果

3.3 测试用例中可能遇到的问题

  1. 不知道是否较全面的测试了所有功能;
  2. 测试覆盖率无法衡量;
  3. 对新版本的重复测试很难实施;
  4. 存在大量冗余测试影响测试效率;
    手机添加联系人测试用例:

测试用例一: 标题: 手机添加联系人测试用例 环境: android5.7.0 (具体版本) 操作平台: 手机 测试方式: 手工 前置条件: 手机 码正确并且联系人不存在; 操作步骤: 1.打开手机; 2.找到桌面上拨 图标; 3.输入 码; 4.点击添加联系人; 1) 输入联系人姓名(必填); 2) 输入联系人其他信息,如住址,微信等(选填); 3) 点击保存; 5. 点击完成按钮 输入数据: 18706813937 预期结果: 1.进入联系人列表; 2.输入联系人姓名或者手机 码进行查找; 3.成功显示联系人信息;
测试用例二: 标题: 手机添加联系人测试用例 环境: android5.7.0 (具体版本) 操作平台: 手机 测试方式: 手工 前置条件: 手机 码正确但是联系人已存在; 操作步骤: 1.打开手机; 2.找到桌面上拨 图标; 3.输入 码; 4.点击添加联系人; a) 选择新建联系人还是在原有基础上插入; b) 输入联系人信息; c) 点击保存; 5. 点击完成按钮 输入数据: 18706813937(正确且存在) 预期结果: 1.进入联系人列表; 2.输入联系人姓名或者手机 码进行查找; 3.成功显示联系人信息;
测试用例三: 标题: 手机添加联系人测试用例 环境: android5.7.0 (具体版本) 操作平台: 手机 测试方式: 手工 前置条件: 手机 码不正确; 操作步骤: 1.打开手机; 2.找到桌面上拨 图标; 3.输入 码; 4.点击添加联系人; 5.提示 码不正确 输入数据: 111111111111111111 预期结果: 1.进入联系人列表; 2.输入联系人姓名或者手机 码进行查找; 3.未查找到相关信息

4.开发模型和测试模型

开发模型

4.1 软件生命周期阶段

是指从软件产品的设想开始到软件不再使用而结束的时间; 可以大致分为以下六个阶段: 需求分析 -> 计划 -> 设计 -> 编码 -> 测试 -> 运维

4.2 瀑布模型(Waterfall Model)

  • 明确标注了测试过程中存在的不同类型的测试,并且清除的描述了这些测试阶段和开发过程期间各阶段的对应关系;
  • V模型支出,单元和集成测试应检测程序执行的是否满足软件设计的需求;系统测试应检测系统功能,性能的指标是否达到系统要求指标;验收测试确定软件的实现是否满足用户需求或合同的要求;
  • 局限性: 仅仅把测试作为在编码之后的一个阶段, 未在需求阶段就进入测试;

W模型

软件测试 - 概念篇
用户需求: 确定测试范围; 概要设计: 搭建概要的设计框架; 详细设计: 细化测试框架; 编码阶段: 编写测试用例; 集成阶段: 编写集成测试的测试用例; 实施阶段: 正式执行测试, 测试环境的搭建,测试数据的准备,执行测试用例, 缺陷的管理, 编写测试 告; 交付阶段: 协助客户完成验收测试;
  • W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。
  • W模型特点:测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进行的
  • W模型优点:有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和 确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制 定应对措施,显著减少总体测试时间,加快项目进度。
  • 局限性:需求、设计、编码等活动被视为串行的;测试和开发活动也保持着一种线性的前后关系,上一阶段 完全结束,才可正式开始下一个阶段工作。无法支持敏捷开发模式。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。

5.配置管理和软件测试

配置管理是通在软件生命周期不同的时间点上的软件配置进行标识,并对这些被标识的软件配置项的更改进行系统控制,从而达到保证软件产品的完整性和可塑性的过程
软件配置管理的应用软件开发过程中会产生大量的软件产品(包括文档,源代码,数据等),且这些产品之间存在着关联关系.同一软件产品也会发生变更,从而产生许多版本;软件开发小组必须清晰地知道会有哪些产品、这些产品会有哪些不同的形式和版本。开发小组必须清晰地知道如何将产品的变更通知给受影响的小组。如果不能有效地了解软件产品及其变 更,开发小组将很难组装这些软件产品,很难得到所需的软件产品。
实施软件配置管理的好处实施软件配置管理(SCM),至少能给项目团队带来如下好处。 

  • 能够对项目中的文档、代码等的变化进行有效管 理。
  • 能够方便地重现某个文件的历史版本。
  • 能够重新编译某个历史版本,使维护工作变得容易。
  • 能够使 异地多团队开发、并行开发成为现实。
  • 从公司级看,实行统一的配置管理流程可提高项目组间人员流动时的工作效率。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年6月9日
下一篇 2018年6月9日

相关推荐