1. 按照测试对象划分

界面测试

界面测试(简称UI测试),测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是
否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正
确,命名是否统一,页面是否美观,文字、图片组合是否完美等。
一般大厂都有自己的规范可以作为测试参考。中小公司这部分测试一般都没有,除非明确的错误,否则容易和开发
人员引起争议。

界面测试参考UI设计图

可靠性测试

可靠性即可用性,是指系统正常运行的能力或者程度,一般用正常向用户提供软件服务的时间占总时间的百分比表示
可靠性=正常运行时间/(正常运行时间+不正常运行时间)*100%
可用性指标一般要求达到4个或5个9,即99.99%或者99.999%

容错性测试

容错性测试是指系统能够处理异常,用户的错误操作不至于系统奔溃,从而能够提高系统的可用性
文档测试
通常来说是在需求评审时测试人员需要进行需求分析(文档测试)
文档测试关注点:

兼容性测试

浏览器兼容(Chrome,Firefox,Safari)
平台兼容(Linux,Windows,Mac,安卓,苹果,鸿蒙,不同平台也有不同的版本)
自身兼容性:Chrome软件(1~103版本…)
其他软件的兼容性:百度APP(tab推荐,直播,小说…),贴吧,好看视频都有小说的入口(通过矩阵产品来引流),数据兼容

易用性测试

软件需要具备简单易上手的属性

安装卸载测试

移动端测试很容易遗漏掉卸载测试

安全测试

安全测试是一个相对独立的领域,需要更多的专业知识。例如web的安全测试,需要熟悉各种网络协议
TCP\HTTP,防火墙,CDN,熟悉各种操作系统的漏洞,熟悉路由器等。从软件来说,熟悉各种攻击手段,例如
SQL注入、Xss等。
作为web入门测试,可以IBM的appscan。

SQL注入(or where 1=1),XSS 漏洞(输入script代码),越权(垂直越权,水平越权)

性能测试

资源泄漏(内存泄漏),资源瓶颈(CPU、内存、网络、进程对比),采长补短
内存泄漏检查测试:

  1. 工具检查:静态代码扫描工具
  2. 人工检查

按照是否查看代码划分

黑盒测试

把代码看成是一个黑匣子,不关心内部结构和特性,只关心功能是否符合产品规格说明书的要求,黑盒测试又可以称为数据驱动测试或者功能测试
常见的黑盒测试设计测试用例的方法:

  1. 等价类
  2. 边界值
  3. 正交表法
  4. 判定表法
  5. 场景法
  6. 错误猜测法

白盒测试

白盒测试又可以称为结果测试或者逻辑驱动测试,检查程序内部实现,从代码的角度去查看问题,检查程序的运行状态是否符合预期

灰盒测试

介于黑盒测试和白盒测试两者之间,既要关心内部结构和特性,还要关心功能是否符合要求
● 为什么不直接用灰盒测试?
● 灰盒测试没有白盒测试详细,完整;黑盒测试是覆盖产品功能范围最广的测试,所以灰盒测试是不能取代黑盒测试和白盒测试的,但是黑盒测试可以取代灰盒测试,但是不建议,需要消耗很大的代价,需要设计非常非常多的测试用例

面试题:常见的测试方法有哪些?哪种测试方法用的多?
● 常见的测试方法有白盒测试和黑盒测试,在工作中需要根据实际情况来结合白盒测试和黑盒测试,通常来说测试人员使用黑盒测试方法相对多一点,需要结合白盒测试来完善测试,提高软件的健壮性
灰盒测试通常在集成测试用的多(开发人员用的多)

按照开发阶段划分

单元测试

单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单
位:模块。又称为模块测试 (最小单元是人为规定的,类\模块…)
测试阶段:编码后或者编码前(TDD)
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师
测试依据:代码和注释+详细设计文档
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

集成测试

集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的
功能进行正确性检测的测试工作。集成主要目的是检查软件单位之间的接口是否正确。
测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系
统的影响

冒烟测试

由测试人员来执行,检查系统主要功能和主要流程是否正常,评估软件、系统是否具备可测试的条件/可测试的标准
系统测试
将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统
测试执行阶段,包括回归测试和冒烟测试,保证系统规格符合产品规格说明书
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
回归测试
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测
试将大幅降低系统测试、维护升级等阶段的成本。 (在保证修复的功能正常后,同时保证历史其他功能没有受到破坏,错误等)

验收测试

通常指的是用户来进行验证测试,目的就是为了验证产品/程序符合用户的需求
实际上主要由产品同学/运营同学来进行验收

按照测试实施组织

α测试

α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试
的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。
大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试。α测试不能由程序员或测试员完成

案例:手机出厂前最后一次测试,开发和测试人员不参与。

β测试

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

案例:新手机购买回来,参与测试的人是购买者,使用的场所及环境已不再是手面厂商的环境及场所。

第三方测试

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

按照是否运行划分

静态测试

静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。

● 代码静态分析和文档测试都属于静态测试

动态测试

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

按照是否手工划分

手工测试

手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步
骤。总结优缺点:
● 优点:自动化无法替代探索性测试、发散思维结果的测试。
● 缺点:执行效率慢,量大易错。

自动化测试

就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。简单说自动化测试
是把以人为驱动的测试行为转化为机器执行的一种过程。
自动化测试比如功能测试自动化、性能测试自动化、安全测试自动化。
● 通常所说的自动化是指功能测试自动化。
自动化测试按照测试对象来分,还可以分为接口测试、UI测试等。接口测试的ROI(产出投入比)要比UI测试高。

按照测试地域划分

国际化测试

软件的国际化和软件的本地化是开发面向全球不同地区用户使用的软件系统的两个过程。而本地化测试和国际化测
试则是针对这类软件产品进行的测试。由于软件的全球化普及,还有软件外包行业的兴起,软件的本地化和国际化
测试俨然成为了一个独特的测试专门领域。

本地化测试

之前写的所有测试方法都属于本地化测试

【软件测试】软件测试分类相关推荐

  1. (转)软件测试的分类软件测试生命周期

    软件测试的分类&软件测试生命周期 软件测试的分类: 按测试执行阶段:单元测试.集成测试.系统测试.验收测试.(正式验收测试,Alpha 测试-内侧,Beta 测试-公测) 按测试技术分类:黑盒 ...

  2. 常见的软件测试缺陷分类:遇到测试缺陷怎么处理?

    什么是软件测试缺陷呢?通俗来说,就是bug管理.在软件系统或者程序研发过程中,程序员编码.系统设计架构不合理都可能产生错误,影响程序的正常运行.而软件测试的目的之一,就是通过软件测试工具执行操作,找到 ...

  3. 软件测试如何分类?又有哪些类别?

    软件测试如何分类? 在计算机行业,开发人员在实际的开发工作中会有自己涉及的主要领域,java,python,.net,C#,C++等等. 测试人员也一样,因此软件测试是有很多种分类的. 按测试的内容可 ...

  4. 软件测试之软件测试的分类上

    软件测试之软件测试的分类 1. 什么是软件测试 预期结果和实际结果做对比 2.软件测试的分类 按照方法分类 黑盒测试:通过对于输入和输出的检查判断预期结果和实际结果是否一致 白盒测试:通过对代码的检查 ...

  5. 软件测试的分类及生命周期,你了解多少?

    前言: 大家好,我是一菲,岁岁年年花相似,年年岁岁题不同.到了2020年的2月初了,还有1.2个月又到了每年找工作的金三银四季,这几天我翻阅资料和书籍,给大家搜集了软件测试分类和软件测试周期的内容,我 ...

  6. 3.软件测试-----软件测试的分类

    目录 一.软件测试的分类 二.按测试对象划分: 1.界面测试---UI测试 2.可靠性测试 3.容错性测试 3.1数据级别 3.2校验级别 3.3界面级别 3.4环境级别 4.文档测试 5.兼容性测试 ...

  7. 东软学院软件测试,软件测试技术与测试标准

    本教材面向软件测试的实际应用,系统阐述了软件测试所涉及到的基础理论.常用技术.过程管理和质量控制:重点讲解软件测试中的白盒测试技术.黑盒测试技术以及自动化测试技术,全面剖析了软件测试从单元测试阶段.集 ...

  8. 软件测试——测试分类

    按开发阶段分类 ①单元测试(模块测试):是对软件组成的单元进行测试.其目的就是检验软件基本组成单位的正确性 . 测试方法:白盒测试 测试内容:模块接口测试.局部数据结构测试.路径测试.错误处理测试.边 ...

  9. 软件测试自动化分类,自动化测试的主要分类

    原标题:自动化测试的主要分类 在敏捷开发流程中,自动化测试涉及到下面重要四种类型的测试. 单元测试(Unit Test,UT) 关注某一个函数,模块的正确性,一般需要开发人员编写相关的测试代码来进行自 ...

  10. 什么是软件测试及其分类?

    定义: 软件测试即使用人工或自动的手段来运行或测定某个软件系统的过程,其目的是在于检验它是否符合既定的需求或者是弄清实际与预期之间的差距,包括发现软件程序中的错误.对软件是否符合设计要求,进行有关验证 ...

最新文章

  1. Android项目开发实战—自定义左右菜单
  2. 单片机的几种数字滤波算法
  3. java ranger rest_kafka ranger integration issuse
  4. Android 生成随机数,获取一条随机字符串
  5. Spark内核源码学习(暂未学完)
  6. always on sql 收缩日志_sql server日志文件过大无法收缩的问题
  7. 通过keepalived搭建lvs高可用集群
  8. 一个正在被API驱动的互联网时代
  9. Linux的Cache Memory(缓存内存)机制
  10. AD2017破解步骤
  11. 三菱PLC史上最全视频教程!(视频+数据+例程)
  12. 计算机毕业设计Java文档资料管理系统(源码+系统+mysql数据库+Lw文档)
  13. 项目经理要具备的三种能力
  14. 使用PS改变背景为透明
  15. 惠普打印机显示服务器脱机,打印机脱机解决办法 HP打印机出现脱机故障的解决办法...
  16. Windows 11/10 正式版全新 ISO 镜像下载
  17. TypeScript ... 解释三个点的含义
  18. 几种常见音频编码格式的总结
  19. 01-使用EasyExcel读取和写入Excel文件
  20. CTF学习记录 i春秋 《从0到1:CTFer成长之路》文件上传

热门文章

  1. 代价函数、目标函数、损失函数
  2. inittab文件详解
  3. mysql创建应用账号
  4. 梁漱溟:做学问的八个境界
  5. vue本地的模糊匹配
  6. C# dateTime类型之subTract用法
  7. android中edittext属性
  8. Quorum?Quorum!
  9. 某计算机主存空间为4MB,一个有32位程序地址空间,页面容量为1KB, 主存的容量为4MB的存储系统,问:(1) 虚页号字段 - 试题答案网问答...
  10. 安卓下快速搜索文件实现历程{NDK}