软件测试的分类
软件=程序+文档+数据
(一)按方法分类
- 黑盒测试:黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据与输出数据。
- 白盒测试:白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒指的是打开盒子,去研究里面的源代码和程序结果。
( 白盒测试不是单元测试,单元测试是白盒测试) - 灰盒测试:灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
(二)按方向分类
-
功能测试:对软件的功能进行测试;功能测试不等于黑盒测试,可以使用黑盒测试,也可以使用白盒测试的方法实施功能测试,较多使用黑盒测试来做功能测试
-
性能测试
①压力测试:发现软件的性能瓶颈
②负载测试:测试软件持续保持高强度运作(一般采用瓶颈值的80%),能维持多长时间。
③并发测试:
(例子)
服务员看做测试软件,老板克扣服务员工资,服务员还正常工作不?这是压力测试。
老板给服务员一直加班高负荷工作,能工作多久,这是负载测试。
所以压力测试是在系统资源低耗的情况下,看程序是否工作。负载测试是在负载环境中运行,程序能否承担。
3. 安全测试
(三)按阶段分类
-
单元测试:测试开发中的代码(方法、函数、类)
-
集成测试:测试接口
-
系统测试
①功能
②安全
③性能
④兼容性:WEB–同一个网站在不同浏览器是否能打开; APP-- 同一个APP在不同手机上是否能使用
⑤易用性:用户体验
⑥稳定性
⑦UI:界面布局、设计是否好看
-
验收测试:内测、公测
(四)按对象分类
- APP测试
- WEB测试
- 物联网测试
- 车联网测试
- 小程序测试
- 嵌入式测试
- 大数据测试
- AI测试
(五)按状态分类
- 静态测试:静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
- 动态测试:动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
(六)其他
- 冒烟测试:测试前的测试。开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。冒烟测试目的是确认软件基本功能正常,冒烟测试的执行者是版本编译人员。
- 回归测试:回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
- α测试:内测。α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。
- β测试:公测。Beta测试是一种验收测试。Beta测试由软件的最终用户们在一个或多个客房场所进行。
- 安全测试:安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。
以手机为例
针对买回来的新手机以及它的美颜功能来进行测试。
(1)当买回来的手机,它的美颜功能有问题时,我们只针对美颜功能的代码进行测试,就是单元测试。
(2)对于新买回来的手机,检测手机通讯录是否可以增添、删除、更改手机号码,打电话时需要手动的输入电话,也可以在手机中查找,这就是集成测试。
(3)新手机都会有一个合格标签,原因是出厂前手机厂商会对某一个型号的手机功能全部测试一遍,包括手机硬件本身,手机自带的APP等,这个叫系统测试。
(4)当修好新买回来的手机的美颜功能以后,用户除了会查看美颜功能是否完好,还会查看其他功能是否也完好,这个叫回归测试。
(5)对于新买回来的手机,我们做的第一件事是将常用的手机功能试一遍,第二件事情就是讲所有功能都试一遍,这个叫冒烟测试。
(6)对于新买回来的手机,一般都有7天包退,30天包换,我们一般都是在7天内把手机的所有功能都试一遍,这叫验收测试。