软件测试——测试分类
测试分类
按照测试目标测试
- 界面测试
-
页面内展示的所有内容/元素都需要测试
参考UI图找不同
- 功能测试
如何设计功能测试用例?
参考产品规格说明书进行用例的编写,具体的测试用例需要使用黑盒设计测 试用例的方法,如等价类、边界值、判定表法、正交法、场景法、错误猜测法等。
- 性能测试
- 可靠性测试
-
可靠性= 正常运行时间/(正常运行时间+非正常运行时间)
-
可用性 企业中一般软件产品/程序的可用性要求要达到4个9或5个9
- 安全性测试
-
SklQL注入 恶意攻击输入 1or 1 =1
-
xss漏洞
-
越权
- 易用性测试
按照执行方式分类
- 静态测试 SonarQube 静态扫描工具
- 动态测试 大多数软件测试工作属于动态测试
按照测试方法
白盒测试
又称为结构测试或逻辑测试,一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试
- 语句覆盖
- 判定覆盖
- 条件覆盖
- 判定条件覆盖
- 条件组合覆盖
- 路径覆盖
黑盒测试
灰盒测试
结合了白盒测试和黑盒测试,多用于集成测试阶段
开发人员主要用白盒测试和灰盒测试,测试人员主要用白盒测试和黑盒测试
按照测试阶段分类
- 单元测试
- 集成测试
- 系统测试
- 冒烟测试
这⼀术语源⾃硬件⾏业。对⼀个 硬件 或硬件组件进⾏更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,“冒烟测试”这⼀术语描述的是在将代码更改嵌⼊到产品的源树中之前对这些更改进⾏验证的过程。在检查了代码后,冒烟测试是确定和修复 软件缺陷 的最经济有效的⽅法。冒烟测试设计⽤于确认代码中的更改会按预期运⾏,且不会 破坏 整个版本的稳定性。
- 回归测试
回归测试是指修改了旧代码后,重新进⾏测试以确认修改没有引⼊新的错误或导致其他代码产⽣错误
**回归测试呢系统测试之间的区别 **
- 冒烟测试(Smoke Testing):
-
阶段: 通常在软件开发的早期阶段进⾏,主要⽤于验证基本功能是否正常⼯作。
-
⽬的: 确保软件的主要功能能够基本运⾏,以便在后续的详细测试阶段发现更深层次的问题。
- 回归测试(Regression Testing):
- 阶段: 在软件开发的后期,通常在每次代码修改或新增功能后执⾏。
- ⽬的: 确保已有的功能仍然正常⼯作,并且新的更改没有引⼊新的错误。⽬的是防⽌已有功能因为代码修改⽽出现问题。
- 验收测试
-
测试阶段:系统测试通过之后
-
测试对象:整个系统(包括软硬件)。
-
测试⼈员:主要是最终⽤⼾或者需求⽅。
-
测试依据:⽤⼾需求、验收标准
-
测试⽅法:⿊盒测试
-
测试内容:同系统测试(功能…各类⽂档等)
按照是否手动测试
- 手工测试
- 自动化测试
按照实施组织划分
- α测试
α测试⼜叫内测或者叫a测,通常是公司内部的⽤⼾在模拟实际操作环境下进⾏的测试。α测试的⽬的是评价软件产品的FLURPS(即功能、可使⽤性、可靠性、性能和⽀持)。 α测试不能由程序员或测试员完成。
- β测试
β测试⼜叫公测或者叫b测,β测试,由软件的最终用户们在一个或多个场所进⾏,β测试是正式用户中的⼀部分,他们在任意的场合来使⽤软件,⽬的是为了发现软件是否存在⼀系列的问题
α测试与β测试的区别
-
测试的场所不同:α测试是在公司内部进⾏测试的,但是β测试是在用户环境下进⾏测试的。α测试的环境是受开发⽅控制的,用户的数量相对⽐较少,时间⽐较集中。β测试的环境是不受开发⽅控制的,用户数量相对⽐较多,时间不集中。
-
测试执⾏时机不同:α测试先于β测试执⾏。通常是α测试通过后,在进⾏β测试
-
测试持续时间⻓短不同:α测试时间没有β测试持续时间⻓
- 第三方测试
按照测试地域划分
- 国家化测试
- 本地测试