软件测试分类&原则

1、软件测试分类

  1. 按照开发阶段划分
    (1)单元测试:一般要读程序和代码。大多数时候,单元测试由开发人员自己去完成(开发交叉完成)(但是一般不认为是在做测试)。测试人员为什么不做单元测试?因一般测试人员不懂代码和算法。

(2)集成测试:比较多地设计到接口测试。它是一个持续不断的过程。

(3)确认测试:功能是否实现,一般都是正向的测试。通过了确认测试之后的软件,才具备进入系统测试的资质。有时候也把确认测试称为冒烟测试。一般不作为正式的测试环节。

(4)系统测试:是全面的测试,是系统所有功能的测试,模拟所有的软件用户的操作。也是全方位的,和硬件系统的联系,和系统软件的联系,和其他软件的联系。

(5)验收测试:一般是供求双方。一般有三种验收测试的主体。α测试:软件的开发商自己进行的交付前的测试。β测试:软件的需求方自己进行的测试。γ测试:第三方的软件测试。

  1. 按照测试技术划分
    (1)黑盒测试:通过软件的外部表现来发现其缺陷和错误。

(2)白盒测试:通过对程序内部结构的分析、检测来寻找问题。

(3)灰盒测试:介于白盒测试和黑盒测试之间的测试。

  1. 按照代码运行划分
    (1)静态测试:指不实际运行被测对象,而只是静态地检查程序代码、界面或文档中可能存在错误的过程。

(2)动态测试
区分静态测试还是动态测试,唯一的标准就是看是否运行程序。

  1. 按照软件特性分类
    (1)功能测试:是黑盒测试的一方面,检查实际软件的功能是否符合用户的需求。体现在:逻辑功能测试、界面测试、易用性测试、安装/卸载测试、兼容性测试。

(2)性能测试:主要有时间性能和空间性能两种

(3)安全性测试

  1. 按照测试运行主体划分
    (1)手工测试(功能测试):点点点

(2)自动化测试:利用工具软件,或者编写代码的方式,测试被测的软件系统。(游戏外挂)

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

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

(3)随机测试:指测试人员基于经验和直觉的测试,发现一些边缘性的错误。

(4)猴子测试:把自己当成不懂产品的笨蛋或小动物,随便乱点,没有任何的主观意识和想法参与进来,让一些意向不到的操作造成错误的结果。

在这里插入图片描述

2、软件测试的原则

(1)所有测试的标准都是建立在用户需求之上。

(2)软件测试必须基于“质量第一”的思想去开展各项工作,当时间和质量冲突时,时间要服从质量。

(3)事先定义好产品的质量标准,只有有了质量标准,才能根据测试的结果,对产品的质量进行分析和评估。

(4)软件项目一启动,软件测试就开始,而不是等程序写完,才开始进行测试。

(5)穷举测试是不可能的。

(6)第三方进行测试会更客观、更有效。

(7)软件测试计划是做好软件测试工作的前提。

(8)测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多地发现错误,提高程序的可靠性。

设计和编写测试用例有什么区别?设计是一项脑力活动,编写是一项体力活动,将设计好的内容通过文字的形式表现出来。

(9)对发现错误较多的程序段,应进行更深入的测试。一般来说,一段程序中已被发现的错误数越多,其中存在的错误概率也就越大。对发现缺陷的模块使劲儿测,另外关联的模块也要进行测试。(缺陷有一种集群效应)。

(10)重视文档,妥善保存一切测试过程文档(测试计划、测试用例、测试报告等)。

(11)应当把“尽早和不断地测试”作为测试人员的座右铭。

(12)回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。

(13)测试应从“小规模”开始,逐步转向“大规模”。

(14)不可将测试用例置之度外,排除随意性。

(15)必须彻底检查每一个测试结果。

(16)一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。

(17)对测试错误结果一定要有一个确认的过程。

猜你喜欢

转载自blog.csdn.net/weixin_49984044/article/details/109538496