测试分类总结

上一篇 / 下一篇  2015-01-22 17:04:42 / 个人分类:工作记录

写在前面的话:最近打算找工作,想来测试工作也有两年的时间了,对测试的一些基本的概念不懂,这个说不过去,最近工作不忙,来梳理一下,当然大部分不是我组织的语言,有查阅别人的,主要整理给自己看。
按照项目流程进行划分:
单元测试-->集成测试-->确认测试-->系统测试-->验收测试
单元测试:单元测试时对软件中的基本组成单位进行测试。目的是检验软件基本组成单位的正确性。
模块接口测试
    通过所测模块的数据流进行测试。调用所测模块时的输入参数与模块的形式参数的个数、属性和顺序是否匹配。
局部数据接口测试
    为了保证临时存储在模块内的数据在程序执行过程中完整、正确。模块的局部数据往往是错误的根源。
错误处理测试
    比较完善的模块设计要求能遇见出错的条件,并设置适当的出错处理,以便在一旦程序出错时,能对出错程序重做安排,保证其逻辑上的正确性。
路径测试
    对模块中重要的执行路径进行测试。
边界条件测试
    软件经常在边界上失效,边界条件测试是一项基础测试,也是系统测试功能测试的重点。
集成测试:集成测试是在软件系统集成过程中所进行的测试。目的是检查软件单位之间的接口是否正确。
1)把各个模块连接起来,穿越模块接口的数据是否会丢失。
2)各个模块组合起来,能否达到预期达到预期要求的功能。
3)一个模块的功能是否会对另一个模块的功能产生不利影响。
4)全局数据结构是否有问题。
5)单个模块的误差积累起来是否会被放大,从而达到不可接受的程度。

系统测试:系统测试是对已经集成好的软件系统进行彻底的测试,以验**系统的正确性和性能等是否满足要求。
    功能测试:
        功能测试是对产品的各功能进行验证,以检验是否满足需求的要求。
    性能测试:
性能测试是通过自动化工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
    安全测试:
        安全测试检查系统对非法入侵的防范能力。
    兼容性测试
        兼容性测试主要是测试系统在不同的软硬件条件下是否能够正常运行。
验收测试:验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,向软件**者展示该软件系统满足其用户的需求。
    验收测试包括很多种测试方法,包括功能确认测试,安全可靠性测试,易用性测试,可扩充性测试,兼容性测试,资源占用率测试,用户文档资料验收。
α测试:
    在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。
β测试:
    当开发和测试根本完成时所作的测试,而最终的错误和问题需要再最终发行前找到。这种测试一般由最终用户或其他人员完成,不能由程序员或测试员完成。

按照是否查看源代码划分:
黑盒测试
    黑盒测试,指把测的软件当成一个黑盒子,我们不用去关心盒子里面的结构是什么样子的,只关心软件的输入和输出。
    它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否是适当的接收输入数据而产生正确的输出数据。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
白盒测试
    白盒测试,指把盒子盖子打开,去研究里面的源代码和程序结果。
    它是按照程序内部的结构测试程序,通过测试来检验产品内部动作是否按照设计规格说明书的规定正常运行,检验程序中的每条通路是否都按预定要求正常工作。
灰盒测试:
    灰盒测试,是介于白盒测试和黑盒测试之间的。
    可以理解为,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不像白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经出错了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒测试的方法。


黑盒测试的分类:
功能测试:
    功能测试检查实际的功能是否符合用户的需求。测试的大部分工作也是围绕软件的功能进行,设计软件的目的也就是满足客户对其功能的要求。
    功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装卸载测试、兼容性测试等。
性能测试:
    性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载来对系统的各项性能指标进行测试。(对于这一块我不是很了解,以后学习了,再继续补充)
安全性测试:
      安全性测试(Security Testing)是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程。应用程序级安全测试的主要目的是查找软件自身程序设计中存在的安全隐患,并 检查应用程序对非法侵入的防范能力,根据安全指标不同测试策略也不同。注意:安全性测试并不最终证明应用程序是安全的,而是用于验证所设立策略的有效性, 这些对策是基于威胁分析阶段所做的假设而选择的。

黑盒测试的测试方法:
手工测试:
    手工测试就是通过人一个一个的去执行测试用例,通过人工的输入,对比输出结果是否正确。
自动化测试
    自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,便引入了自动化测试的概念。
    自动化测试:功能自动化和性能自动化。
    一般所说的自动化测试是指功能自动化,通过相关的测试技术,通过编码的方式用一段程序来测试一个软件的功能,这样就可以重复执行程序来进行重复的测试。如果一个软件一小部分进行改变,我们只要修改一部分代码,就可以重复的对整个软件进行测试。这样就大大提高了测试效率。
    性能自动化,现在的性能测试工具都是通过性能工具辅助完成的。能通过工具可以模拟成千上万的用户向系统发送的请求,用来验证系统的处理能力。

按照是否运行程序:
动态测试:
    动态测试是在测试过程中执行被测试软件。
静态测试:
    静态测试部执行被测试的软件。


其他测试:
冒烟测试:
    冒烟测试是对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否实现,是否具有可测性。这样的好处是可以节省大量的时间成本和人力成本。
回归测试:
    回归测试是指修改了旧代码之后,重新测试实行测试以前,确认修改后有没有引入新的错误导致其他代码产生错误。
    回归测试一般是在进行软件测第二轮测试开始的,验证第一轮中发现的问题是否得到修复。当然,回归也是一个循环的过程,如果回归的问题不过,则需要开发人员修改后再次进行回归,直到通过为止。
随机测试:
    是指测试中的所有输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。
探索性测试:
    探索性测试可以说是一种测试思维技术。它没有很多实际性的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。探索性测试强调测试人员的主管能动性,抛弃繁杂的测试计划和测试用例设计过程,强调碰到问题时及时改变测试策略。
文档测试:
主要测试开发过程中针对用户的文档,以需求、用户手册、安装手册等为主,检验文档是否和实际应用存在差别。文档测试不需要编写测试用例。

写在后面的话:还有其他的测试分类,每种测试不是完全分离的,只是按照不同的类别划分而已,每个项目中,都要用到不同的测试,每种测方法都是相辅相成的,就看测试策略问题。如果我写的不对,可以留言,也可以加我的QQ:2473518012,一起学习一起讨论。


TAG:

测试小顽童---小壮壮 引用 删除 安裴轩   /   2015-01-26 08:50:07
原帖由菜鸟小丸子于2015-01-23 17:14:22发表

谢谢评价,哪个地方不好,可以直接指出来
测试小顽童---小壮壮 引用 删除 安裴轩   /   2015-01-26 08:49:33
原帖由adam_2014于2015-01-23 16:00:15发表

谢谢
菜鸟小丸子的个人空间 引用 删除 菜鸟小丸子   /   2015-01-23 17:14:22
3
adam_2014的个人空间 引用 删除 adam_2014   /   2015-01-23 16:00:15
5
 

评分:0

我来说两句

Open Toolbar