• 如何对测试进行划分(一)


    测试面试必考题型:如果让你对XXX进行测试,你会怎么设计测试用例

    遇见这样的问题,如果毫无章法的想到什么说什么,最后非常有可能遗漏很多的测试用例,并且说的测试用例还可能重复或者不确定之前是否说过这条测试用例。

    如果我们能够对测试进行一个划分,每次回答相关面试题时都能够按照一定的逻辑顺序回答,就会减少很多的麻烦。

    接下来就会按照测试对象对测试进行分类

    1)界面测试

    界面测试即 U I 测试,界面是用户和软件进行交互的桥梁,界面设计的好坏,决定了用户对软件的第一印象

    非软件的界面测试:颜色、图案、大小、材质、形状、整体是否美观等

    软件的界面测试:

    • 测试软件界面元素完整性,正确性和一致性
    • 软件界面排版布局合理,字体大小合适,颜色适合
    • 测试界面的自适应性即界面适应不同的页面大小,文字没有出现重叠,消失现象,功能都可以正常使用,图片排布合理且完整
    • 界面的控件使用正常,比如滚动条能正常使用,按钮的点击状态变化,有效失效状态的区分
    • 界面设计考虑当下时事

    界面中常见的错误:

    • 快捷键设计的不适合。

      比如无法用键盘打出或者快捷键组合不合适(太多或距离太远)

    • 文字丢失

    • 文字显示不完全,文字截断

    • 文字自动换行,排版不适合

    • 文字出现重叠现象

    • 有重复的快捷键

    2)可靠性测试

    可靠性使得是软件正常运行的能力,软件正常运行的时间和总体运行的时间的百分比

    网络、软件安装环境、硬件环境、软件自身环境的异常等都会影响软件可靠性

    测试软件的可靠性,可以在一段时间里(一周或更久),将出现故障的时间记下来,计算出软件总正常运行时间,除以总运行时间

    3) 容错性测试

    系统发生异常,或者由于错误操作导致软件系统发生错误,软件能够自我消化掉错误,不让用户感知,这就是系统的容错性

    常见的容错性处理

    • 数据容错性

      比如:发送红包的金额最多为小数点后两位,再多按数字不会有反应;填写月份时,二月份选择30日,系统会进行提示;

    • 校验容错性

      比如:搜索操作时,将搜索内容的前后空格进行过滤;验证码大小写兼容,自动转换;

    • 界面容错性

      比如:复杂操作的提示;危险操作的警告提醒;危险按钮的屏蔽

    • 环境容错性

      比如:软件所在的环境出现故障(网络,电,硬件环境,软件环境),准备 plan B 应对故障

    灾难恢复性测试

    人为让系统发生故障,观察系统对于用户数据的存储和回复是否快速

    4) 性能测试

    系统性能问题的表现

    • 资源泄漏
    • 资源分配不均衡
    • 线程死锁
    • 查询速度越来越慢,响应越来越慢

    性能指标

    • 每秒事务处理量(TPS)
    • 每秒HTTP请求数
    • 点击率
    • 吞吐量
    • 响应时间
    • CPU和资源利用率

    5) 兼容性测试

    • 软件自身版本的兼容性

      软件开发的新功能不能影响旧功能的使用,不影响后续功能的开发

    • 软件对于数据的兼容性

      比如:对于用户的数据表,又添加了新的数据项,不能影响已有的数据

    • 软件对浏览器的兼容性

      比如:Chrome、Firefox、edge、IE、Safari…

    • 软件对平台的兼容性

      比如:安装软件的环境,硬件的环境。对于APP来说,IOS和Android ,不同的品牌、型号的手机都能使用;对于 WEB 来说,不同的浏览器,不同的版本,已经使用浏览器的电脑的品牌和型号

    • 软件对于第三方软件或者第三方软件数据的兼容性

      比如:在闲鱼上买了商品,需要保证淘宝上有订单信息,支付宝上有支付信息,菜鸟裹裹上有物流信息;软件的第三方登录

    6) 易用性测试

    易用就是软件需要有简单易上手的属性

    • 符合标准和规范

    • 直观性

      用户期望的操作在用户可见的范围之内

    • 灵活性

      比如:键盘可以使用九宫格、全键盘、手写、拼音等形式

    • 舒适性

    • 实用性

    7) 安全性测试

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

    • 输入域,能够检测出是否带有威胁软件安全的内容(带病毒的字符串或者文案)
    • 防止输入注入,XSS/SQL注入
    • 权限的分配要合理(垂直越权、水平越权)
    • 传输的文件/数据,防止拦截
    • 防止爬虫,爬取信息
    • 防止黑客攻击

    安全性测试方法

    代码走读,工具检查

    8) 安装卸载测试

    对于一个软件来说,安装和卸载是非常重要的,如果软件都没有办法进行成功的安装和卸载,那该软件就是非常失败的

    • 不同的安装卸载途径(应用商店、安装包、第三方软件助手、命令行),安装卸载软件都是非常成功的
    • 安装或者卸载的过程中是否可以暂停,暂停后,能否继续在原来的基础上正常安装和卸载
    • 安装的过程中如果空间不足,是否有提示
    • 正常的卸载软件,如果卸载取消,软件是否还可以正常使用
    • 安装卸载的过程中如果出现了问题(断网、断电),软件能够正常的处理

    9) 内存泄漏测试

    内存泄漏是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出

    内存泄漏产生的原因

    • 分配内存后,忘记内存回收
    • 写的程序有问题导致没法回收内存
    • API 函数使用不正确导致无法回收内存

    内存泄漏测试方法

    人工检查,工具检查

    10) 文档测试

    软件相关的文档的测试

    文档的使用术语,保证其完整性,一致性,正确性,易用性

  • 相关阅读:
    Mesh--学习笔记
    【动态规划】区间动态规划
    在CentOS7下利用sqoop组件把mysql数据传入hdfs中
    【C语言】每日一题,快速提升(4)!
    kafka消费的完整解决方案
    4000 多字学懂弄通 js 中 this 指向问题,顺便手写实现 call、apply 和 bind
    React的Key和diff
    SPARK基本编程
    wpf datagrid常用绑定以及格式
    【蓝桥杯】C语言常见数据结构
  • 原文地址:https://blog.csdn.net/weixin_46103589/article/details/128086223