软件测试分类总结

在这之前,如果你问我,软件测试的分类有哪些,我可能会回答的语无伦次。最近温习了一下软件测试分类的知识,觉得有必要总结一下。

       从不同的角度可以将软件测试分为六种分类方式:项目流程阶段划分、源代码可见程度划分、软件测试点划分、软件测试工作自动化程度划分、是否运行程序划分、其他测试。

1.根据项目流程阶段划分为:单元测试、集成测试、系统测试、验收测试

       单元测试:单元测试是测试过程中的最小粒度,是对程序中的单个子程序或具有独立功能的代码段进行测试,包含入口和出口的参数,输入和输出信息,错误处理信息,部分边界数值测试。

       集成测试:集成测试是单元测试的基础上,将通过单元模块组装成系统或子系统,再进行测试,重点是检查模块之间的接口是否正确。

       系统测试:系统测试是测试发现问题的主要阶段,针对整个产品系统的进行测试,验证系统是否满足需求规格说明书的定义,以及软件系统的正确性和性能等是否满足要求。

       验收测试:验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,向软件购买者展示该软件系统满足其用户的需求。

2.根据源代码可见程度划分:黑盒测试、白盒测试、灰盒测试

       黑盒测试:黑盒测试是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的 功能说明。

       白盒测试:白盒测试是把测试对象看做一个打开的盒子,它着重于程序的内部结构及算法,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际状态是否与预期的状态一致,通常不关心功能与性能指标。

       灰盒测试:灰盒测试介于白盒测试与黑合测试之间。灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒测试的方法。

3.根据软件的不同测试点划分:功能测试、性能测试

       功能测试:功能测试检查实际的功能是否符合用户的需求。测试的大部分工作也是围绕软件的功能进行,设计软件的目的也就是满足客户对其功能的需求。如果偏离的这个目的任何测试工作都是没有意义的。
       功能测试又可以细分为很多种:业务逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试、安全性测试等。

       性能测试:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

性能测试又可以细分为很多种:负载测试、压力测试、容量测试、并发测试、配置测试、可靠性测试、失败测试等。

4.根据软件测试工作的自动化程度划分:手工测试、自动化测试

       手工测试:手工测试就是由人去一个一个的去执行测试用例,通过键盘鼠标等输入一些参数,查看返回结果是否符合预期结果。手工测试并不非专业术语,手工测试通常是指我们在系统测试阶段所进行的功能测试,为了更明显的与自动化测试进行区分,所以这里使用了手工测试。

       自动化测试:自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

自动化测试又可分为:功能自动化测试与性能自动化测试。我们一般所说的自动化测试就是指功能自动化测试,通过相关的测试技术,通过编码的方式用一段程序来测试一个软件的功能,这样就可以重复执行程序来进行重复的测试。如果一个软件一小部分发生改变,我们只要修改一部分自动化测试代码,就可以重复的对整个软件进行功能测试;从而大大的提高了测试效率。性能自动化测试,当然,除了早期阶段,现在的性能测试工作都是通过性能测试工具辅助完成的。通过工具可以模拟成千上万的用户向系统发送请求,用来验证系统的处理能力。

5.根据是否运行程序划分:静态测试、动态测试

       静态测试:静态测试是指不运行被测试的软件,而只是静态的检查程序代码、界面或者文档中可能存在的错误过程。

       动态测试:动态测试是指实际运行被测试的软件,输入相应的测试数据,检查实际输出结果是否和预期结果相一致的过程。

6.其他测试:回归测试、冒烟测试、随机测试、探索性测试

       回归测试:回归测试是指修改了旧代码后,重新进行测试以确认修改后没有引入新的错误或导致其他代码产生错误。回归测试一般是在进行软件的第二轮测试开始的,验证第一轮中发现的问题是否得到修复。当然,回归也是一个循环的过程,如果回归的问题通不过,则需要开发人员修改后再次进行回归,直到通过为止。

       冒烟测试:是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。引入到软件测试中,就是指测试小组在正规测试一个新版本之前,先投入较少的人力和时间验证一个软件的主要功能,如果主要功能都没有实现,则打回开发组重新开发。避免由于打包失误、功能严重缺失、硬件部件损坏导致软件运行失败等严重问题而引起大量测试人员从事没有意义的测试劳动,从而节省大量的时间成本和人力、物力成本。

       随机测试:是指测试中的所有输入数据都是随机产生的。其目的是模拟用户的真实操作,并发现一些边缘性的错误。随机测试可以发现一些隐蔽的错误,但是也有很多缺点,比如测试往往不太真实,无法统计代码覆盖率和需求覆盖率,发现的问题难以重现。一般是放在测试的最后执行。其实随机测试更专业的升级版叫探索性测试。

       探索性测试:探索性测试可以说是一种测试思维技术。它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。探索性强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略。

时间: 2024-10-13 21:45:10

软件测试分类总结的相关文章

软件测试分类说明 笔记

软件测试分类说明  笔记 1.性能测试 性能测试是为获取或验证系统性能指标而进行测试.多数情况下,性能测试会在不同负载情况下进行. 2.负载测试 负载测试是通过改变系统负载方式.增加负载等,来发现系统中所存在的性能问题.为了发现软件系统中所存在的问题,包括性能瓶颈.内存泄露等. 3.压力测试 压力测试分为高负载下的长时间的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试.主要为了确定系统稳定性. (可以更快发现内存泄露问题.影响系统稳定性的问题) 4.恢复测试 主要检查系统的容错能力.

引用文档-软件测试分类及测试中三个主要概念

软件测试分类及测试中三个主要概念 原文链接:https://blog.csdn.net/qq_35867537/article/details/77477775 1.      软件测试分类 按测试技术分 按测试技术,软件测试可分为:黑盒测试.白盒测试.灰盒测试 黑盒测试:在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用.也被称为功能测试或者数据驱动测试. 白盒测试:要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作.也被称为

软件测试基础-软件测试分类

  毕业季,校招了很多新人,要对新人进行培训.所以整理一下测试的基础文档,作为备份,适合纯小白,如您不是就可以不继续看了~~ 1.软件测试定义: 软件测试是为了证明程序有错,通过运行程序发现其中存在的问题.程序有错不仅仅包括程序运行时的bug,还包括是否满足用户的需求,是否符合常规使用习惯,效率等等. 2.软件测试分类: 2.1按是否测试代码分: (1)白盒测试:注重于内部结构,又称为结构测试或逻辑驱动测试.需要读写代码,根据程序内部逻辑结构和编码结构设计,准备相应测试数据进行测试. (2)黑盒

软件测试分类

根据项目流程阶段划分测试                                                                                                          上图是一个典型瀑布式软件开发流程,那么各项软件测试工作是在项目开发流程中循序渐进的进行的.下面将介绍个测试含义. 单元测试:单元测试是对软件中的基本组成单位进行的测试.目的是检验软件基本组成单位的正确性. 集成测试:集成测试是在软件系统集成过程中所进行的测试.目的

(二)软件测试分类

软件测试领域名词颇多,许多测试新手容易混淆概念因为从不同的角度对软件测试有不同的分类方法,所以,这里魂总常见软件测试的相关名词,让读者对软件测试领域有个概括性了解. 根据项目流程阶段划分软件测试 这是一个典型的"V"模型软件开发流程,各项软件测试工作是在项目开发流程中循序渐进进行的.下面将介绍各个阶段测试的含义. ?  单元测试:单元测试(或模块测试)是对程序中的单个子程序或者具有独立功能的代码段进行测试的过程. ?   集成测试:集成测试是在单元测试的基础上,先通过单元模块组装成系统

软件测试基础——软件测试分类

1.按照是否查看程序内部结构: --黑盒测试(Black Box Testing) 黑盒测试又称为功能测试或数据驱动测试 黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,通过测试来验证每个功能是否符合需求,因此软件对用户来说就像一个黑盒子. 软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法 黑盒测试的方法: 等价类划分 边界值划分 因果图 错误推测 综合策略等 常用的工具:AutoRunne

软件测试分类以及相关测试范围

分类:接口测试.移动端测试.web页面测试.客户端测试 1.接口测试 2.移动端测试 3.web页面测试 Web测试主要从下面几个大方向考虑 (1)功能测试,主要做链接测试,表单测试,cookies测试,设计语言测试等 (2)性能测试,考虑连接速度测试,以及负载测试,例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求?还有压力测试 (3)可用性测试,比如导航测试,图形测试,内容测试,整体界面测试等 (4)兼容性测试,

04- 软件测试的方法与软件测试分类

静态测试-评审需求文档.测试用例. 静态测试指不运行程序,对程序和文档进行分析与检查. 静态测试结束又称为静态分析技术 静态测试包括对软件中的需求规格说明书,程序源代码,设计文档,进行审查. 静态测试内容: 1.代码走查(开发阶段) ①开发人员之间互相阅读代码,检查其编写正确与否 ②只有理解了源代码才可以完成单元测试,或者说快速理解源代码是完成单元测试的前提. ③代码走读发现的问题比单元测试发现的更多,更快,更早. ④单元测试满足不了编程规范问题. ⑤有的时候肉眼看一下,都不需要单元测试. 2.

软件测试基本方法(一)之软件测试

为什么要进行软件测试: 产品质量的保证 控制成本的关键 软件可靠性确认 让企业具备国际竞争力 软件测试定义: 软件测试是由"验证(verification)"和"有效性确认(validation)"活动构成的整体. 验证:检验软件是否已正确地实现了产品规格书所定义的系统功能和特性. 有效性确认:确认所开发的软件是否满足用户真正需求的活动. 软件测试和软件开发的关系: 软件缺陷: 定义:是指计算机程序中存在的任何一种破坏正常运行能力的错误,或者隐藏的功能缺陷,其结果会