软件测试的分类

  • 一、软件的含义
  • 二、软件测试的分类
    • (一)按照方法(测试技术)分类
      • 1、黑盒测试
      • 2、白盒测试
      • 3、灰盒测试
    • (二)按照阶段分类
      • 1、单元测试
      • 2、集成测试
      • 3、确认测试
      • 4、系统测试
      • 5、验收测试
      • 6、回归测试
    • (三)按照测试实施组织划分
      • 1、开发方测试
      • 2、用户测试
      • 3、第三方测试
    • (四)按照方向分类
      • 1、功能测试
      • 2、性能测试
      • 3、安全测试
      • 4、UI界面测试
      • 5、兼容性测试
      • 6、易用性测试
      • 7、稳定性测试
      • 8、app专项测试
    • (五)按照对象分类
      • 1、APP测试
      • 2、WEB测试
      • 3、小程序测试
      • 4、接口测试
      • 5、物联网测试
      • 6、车联网测试
      • 7、AI测试
      • 8、大数据测试
      • 。。。
    • (六)按照状态(是否执行代码)分类
      • 1、静态测试
      • 2、动态测试
    • (七)其他分类
      • 1、冒烟测试
      • 2、回归测试

一、软件的含义

二、软件测试的分类

(一)按照方法(测试技术)分类

1、黑盒测试

通过软件的外部表现发现其缺陷和错误。黑盒测试法把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。黑盒测试是在程序的界面处进行测试,其只为验证软件程序的各项功能是否按照相关文档的要求实现。

2、白盒测试

白盒测试又称结构测试。是通过对程序内部结构的分析、检测来寻找问题。白盒测试可以把程序看成装在一个透明的白盒子里,也就是清除了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。

3、灰盒测试

介于白盒和黑盒测试之间,灰盒测试关注输出对于输入的正确性;同时也关注内部表现,但这种关注不如白盒测试细致,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。灰盒测试结合了以上两种测试方法的要素,考虑到了用户端、特定的系统知识和操作环境。其在系统组件的协同性环境中评价应用软件设计。

(二)按照阶段分类

1、单元测试

单元测试又称模块测试,是针对软件设计的最小单位——程序模块进行正确性检验的测试工作,其目的在于检查每个程序单元是否能够正确的实现详细设计说明书中的模块功能、性能、接口和设计约束等要求,发现模块内部可能存在的各种错误。

2、集成测试

集成测试也可以称为组装测试,通常在单元测试得基础上,将所有的程序模块进行有序的、递增的测试模式。集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序或软件,总共有两种集成方式,一种是自低向上的,一种是自顶向下的。软件集成也是一个持续的过程,在不断的集成过程中,功能的稳定性非常重要,在每个版本提交时都需要进行冒烟测试。

3、确认测试

确认测试是通过检验和提供客观证据,证实软件是否满足特定预期用途的需求。确认测试是检测与证实软件是否满足软件需求说明书中规定的要求,其一般在系统测试前面进行,时间非常短,只是看系统的功能方面是否满足要求。

4、系统测试

系统测试是为了验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的全面的测试,以保证软件在真实的环境中能够按照要求运行,满足用户在实际工作中的需求。

5、验收测试

按照项目任务书或者双方约定的合同等具有法律效率的文件,对整个系统进行评审,以确认是否接收该系统。
(1)α测试-----又叫内测
(2)β测试-----又叫公测

6、回归测试

是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

(三)按照测试实施组织划分

1、开发方测试

通常也叫“验证测试”或“α测试”;开发方通过检测和提供客观证据,证实软件的实现是否满足规定需求。验证测试是在软件开发环境下,由开发者检测与证实软件的实现是否满足指定要求。这个可以和软件的系统测试同时进行。

2、用户测试

在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。通常情况用户测试不是指用户的“验收测试”,而是指用户的使用性测试,由用户提交在使用过程中发现的缺陷与bug,然后再由开发人员进行修改。与其相关的有一种测试叫“β测试”,其指的是把软件产品有计划的免费发放到市场,让用户大量使用,并评价、检查软件,以搜集软件潜在的缺陷,然后让开发人员进行修改即可。

3、第三方测试

介于开发方与用户方之间的测试组织组织的测试,其在一定程度上独立于双方,第三方测试也叫独立测试。也就是说第三方测试是由在技术、管理和财务上与开发方和用户方相对独立的组织进行的软件测试。一般情况下是在模拟用户真实环境下,进行软件确认测试。

(四)按照方向分类

1、功能测试

根据需求文档,测试能不能实现相应功能

2、性能测试

测试系统的性能瓶颈

  • 压力测试:对于分布式网络,测试不同用户数量来测试系统的反应,主要关注性能指标,系统不同表现。

  • 负载测试:高压状态下多用户高并发测试(30万-50万),主要关注系统是怎么崩溃的。(内存泄漏,cpu无响应,数据库无反应,网络堵塞)

  • 并发测试/容量测试:主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测试都会涉及并发测试;系统最大支撑的相关数量,数据库最大数据数量,用户数量。

1、为什么要做性能测试?
1)目前绝大多数应用都是基于网络的分布式应用,我们无法知道用户数量,用户场景的不确定性,导致系统测试时,不仅仅是功能,业务逻辑,接口测试,还要测试系统性能。一个用户没问题,但是用户一旦多了就可能出现各种各样的问题,所以需要进行系统性能测试。
2)用户数量增加,系统负债增加,进行系统性能测试,知道系统承受的并发用户数量,带宽是否够用,cpu是否够用,内存是否够用,硬盘速度是否跟得上。从服务端来看,测试服务器是否能承载用户多并发,系统是否稳定,从用户角度看响应时间速度。
可参考原文:性能测试总结

3、安全测试

  • 渗透测试
  • DDOS攻击
  • 跨域攻击
  • SQL注入
  • 暴力破解

4、UI界面测试

主要检查界面是否好看、界面风格是否保持统一、界面按钮大小是否保持一致、界面是否和设计图保持一致等等。

5、兼容性测试

  • 对于app而言:
    首先,测试软件在Android和iOS上是否兼容;其次,测试不同的Android版本是否兼容。例如:不同的系统、不同的屏幕、不同的分辨率、不同的品牌;(可以根据市场的占有率进行选择占比高的Android进行测试)
  • 对于web而言:
    测试不同的浏览器是否兼容。例如:谷歌、新的edge、火狐、IE、360、QQ浏览器。。。

6、易用性测试

进行用户体验测试,学习成本越低越好、功能越简洁越好

7、稳定性测试

8、app专项测试

  • 弱网测试
    测试app能不能在不同的网络下正常使用:2G、3G、4G、5G、WiFi、热点
  • 场景交互测试
    例如:不同的app互相切换、前后台切换、来电话、短信、微信语音、分屏等等。
  • 资源争用测试
    同类型的app同时工作时,哪个app的优先
  • 权限测试
    测试使用对应的功能,是否提示给权限、关闭权限后,是否影响其他的功能的使用
  • 离线测试
  • 安装、卸载、更新
  • 消息推送
    测试app关闭后是否还能收到消息推送
    断网后,在联网,之前的消息是否能收到
  • 资源监控
    app的大小、流量、电量、内存、CPU

(五)按照对象分类

1、APP测试

2、WEB测试

3、小程序测试

4、接口测试

5、物联网测试

6、车联网测试

7、AI测试

8、大数据测试

。。。

(六)按照状态(是否执行代码)分类

1、静态测试

指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

2、动态测试

是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。

(七)其他分类

1、冒烟测试

这是在正式测试前对软件进行一个预测,检查软件是否具备可测性

2、回归测试

检查上一次测试时发现的问题有没有被修改

软件测试按照各种方式分类相关推荐

  1. 软件测试中Bug的分类(类型)

    软件测试中Bug的分类: 1.按严重程度分类: 是指bug对软件质量的破坏程度,即此bug的存在将对软件的功能和性能产生什么样的影响. 崩溃(Blocker):系统无法正常运行.阻碍开发或测试工作的问 ...

  2. 以前一款半回合制java游戏_浅谈游戏的战斗方式分类:回合制,半回合制,即时制...

    游戏的分类很多,按照题材可分为动作.冒险.角色扮演.策略.模拟.音乐.休闲.体育等.今天聊一下传统的战斗方式分类: 回合制,半回合制,即时制. 1.回合制RPG:代表作品:仙剑奇侠传.轩辕剑等. 优点 ...

  3. 从攻击方式分类ddos

    ddos攻击2 导读: 分别从 带宽消耗攻击.设备资源消耗攻击.畸形报文攻击.应用资源反射攻击. 慢攻击 几种攻击方式分类并介绍常见的ddos攻击. 带宽消耗攻击 ​ TCP Flood.UDP Fl ...

  4. 软件测试的定义和分类

    目录 软件测试基础理论 一.软件测试的定义 二.软件测试的分类 1.软件测试方法 2.软件测试阶段 3.软件测试方向 4.软件测试对象 5.软件测试状态 6.其他 总结 一.软件测试的定义 判断软件的 ...

  5. 软件测试的方法和分类与开发模型的变迁

    软件测的定义 经典定义:软件测试(Software Testing),在规定条件下对程序进行操作,以发下程序错误,衡量软件质量,并且是否能满足设计要求进行评估. 标准定义:软件测试是使用人工或者手段运 ...

  6. USB 传输方式(数据传输方式分类及带宽占用率对比)

    USB 数据传输方式分类及带宽占用率对比 控制传输 同步传输 中断传输 批量传输 USB传输有四种传输类型使用的事务类型各不相同.其中批量传输.同步传输每次传输需要一个或多个事务,中断传输每次传输只需 ...

  7. js便利关联数组 及数组定义方式 分类

    "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv=& ...

  8. 软件测试的定义与分类

    一.软件的分类 二.什么是软件测试 三.软件测试的目的 四.软件测试的分类 五.环境分类 六.常见笔试面试题 一.软件的分类 1.软件 = 程序 + 文档 程序 是按实现设计的功能和性能要求执行的指令 ...

  9. 【软件测试】软件测试的介绍和分类

    1.什么是软件测试? 去检测开发出来的软件符不符合需求,符不符合预期结果 2.软件测试发展历程 1.软件测试就是去证明软件是正确的. 2.软件测试就是去证明软件是错误的. 3.软件测试就是去证明的质量 ...

  10. 软件测试的定义、分类、方法、生命周期

    1.软件测试的定义: 关于软件测试的定义,首先要明确测试的定义:以检验产品是否满足需求为目标.而软件测试,自然是为了发现软件(产品)的缺陷而运行软件(产品).比较标准的软件测试的定义是:在规定的条件下 ...

最新文章

  1. kalinux实现自适用全屏、与物理主机共享文件方法
  2. Hibernate介绍
  3. centos nfs端口固定
  4. __stdcall、__cdecl 、CALLBACK 几种函数修饰符
  5. 织梦 自定义属性 调用 php,dedecms通过增加自定义属性达到文章分类的效果
  6. jsp获取多个checkbox的值
  7. HDU 2095 find your present (2)
  8. 《论文笔记》COVINS: Visual-Inertial SLAM for Centralized Collaboration
  9. psn请验证您不是机器人_创客机器人的课程简单易学吗
  10. 新来的老大说,“公司以后禁止使用Lombok”,我表示反对~
  11. 深圳端午节骑行活动,欢迎大家参加
  12. 上传本地新项目到SVN服务器
  13. 湖北工业大学计算机学院考研资料,湖北工业大学计算机学院836数据结构历年考研真题汇编.pdf...
  14. dell服务器pe系统安装win7系统,dell戴尔pe重装win7系统
  15. 《陶哲轩教你学数学》读后感
  16. java:xml数据转json
  17. 排序算法问题:稳定排序与不稳定排序
  18. 如何让excel说话,vba的speak功能
  19. 明星热图|刘诗诗、倪妮出席品牌活动;王一博、任嘉伦、龚俊等签约新品牌成为代言人...
  20. 【.NET】用Aspose.Words for .NET动态生成word文档中的数据表格

热门文章

  1. MoviePy - 中文文档1-下载与安装
  2. 单循环赛积分至少多少才能保证一定出线?
  3. 【SaaS - Export项目】用户登录,显示,退出 删除session中的用户信息 销毁session
  4. Mail_Android_Video_SW_DDK_Intergration_Guide_And_Codec_User_Manual中文翻译【preface】
  5. 跳出坑爹的 Runtime Library 坑
  6. 怎么升级计算机的操作系统,电脑如何升级系统版本_Windows10/7电脑升级系统版本的操作步骤...
  7. Multisim14.0详细安装教程
  8. 【毕业设计】2021年计算机专业-12套精品项目源码免费下载
  9. 小米笔记本重装win10系统教程
  10. 单容水箱液位pid控制实验报告_过程控制实验-单容水箱液位控制系统