一、根据透明度分
1.白盒测试
把测试对象看成是一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员都是公开的。白盒测试的方法有逻辑覆盖(语句覆盖、判定覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖)、基本路径测试等
2.黑盒测试
黑盒测试把测试的对象看成一个黑盒子,不考虑程序内部的逻辑结构和内部特性,主要在软件的接口处进行测试,主要测试软件的功能。黑盒测试的方法包括等价类划分法、边界值分析、错误推测法、因果图、功能图等
3.灰盒测试
灰盒测试结合了白盒测试盒黑盒测试的要素.它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识盒与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。
二、根据实施组织分
1.开发方测试: 开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。
2.用户测试: 主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。
3.第三方测试: 介于软件开发方和用户方之间的测试组织的测试。第三方测试也称为独立测试。
三、根据技术分
1.单元测试: 单元测试又称模块测试,是针对软件设计的最小单位-程序模块进行正确性检验的测试工作
2.集成测试: 一次性集成方式、增殖式集成方式、混合增殖式测试
3.系统测试: 与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合
4.冒烟测试:一个初始的快速的测试工作,以决定软件或者新发布的版本测试是否可以执行下一步的“ 正规” 测试。如果软件或者新发布的版本每5分钟与系统冲突,使系统陷于泥潭,说明该软件不够“ 健全” ,目前不具备进一步测试的条件
5.回归测试:软件或环境的修复或更正后的“ 再测试” ,自动测试工具对这类测试尤其有用
6.性能测试:测试软件的运行性能。这种测试常与压力测试结合进行,如传输连接的最长时限、传输的错误率、计算的精度、记录的精度、响应的时限和恢复时限等
7.负载测试:测试软件在重负荷下的运行表现,系统的响应减慢或崩溃
8.压力测试:测试系统在某一条件达到最高限度时各项功能是否能依旧运行。
9.可用性测试:测试用户是否能够满意使用。具体体现为操作是否方便、用户界面是否友好等。
10.安装/卸载测试:对软件的全部、部分、升级安装或者卸载处理过程的测试
11.接受测试:基于客户或最终用户的需求的最终测试,或基于用户一段时间的使用后,看软件是否满足客户要求
12.恢复测试:采用人工的干扰使软件出错,中断使用,检测系统的恢复能力。
13.安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种干扰。
14.兼容测试:测试软件在多个硬件、软件、操作系统、网络等环境下是否能正确运行。
15.Alpha 测试:在公司内部系统开发接近完成时对软件的测试,测试后仍然会有少量的设计变更。 α测试时,开发者坐在用户旁边,随时记录用户发现的问题
16.Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。 β测试时开发者不在测试现场,故是在开发者无法控制的环境下进行的测试,通常是由软件开发者向用户散发β版软件,然后
收集用户的意见。
四、根据开发阶段分
1.单元测试: 单元测试又称模块测试,是针对软件设计的最小单位-程序模块进行正确性检验的测试工作。
2.集成测试: 将多个单元模块组合在一起实现多个功能,保证模块与模块之间能互相访问.一次性集成方式、增殖式集成方式、混合增殖式测试。
3.系统测试: 与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合。
4.确认测试: 验证软件的功能和性能及其它特性是否与用户的要求一致。
5.验收测试: 以用户为主的测试 。