day01 - 软件测试理论

一、开发模型

  1. 瀑布模型
  • 优点
    开发阶段,各个阶段比较清晰;强调早期计划及需求调查;适合稳定需求的产品开发;
  • 改良:每个阶段都可以融入小的迭代工作!
  1. 快速原型模型
    实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户最终需求;
  • 优点:适合不能确定需求的软件;
  • 缺点:不适合开发大型系统。

二、测试模型

1. v模型

day01 - 软件测试理论_第1张图片

  • 单元测试:又称模块测试,针对单一的程序模块进行的测试
  • 集成测试:又叫组装测试,在单元测试的基础上,对所有模块进行测试。
  • 系统测试:将整个软件看做一个整体来进行测试,包括功能、性能、兼容性
  • 验收测试:
    (1)内测版(alpha)内部交流版本,可能存在很多bug,不建议用户安装。
    (2)公测版(beta)面向所有用户,通过用户的反馈再去修改细节。
    (3)候选版(gamma)与正式软件相差无几。
  • 优点:
    (1)包含了底层测试(单元测试)和高层测试(系统测试);
    (2)清楚的标识了开发和测试的各个阶段;
    (3)自上而下逐步求精,每个阶段分工明确,便于整体项目的把控。
  • 缺点:
    (1)自上而下的顺序导致了,测试工作在编码之后,就导致错误不能及时的进行修改;
    (2)实际工作中,需求经常变化,导致v模型步骤,反复执行,返工量很大,灵活度较低。
  • 改良:每个步骤都可以进行小的迭代工作。

2. w模型
day01 - 软件测试理论_第2张图片

  • 优点

    (1)开发和测试伴随着整个开发周期,需求和设计同样要测试;
    (2)更早的介入测试,可以发现初期的缺陷,修复成本低;
    (3)分阶段工作,方便项目整体管理。

  • 缺点
    (1)开发和测试依然是线性的关系,需求的变更和调整,依然不方便;
    (2)如果没有文档,根本无法执行w模型;
    (3)对于项目组成员的技术要求更高!

总结
(1) v模型适用于中小企业
(2) w模型适用于中大型企业(因为人员要求高)
(3) h模型人员要求非常高,很少有公司使用

三、软件测试分类
day01 - 软件测试理论_第3张图片

  1. 按测试阶段划分
  • 单元测试
  • 集成测试
  • 系统测试
  1. 是否覆盖源代码:
  • 白盒测试:又称数据驱动测试,完全不考虑从内部机构和特性,只注重软件的功能需求(不管代码)
  • 黑盒测试:把盒子打开研究里面的程序结构和源代码;
    (1)功能测试 (2)性能测试
  • 灰盒测试:
  1. 根据是否运行
  • 静态测试(不运行程序)
  • 动态测试(运行程序)
  1. 其它:
  • 回归测试
  • 冒烟测试
  • 随机测试
  • 验收测试(内测、公测、候选版)
  1. 根据是否自动化
  • 人工测试
  • 自动测试

四、测试用例方法

  1. 等价类划分法
  2. 因果图法
  3. 流程分析法
  4. 场景法
  5. 错误推断法
  6. 正交表法
  7. 混合正交表法

五、等价类划分法

  • 概念

    属于黑盒测试,它将不能穷举的测试过程进行分类,从而保证完整性和代表性;

  • 思考步骤
    1)确定有效等价类和无效等价类
    2)有效等价类划分(题目条件,还要注意边界值(极值),中间再随意找个值)
    3)无效等价类划分(跟有效等价类相反,其它特殊情况(中文、英文、特殊符号、空格、空))

  • 等价类细节总结

    1)考虑输入长度
    2)考虑输入类型
    3)组成规则
    4)是否为空
    5)是否区分大小写
    6)是否重复
    7)是否去除空格


两个框要一个正确,一个错误,这样才能准确的判断;一定要根据需求来判断预期结果;

qq登录等价类划分法测试用例简单设计
day01 - 软件测试理论_第4张图片
六、因果法


  1. 输入条件


  2. 输出结果

  3. 因果图法基本步骤

    (1)找出所有的原因,原因即输入条件或输入条件的等价类。
    (2)找出所有的结果,结果即输出条件。
    (3) 明确所有输入条件之间的制约关系以及组合关系。
    哪些条件不能组合到一起,哪些条件可以组合到一起
    (4) 明确所有输出条件之间的制约关系以及组合关系。
    哪些输出结果不能同时输出,哪些输出结果可以同时输出
    (5) 找出什么样的输入条件组合会产生哪种输出结果
    (6) 把因果图转换成判定表/决策表。
    (7) 为判定表/决策表中的每一列表示的情况设计测试用例。

    如果出现“-“代表此选项不影响最终结果。

交通一卡通充值测试
day01 - 软件测试理论_第5张图片
确定输入输出
day01 - 软件测试理论_第6张图片
通过输入输出及因果关系制作出表格
day01 - 软件测试理论_第7张图片
七、 判定表

  • 组成部分
    条件桩:所有的条件(输入)
    动作桩:所有的结果(输出)
    条件选项:针对条件桩的取值
    动作选项:针对动作桩的取值
  • 书写步骤
    列出所有条件和动作桩
    填写条件和动作桩中的所有项
    简化判定表

判定好学生的简单判定表
day01 - 软件测试理论_第8张图片
八、场景法

  • 概念
    主要用来测试业务流程;分为基本流(正确流程)和备选流(错误流程),在冒烟测试中主要采用场景法来测试;

你可能感兴趣的:(软件测试理论)