测试的基本流程和软件测试分类(软件测试是什么)

前言

笔者最近发现有许多的测试新人对于软件测试的概念比较混淆,在学习和求职过程中对于软件测试相关的名词用的不是很准确,所以笔者在这里汇总了测试相关的名词,希望能够帮助到大家更好的了解软件测试,这篇文章呢属于软件测试领域的科普问哟。

一、根据项目流程阶段划分测试

测试的基本流程和软件测试分类(软件测试是什么)(1)

上图是一个典型瀑布式软件开发流程,那么各项软件测试工作是在项目开发流程中循序渐进的进行的。下面将介绍个测试含义。

单元测试:单元测试是对软件中的基本组成单位进行的测试。目的是检验软件基本组成单位的正确性。

集成测试:集成测试是在软件系统集成过程中所进行的测试。目的是检查软件单位之间的接口是否正确。

系统测试:系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求。

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

(一)单元测试阶段:

1、模块接口测试

通过所测模块的数据流进行测试。调用所测模块时的输入参数与模块的形式参数的个数、属性和顺序是否匹配。

2、局部数据结构测试

局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确、模块的局部数据结构往往是错误的根源。

3、路径测试

对模块中重要的执行路径进行测试。

4、错误处理测试

比较完善的模块设计要求能遇见出错的条件,并设置适当的出错处理,以便在一旦程序出错时,能对出错程序重做安排,保证其逻辑上的正确性。

5、边界条件测试

软件经常在便捷上失效,边界条件测试是一项基础测试,也是后面系统测试中的功能测试的重点。

(二)集成测试阶段:

在集成测试中,我们主要关注以下内容:

1. 把各个模块连接起来时,穿越模块接口的数据据是否会丢失。

2. 各个了模块组合起来,能否达到预期要求的功能。

3. 一个模块的功能是否会对另一个模块的功能产生不利影响。

4. 全局数据据结构是否有问题。

5. 单个模块的误差积累起来是否会被放大,从而达到不可接受的程序。

测试的基本流程和软件测试分类(软件测试是什么)(2)

(三)系统测试阶段:

一般系统的主要测试工作都集中在系统测试阶段。根据不同的系统,所进行的测试种类也很多。

1、功能测试:

功能测试是对产品的各功能进行验证,以检查是否满足需求的要求。

2、性能测试:

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

3、安全测试:

安全测试检查系统对非法入侵的防范能力。

4、兼容测试:

兼容性测试主要是测试系统在不同的软硬件环境下是否能够正常的运行。

(四)验收测试阶段:

功能确认测试

安全可靠性测试

易用性测试

可扩充性测试

兼容性测试

资源占用率测试

用户文档资料验收

二、功能测试、性能测试

1、功能测试

功能测试检查实际的功能是否符合用户的需求。测试的大部分工作也是围绕软件的功能进行,设计软件的目的也就是满足客户对其功能的需求。如果偏离的这个目的任何测试工作都是没有意义的。

功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。

2、性能测试

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

三、白盒测试、黑盒测试、灰盒测试

上面是根据项目流程按照测试的各个阶段对测试工具的划分。白盒测试与黑盒测试,主要是测试工作对软件代码的可见程度的划分。这也是我软件测试领域中最基本的两个概念。

测试的基本流程和软件测试分类(软件测试是什么)(3)

1、黑盒测试:

黑盒测试,指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果。

它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

2、白盒测试:

白盒测试,指的是把盒子盖子打开,去研究里面的源代码和程序结果。

它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作

3、灰盒测试:

灰盒测试介于黑盒测试与白盒测试之间。

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

四、手工测试与自动化测试

1、手工测试:

手工测试就是由人去一个一个的去执行测试用例,通过键盘鼠标等输入一些参数,查看返回结果是否符预期结果。

(其实,不太喜欢别人把一般的功能测试工作叫手工测试,就像一个雕塑家不喜欢别人叫他刻石头的一样。手工测试同样需要业务熟悉、基本测试方法的理解。看似简单的工作却能够发现别人不能发现的软件问题。在目前的测试领域,手工测试仍然是无法替代的一种测试方法)

2、自动化测试

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

测试的基本流程和软件测试分类(软件测试是什么)(4)

五、冒烟测试、回归测试

这三种测试在软件功能测试过程中,既不算具体明确的测试阶段也不算是具体的测试方法。

1、回归测试:

回归测试是指修改了旧代码后,重新时行测试以确认修改后没有引入新的错误或导致其他代码产生错误。

回归测试一般是在进行软件的第二轮测试开始的,验证第一轮中发现的问题是否得到修复。当然,回归也是一个循环的过程,如果回归的问题通不过,则需要开发人员修改后再次进行回归,直到通过为止。

2、冒烟测试:

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

引入到软件测试中,就是指测试小组在正规测试一个新版本之前,先投入较少的人力和时间验证一个软件 的主要功能,如果主要功能都没有实现,则打回开发组重新开发。这样做的好处是可以节省大量的时间成本和人力成本。

六、安全测试

安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。

安全测试也在越来越受到企业的关注和重视,因为由于安全性问题造成的后果是不可估量的。尤其对于互联网产品最容易遭受各种安全攻击。

七、总结

今天的文章到这里了,希望可以给到小伙伴们一定的帮助,在这里呢我也给小伙伴们准备了一份小小的惊喜,那就是软件测试学习资料一份,有需要的小伙伴可以私信关键字“资料”免费获取哟。

测试的基本流程和软件测试分类(软件测试是什么)(5)

测试的基本流程和软件测试分类(软件测试是什么)(6)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页