测试的分类

1.按开发阶段划分

(1)测试金字塔模型

在这里插入图片描述

  • 从下到上三层测试,投入相同的时间,人力资源等,回报率(产出)越来越低
  • 从下到上,测试的效率越来越低
  • 从下到上,定位问题越来越难

(2)单元测试

测试阶段:
编码前:(TDD)
编码后:Test-Driven-Develop 测试驱动开发

测试内容:

  • 单元接口测试: 按照接口设计文档,参数,输出

  • 局部数据结构测试( 局部变量)

  • 边界测试

  • 路径测试 if else,switch

  • 错误处理测试: throws ,try catch

单元测试框架(Junit)测试步骤
1,在pom文件中加入依赖

<dependency>
( groupId> junit</ groupId>
<artifactId> junit</ artifactId>
<version>4.11</ version
K scope>test</ scope
</ dependency>  

2,在file-settings- Plugins搜索Junit并安装
3,开始做单元测试
选中要进行单元测试的类的类名,Ctrl+shift+T, 生成单元测试类

(3)集成测试

按照一定的策略把单元模块组装起来
测试内容:模块之间数据的传输(输入输出,参数),模块之间功能的冲突,全局数据结构,单个模块的缺陷对整个功能的影响;

题: 局部数据结构测试出现在以下哪一个测试阶段?
答:单元测试

(4)系统测试

对被测试软件应用系统进行全面的系统的测试。
测试内容:功能,界面,性能,安全性,兼容性,可靠性,可移植性等;

(4.1)回归测试

回归测试属于系统测试
当系统引入新代码的时候,进行回归测试;
运用情景:出现新功能;修改了BUG;
:大型系统,不停迭代,每次都要进行回归,使用自动化回归测试。

(4.2)冒烟测试

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

(5)验收测试

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

2.按照实施组织区划分

(1) α 测试

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

(2) β 测试

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

α 测试与 β 测试的区别
测试的场所不同:Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测
试。
Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。beta测试的环境是不受开发方控制的,用户数量相对比较多,时间不集中。
alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长。

(3)第三方测试

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

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

(1) 静态测试

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

在这里插入图片描述

(2) 动态测试

动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。
这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
大多数软件测试工作都属于动态测试。

4. 按照是否手工划分

(1)手动测试:

优点:灵活,发散性测试,
手工测试无法被替代
缺点:量大容易出错;

(2)自动化测试:

按照预设的条件去执行测试,收集测试结果,设置正常验证和异常验证
断言结果.

自动化类型:

  • Ul界面自动化,selenium unittest ddt HTMLResultRepport
  • 接口自动化jmeter postman
  • 性能自动化loaderrunner

自动化的前提:项目的功能要相对稳定
自动化的价值:脚本的重复使用率(利用率)越高,自动化越有价值

5.按是否查看代码划分

(1)黑盒测试

黑盒测试也称功能测试,不关心程序内部具体的实现,只关心软件的输入数据与输出数据是否满足需求。例如系统测试,验收测试

题:黑盒测试设计测试用例的方法有哪些?
等价类,边界值,因果图,错误猜测法,正交法,场景法。

(2) 白盒测试

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

(3)灰盒测试

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

6.按照地域划分

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

7.按照测试对象划分

业务测试:是测试人员把系统各个模块串接起来运行、模拟真实用户实际的工作流程,满足用户需求定义的功能来进行测试的过程

eg.查看邮件:
登录网站-输入用户名、密码登录-进入收件箱-查到邮件-点击打开-查阅-关闭邮件-退出邮箱-关闭网站

业务测试关注需求和用户

界面测试:

界面测试(简称UI测试),测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正
确,命名是否统一,页面是否美观,文字、图片组合是否完美等。

题:页面自适应测试都测试哪一些方面?
答:在不同大小的页面上: 文字是否丢失,重叠,模糊;
图片是否重叠,丢失;
功能是否丢失并且是否可以正常使用;
大小页面进行切换的时候,是否丝滑,不会出现内容瞬间丢失,或者瞬间展示出来;
不同大小的页面展示是否严格按照UI设计稿来设计;

容错性测试

当系统因为外部环境或者人为的操作不当导致系统发生一些异 常情况,如果系统可以自我消化,并且不把这些异常直接展示给客户,说明系统的容错性比较好。

  • 数据级别:货币,日期,时间
  • 校验级别:前后空格,前后信息是否一致(身份证号,姓名等),验证码
  • 界面级别:屏蔽一些有风险的操作;对输入信息有限制的,可以做成下拉框或者模糊匹配;对于一些有风险或者复杂操作,可以给用户备注;
  • 环境级别:软件系统所在的软硬件以及外部环境;网络,服务器,电,618活动

失效恢复性测试:人为操作

文档测试

术语,正确性,一致性,完整性

兼容性测试

  • 平台: Windows, MAC,Linux,Ubuntu
  • 浏览器: Chrome, Firefox,IE,360, qq, 搜狗,edge,Opera ,Safari
    浏览器的不同的市场上的主流版本。
  • APP测试:
    平板,不同手机不同的系统版本
    Android:华为,OPPO, vivo, 小米,锤子,三星,魅族
    I0S:苹果
    不同手机在市场上的主流版本
    不同系统(Android/I0S) 的主流版本
  • 软件向前或者向后的兼容性
  • 软件对数据的兼容
    历史数据,相关软件数据的兼容
  • 软件对其他相关软件的兼容性
  • 易用性(用户体验测试)
    遵循标准规范

安全性测试

病毒,防黑客,SOL注入, Xss注入, 防爬虫

题:上传,下载的时候安全性测试要注意什么?
答: 防止拦截,窃取; 文件过大不会对系统产生损坏.

内存泄漏测试

内存泄漏的原因:
分配了内存,忘记回收;
使用API函数方式不正确, 内存无法回收;
写的函数有问题,造成内存无法回收;

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值