软件测试类别

什么是软件测试

结合测试人员(或团队)过往的经验、行业知识和专业技能,为尽可能早的发现软件项目潜在的缺陷,对软件项目各阶段成果输出进行验证、确认。通俗说就是把预期结果和实际结果做对比。

测试类别

测试方法划分

从方法来划分可以将测试分为:

  1. 黑盒测试
  2. 白盒测试
  3. 灰盒测试

黑盒测试:通过软件的外部表现来发现缺陷和错误。(不需要看代码)

白盒测试:对软件内部结构进行分析,检测寻找问题。(需要看代码)

灰盒测试:介于黑盒与白盒之间,关注输出与输入的正确性;同时也关注内部表现,只通过一些表征性地现象、事件、标志来判断内部的运行状态。

测试内容划分

从内容来划分可以将测试分为:

  1. 功能测试
  2. 性能测试
  3. 安全测试
  4. 兼容性测试
  5. UI/界面测试
  6. 易用性测试
  7. 稳定性测试
  8. APP专项测试

功能测试

是检查测试软件的功能是否与需求说明一致的一个过程。

性能测试

主要是通过自动化测试的工具模拟多种正常、峰值以及异常负载条件来对系统各项性能指标进行测试。主要测试软件的响应时间,例如测试在不同的情况下,软件的响应时间。

性能测试一般有三种测试:压力测试、负载测试、并发测试。压力测试主要测试软件的最大负载量。负载测试的是软件在最大负载量下能够运行多长时间。并发测试是测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题。

安全测试

主要是为了防止黑客入侵所测软件。一般攻击者主要用以下四种方式攻击:渗透、DoS攻击、SQL注入、跨域攻击。

渗透测试从其可能存在的位置对系统进行攻击测试,在真正的黑客入侵前找到隐藏的安全漏洞,从而达到保护系统安全的目的。

兼容性测试

兼容性测试有两个方向一是web、另一个是移动端。web端主要是根据市面浏览器份额从高到低进行测试,主流的浏览器有谷歌、火狐、edge、ie、360、qq、safari。

移动端兼容性测试又分为android和ios两类,android主要是选取不同的android版本、系统版本、屏幕分辨率、屏幕形状综合考虑进行测试,公司通过市场所占份额进行选择性的测试,一般公司提供了部分型号的手机给我们测试,当覆盖度不够时,都是找同事的手机来测一测。ios只要根据不同的评级手机来测试。

UI/界面测试

主要是检查界面好不好看、风格是否一致、布局与配色是否合理。

易用性测试

主要是测试软件好不好用、操作步骤是否会太繁琐、学习成本越低越好。

稳定性测试

检测软件长时间使用是否会不会出现问题。

APP专项测试

对手机应用进行测试了,主要有弱网测试、权限测试、安装卸载更新测试、场景交互测试、资源征用测试、消息推送测试、资源监控、兼容性测试、易用性测试、稳定性测试、UI测试。

弱网测试

主要是模拟软件分别在2/3/4/5/wifi/飞行/热点模式下的表现,不同网络本质区别就是网速不同,所以可以通过软件来模拟。

与传统桌面应用不同,移动应用的网络环境比较多样,而且经常出现需要在不同网络之间切换的场景,即使是在同一网络环境下,也会出现网络连接状态时好时坏的情况,比如时高时低的延迟、经常丢包、频繁断线,在乘坐地铁、穿越隧道,和地下车库的场景下经常会发生。

所以,移动应用的测试需要保证在复杂网络环境下的质量。具体的做法就是:在测试阶段,模拟这些网络环境,在 App 发布前尽可能多地发现并修复问题。

权限测试

主要是测试软件在权限不给的时候,还能否正常的使用其他功能。

安装卸载更新测试

是确保该软件在正常情况和异常情况的不同条件下进行首次安装、升级、完整的或自定义的安装能进行安装

场景交互场景

主要是测试环境有电话短信响铃、听歌、分屏使用、微信语音、前后台切换、不同的应用切换、单手模式

消息推送测试

是测试消息推送是否正常,在关闭开启后,消息推送顺序是否正确。

资源监控

去测试软件在运行时,系统资源的占用。只要是电量、流量、硬盘、内存、cpu等资源。可以使用通过求平均值进行统计。

测试阶段划分

从阶段来划分可以将测试分为

  1. 单元测试
  2. 集成测试
  3. 系统测试
  4. 验收测试

单元测试

电子元器件就像是软件中的单元,通常是函数或者类,对单个元器件的测试就像是软件测试中的单元测试。代码中的函数、方法、类等等。一般使用白盒测试。不过单元测试一般都是开发自己做。

集成测试

组装完成的功能电路板就像是软件中的模块,对电路板的测试就像是软件中的集成测试。测试不同的模块和模块之间是否正确的连接。主要做接口测试。

系统测试

电视机全部组装完成就像是软件完成了预发布版本,电视机全部组装完成后的开机测试就像是软件中的系统测试。测试的就是软件的整个整体。主要做的测试有功能测试、性能测试、安全测试等等。

验收测试

主要由验收放来做测试,测试人员只是协助别人验收。α测试是指内侧,公司内部的测试人员在模拟实际操作环境下进行的测试。β测试是指公测,请用户来使用体验,找出问题。

测试对象划分

从对象来划分可以将测试分为

  1. app测试
  2. web测试
  3. 物联网测试
  4. 车联网测试
  5. 大数据测试
  6. AI测试
  7. 小程序测试

测试状态划分

从状态来划分可以将测试分为

  1. 静态
  2. 动态

静态地检查程序代码、界面或文档中可能存在的错误,借以发现编写的程序的不足之处,减少错误出现的概率。

实际运行被测程序,输入相应的测试数据,检查实际输出记过和预期结果是否相符的过程;并分析运行效率、正确性和健壮性等性能。

其他

  1. 回归测试
  2. 冒烟测试
  3. 埋点测试
  4. MOCK/打桩测试

回归测试

修改旧代码后,重新测试以确认没有引入新的错误或导致原代码产生错误

冒烟测试

作为测试前的小测试,检查软件是否具备可测性。这种测试强调程序的主要功能进行的验证,而不会对具体功能进行更深入的测试。

埋点测试

通过开发所预设的代码来测试某项功能

MOCK/打桩测试

都是用来代替真实代码的临时代码,起到隔离和补齐的作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值