软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等

软件测试流程

获取测试需求->编写测试计划->制定测试方案->开发并设计测试用例->执行测试->提交测试报告->测试分析与评审->提交测试总结->准备下一版本的测试
软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等_第1张图片

软件测试过程模型

V模型(重要)

揭示了开发过程与测试过程中各阶段的对应关系
缺点

  • 仅把测试过程作为在需求分析、系统设计以及编码后的一个阶段,忽视了测试对需求分析、系统设计的验证;
  • 需求满足的情况一直到后期的验收测试才被验证;
  • 没有体现出"尽早和不断地进行软件测试"的原则。
    软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等_第2张图片

W模型(重要)

用两个V模型组成,分别代表测试和开发过程,明确表示出测试与开发的并行关系
优点

  • 测试的活动与软件开发同步进行
  • 测试对象不仅仅是程序,包括需求和设计
  • 尽早发现软件缺陷可降低软件开发的成本

局限性
需求、设计、编码等活动被视为串行的,这样无法支持灵活的迭代。
软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等_第3张图片

H模型

将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动清晰地体现出来
揭示一个原理:软件测试是一个独立的流程(例:独立的测试外包公司)
软件尽早准备、尽早执行;可以先后进行,反复进行(迭代进行)
软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等_第4张图片

X模型

定位了探索性测试,不进行实现计划的特殊类型的测试,能帮助有经验的人员在测试计划之外发现更多的软件错误
软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等_第5张图片
测试过程(工作独立性)
独立性由高到低
专门的测试外包岗位>企业内部独立于研发部门的测试岗位>研发团队内部的岗位>开发人员自己测试

软件测试过程理念

尽早测试

  • 测试人员早期参与软件项目
  • 尽早的开展测试执行工作

全面测试

  • 对软件的所有产品进行全面的测试
  • 软件开发及测试人员(有时包括用户)全面地参与到测试工作(内测、公测等)

全过程测试

  • 测试人员要充分关注开发过程
  • 测试人员要对测试的全过程进行全程的跟踪

独立的、迭代的测试

  • 测试活动是独立的
  • 测试活动应该是循环往复、不断的进行
    软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等_第6张图片

软件测试的分类

按照开发阶段划分

  • 单元测试,又称模块测试
    一般由开发人员自己去完成(交叉)——测试人员不懂代码
    从内部结构出发,发现内部可能存在的各种错误。
    (post方式传递更安全)
  • 集成测试,又称组装测试
    比较多的设计到接口测试
  • 确认测试
    客户要求的功能是否实现(正向测试);
    也把确认测试成为:“冒烟测试”,一般不作为正式的测试环节或者阶段
  • 系统测试
    真实的系统运行环境下,检查完整的程序系统能否和系统(包括硬件、外设、网络和系统软件、支持平台)正确配置、连接,并最终满足用户的所有需求
  • 验收测试
    一般供求双方。一般有三种验收测试的主体。
    α测试:软件开发商自己进行的交付前测试
    β测试:软件的需求方自己进行的测试
    γ测试:第三方软件测试公司

按照测试技术划分

  • 黑盒测试
    通过软件的外部表现来发现其缺点和错误,完全不考虑内部结构
  • 白盒测试
    又称“结构测试”,通过对系统内部结构的分析、检测来寻找问题。
  • 灰盒测试
    关注输出对于输入的正确性;同时也关注内部表现,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。
    现在多指接口测试等

按照发代码运行划分

  • 静态测试
    静态地检查程序代码、界面或文档中可能存在错误的过程
    代码测试:主要测试代码是否符合相应的标准规范
    界面测试:主要测试软件的实际界面与需求中的说明是否符合
    文档测试:主要测试用户手册和需求说明是否真正符合用户的实际需求
  • 动态测试
    实际运行被测对象,输入相应的测试数据,检查实际输出结果和预期结果是否相符
    区分二者的区别:是否运行程序

按照软件特性划分

  • 功能测试:逻辑功能、界面测试、易用性测试、安装/卸载、兼容性测试
  • 性能测试:主要有时间和空间性能
  • 安全性测试:验证系统内的保护机制能否在实际应用中队系统进行保护

其他测试类型

  • 回归测试
    验证之前版本产生的所有缺陷已全部被修复
    确认修复这些缺陷没有引发新的缺陷
  • 冒烟测试
    (可测性测试)确认测试,确认软件的基本功能是否实现
  • 随机测试
    根据测试人员的经验和直觉,发现一些边缘性的错误
  • 猴子测试
    把自己当成不懂产品的笨蛋或者动物,随便乱点,产生一些意想不到的错误

按照运行主体划分

  • 手工测试
  • 自动化测试利用工具软件或者代码编写方式,测试被测系统。
    软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等_第7张图片

测试原则

  • 所有测试的标准都是建立在用户需求之上。
  • 软件测试必须基于“质量第一”的思想去开展各项工作,当时间和质量冲突时,时间要服从质量。
  • 事先定义好产品的质量标准,只有有了质量标准,才能根据测试的结果,对产品质量进行分析和评估。
  • 软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试。
  • 穷举测试是不可能的。
  • 第三方进行测试会更客观,更有效。
  • 软件测试计划是做好软件测试工作的前提。
  • 测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多地发现错误,提高程序的可靠性。
    软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等_第8张图片

    不可以

    需求阶段

    不是,穷举测试是不可能的,测试为尽可能发现错误


    软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等_第9张图片

    软件测试(二)——软件测试流程、软件测试过程模型、软件测试过程理念、软件测试的分类、测试原则等_第10张图片

你可能感兴趣的:(测试用例,功能测试)