测试分类: 1.按开发阶段划分(重点): 开发阶段分为UI界面层(要求最低,人员最多)UI:功能验证测试、兼容性与用户测试 业务逻辑层 Server:客户端模拟测试、内外接口测试、SDK接口测试 数据处理层(要求最高,人员最少)Unit:单元测试(白盒测试,对代码进行测试)、CodeReview(代码复审) 1)单元测试(模块测试):对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性 测试阶段:编码后或编码前(TDD,测试驱动开发(研发人员拿着测试人员写的测试用例去写代码)) 测试对象:软件设计的最小单位:模块,又称模块测试。 测试人员:白盒测试工程师或开发工程师 测试方法:白盒测试 测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试 测试依据:代码的注释+详细设计文档 2)集成测试(联合测试):至少两个模块,将程序模块采用适当的继承策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。 测试阶段:一般单元测试之后 测试对象:模块间的接口 测试人员:白盒测试工程师或开发工程师 测试方法:黑盒和白盒相结合(既要测功能又要测代码) 测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响 测试依据:单元测试的模块+概要设计文档 3)系统测试(测试人员花费时间最长的阶段):将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试。 测试阶段:集成测试之后 测试对象:整个系统(软硬件) 测试人员:黑盒测试工程师 测试方法:黑盒测试 测试内容:功能、界面、可靠性、易用性、性能、兼容、安全性等 测试依据:需求规格说明文档 a:冒烟测试:对主干业务流程进行测试,目的是确认软件基本功能正常,可以进行后续的正式测试工作(测试人员是否进行测试的依据) 测试阶段:系统测试之前(包括在系统测试中) b:回归测试:修改了旧代码之后,重新进行测试以确认没有引入新的错误或导致其他代码产生错误。 自动回归测试将大幅降低系统测试、维护系统等阶段的成本。 测试阶段:系统测试之后(包括在系统测试中) 4)验收测试: 测试阶段:系统测试之后 测试对象:整个系统 测试人员:最终用户或需求方 测试依据:用户需求、验收标准 测试方法:黑盒测试 测试内容:同系统测试(需求规格说明文档) 2.按测试实施组织: 预发布环境:上线之前的环境,和真实的生产环境(我们现在使用的淘宝环境)差不多 1)α: 测试环境:公司内部的开发环境或预发布环境 测试人员:本系统的测试人员和研发人员之外的人员 测试周期:短 测试阶段:β之前 2)β: 测试环境:用户的真实环境(验收测试) 测试人员:用户 测试周期:长(涉及用户付款) 测试阶段:α之后 3)第三方: a:研发和测试分开,两个不同的公司 b:只把测试外包出去 3.按是否运行划分: 1)静态测试(可以人工可以工具):不运行被测程序本身,进行测试(代码的风格和规则审核,程序设计和结构的审核,业务逻辑的审核)。 不仅仅测试代码,还对文档的正确性、准确性进行测试。 静态质量:用六个方面进行衡量:功能性、可靠性、可用性、有效性、可维护性、可移植性 2)动态测试:运行被测程序,检查运行结果与预期结果的差异 4.按是否手工划分: 1)手工测试: 优点:自动化无法替代探索性测试,发散思维结果的测试 缺点:执行效率慢,量大易错 2)自动化测试:比如功能测试自动化、性能测试自动化、安全测试自动化 通常所说的自动化是指功能测试自动化 可以用于:冒烟测试,回归测试 优点:手工测试的缺点 缺点:手工测试的优点 自动化实施步骤: a:完成功能测试,版本基本稳定 b:根据项目特性,选择适合项目的自动化工具,并搭建环境 c:提取手工测试的测试用例转化为自动化测试的用例(存在转换率) d:通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期 e:生成自动测试报告 f:持续改进,脚本优化 5.按是否查看代码划分(重点): 1)黑盒测试*:也称为功能测试,测试中不关心代码的结构(不看代码),只看软件的输入数据和输出数据。 2)白盒测试*:也称为结构测试(看代码),对代码进行测试,即对单元测试的测试内容进行测试。 3)灰盒测试:多用于集成测试阶段,关注输入输出也关心程序内部结构。 6.按测试地域划分: 1)本地测试 2)国际化测试 7.按测试对象划分(重点): 1)业务测试:测试人员把系统各个模块串接起来运行,模拟真实用户实际的工作流程,满足用户需求定义的功能来进行测试的过程。 2)界面测试:UI测试,测试用户界面的功能模块的布局是否合理,整体风格是否一致,和个人审美有关。满足大部分人的审美观。 3)容错性测试:分为输入异常数据或进行异常操作和灾难恢复性测试, 输入异常比如输入错误用户名和错误密码,针对等价类,错误的等价类看他的处理方法 普通的容错性测试就是测试输入框的错误输入 灾难恢复性测试:通过各种手段,让软件强制发生故障,然后验证系统以保存的用户数据是否丢失,系统的数据是否能尽快恢复。 4)文档测试:分为三大类文档:开发文件,用户文件,管理文件 文档测试的关注点:文档的术语,文档的正确性,文档的完整性,文档的一致性,文档的易用性(可读性) 5)兼容性测试:软件之间能否很好的运作 Web测试:平台测试,浏览器测试,软件本身能否向前或向后兼容,测试软件能否与其他相关的软件兼容,数据兼容性测试(int是否兼容double,double是否兼容int) App测试:不同品牌,不同机型,不同版本 6)易用性测试:和界面测试相同,没有统一标准,符合大多数人的标准就行 7)安装测试:测试程序的安装,卸载(电脑端,手机端) 8)安全测试: 9)性能测试:检查系统是否满足需求规格说明书中规定的性能 关注方面:对资源利用进行的精确度量,对执行间隔,日志时间,相应时间,吞吐量,辅助存储区,处理精度等进行的监测 难点:发现bug之后如何调优 10)内存泄露测试:检测要利用工具 出现原因: 分配完内存之后忘记回收 程序写法有问题,造成没办法回收 某些API函数的使用不正确,造成内存泄露 没有及时释放 code review:审查代码 静态代码分析:类型检查,风格检查,bug查找,安全漏洞,内存泄露 特点:不实际执行程序,执行速度快,效率高,误报率高 CI:持续集成工具 CD:持续发布工具 devops:运维工具
测试的分类
原创
©著作权归作者所有:来自51CTO博客作者王果果ooo的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
分类测试
这是我的博客内容
哈哈 我的第一个分类测试 -
测试的方法及分类
测试的分类及方法
测试分类 测试方法 -
软件测试分类
本篇博文属于对软件测试领域的科普篇,关于软件测试领域,名词颇多,发现有许多测试新手混淆概念,甚至有不少招聘
功能测试 自动化测试 性能测试