软件测试——测试用例设计&测试分类详解

文章目录

  • 1. 测试用例的基本要素
  • 2. 测试用例的设计方法
    • 2.1 基于需求设计测试用例
      • 2.11 功能性需求测试分析
      • 2.12 非功能性需求测试分析
    • 2.2 具体的设计测试用例的方法
      • 等价类(非常重要)
      • 边界值
      • 错误猜测法
      • 场景法
      • 因果图法
      • 正交法
  • 3. 测试分类
    • 3.1 按照测试对象划分
      • 1)界面
      • 2)可靠性
      • 3) 容错性
      • 4) 文档测试
      • 5) 兼容性测试
      • 6) 易用性测试
      • 7) 安装卸载
      • 8) 安全测试
      • 9) 性能测试
      • 10) 内存泄漏测试
    • 3.2 按是否查看代码划分
      • 什么是黑盒测试
      • 黑盒测试的方法
      • 什么是白盒测试
      • 白盒测试的测试方法
      • 什么是灰盒测试
    • 3.3 按照开发阶段划分
    • 3.4 按照实施组织划分
    • 3.4 按照是否运行代码
    • 3.5 按照是否手工划分
    • 3.6 按照地域划分(了解)

1. 测试用例的基本要素

在学习测试用例的基本要素之前,我们先回顾一下前面的一些知识:

  • 什么是测试用例br>

  • 为什么测试人员为何要写测试用例带给我们的好处)

2. 测试用例的设计方法

2.1 基于需求设计测试用例

需要做到以下几点

  • 分析需求,验证需求的正确性和合理性,逻辑自洽,无二义性
  • 细化需求,提取出测试项,从每一个测试项目中提取出测试点,根据测试点去具体设计测试用例

在分析测试需求时,一般分为和

2.11 功能性需求测试分析

功能性需求包括以下几个方面:

  1. 功能的全面性测试(界面从上到下,从做到右)
  2. ,比如:淘宝APP中的购物场景,我们需要先 ,这一系列就是把相关的功能串起来进行测试。注意:我们不能光关注某一个孤立的功能
  3. : 例如,QQ登录系统测试用例,输入不同的账号和密码,对应不同的结果,登录方式…
  4. : 同一个系统不同角色之间的交互。拿淘宝举例,同一系统(淘宝),不同角色(买家和卖家)
  5. :如:输入账号为空,输入错误的手机号…
  6. (白盒测试:需要看代码,对代码进行直接测试)

举个例子:我们要如何去分析这个日历页面,才能做到毫无保留把相关功能分析完

页面分析:从上到下,从左到右,依次去分析每个测试点

软件测试——测试用例设计&测试分类详解

2.2 具体的设计测试用例的方法

等价类(非常重要)

根据输入(特殊情况下才考虑输出),。

等价类为了解决测试:

应用场景:

软件测试——测试用例设计&测试分类详解

边界值

针对输入和输出的边界进行测试用例设计,:6~15位,边界值:5 6 15 16

tips:进行测试用例的设计

错误猜测法

,对自己认为有错误的模块进行专门的测试用例的设计,类似于探索性测试,适用于用例设计后,作为补充,加强去设计测试用例

错误猜测法更依赖个人(知识,经验,直觉),

场景法

很多软件不同的场景,是基于不同的事件的触发,不同事件的触发,导致场景走向不同的事件流。。不同的功能点又有不同的输出,不同的输出导致不同的测试场景。

幻想ATM取款机场景(如何测试):插卡——输入密码——输入取款钱数——取卡——退卡

软件测试——测试用例设计&测试分类详解

2)与 (^):多个不同的输入同时为真,输出才为真

软件测试——测试用例设计&测试分类详解

3)或 (v):多个输入中其中一个为真,输出为真

软件测试——测试用例设计&测试分类详解

5)因果图法设计测试用例的

  1. 分析出
  2. 找出
  3. 根据关系
  4. 根据因果图
  5. 根据判定表

通过一个小练习来更好的理解因果图法:

软件测试——测试用例设计&测试分类详解

正交法

根据正交性来设计测试用例,从大量试验数据中根据正交原则取出最优的数据的组合,根据最优数据组合试验的结果,来分析整个测试的结果


3. 测试分类

3.1 按照测试对象划分

分为以下几个部分

1)界面

,界面设计的好坏,直接影响了用户对软件的印象

  1. 界面测试 测试
  2. 测试
  3. 测试 (文字没有重叠,消失,功能都在,可以正常使用,图片清晰排版合理),
  4. 测试 (有效高亮,失效置灰不能点击)
  5. 测试

界面常见的错误

  1. 不合适的快捷键 软件测试——测试用例设计&测试分类详解
  2. 截断

软件测试——测试用例设计&测试分类详解

5. 文字自动换行

软件测试——测试用例设计&测试分类详解
7. 不合适的快捷键(重复的快捷键) 软件测试——测试用例设计&测试分类详解
  • 直观性:用户期望的操作存在用户课件范围之内

  • 灵活性: 比如 键盘,有九宫格,全键盘,手写,拼音,对于不同习惯的人,要设计不同的 输入方式

  • 舒适性:比如下载个东西,你给个进度条,让用户知道还需要多久才能下载好,不然你下载个东西,用户一点感知都没有,岂不淡疼/p>

  • 实用性:

  • 7) 安装卸载

    1. 不同的安装卸载途径(安装方式),安装卸载软件正常:安装径一般在:APPstore 安装包 第三方(蒲公英,软件小助手) 命令行
    2. 安装或者卸载过程中是否能暂停或取消,暂停后继续还是否可以正常安装和卸载
    3. 安装过程中空间不足,有提示
    4. 正常卸载软件,如果卸载取消了,不影响软件正常使用
    5. 安装过程中出现异常,软件可以正常处理(断电,网络连接异常等)

    8) 安全测试

    安全性指信息安全,软件用户的数据,隐私,以及数据传输过程中的安全性,防止病毒侵入和黑客攻击

    安全性测试属于非功能性测试很重要的一个方面,系统常见的安全漏洞和威胁如下:

    • 输入域:能够检测带病毒的字符串或者文件
    • 防止输入注入:XSS/SQL 注入
    • 权限分配要合理
    • 传输文件/数据,防止拦截
    • 防止爬虫,爬取信息
    • 防止黑客攻击

    9) 性能测试

    我们在使用软件的时候有时会碰到软件网页打开时越来越慢,查询数据时很长时间才显示列表,软件运行越来越慢等问题,这些问题都是系统的性能问题引起的

    要进行软件产品的性能问题,要对产品的性能需求进行分析,然后基于系统的性能需求和系统架构,完成性能测试的设计和执行,最后要进行持续的性能调优。常见的性能问题如下:

    • 资源泄露
    • 资源瓶颈
    • 线程死锁,线程阻塞
    • 查询速度慢或效率低
    • 受外部影响越来越大

    衡量一个系统性能好坏的关键性指标有,。

    10) 内存泄漏测试

    内存泄露产生的原因:

    • 程序中写的有问题,没法回收内存
    • API函数使用不正确,无法回收内存
    • 对分配的内存没有及时回收,造成内存泄漏

    检查代码是否资源泄露:人工检查,工具检查


    3.2 按是否查看代码划分

    在软件测试岗位的面试中,常常被面试官问到的概念就是了,下面就来彻底讨论一下。

    什么是黑盒测试

    代码内部的逻辑结构,代码,软件功能的外部的输入和输出是否满足用户的需求,

    优点:

    • 站在用户的角度去设计测试用例(用户不关系代码,只关心功能,是否满足自己的需求),容易培养产品思维
    • 设计测试用例是,

    黑盒测试的方法

    等价类,边界值,场景法,因果图,错误猜测法,正交法

    什么是白盒测试

    分析代码的逻辑结构,查看代码是否规范,代码的风格是否和公司的设计一致,对代码进行测试,看代码是否实现了需求。

    单元测试(可以做)——>白盒测试

    白盒测试的测试方法

    主要包含六中测试方法:

    语句覆盖,逻辑覆盖,逻辑覆盖,判定覆盖,条件覆盖,判定组合覆盖,判定和条件覆盖,条件和条件组合

    补充:等价类和边界值 有时也会用在 白盒测试

    如下图: a > 1 adn b = 0

    软件测试——测试用例设计&测试分类详解

    什么是灰盒测试

    灰盒测试介于白盒和黑盒之间,既关心程序的输入和输出,也关心程序内部的实现

    3.3 按照开发阶段划分

    软件测试——测试用例设计&测试分类详解

    2.集成测试阶段:按照一定的逻辑和策略把单元模块组合在一起,形成一个具有完全功能的大模板。

    • 测试阶段:单元测试
    • 测试方法:灰盒测试
    • 测试对象:黑盒测试工程师/白盒测试工程师
    • 测试依据:概要设计文档
    • 测试内容:模块功能的正确性,组成模块的单元之间的接口测试,全局数据结构测试,单个模块的功能缺陷对整个模块的影响

    3.系统测试阶段:对软件系统进行全面的功能和非功能测试

    • 测试方法:黑盒测试
    • 测试阶段:集成测试以后
    • 测试对象:整个软件系统
    • 测试方法:黑盒测试
    • 测试人员:黑盒测试工程师
    • 测试依据:需求设计文档
    • 测试内容:系统的功能,界面,可靠性,容错性,易用性,可移植性,兼容性,安全性,性能,安装卸载(新软件)
    • 回归测试:当系统引入新代码的时候,测试人员往往需要验证新的代码对旧功能参数的影响,所做的测试叫做回归测试(增加新功能的时候和修改BUG的时候,会进行回归测试)(重要)
    • 冒烟测试:在软件开发完成后,要对软件的基础功能和核心流程进行测试,测试通过后,才可以进入正式测试环境,如果测试不通过,测试人员有权利打回,让开发重新修改直到冒烟成功(冒烟测试由测试/开发人员进行测试)(重要)

    4.验收测试阶段:软件上线前最后一次测试,也称为交付测试

    • 测试方法:黑盒测试
    • 测试阶段: 系统测试之后
    • 测试对象:整个软件系统
    • 测试依据:用户需求
    • 测试人员:用户
    • 测试方法:黑盒测试
    • 测试内容:同系统测试(文档测试)

    3.4 按照实施组织划分

    1.α测试:在β测试之前进行的,把用户或者非测试和开发的人请到开发现场进行测试

    • 测试环境:开发现场
    • 测试人员:非开发和测试的人
    • 优缺点:优点:有问题可以直接反馈给开发人员 缺点:受制于开发人员

    2.β测试:让实际用户在实际使用环境中进行测试,测试完成后对问题进行统一汇总反馈

    α和β测试的区别:

    1. 测试环境不同
    2. 测试时间集中成都不同
    3. α测试优先于β测试

    3.第三方测试:是软件的第三方测评机构,按照软件行业的标准规范对软件进行测试(了解即可)
    4.按照代码是否运行

    • 静态测试:不运行代码,通过检查代码的风格,格式是否符合公司的规范标准,检查代码的逻辑结构是否满足需求要实现的功能
    • 动态测试:运行代码,给程序响应的输入,看是否得到期望的输出

    3.4 按照是否运行代码

    1. 静态测试(查看代码)
    2. 动态测试

    3.5 按照是否手工划分

    1.手工测试:按照测试用例,公共去测试系统的功能
    缺点:量大容易出错;效率低:有些极端情况无法测试到
    优点:可以进行探索性测试,比较灵活,不能完全被自动化替代(重要)

    2.自动化测试: 机器按照预先设定好的条件去运行,设定好的条件有正常的有异常的。

    不是所有的项目都适合自动化(!!!!)

    3.6 按照地域划分(了解)

    补充:

    软件国际化:进行软件设计和开发的时候,使用一种工程技术,使得软件在转化为不同的国家语言的时候,可以不用修改源码,适应不同的语言,不同国家人民的风俗习惯等

    • 软件国际化测试:

      • 外观上看界面功能没有缺失,正常使用
      • 是否适应这国家人的使用习惯,文字,日期,风俗习惯,度量单位,货币,重量单位
      • 不同分辨率下,软件的正常展示和使用
      • 不同硬件设备
    • 软件本地化:具体到某一个国家


    来源:偷偷敲代码的青花瓷

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年6月21日
    下一篇 2022年6月21日

    相关推荐