一、什么是需求?

满足用户期望或正式规定文档(合同、标准、规范)所具有的条件和权能,包含用户需求和软件需求。

什么是用户需求?
理解为用户提出的需求,一般比较简单
什么是软件需求?
也称为功能需求,详细描述开发人员必须实现的软件功能
软件需求是测试人员进行测试工作的基本依据
需求也是需要测试的,并不一定是完全正确的。

二、什么是BUG?

软件错误的定义:程序与规格说明不匹配
当且仅当规格说明是存在并且正确的,程序与规格说明之前不匹配才是错误。
当没有规格说明书时,没有实现用户最终预期功能要求时,就是软件错误。

凡是效果和需求不相符的都可以认为是BUG
BUG的责任:第一为程序员,第二为测试人员
BUG的处理:生产环境上的问题,第一时间要回滚,再慢慢定位
第一时间定位BUG

三、什么是测试用例?

测试用例:为了实施测试而向被测试的系统提供的一组集合,测试环境,测试数据,预期结果等要素。

测试过程中可能会遇到下面问题:
- 不知道是否全面的测试所有的功能
- 测试覆盖率无法衡量
- 对新版本的重复测试很难实施(例如1.0版本功能点为100条,编写的测试用例为100个,1.1版本102个功能点,则还需要编写2个测试用例)
- 存在大量的冗余测试影响效率

编写手机添加联系人的测试用例:

  1. 测试编号:mobile_007
  2. 标题:添加联系人
  3. 模块:电话
  4. 环境:android8.0.0
  5. 操作平台: 手机
  6. 测试方式:手工
  7. 前置条件:联系人不存在
  8. 操作步骤:
    1.打开手机
    2.找到联系人图标
    3.点击联系人图标
    4.点击新建联系人图标
    5.输入信息,姓名,电话
    6.点击添加按钮
  9. 输入数据:
    1.哈哈
    2.1111
  10. 预期结果:
    1.打开手机
    2.进入联系人
    3.查找输是否存在输入的联系人信息e

四、开发模型

软件生命周期

软件生命周期是指从软件的设想到软件不再使用而结束的时间。
一般分为6个阶段: 需求分析、计划、设计、编码、测试、运行维护。

1.瀑布模型(Waterfall Model)


特点:每一个阶段只执行一次,线性顺序进行软件开发模式
适合需求比较稳定的项目,是所有其他模型的基础框架。
缺点:
周期长,因为是线性的,可能需求分析阶段引入的缺陷要等到最后测试阶段才能发现,软件的集成风险较大。

2. 螺旋模型(Spiral Model)
特点:采用渐进式的开发模型
优点:采用风险分析的方式,对于那些规模庞大、复杂度高、风险大的项目尤其适合
缺点:对风险管理的技能水平提出了很高的要求。这需要人 员、资金和时间的投入。

3. 增量、迭代
降低项目风险,促使开发小组以一种循环的、可预测的方式驱动产品的开发

4. 敏捷:
人与人之间的沟通交互重于过程和工具,对文档依赖轻
拥抱变化,接收变更

五、软件测试模型

一、软件测试V模型

图1 V模型

V模型事实上是瀑布模型的变种,将测试放在了编码后面,未在需求阶段就进行测试。

二、软件测试W模型

图2 W模型


W模型由两个V模型组成,分别代表开发和测试过程,明确表示出开发和测试的并行关系。
优点:有利于尽早发现问题,提高效率。
缺点:测试和开发活动也保持着一种线性的前后关系,上一阶段 完全结束,才可正式开始下一个阶段工作。无法支持敏捷开发模式。对于当前软件开发复杂多变的情况,W模 型并不能解除测试管理面临着困惑