测试的概念及分类

二、软件测试概念

1.软件测试的分类

(1)按照开发阶段划分

单元测试:又称为模块测试。一般要读程序的代码,由开发人员自己去完成(交叉测试),但是一般不认为是在做测试。(需要高端测试人员,懂代码和算法)

集成测试:又称为组装测试。比较多的涉及到接口测试(接口测试工具和方法专门学习,企业非常需要接口测试工程师),它是一个持续不断的过程。

确认测试:也称为有效性测试,有时也被成为冒烟测试。在模拟环境下,确认功能是否实现、是否与用户的预期要求一致,一般都是正向的测试,且一般不作为正式的测试环节或者测试阶段。

系统测试:在真实的系统环境下,检查完成的系统能否和系统(硬件、外设、网络、系统和支持平台)正确配置、连接,并最终满足用户的所有需求。全面的-系统所有功能的测试;模拟所有软件用户的操作;全方位的:和硬件系统的联系;和系统软件的联系;和其他软件的关系;

验收测试:是软件产品检验的最后一个环节,按照项目任务书或合同、供需双方约定的验收依据或文档进行的整个系统的测试与评审,决定是否接受或拒收系统。一般用于供求双方。

一般由三种验收测试的主体:

α测试:软件的开发商自己进行的交付前的测试。

β测试:软件的需求方自己进行的测试。

γ测试:第三方的软件测试。

(2)按照测试技术划分

黑盒测试:通过软件的外部表现来发现其缺陷和错误。

白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查软件内部动作是否按照设计说明的规定正常进行。

灰盒测试:关注输出多余输入的正确性,也关注内部表现,但不详细。

(3)按照代码运行划分

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

动态测试:指实际运行被测对象,输入测试数据,检查实际输出结果与预期结果是否一致。

(4)按照软件特性分类

功能测试:属于黑盒测试,检查实际软件的功能是否符合用户的需求。(逻辑功能测试、界面测试、易用性测试、安装/卸载测试、兼容性测试)

性能测试:主要关注软件中的某一功能在指定的时间、空间条件下是否正常

安全性测试:验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使之不被非法入侵,不受各种因素的干扰。

(5)其他测试类型

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

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

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

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

1)按照测试运行主体划分

手工测试(功能测试):(点点点)

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

总结:

 

单元测试

集成测试

确认测试

系统测试

验收测试

测试技术

黑盒测试

白盒测试

黑盒测试

白盒测试

灰盒测试

黑盒测试

白盒测试

黑盒测试

白盒测试

黑盒测试

白盒测试

代码运行

动态

静态

动态

静态

动态

静态

动态

静态

动态

静态

软件特性

功能

性能

安全

功能

性能

安全

功能

性能

安全

功能

性能

安全

功能

性能

安全

其他测试

 

 

冒烟测试

回归测试

随机测试

猴子测试

测试手段

手工测试

自动化测试

 

 

 

 

2.软件测试的原则

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

*测试时间不够地情况下,时间和质量冲突,时间要服从质量。

*第三方测试会更客观、更有效。

*软件测试计划是测试工作的前提。

*对发现错误较多地程序段,应进行更深入的测试。一段程序中已发现的错误数越多,其中存在的错误率也就越大。

*重视文档,妥善保存一切措施文档和测试过程。

*对测试结果一定要有一个确认的过程。

#测试##学习路径#
全部评论

相关推荐

评论
1
14
分享

创作者周榜

更多
牛客网
牛客企业服务