学习软件测试软件测试分类软件质量模型开发过程模型测试过程模型

Posted 一只小阿大:)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习软件测试软件测试分类软件质量模型开发过程模型测试过程模型相关的知识,希望对你有一定的参考价值。

软件测试分类

按阶段划分

单元测试

单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行地独立进行单元测试。

单元定义:C语言中的函数,Java中的一个类,在图形化的软件中,单元一般指一个窗口,1个菜单

集成测试

又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。重点测试不同模块的接口部分。

系统测试

将整个系统看为一个整体进行测试,测试的依据是软件需求说明书

到系统测试阶段,软件基本是完成的

验收测试

检验软件是否符合用户需求的测试

  • α测试
1、Alpha 是内测版本
2、通常只在软件开发者内部交流
3、一般而言,该版本软件的bug较多,普通用户最好不要安装。
  • β测试
1、Beta是公测版本,是对所有用户开放的测试版本。
2、这一版本通常由软件公司免费发布,用户可从相关的站点下载。
3、通过一些专业爱好者的测试,将结果反馈给开发者,开发者们再进行有针对性的修改。
  • γ
Gamma版本,指的是软件版本正式发行的候选版。该版本已经相当成熟了,与即将发行的正式版本差不多

按是否覆盖源代码

黑盒测试

又称为数据驱动测试,完全不考虑程序内部结构和特性,注重测试功能,只关心软件的输入输出数据,不关心具体实现方式。

白盒测试

不只关注功能,还要关注代码是如何实现的。(一般公司不会白盒测试,一般来说是测试人员不会,如果测试人员会看得懂开发人员写的代码即可白盒测试)

灰盒测试

介于黑盒和白盒之间的测试,比如接口测试。

按是否运行

静态测试

不运行软件,静态的观察软件是否符合预期。如需求文档的界面要求白色,但开发出来的是五颜六色,看一眼就知道不符合需求。

动态测试

运行软件,在运行过程中测试(基本都是动态测试,很少会有开发人员不按需求做,做完还不看的)

按是否自动化

人工测试

通过测试工程师通过手工对软件进行测试,相当于用户。

自动化测试

通过编写代码,通过程序自动测试软件bug

更多

冒烟测试

  • 对软件最基本的流程和工作做一个粗略的测试,看最基本的流程是否跑通。
  • 测试拿到研发的第一个版本,一般先冒烟。

回归测试

案例:测试人员测试了100个测试用例,发现有一个bug,提交给研发人员,研发进行了修复,又交给测试人员,这时候测试人员还是用原来的100个测试用例。

简而言之就是当修复一个BUG后,把之前的测试用例在新代码下进行再次测试

随机测试

主要是对被测试软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分。

探索测试

一边了解和学习项目,一边测试项目

软件质量模型

可以参考这篇文章

  1. 功能性
    功能的正确性
    功能的安全性
    功能的依从性
  2. 可靠性
    软件要有容错性
    出现错误后可以很快恢复
  3. 易用性
    软件界面是否流畅
    提示是否友好
    用户使用功能是否得当
  4. 效率
    软件一定是要高效的
  5. 维护性
  6. 可移植性
    适用于不同的系统

软件开发过程模型

瀑布模型

开发过程中使用的最多的模型

  1. 需求分析
  • 研发分析需求说明书
  • 判断需求的可实现性
  1. 概要设计
  • 用到具体的技术点
  • 大致模块划分
  1. 详细设计
  • 详细到可以为编码做支持
  • 类和类的关系,类的设计
  • 函数设计
  • 各个接口的细节
  • 数据库表的关系,字段关系
  1. 编码
  • 依托于详细设计进行编码操作
  1. 测试
  2. 维护
  • 上线后也是需要持续维护

瀑布模型的特点

  1. 是线性模型的一种,在所有模型中占有重要地位,是所有其他模型的一个基础
  2. 每一个阶段执行一次,文档驱动,按线性顺序进行软件开发。

瀑布模型的优缺点

优点

  1. 开发的各个阶段比较清晰
  2. 当前一个阶段完成后,只需关注后续阶段。

缺点

  1. 依赖于早期的需求调查,不适应需求的变化。
  2. 风险往往研制后期才显露,失去及早纠正的机会。

快速原型模型


在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。

快速原型模型的特点

  1. 快速得构建软件的原型
  2. 支持用户参与

快速原型模型的优缺点

优点

  1. 克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的项目开发风险。

缺点

  1. 不适合大型系统的开发(适合开发小型的、灵活性高的系统)

螺旋模型

螺旋模型的特点

  1. 引进了风险分析活动

螺旋模型的优缺点

优点

  1. 螺旋模型很大程度上是一种风险驱动的方法体系。

缺点

  1. 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识。

测试过程模型

从开发模型瀑布模型过来的,呈一 一对应关系

V模型

V模型的优缺点

优点

  1. 测试V模型既包含了底层测试又包含了高层测试
  2. 每个步骤都是文档驱动的

缺点

  1. 和研发瀑布模型一样,不能适应需求的改变,灵活性低

W模型

测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。

W模型的优缺点

优点

  1. 强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求和概要设计同样要测试;
  2. 更早地介入测试,可以发现开发初期的缺陷,那么可以用更低的成本进行缺陷修复。

缺点

  1. 使用起来技术复杂度高,对于需求和设计的测试要求高,实践起来困难。

以上是关于学习软件测试软件测试分类软件质量模型开发过程模型测试过程模型的主要内容,如果未能解决你的问题,请参考以下文章

软件测试常见概念(软件生命周期软件开发模型软件质量模型软件缺陷管理软件测试概述软件测试分类软件测试与软件开发软件测试原则黑盒测试方法白盒测试方法性能测试)

软件测试常见概念(软件生命周期软件开发模型软件质量模型软件缺陷管理软件测试概述软件测试分类软件测试与软件开发软件测试原则黑盒测试方法白盒测试方法性能测试)

用GQM法分析产品质量

软件工程简单学习了一下

软件测试测试工程师。你工作中最常用的几种质量管理模型

软件生存周期模型之V模型