有了客户端测试,还需要做服务端测试吗?

目录

前言:

一、服务端测试 vs 客户端测试

1.1 概念

1.2 现状

二、为什么要做服务端测试?

2.1客户端测试

2.1.1 客户端测试重点

2.1.2 客户端测试特点

2.2服务端测试

2.2.1 服务端测试重点

2.2.2 服务端测试特点

综上,软件领域没有银弹,选择适合自己的,就是最好哒!


前言:

在软件开发中,客户端测试和服务端测试是两个不同但互补的测试方面。客户端测试主要关注用户界面和用户体验,而服务端测试则关注服务器端的功能、性能和安全性。

一、服务端测试 vs 客户端测试

1.1 概念

软件测试有多种维度的分类测试。其中一种,对标研发开发领域可分:

  • 客户端测试 ,客户端测试即对一切终端,比如收集(app、小程序)、平板、车载设备、其它电子终端设备的测试;
  • 服务端测试,广义上指后端服务;
  • web端测试,即web页面的测试。

1.2 现状

业内互联网大厂目前的情况有一下几种:

  • All in one, 即不分前后端
    • 【优势】节约人力成本。一个体现在沟通成本上,一个需求不需要拉多方,进行多次沟通校准;再一个是很多需求即便分了服务端和客户端,也是有一小部分的测试工作是冗余的,存在一定浪费。
    • 【劣势】测试深度不够。客户端与服务端整体的质量保障思路差异非常大,具体差异下面会进行分析,由于差异性,all in one的保障模式本质上不是不测服务端的,但是由于客户端保障内容太多,基本已经占满排期,因此,给人一种错觉,不分前后端的测试=客户端测试。
    • 【适用业务】
      • 尤其适用于初创阶段/小有收益,产品依然在快速试错,这样的投入整体ROI是比较高的;
      • 对于bug容忍度比较高的业务,比如一些边缘业务/内部业务
  • 服务端客户端分离,各司其职
    • 【优势】服务质量有保障
    • 【劣势】质量这块的人力投入成本整体高于all in one模式
    • 【适用业务】对质量要求高,比如业务体量大、涉及资金、安全,重视用户体验类产品

二、为什么要做服务端测试?

保障模式上面已经说明了,如果目标是服务质量高,bug少,可以继续往下看,否则就可以坚持走自己的路。

2.1客户端测试

2.1.1 客户端测试重点

  • 功能准确性
  • 兼容性
    • 系统版本兼容性:细分ios和安卓大小系统
    • 硬件兼容性:屏幕、组件等
  • 稳定性
    • App自身稳定性(无闪退、崩溃、白屏等)
    • App运行时硬件资源稳定性
  • 安全性

2.1.2 客户端测试特点

  • 重复工作较多:由上面测试重点可知,除了安全性,测试内容是(功能正确性+稳定性)X不同版本,是大量的重复工作。鉴于此,多数客户端测试人员都主要是外包。
  • 工作量非常大:发版是一项重要工作:具备节奏性、发版前全量回归
  • 缺乏自动化手段:并非没有自动化测试,而是自动化能获得收益非常小

2.2服务端测试

2.2.1 服务端测试重点

  • 功能准确性
  • 架构合理性测试
    • 一致性:数据一致性、状态一致性等
    • 可扩展性
  • 代码开发规范性
    • 上下游异常:接口/参数/服务异常
    • 幂等性
    • 风险代码
  • 中间件测试
    • redis: 超时时间设置合理性、k-v长度、缓存异常、雪崩、击穿等
    • mysql: 慢sql
    • mq/es等常用组件
  • 分布式测试
    • 集群有效性
    • 集群负载均衡
    • 集群单节点服务异常
    • 异地多活有效性
  • 稳定性
    • 长时间一定流量压力测试
    • 性能测试
  • 安全性
    • 数据安全
    • 资金安全
    • 内容安全

2.2.2 服务端测试特点

  • 深度较深:此处深度指与代码/设计/RD联结程度,并非指个人能力。
  • 质量保障效果好

综上,软件领域没有银弹,选择适合自己的,就是最好哒!

  作为一位过来人也是希望大家少走一些弯路

在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。

(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等)

相信能使你更好的进步!

点击下方小卡片

猜你喜欢

转载自blog.csdn.net/Free355/article/details/131595964