软件测试分类(了解)

目前的软件测试主要分为两大类:
B/S(浏览器/系统):也就是web测试(网页测试),如淘宝等网站测试;
C/S(客户端/系统):客户端软件测试,如qq、手机软件等多为移动端的APP测试;

1.按是否涉及结构分
1)黑盒测试:不涉及内部机构,只基于需求和功能性的测试,也称作功能测试。
测试依据:需求说明书
优点:站在用户的立场进行测试;
缺点:不能测试内部机构和逻辑。

2)白盒测试:基于应用代码的内部逻辑知识的测试,也称机构测试或逻辑驱动测试。
测试依据:程序内部结构和逻辑;
优点:可以对程序内部特定结构和逻辑进行覆盖测试;
缺点:无法检验程序的外部特性;

3)灰盒测试:是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。

2.按测试阶段分类:
单元测试、集成测试、系统测试、验收测试。
1)单元测试(开发人员完成):
模块测试,针对程序模块(软件设计最小单位)来进行正确性检验的测试工作。

单元测试目的:
验证单元代码和详细设计文档的一致性;
发现在编码过程中引入的错误;
减少开发人员的调试代码时间;
减少后期缺陷的数量;

2)集成测试(开发人员完成):
在单元测试的基础上,讲所有模块按照概要设计要求组装成为子系统而进行的测试;
集成测试的目的:
验证各个子模块组合起来,能否达到预期要求的功能;
验证一个模块的功能是否会对另一模块的功能产生不利的影响;

3)系统测试:在实际运行环境下,验证系统或软件的功能能否达到质量标准。
目的:检验软件产品是否满足用户需求。
系统测试包含:功能测试、性能测试、安全性测试、易用性测试、兼容性测试;

功能测试:验证各个功能,检查产品是否达到了用户要求的功能;
运行、前后台切换、免登陆、数据更新、离线浏览、APP更新、定位照相机、时间测试、PUSH测试。
性能测试:通过自动化工具模拟正常、峰值及异常负载条件,检查系统各项性能指标是否满足需求;
极限测试、响应时间测试、压力测试、性能评估。
安全性测试:验证应用程序的安全级别和识别潜在安全性缺陷;
软件权限、安装与卸载安全、数据安全、通讯安全、人机接口安全。
易用性测试:测试用户在使用软件时,软件交互的适应性、功能性和有效性;
兼容性测试:测试软件在不同的平台、不同的网络环境、不同的应用软件之间能否友好的运行。

4)验收测试:以用户为主的测试,用户验证功能是否满足要求。
目的:确认系统是满足客户需求并且能够发行的。

Alpha测试(内部测试)
软件开发公司组织内部人员模拟各类用户对即将面市软件产品进行测试,试图发现错误并修正。

Beta测试(公开测试)
由软件的最终用户们在一个或多个场所进行。定期将这些问题报告给开发者,开发者对软件产品进行必要的修改,并准备向全体客户发布最终的软件产品。

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

3.从是否执行代码角度
静态测试、动态测试
1)静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

2)动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。

4.其他分类

冒烟测试:
冒烟测试源自硬件行业,对一个硬件或者硬件组件改动后,直接给设备加电,看看设备会不会冒烟,没冒烟,就表示待测组件是通过了测试。软件测试中的冒烟测试:指开发人员修复了先前测试中发现的bug后,把整体流程跑一边,跑一遍看有无问题,确保主干等大部分功能正常。

压力测试:测试系统最大承载压力,主要测试性能的极限能力,比如能容纳多少人同时使用。

负载测试:让系统承受一定压力测试,主要测稳定性,如多少用户在线使用多长时间,系统功能仍能正常。

你可能感兴趣的:(软件测试)