测试分类

上一篇 / 下一篇  2022-04-18 11:19:17 / 个人分类:测试

1.按照开发阶段划分的4种测试

1.1单元测试

测试阶段:编码后,编码前(TDD)

测试驱动开发:Test——Driven——Development

先写测试用例,跑测试用例,开发人员根据测试用例产生的异常去补充开发代码

测试内容:

模块接口测试:输入参数,参数的个数,参数的类型,参数的顺序要符合接口文档

局部数据测试:

边界测试:for while

错误处理测:try catch finally

路径测试:if else switch

1.2集成测

测试阶段:单元测试之后

测试内容:模块之间数据的传递,模块之间功能的冲突,模块功能的正确性,全局数据结构,单个模块的缺陷对整个系统的影响

1.3系统测试

测试阶段:集成测试以后

测试内容:界面,功能,性能,易用性,安全性,兼容性等

(1)回归测试:当系统的代码进行修改时,为了防止新添加的代码对系统引入新的错误而进行的测试,原因:添加新需求,修改BUG

(2)冒烟测试:对系统的核心功能和主要流程进行测试。是决定我们测试人员是否接受系统进行正式测试的依据。

1.4验收测试

测试阶段:系统测试之后,用户进行测试

测试内容:界面,功能,性能,易用性,安全性,兼容性等,文档的测试(功能说明文档,开发文档,使用说明书)

2.按照测试的实施组织划分的3类

2.1 α测试

把用户(除测试和开发以外的公司人员)请到开发现场进行测试,及时发现并解决问题,但是环境受开发环境的限制,测试时间比较集中。

2.2 β测试

用户在正常的使用环境下进行测试,通常一个周期测试完成,把问题整理成文档,反馈给开发人员,开发人员进行改进;测试时间比较分散,但是是用户在真实的使用环境下进行测试。

β测试在α测试之后

2.3 第三方测试

第三方软件测评机构,是根据行业内的一些标准和规范进行测试

3.按照是否运行去划分(代码)

3.1静态测试(代码不运行)

3.2动态测试(代码运行)

4.按照是否手工划分

4.1手工测试

通过界面去测试,如果进行大量的测试容易出错,但是比较灵活,可以进行发散的测试

4.2自动化测试

前提:在系统功能比较稳定的时候才能可以做自动化测试

自动化测试最大的价值:脚本的重复利用率,重复利用率越高价值越大

步骤:

完成功能测试,版本基本稳定

根据项目特性,选择适合项目的自动化工具,并搭建环境

提取手工测试的测试用例转化为自动化测试的用例

通过工具、代码实现自动化的构造输入,自动检测输出结果是否符合预期

生成自动测试报告

持续改进,脚本优化

为什么要把手工测试的测试用例转化为自动化测试用例

手工测试可以被自动化测试替换吗?不可以,机器替代不了人的思维

5.按照是否查看代码划分

(1)黑盒测试:不关心软件内部的逻辑结果,只关心输入和输出是否达到我们的预期,相当于把测试的软件当成一个只有输入输出的黑色盒子

黑河测试设计测试用例的方法:等价类,边界值,因果图,正交法,场景设计,错误猜测

(2)白盒测试:研究软件内部的程序逻辑和结构,验证是否满足软件需求,相当于把软件当成一个能看见软件内部结构的白色的盒子去测试

白盒测试的方法:判定覆盖,条件覆盖,判定和条件的组合,判定组合,条件组合,语句覆盖,逻辑覆盖,路径覆盖

(3)灰盒测试:介于白盒和黑盒之间,即关心输入和输出又关心程序内部的机构

(4)单元测试:

  1. 安装插件Junit

  2. 找到要测的性能单元测试的类,选中类名,ctrl+shift+T。创建单元测试类

  3. 写单元测试方法

6.按照测试的地域去划分

国际化测试本地测试

软件国际化:就是在设计软件的时候,采用一种工程技术,使得软件在转换成不同国家的语言,风俗习惯的时候不需要修改源码的技术,就叫做软件国际化

7.按照测试对象划分

(1)业务测试:

  • 场景设计法:正常流程,异常流程

  • 了解业务

(2)界面测试(UI测试):

  • 文字的大小,字体,排版,颜色,粗细

  • 图片的清晰度,大小,排版,色彩

  • 页面整体排版,信息提示弹出框

  • 控件对话框,查询框,滚动条,弹出框

  • 按钮的亮度显示,有限按钮高亮展示,无效按钮置灰

响应式测试:页面可以随着屏幕的大小不同而变化

  • 文字在不同分辨率下能够完成并且清晰展示;

  • 图片在不同分辨率下能够正确排版,清晰展示,不重叠;

  • 界面的功能在不同的分辨率下可以正常使用;

  • 界面在不同分辨率下切换的时候,是平滑的过渡;

  • 在不同分辨率下,界面的展示要严格按照UI设计稿来进行展示。

(3)容错性测试

当系统出现一些异常或者用户输入错误的信息,进行异常的操作,系统可以自我处理这样错误情况,不会出现崩溃,页面异常这种情况,可以给用户一个很好的提示体验;

数据容错性:时间,日期,数字,例如:用户输入1月32号时,系统不会直接崩溃,而是会提示用户输入错误。

校验容错性:查询信息前后加空格(去掉)大小写自动转换验证码输入二次密码确认

信息级别:填表单的时候,异常关闭(网络,没电,人为)是否会自动保存

  • 同一个数据被不同人操作的时候,是否会有锁定

  • ​同一个信息在不同的平台上被操作(同账号),信息要同步

界面容错性:复杂的操作,有说明提示;用户在执行有风险的测试时,会提示

环境容错性:网络,电源,服务器;无缝切换备用的网络,电源或者服务器就能保证用户无感知。

灾难恢复性测试:人为的让服务器或者服务器所依赖的环境发生故障,测试系统的自我修复能力

1.系统能不能恢复

2.系统碰到这种情况,恢复系统的功能和信息所用的时间用户能否接受

(4)文档测试

测试文档是否完整,术语是否专业,是否容易使用

(5)兼容性测试

系统所在平台的兼容性

web

操作系统windowsios不同的操作系统要进行测试,不同操作系统的不同版本也要进行测试,浏览器要装在不同的操作系统上;不同的浏览器下,网页是否可以正常展示和使用:ChromeFirefoxedgeIE等。不同浏览器的市场上的主流版本也要测试(不同的浏览器内核不同,解析结果可能不同)

APP不同机型不同机型的不同操作系统IOSAndroid不同操作系统的主流版本上进行测试

兼容性测试在不同的平台上测试的功能都是一样的,所以可以用自动化测试

软件本身向前向后的兼容性

软件和其他相关软件的兼容性:淘宝支付宝饿了吗

数据兼容性:同一个软件上数据兼容性

(6)易用性测试

遵循一定的易用性标准开发软件(前期的积累经验,越来越符合人的使用习惯和需求)

直观性:软件的展示要和软件的定位相关

(7)安装测试(卸载)

APP应用商店,浏览器,安装包,命令行

安装的时候断网断电,暂停下次还能不能继续,突然不想下载了取消之后数据有没有清除

(8)安全性测试

是否抵御病毒,SQL的注入,系统攻击

(9)性能测试

为什么要进行性能测试?

能够快速的响应用户的请求(3s/5s/8s)

系统能够负载所需要的用户数量

能够处理系统所需要的事物数量

在负载和事物处理的高峰期,系统可以稳定运行,用户可以得到良好的体验

性能测试测试哪些方面?

对资源的利用率:cpu,gpu,内存,硬盘,网络,电源

响应时间:用户发送请求到用户所期待的响应展示出来

吞吐量:系统在单位时间处理的信息量,字节,事物处理量,HTTP请求量

内存泄漏?

内存泄漏就是系统在使用一些内存的时候,没有及时释放或没法释放,造成系统占用的内存越来越大,系统运行越来越慢,影响其他app的运行

造成内存泄漏的原因?(静态测试,或用一些工具检测)

分配了内存,忘记回收

写法有问题导致分配的内存无法回收

错误的使用API造成内存无法回收


TAG:

 

评分:0

我来说两句

Open Toolbar