超强软件测试类型解析,软件测试面试必备
软件测试指的是在软件生产过程中,手工或者利用软件测试工具(自动化)有计划地检查程序代码和用户文档,检查软件功能和软件性能,来发现软件产品中存在的问题(bug),并追踪和验证问题(bug)的处理。今天这篇文章咱们来聊一聊软件测试类型。
首先按照开发阶段划分,可以分为单元测试,又称模块测试,是针对软件设计的最小单位——程序模块进行正确性检验的测试工作。其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试;集成测试,也叫做组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统;确认测试,也叫有效性测试,是在模拟的环境下,验证软件的所有功能和性能及其他特性是否与用户的预期要求一致。通过了确认测试之后的软件,才具备了进入系统测试阶段的资质;系统测试,是在真实的系统运行的环境下,检查完整的程序系统能否和系统(包括硬件、外设、网络和系统软件、支持平台等)正确配置、连接,并最终满足用户的所有需求;最后是验收测试,是软件产品检验的最后一个环节。按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。
其次按照测试技术划分,可以分为黑盒测试,通过软件的外部表现来发现其缺陷和错误。黑盒测试法把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面处进行测试,它只是检查程序是否按照需求规格说明书的规定正常实现。然后是白盒测试,通过对程序内部结构的分析、检测来寻找问题。白盒测试可以把程序看成装在一个透明的盒子里,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行;还有灰盒测试 ,它是介于白盒测试与黑盒测试之间的测试。灰盒测试关注输出对于输入的正确性;同时也关注内部表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。
如果按照代码运行划分,可以分为静态测试,不实际运行被测对象,而只是静态地检查程序代码、界面或文档中可能存在错误的过程。代码测试:主要测试代码是否符合相应的标准和规范;界面测试:主要测试软件的实际界面与需求中的说明是否相符;文档测试:主要测试用户手册和需求说明是否真正符合用户的实际需求。然后是动态测试,实际运行被测对象,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。
按照软件特性划分,可以分为功能测试,它是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求,比如逻辑功能测试,界面测试,易用性测试,安装/卸载测试,兼容性测试等;然后是性能测试,主要关注软件中的某一功能在指定的时间、空间条件下,是否使用正常,软件的性能包括很多方面,比如响应时间等;还有安全性测试,验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使之不被非法入侵,不受各种因素的干扰。
还有一些其它的测试类型,比如回归测试,验证之前版本产生的所有缺陷已全部被修复,并确认修复这些缺陷没有引发新的缺陷;以及冒烟测试,在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
这些都是比较常见的测试类型,以及对应的关注点和分析点,希望能够给各位小伙伴给予帮助。更多关于软件测试培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。