• 13.3测试用例进阶


    一.测试对象划分

    1.界面测试(参考软件规格说明书和UI视觉稿)

    a.什么是界面

    1)WEB站(浏览器)

    2)app

    3)小程序

    4)公众号

    b.测试内容

    1)界面内容显示的一致性,完整性,准确性,友好性.比如界面内容对屏幕大小的自适应,换行,内容是否全部清晰展示.

    2)验证整个界面布局和排版是否合理,不同板块字体的设计,图片的展示是否符合需求.

    3)对界面不同控制的测试,比如,对话框,文本框,滚动条,选择按钮等是否可以正常使用,有些和无效的状态是否设计合理.

    4)界面的布局和色调符合当下时事的发展.

    2.兼容性测试

     a.软件

    1)系统自身版本的兼容,用户已有数据的兼容,数据兼容是重中之重.

    2)与应用环境的兼容性,比如操作系统,应用平台,浏览器的兼容.

    3)测试与第三方以及第三方数据的兼容性.

    3.易用性测试

    a.标准型和规范性: 一些常用的UI已经成为标准,用户已经习惯使用.

    b.直观性: 软件功能特性清晰易懂,用户界面布局合理,见名知意.

    c,灵活性: 软件要有不同选择来满足有不同使用习惯的用户,比如输入法的全键盘,九宫格,手写和语音输入.

    d.舒适性: 界面友好,美观,使用流程.

    4.安装卸载测试

    a.软件不同的安装和卸载方式.

    b.应用是否可以在不同的环境系统,版本下安装(安装兼容性).

    c.安装或者卸载过程中是否可以手动暂停,或者取消,是否后台进行.

    d.安装空间不足的时候系统是否有提示.

    e.是否可以正常卸载,以及应用软件不同的卸载方式.

    f.安装和卸载过程中出现环境问题,系统是否可以应对,比如死机,断电,断网.

    5.可靠性测试(可用性)

    可靠性 = 正常运行时间 / (正常运行时间 + 非正常运行时间) * 100%

    借助工具

    6.容错性测试

    a.定义: 系统能够处理异常,用户的错误操作不至于系统崩溃,从而提高系统可靠性.

    b.两个方面:

    1)输入异常数据或进行异常操作,以检验系统的保护性.如果系统容错性好,系统只会给出提示或者内部消化,而不会导致系统出错甚至崩溃.如数据级测试,校验测试,环境容错性测试,界面容错性测试.

    2)灾难恢复性测试,通过各种手段,让软件强制性地发生故障,然后验证系统已保存的用户数据是否丢失,系统和数据是否能尽快恢复.

    c.举例:

    1)测试计数器,使用除以0的操作.

    2)测试不存在的网页,是否回到首页.

    7.文档测试

    接触最多的是测试文件,开发文件,产品文件.

    8.安全性测试

    a.输入域,如输入恶性或者带有病毒的脚本或长字符串.

    b.代码中的安全性问题,如SQL注入,XSS.

    c.不安全的数据存储或者传递.

    d.数据文件,邮件文件,系统配置文件等里面有危害系统的信息或者数据.

    e.有问题的访问控制,权限分配等.

    f.假冒ID,身份欺骗

    g.篡改,对数据的恶意修改,破坏数据的完整性.

    9.性能测试

    a.资源泄露.

    b.资源瓶颈.

    c.线程死锁,线程阻塞.

    d.查询速度慢或效率低.

    e.受外部系统影响越来越大.

    10.内存泄露测试

    a.分类

    1)分配完内存后忘记回收.

    2)程序写法有问题,造成没法回收(如死循环,或者内存回收的代码被架空,无法执行到).

    3)某些API方法使用不正确,造成内存泄漏.

    b.测试方法

    1)(推荐使用)人工静态法: 走读代码,人工查找未被回收的内存.

    2)自动工具法: Visual Leak Detector(记录每次内存分配).

    二.是否查看代码划分

    1.黑盒测试

    a.定义

    黑盒测试就是在完全不考虑程序逻辑和内部结构的情况下,检查系统功能是否按照需求规格说明书的规定正常使用,是否能适当的接收输入数据,而输出正确的结果,满足规范需求,所以黑盒测试又称之为数据驱动测试,只注重软件的功能.

    b.优点

    1)不需要了解程序内部的代码以及实现,不关注软件内部的实现.

    2)从用户角度出发,设计测试用例很容易的知道用户会用到哪些功能,会遇到哪些问题,锻炼测试人员的产品思维.

    3)测试用例是基于软件需求开发文档,不容易遗漏软件需求文档中需要测试的功能.

    c.缺点

    不可能覆盖所有代码.

    d.方法: 等价类,边界值,因果图,场景法,错误猜测法.

    2.白盒测试

    a.定义: 

    白盒测试又称结构测试或逻辑测试,它一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试.

    b.目的: 

    通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试,在程序不同地方设立检查点检查程序的状态,以确定实际运行状态与预期状态是否一致.

    c.方法: 语句覆盖,判定覆盖,条件覆盖,判定条件覆盖.条件组合覆盖,路径覆盖.

    d.优点: 代码覆盖率高.

    e.缺点: 业务功能覆盖低.

    3.灰盒测试

    a.定义:

    灰盒测试是介于白盒测试和黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出输入的正确性,同时也关注程序内部的情况.

    三.开发阶段划分

    1.单元测试

    a.测试阶段: 编码后或者编码前(TDD).

    b.测试对象: 最小模块(Java是类,方法; C语言是函数).

    c.测试人员: 白盒测试工程师或开发人员.

    d.测试依据: 代码, 注解, 设计文档.

    e.测试方法: 白盒测试.

    f.测试内容: 模块接口测试,局部数据结构测试,路径测试,错误处理测试,边界测试.

    2.集成测试

    a.测试阶段: 单元测试之后进行.

    b.测试对象: 模块间的接口.

    c.测试人员: 白盒测试工程师或开发人员.

    d.测试依据: 单元测试的模块,概要设计文档.

    e.测试方法: 黑盒测试和白盒测试结合.

    f.测试内容: 模块之间的数据传输,模块之间的功能冲突,模块组装功能正确性,全局数据结构,单模块缺陷对系统的影响.

    3.系统测试

    a.测试阶段: 集成测试之后进行.

    b.测试对象: 整个系统(软,硬件).

    c.测试人员: 黑盒测试工程师.

    d.测试依据: 需求规格说明文档.

    e.测试方法: 黑盒测试.

    f.测试内容: 界面,功能,性能,安全,网络,易用,兼容,可靠.

    4.回归测试

    使用不同的环境进行测试,为了提高效率,使用自动化测试. 

    5.冒烟测试

    冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件主要的功能的核心流程正常,在进行正式测试之前执行.冒烟测试一般是开发人员在开发完毕之后,提交给测试人员进行测试之前,先进行冒烟测试,保证基本的功能正常,不阻碍后续的测试.

    6..验收测试(交付测试)

    a.测试阶段: 系统测试之后进行.

    b.测试对象: 整个系统(软,硬件).

    c.测试人员: 产品经理,用户,甲方.

    d.测试依据: 用户需求,验收文档(测试人员编写的).

    e.测试方法: 黑盒测试.

    f.测试内容: 界面,功能,性能,安全,网络,易用,兼容,可靠.

    四.实施组织划分

    1.α测试

    a.环境: 公司内部.

    b.测试人员类型: 公司内部人员.

    c.测试人员数量: 少.

    d.阶段: 先.

    e.测试时间: 短.

    2.β测试

    a.环境: 不确定.

    b.测试人员类型: 用户.

    c.测试人员数量: 多.

    d.阶段: 后.

    e.测试时间: 长.

    3.第三方测试

    介于开发法和用户之间的组织.

    五.是否运行代码划分

    1.静态测试

    不运行,检查代码.

    2.动态测试

    运行代码进行测试.

    六.是否手工划分

    1.手工测试

     点点点.

    2.自动化测试

     分为接口,UI,

    七.地域划分

    1.国际化测试

    时间,语言,货币,日期,字符串长度........

    2.本地化测试

  • 相关阅读:
    社区通过!Interim Grant Program提案详细内容(包含申请Grants链接)
    java毕业设计项目源代码CRM客户关系管理系统
    Error:java: Annotation processing is not supported for module cycles.
    e2studio瑞萨笔记——ADC单次扫描多渠道
    vue封装自己的组件库 03.封装input+switch组件
    投资 - 股市顺势加仓方式
    库存管理系统C语言课程设计
    vue3——element-plus 实现页面刷新之后,保持菜单的激活状态
    怎么批量剪辑优质的快手短视频,教程来了,附图
    go radix tree
  • 原文地址:https://blog.csdn.net/m0_73345579/article/details/133925373