欢迎大家来到IT世界,在知识的湖畔探索吧!
软件测试可以按照不同的标准进行分类,如按照开发阶段分类、按照测试环境分类、按照测试技术分类、按照软件质量特性分类等。
按照开发阶段分类
软件测试按照开发阶段可分为单元测试、集成测试、确认测试、系统测试和验收测试。
1.单元测试
单元测试又称模块测试,是针对软件设计的最小单位——程序模块进行正确性检验的测试工作。其目的在于检查每个程序单元能否满足详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
2.集成测试
集成测试也叫作组装测试,通常是在单元测试的基础上,对所有的程序模块进行有序的、递增的测试。集成测试检验程序单元或部件的接口关系,使它们逐步集成为符合概要设计要求的程序部件或整个系统。
软件集成是一个持续的过程,会形成很多个临时版本。在此过程中,保证功能集成的稳定性是真正的挑战。每个版本在提交时,都需要进行冒烟测试,即对程序主要功能进行验证。冒烟测试也叫版本验证测试、提交测试。
3.确认测试
确认测试是通过检查和提供客观证据,证实软件是否满足特定预期用途的需求。确认测试检测与证实软件是否满足软件需求说明书中提出的要求。
4.系统测试
系统测试是为验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试。系统测试在真实或模拟系统运行的环境下,检查完整的程序系统能否与硬件、外设、网络和系统软件、支持平台等正确匹配、连接,并满足用户需求。
5.验收测试
验收测试是按照项目任务书或合同、供需双方约定的验收依据文档对整个系统进行的测试与评审,决定产品被接收或拒收。
按照测试环境分类
当软件是为特定用户开发时,需要进行一系列的验收,让用户验证所有的需求是否已经得到满足。当软件是为多个用户开发时,让每个用户逐个执行正式的验收测试是不切实际的,因此很多软件产品生产者采用 α 测试和 β 测试以发现可能只有最终用户才能发现的错误。
α 测试是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。软件在一个自然设置状态下使用,开发者坐在用户旁边,随时记下错误情况和使用中的问题。这是在受控制的环境下进行的测试,α 测试的目的是测试软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持),尤其注重产品的界面和特色。
β 测试是在软件的一个或多个用户的实际使用环境下进行的测试。这些用户是与公司签订了支持产品预发行合同的外部客户,他们要使用该产品,并返回相关错误信息给开发者。
按照测试技术分类
软件测试按照测试技术分为白盒测试、黑盒测试、灰盒测试,也可分为静态测试和动态测试。静态测试是指不运行程序,通过人工方式对程序和文档进行分析与检查; 动态测试是指通过运行被测程序来检查运行结果与预期结果的差异,并分析运行效率和健壮性等指标。此处讨论的白盒测试、黑盒测试、灰盒测试在实现测试的方法上既包括动态测试,又包括静态测试。
1.白盒测试
白盒测试通过对程序内部结构的分析、检测来寻找问题。它将测试对象看成一个透明盒子,即清楚了解程序结构和处理过程,以此检查软件内部动作是否按照设计说明的规定正常进行。
2.黑盒测试
黑盒测试通过软件的外部表现来发现其缺陷和错误。它把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。黑盒测试在程序界面处进行测试,它只检查程序是否按照规格说明书的规定正常运行。
3.灰盒测试
灰盒测试是介于白盒测试与黑盒测试之间的测试。灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种内部关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。 软件测试方法和技术的分类与软件开发过程相关联,它贯穿了整个软件生命周期。单元测试、集成测试、系统测试应用于整个开发过程中的不同阶段。单元测试应用白盒测试方法,集成测试应用近似灰盒测试方法,系统测试和确认测试应用黑盒测试方法。
按照软件质量特性分类
软件测试按照软件质量特性可分为功能测试与性能测试。
功能测试是一种黑盒测试,它检查软件的实际功能是否符合用户的需求, 一般分为逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。
性能测试针对软件的各方面性能,主要是时间性能和空间性能。
时间性能主要是指软件的一个具体事务的响应时间。比如登录 163 邮箱,输入用户名和密 码,单击“登录”按钮,如果从单击按钮的那一刻起,到最终登录后的页面反馈,时间间隔为3 秒,则称 163 邮箱在这一次登录事务中的响应时间为 3 秒。通常通过多次登录来记录不同的响应时间,最后取平均值,这样的数据才有参考价值。
空间性能主要指软件运行时所消耗的系统资源,比如安装软件之前,软件提示用户的安装最低要求。
性能测试一般分为如下几种。
(1)一般性能测试:指让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。
(2)稳妥定性测试:也称可靠性测试,指连续运行被测系统,检查系统运行的稳定程度。
(3)负载测试:通常是指让被测系统在其能忍受的压力的极限范围之内连续运行来测试系统的稳定性。
(4)压力测试:通常是指持续不断地给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。
其他分类
回归测试是指在软件的新版本测试时,重复执行该软件的某一个旧版本的所有测试用例。目的是验证旧版本所有缺陷已全部被修复,以及确认修复这些缺陷没有引发新的缺陷。
冒烟测试是指在对一个新版本进行大规模的系统测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
随机测试也称为随意性测试,是测试人员基于经验和直觉的探索性测试,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
搜索微信公众号:霍格沃兹测试学院
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/35811.html