您的位置:首页 > 其它

软件测试分类

2019-11-13 09:40 801 查看

学习目标

1 按开发阶段分类

1.1 单元测试

 

又称模块测试,针对软件设计中的最小单位-程序模块,进行正确性检查的测试工作。单元测试需要从程序内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
单元定义:C中指一个函数,Java中指一个类,在图形化的软件中,单元一般指一个窗口,1个菜单。

回答以下小问题:           

1.什么时候进行单元测试?

2.由谁来做单元测试?

3.单元测试的依据?

4.单元测试的通过标准?

5.国内单元测试的现状?

6.如何进行单元测试?

1.2 集成测试

 

又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的、递增的测试。重点测试不同模块的接口部分。

回答一下小问题:

1.什么时候进行集成测试?

2.由谁来做集成测试?测试人员

3.集成测试的依据?

1.3 系统测试

 

指的是将整个软件系统看为一个整体进行测试,包括对功能、性能、以及软件所运行的软硬件环境进行测试。系统测试在系统集成完毕后进行测试,前期主要测试系统的功能
是否满足需求,后期主要测试系统运行的性能是否满足需求,以及系统在不同的软硬件环境中的兼容性等。

 

1.4 验收测试
α测试

1、Alpha  是内测版本,即现在所说的CB。

2、此版本表示该软件仅仅是一个初步完成品, 通常只在软件开发者内部交流, 也有很少一部分发布给专业测试人员。

3、一般而言, 该版本软件的bug 较多, 普通用户最好不要安装。

β测试

1、Beta是公测版本,是对所有用户开放的测试版本。

2、该版本相对于α 版已有了很大的改进,消除了严重的错误, 但还是存在着一些缺陷,需要经过大规模的发布测试来进一步消除。

3、这一版本通常由软件公司免费发布, 用户可从相关的站点下载。

4、通过一些专业爱好者的测试, 将结果反馈给开发者, 开发者们再进行有针对性的修改。

5、该版本也不适合一般用户安装。

γ测试

Gamma版本,指的是软件版本正式发行的候选版。该版本已经相当成熟了, 与即将发行的正式版相差无几, 成为正式发布的候选版本。

软件正式版本推出之前的几个版本, 需要有人测试一下, 看看是不是有问题。在开发该软件的公司内部由该公司内部人员测试的称为: Alpha 测试, Alpha 测试主要看有没有功能缺失或系统错误, Alpha 测试完后一般不会有大问题了。然后把软件拿给用户测试,称为: beta 测试, 主要是看用户对软件外观、使用方便等的反应。这么多的测试版一方面为了最终产品尽可能地满足用户的需要, 另一方面也尽量减少了软件中的bug。然后做过一些修改, 成为正式发布的候选版本时, 叫做gamma( 现在叫做RC - Release Candidate) 。
简单来说,阿尔法测试主要是测试人员在开发环境下的测试,贝塔测试是在实际环境中的测试,或者公司内部人员在模拟真实环境中的测试。
 

2 按照是否查看源代码

2.1 黑盒测试

又称数据驱动测试,完全不考虑程序内部结构和内部特性,注重于测试软件的功能需求,只关心软件的输入数据和输出数据。


2.2 白盒测试

指的是把盒子打开,去研究里面的源代码和程序结构。

在软件公司,往往采用黑盒测试&白盒测试相结合的方式。
软件的整体功能和性能进行黑盒测试软件的源代码采用白盒测试

思考:

(1)按照所从事软件测试的种类, 谁更加厉害一点?

(2)你想做黑盒还是白盒测试?

2.3灰盒测试
灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

2.4 详细了解黑盒测试

2.4.1 黑盒测试的分类

功能测试
是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。

逻辑功能测试(functiontesting)界面测试(UItesting)

易用性测试(usability  testing)

安装测试(installationtesting)

性能测试
是软件测试的高端领域,性能测试工程师的待遇和白盒测试工程师不相上下,通常我们所说的高级软件测试工程师一般就是指性能测试或是白盒测试工程师。

时间性能(事务响应时间等) 空间性能(系统资源消耗) 一般性能测试

稳定性测试

负载测试:通过负载测试来确定在各种工作负载下,系统各项性能指标的变化情况。

压力测试:通过确定一个系统的瓶颈或者刚好不能接受的性能点,来获得系统能够提供的最大服务级别。

黑盒测试能发现以下几类错误:

功能不对或功能遗漏。界面错误。

数据库访问或者处理错误。性能问题。

黑盒测试的优点:

测试人员不需要了解实现得细节,包括特定的编程语言(没有编程经验的人也可以设计测试用例);   测试人员和编程人员是相互独立的(黑盒测试用例设计与程序如何实现无关);

从用户的角度进行测试,很容易被接受和理解; 有助于暴露任何与规格不一致或者歧异的地方;

黑盒测试的缺点:

不能测试程序内部特定部位;

如果程序未执行的代码无法发现; 不可能做到穷举测试

3 按是否运行分类

3.1 静态测试

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

3.2 动态测试
是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。

 

4 随机测试(其他分类)
随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressivetesting)一起进行。

 

5 探索性测试(其他分类)

 

探索性测试可以说是一种测试思维技术。它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。探索性强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略。
探索性测试强调测试设计和测试执行的同时性,这是相对于传统软件测试过程中严格的“先设计,后执行”来说的。测试人员通过测试来不断学习被测系统,同时把学习到的关于软件系统的更多信息通过综合的整理和分析,创造出更多的关于测试的主意。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: