测试分类和原则

2023年7月24日09:07:34

软件测试分类、原则

  1. 软件测试的分类
    一、按照开发阶段划分

1)单元测试
·单元测试又称模块测试,是针对软件设计的最小单位—-程序模块进行正确性检验的测试工作。其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能性能、接口和设计约束等要求,发现各模块内部可能存在的客种错误。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试
单元测试一般要读程序和代码。对一个程序模块进行功能测试。

2)集成测试
集成测试也叫做组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序合成或整个系统。
比较多的 涉及到接口测试

3)确认测试
也叫冒烟测试,(确认功能是否实现) ,一般不作为一个正式的测试环节或者测试阶段
确认测试也叫有效性测试。是在模拟的环境下,验证软件的所有功能和性能及其他特性是否与用户的预期要求一致。通过了确认测试之后的软件,才具备了进入系统测试阶段的资质

4)系统测试
系统测试是在真实的系统运行的环境下,检查完整的程序系统能否和系统(包括硬件、外设、网络和系统软件、支持平合等)正确配置、连接,并最终满足用户的所有需求。

全面的、系统所有功能的测试,模拟所有的软件用户的操作,全方位的,和硬件系统的联系,和其它软件的关系。

5)验收测试
是软件产品检验的最后一个环节。按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。
一般供求双方,有三种验收测试的主体
α测试:软件开发商自己进行的交付之前的测试
β测试:软件的需求方自己进行的测试
γ测试:第三方的软件测试,测试的外包公司。

按照代码运行划分
1、静态测试
不实际运行被测对象,而只是静态的检查程序代码、界面或文档中可能存在错误的过程
代码测试:测试代码是否符合相应的标准和规范(不运行)
界面测试:主要测试软件的实际界面与需求中的说明是否相符
文档测试:主要测试用户手册和需求说明是否真正符合用户的实际需求

2、动态测试
实际运行被测对象,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序
按照软件特性划分

1、功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求
·逻辑功能测试
·界面测试
·易用性测试
·安装/卸载测试
·兼容性测试
2、性能测试
·功能的另一个指标,主要关注软件中的某一功能在指定的时间、空间条件下,是否使
用正常
·软件的性能包括很多方面,主要有时间性能和空间性能两种
3、安全性测试
·验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使之不被非法入侵,
不受名种因素的千扰。

其他
回归测试:
是针对软件的新版本测试时,重复执行之前某一个重要版本的所有测试用例
目的:
验证之前版本产生的所有缺陷已全部被修复
确认修复这些缺陷没有引发新的缺陷

冒烟测试:
是指对一个新版本进行系统大规模得测试之前,先验证一下软件得基本功能是否实现,是否具备可测性,也叫可测性测试

随机测试:
基于经验和直觉进行得一些边缘性的错误

猴子测试:
没有任何的主观意识和想法思想参与进来,让一些意想不到的操作产生错误。

按照测试技术划分:
黑盒测试:
完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面处进行测试,它只是检查程序是否按照需求规格说明书的规定正常实现。

白盒测试:
对程序内部结构进行分析,检测。
检查是否所有的结构和路径都是正确的,检查软件内部动作是否按照设计说明书的规定正常进行。白盒测试又称结构测试。
白盒测试技术一般可被分为静态分析和动态分析两类技术。
静态分析主要有:控制流分析技术、数据流分析技术、信息流分析技术。
动态分析主要有:逻辑覆盖率测试(分支测试、路径测试等),程序插装等。

灰盒测试:
介于黑白盒之间,关注输出对于输入的正确性;同时也关注内部表现。只是通过一些表征的现象、事件、标志来判断内部的运行状态。

  1. 软件测试的原则
    1)软件测试的标准建立在用户需求之上
    2)软件测试必须基于"质量第一"的思想去开展各项工作,当时间和质量冲突是,时间要服从质量。
    3)事先定义好产品的质量标准,只有有了质量标准,才能根据测试的结果对产品的质量进行分析和评估。
    4)软件项目一启动,软件测试也就是来时。为不是等程序写完,才开始测试
    5)穷举测试是不可能的。
    6)第三方测试会更客观,更有效
    7)软件测试计划是做好软件测试的前提
    8)测试用例是设计出来的不是写出来的,所以要根据测试目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多的发现错误,提高层序的可靠性。
    9)对发现错误较多的程序段,应进行更深入的测试,已知错误越多,存在错误的概率越大
    10)重视文档,妥善保存一切测试过程文档(测试计划,测试用例、测试报告等)
    11)应当把“尽早和不断地测试”作为而是人员的座右铭。
    12)回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误的出现的现象并不少见。
    13)测试应从“小规模”开始,逐步转向“大规模”
    14)不可将测试用例置之度外,排除随意性。
    15)必须彻底检查每一个测试结果
    16)一定要注意测试中的错误集中发生的现象,这和程序人员的编程水平和习惯又很大关系
    17)对测试错误一定要有一个确认的过程。
  • 作者:diamond219
  • 原文链接:https://blog.csdn.net/diamond219/article/details/108738158
    更新时间:2023年7月24日09:07:34 ,共 2179 字。