软件测试进阶(软件测试的分类)

一、测试金字塔

在这里插入图片描述

  • 测试金子塔特点
    1.越往上层投入产出比越低
    2.越往上层效率越低
    3.越往上定位问题越困难,定位问题成本越高
  • 测试的时候主要将精力放在单元测试

二、按照开发结点划分测试类型(单元测试、集成测试、系统测试、验收测试)

  • 单元测试:单元测试就是对系统或程序的最小功能单元进行测试,输入输出参数测试,边界测试,异常错误测试,路径测试局部数据结构测试(如何进行单元测试?Junit框架 白盒测试)
  • 集成测试:把单元模块按照一定的策略组合起来形成一个大的功能模块,我们对这个模块进行测试,就叫做集成测试。接口测试,输入参数,全局数据结构测试,集成模块功能测试,单个模块的陷阱对整个集成后模块的影响,单个模块之间的功能是否有影响(灰盒测试)
  • 系统测试:就是对我没给你的系统功能进行全面的测试。对系统功能进行全面的测试,功能、界面、兼容性、易用性、性能、安全、可靠性、可移植性(黑盒测试。回归测试、冒烟测试属于系统测试)

在这里插入图片描述

  • 验收测试:用户来对系统进行全面测试,和系统测试的内容是一样的,包含一些文档测试(黑盒测试)

三、按照实施组织划分(α测试、β测试、第三方测试)

  • α测试:其实就是在开发环境下,让非开发人员和非测试人员来进行系统测试。
  • β测试:在用户和真实使用环境下,用户不受时间地点限制,进行测试,测试出的问题会反馈给开发人员,开发人员会不断进行修改直到没有问题。
  • 第三方是第三方的软件测评机构按照一定的标准规范进行软件测试。

四、按照是否运行划分(静态测试、动态测试)

  • 静态测试:不运行代码,检查,(代码走查,code review),看代码的书写规范,风格是否符合公司标准,看代码的逻辑结构,功能书否符合要求。
    1.静态质量:度量所依据的标准是ISO9126。在该标准中,软件的质量用以下几个方面来衡量,即功能性(Functionality)、可靠性(Reliability)、可用性(Usability)、有效性(Efficiency)、可维护性(Maintainability)、可移植性(Portability)。
  • 动态测试:动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
  • 代码静态分析和文档测试都属于静态测试
  • 大多数软件测试工作都属于动态测试。

五、按照是否手工划分(手工测试、自动化测试)

  • 手工测试:手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。(具有一定的灵活性,探索性测试测试用例很多,比较繁琐,量大时间长容易出错。效率低)
  • 自动化测试:提前按照一定的脚本设定的条件,让机器自动去执行。效率很高不会出错除非机器本身出现状况。

六、按照是否查看代码划分(黑盒、白盒、灰盒)

  • 黑盒测试:不关注软件内部结构,逻辑,代码实现,只关心输入输出看相应的输入是否对应着和需求一致的输出。
    1.黑盒的测试设计测试用例的方法有哪些?(等价类、边界值、因果图、场景法、错误猜测法、正交法)

  • 白盒测试:主要测试的是系统的内部逻辑结构是否符合需求,关注代码的实现功能,主要对代码进行测试。
    1.白盒测试的方法有哪些?(语句覆盖、路径覆盖、条件覆盖、判定覆盖、条件组合覆盖、判定组合覆盖)
    在这里插入图片描述

  • 灰盒测试:介于黑盒和白盒之间。

七、按照测试对象划分(业务测试、界面测试、容错性测试、文档测试、兼容性测试、易用性测试、安装测试、安全测试、性能测试、内存泄漏测试)

  • 业务测试(场景测试):其实就是根据需求设定,把不同的功能点按照一定的策略组合起立,形成一个业务流场景法。

  • 界面测试:用户通过界面和系统进行直接交互的,界面的设计直接决定了用户的体验感官。
    界面测试的依据:UI设计师的界面设计稿,元素的布局,盘版、大小
    在这里插入图片描述

  • 容错性测试:当系统由于外部的一些异常操作或者外部的环境引起的系统错误,但系统可以自我消化掉这些问题,不直接展示给用户,这个叫做系统的容错性(例如限制手机号是11位)

  • 文档测试:国家有关计算机软件产品开发文件编制指南中共有14 种文件,可分为3 大类。
    1.开发文件:可行性研究报告、软件需求说明书、数据要求说明书、概要设计说明书、详细设计说明书、数据库设
    计说明书、模块开发卷宗。
    2.用户文件:用户手册、操作手册,用户文档的作用:改善易安装性;改善软件的易学性与易用性;改善软件可靠
    性;降低技术支持成本。
    3.管理文件:项目开发计划、测试计划、测试分析报告、开发进度月报、项目开发总结报告。

  • 兼容性测试: 兼容性主要是指软件之间能否很好的运做,会不会有影响、软件和硬件之间能否发挥很好的效率工作,会不会影响导致系统的崩溃。(最常见的就是浏览器的兼容性测试,不同浏览器在css,js解析上的不同会导致页面的显示不同。常见的IE8的兼容性。)

  • 易用性测试:易用性(Useability)是交互的适应性、功能性和有效性的集中体现。易用性属于人体工程学的范畴,人体工程学(ergonomics)是一门将日常使用的东西设计为易于使用和实用性强的学科。(在某些大厂会有专门的部门来进行易用性测试,又叫用户体验测试。)

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

  • 安装测试:测试程序的安装、卸载。典型的是app的安装、卸载

  • 性能测试:检查系统是否满足需求规格说明书中规定的性能。

  • 内存泄漏测试:很多软件系统都存在内存泄露的问题,尤其是缺乏自动垃圾回收机制的“非托管”语言 编写的程序,例如C、CH、Delphi等。从用户使用的角度来看,内存泄露本身不会造成什 么危害,一般用户可能根本不会感觉到内存泄露的存在。但是内存泄露是会累积的,只要执 行的次数足够多,最终会耗尽所有可用内存,使软件的执行越来越慢,最后停止响应。可以 把这种软件的问题比喻成软件的“慢性病”。

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值