测试分类*

测试分类

在这里插入图片描述

一,按开发阶段划分

测试金字塔与业务测试分析
在这里插入图片描述
测试金字塔模型
(1)从下到上三层测试,投入相同的时间,人力资源等,回报率(产出)越来越低
(2)从下到上,测试的效率越来越低
(3)从下到上,定位问题越来越难

SDK,全称:SoftWare DeveLopment Kit,一般是指软件工程师特定的软件包建立的开发工具集合。
ROI:投入产出比

单元测试

单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试

  • 测试阶段:编码后或者编码前(TDD)Test-Driven-Develop测试驱动开发
  • 测试对象:最小模块
  • 测试人员:白盒测试工程师或开发工程师
  • 测试依据:代码和注释+详细设计文档
  • 测试方法:白盒测试
  • 测试内容:单元接口测试(按照接口设计文档,参数,输出)、局部数据结构测试(局部变量)、路径测试、错误处理测试、边界测试

在这里插入图片描述

集成测试

按照一定的策略把单元模块组装起来
集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。

  • 测试阶段:一般单元测试之后进行
  • 测试对象:模块间的接口
  • 测试人员:白盒测试工程师或开发工程师
  • 测试依据:单元测试的模块+概要设计文档
  • 测试方法:黑盒测试与白盒测试相结合
  • 测试内容:模块之间数据传输(输入输出,参数)、模块之间功能冲突、全局数据结构,单个模块缺陷对整个功能的影响;

系统测试

对被测试软件系统进行全面的系统的测试

将软件系统看成是一个系统的测试。包括对**功能、非功能性测试(性能,安全性测试,易用性测试,可靠性测试,可移植性测试以及软件所运行的软硬件环境)**进行测试。时间大部分在系统测试执行阶段,包括回归测试和冒烟测试。

  • 测试阶段:集成测试通过之后
  • 测试对象:整个系统(软、硬件)
  • 测试人员:黑盒测试工程师
  • 测试依据:需求规格说明文档
  • 测试方法:黑盒测试
  • 测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
回归测试

**回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。**自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。随着系统的庞大,回归测试的成本越来越大,通过选择正确的回归测试策略来改进回归测试的效率和有效性是很有意义的。
迭代频繁,长期进行迭代开发的软件产品,自动化测试。

冒烟测试

在正式测试之前对系统的主要流程和核心功能进行测试。

验收测试:纯黑盒测试

验收测试不仅仅对系统进行全面测试,还要验收文档(开发文档,软件设计文档,需求分析文档,功能使用文档,用户使用文档)。

二,按实施组织区划分:

α测试

用户或者公司内非测试和非开发人员请到开发现场进行测试,时间比较集中,在开发现场沟通好产品的问题;容易受开发环境的影响。

β测试

用户在实际使用环境下进行测试。
用户测试的结果更接近于实际使用情况的反馈。
α测试测试优先于β测试。

第三方测试

介于开发方和用户方间的组织的测试。

三,按照是否运行划分(运行代码)

静态测试

不运行程序,根据需求规格说明书,软件设计文档,程序设计文档等结合程序(代码),查看代码的风格,语法,逻辑等是否符合需求。

动态测试

写测试用例,运行系统(程序),执行测试用例。

四,按是否手工划分

手动测试

永远无法被替代
优点:比较灵活,可以进行发散性测试
缺点:量大容易出错

自动化测试

按照预设的条件进行测试,手机测试结果,设置正常的验证和异常的验证

UI界面自动化,selenium unittest ddt HTMLResultRepport
接口自动化:jmeter postman
性能自动化:loaderrunner
自动化的前提:项目的功能要相对稳定
自动化的价值:脚本的重复使用率(利用率)越高,自动化越有价值

五,按照是否查看代码划分

黑盒测试

系统测试,验收测试
黑盒测试不关注程序内部具体的实现,只关注功能的输入和输出是否满足需求
黑盒测试设计测试用例的方法:
等价类,边界值法,正交法,因果图法,场景法,错误猜测法

白盒测试

单元测试
测试的时候要关注功能内部程序的实现逻辑,语法等。
白盒测试的方法:语句覆盖,循环覆盖法(while,for),路径覆盖法(switch if else),逻辑覆盖法(判定覆盖,条件覆盖,判断组合覆盖,条件组合覆盖)

灰盒测试

介于白盒和黑盒之间的测试 集成测试

六,按照地域划分

软件国际化:开发软件的时候使用一种工程技术,使得软件可以适用不同国家的语言,文化和风俗习惯,可以不用修改源码,这种工程技术叫做软件国际化。
word,苹果手机

软件国际化测试

软件本地化测试

七,按照测试对象划分

业务测试

是测试人员把系统各个模块串接起来运行、模拟真实用户实际的工作流程,满足用户需求定义的功能来进行测试的过程。走一遍系统的主要功能
如何快速熟悉系统的业务?
软件设计文档:软件的功能
测试环境

界面测试

字体,图片,排版,各种控件(按钮,CheckBox,滚动条,文本输入框等),按钮失效状态(置灰),按钮有效状态(高亮展示),弹出框(警告框/确认框),是否有确认或者取消按钮?
不同页面大小的界面测试-----既页面的自适应性测试
页面自适应性测试都测试哪些方面?
在不同大小的页面上
文字是否丢失,重叠,模糊
图片是否重叠,丢失
功能是否丢失并且是否可以正常使用
大小页面进行切换的时候,是否顺畅,不会出现内容瞬间丢失,或者瞬间展示出来
不同大小的页面展示是否严格按照UI设计稿来设计

容错性测试

当系统因为外部环境或者人为的操作不当导致系统发生一些异常情况,如果系统可以自我消化,并且不把这些异常直接展示给客户,说明系统的容错性比较好。
数据级别:货币,日期,时间
校验级别:前后空格,前后信息是否一致(身份证号,姓名等),验证码
界面级别:屏蔽一些有风险的操作;对输入信息有限制的,可以做成下拉框或者模糊匹配;对于一些有风险或者复杂操作,可以给用户备注;
环境级别:软件系统所在的软硬件以及外部环境;网络,服务器,电

文档测试

文档测试的关注点:
文档的术语
文档的正确性
文档的完整性
文档的一致性
文档的易用性

兼容性测试

平台测试:Windows Mac Linux Ubuntu
浏览器测试:Chrome Firefox IE 360 搜狗
软件本身能否向前或者向后兼容
测试软件能否与其它相关的软件兼容
数据兼容性测试

易用性测试(用户体验测试)

遵循标准规范
直观性
灵活性
舒适性
实用性

安装测试

测试程序的安装、卸载
典型的是app的安装、卸载

安全测试

病毒,防黑客,SQL注入,XSS注入,防爬虫
上传,下载的时候安全性测试要注意什么?
防止拦截,窃取;防止文件过大不会对系统产生损坏

性能测试

检查系统是否满足需求规格说明书规定的性能
为什么要进行性能测试:
能够快速相应用户的请求(3s/5s/8s)
系统能够负载所需要的用户数
能够处理系统所需要的事务数量
在负载和事务处理的高峰,系统可以确定
在系统能够处理的最高用户负载和事务数量的时候,用户可以获得良好的体验

性能测试测试那些方面:
对资源的利用率(如内存、硬盘,CPU,GPU,网络,电源等)
对执行间隔
日志事件(如中断,报错)
响应时间:用户发送请求到用户所期待的相应展示出来的时间
吞吐量(TPS):系统在单位时间处理的信息量
辅助存储区(例如缓冲区、工作区的大小等)
处理精度等进行的监测

日志的级别:info,debug,warn,error

内存泄露测试

系统在使用一些内存时,没有及时释放,没办法释放,造成系统占用的内存越来越大,系统运行越来越慢,影响了其他app的运行。
内存泄漏的原因:
分配了内存,忘记回收
使用API函数方式不正确,内存无法回收
写的函数有问题,造成内存无法回收
没有及时释放

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值