50万次测试工作,APP自动化测试、性能测试、稳定性测试经验分享!

2023-12-16

几年的测试工作下来,除了日常的功能特性的测试,还完成了自己负责APP相关测试体系从零到一的建设,今天借由这个机会,做一个简单的梳理,将在这个过程中自己的一些思考,踩过的坑等做一个整理,分享给各位供参考。

1.自动化测试

自动化测试主要包括几个部分,UI功能的自动化测试、接口的自动化测试、其他专项的自动化测试。

1.1UI功能自动化测试

UI功能的自动化测试,也就是大家常说的自动化测试,主要是基于UI界面进行的自动化测试,通过脚本实现UI功能的点击,替代人工进行自动化测试。

这个测试的优势在于对高度重复的界面特性功能测试的测试人力进行有效的释放,利用脚本的执行,实现功能的快速高效回归。

但这种测试的不足之处也是显而易见的,主要包括维护成本高,易发生误判,兼容性不足等。因为是基于界面操作,界面的稳定程度便成了维护脚本最大的制约因素。频繁变化的界面交互,就意味着需要不断的更新测试用例脚本,占用大量的测试资源。

易发生误判主要是因为基于UI控件进行的识别,容易因为网络条件、设备配置、测试环境等原因导致加载缓慢或异常,从而导致测试用例执行过程中部分判断不准确,进而影响测试的准确性。兼容性不足主要是指测试脚本在不同设备、不同操作系统、不同硬件环境等情况下执行会带来不可预料的情况,导致测试用例执行结果的不准确。

基于以上优劣对比,我们在UI功能自动化测试中,主要实现的是APP核心路径的测试,对需要大量重复执行、重复验证、UI界面变化频率较低的功能模块进行UI功能自动化测试的实现。

需要大量重复执行、重复验证,则意味着实现自动化后的利用率高,UI界面变化频率较低,则意味着后续维护成本不高,这三类用例对于我们来说是投入产出比较高的部分,我们会最高优先级去做UI功能自动化测试的实践。

在做UI功能自动化测试的过程中,可以对相关控件、测试用例、测试集进行有效的梳理和管理,对可重复的工作进行及时归并,减少资源的浪费。当UI功能出现变更的时候,也可以以较小的成本进行维护,降低维护成本。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:822269834

1.2接口自动化测试

在UI功能自动化测试的部分,我们提到了做自动化的制约因素:稳定性。正因为UI界面的不稳定,所以做UI功能自动化的成本是相对较高的,那么我们很自然就想到相对于UI功能更稳定的、更有利于做自动化的部分,那就是接口。

一个APP,界面可能会因为产品经理在不同阶段的不同诉求而变来变去,但其背后的接口通常是较为稳定的,这就为我们开展自动化测试做好了有利的保证。

我们需要准备APP所调用的接口,依据功能模块对其进行梳理归纳,排出开展自动化的优先级,了解每个接口代表的含义,不同参数的取值范围,对不同的输入产生各种输出的情况进行盘点,对错误或异常的返回进行汇总,如此以确保接口测试的有效性和完整性。

在接口自动化测试启动后,需要与开发工程师共同维护一个接口文档,后续无论是接口有增加或者减少,或者现有接口有相关变更,测试工程师都可以第一时间知晓,并对接口自动化测试的用例做相应的调整。

1.3其他专项的自动化测试

除了以上两大类自动化之外,我们还可以利用自动化做一些专项的测试,以辅助提高我们的测试质量和测试效率。这里,需要我们在日常的测试工作中勤于思考,思考哪些工作可以通过自动化来实现,哪些测试用自动化可以提高测试效率,哪些功能点可以通过自动化实现长期的测试监控等。

举个例子,我所负责的项目中,有一个功能,人工测试时我们只能对其进行有限次的点击验证,且点击频率较低,但通过脚本我们实现测试过程中更快速、更长时间的点击操作,那我们就可以利用自动化来进行实现。不但可以在自己的测试设备上执行,还可以在不同的设备上进行执行,这个自动化测试就是有效的,就是能够提高测试效率和测试质量的。虽然这个测试因为各种原因不会加到UI功能自动化的用例集中,但在当前版本中,自动化确实给我们带来了很有益的帮助,这就是我们所需要倡导的。

总之,我们可以运用各种自动化测试工具和测试手段,来辅助我们进行测试,这就是值得肯定的。

2.性能测试

在我所负责项目的测试体系中,性能测试主要包括三个维度的性能测试,即时间维度的性能测试、资源维度的性能测试以及流畅度测试。

2.1时间维度

时间维度的性能测试,主要是指功能特性在点击操作后的时间响应情况。我们比较熟悉的有首屏加载时间,点击后响应跳转打开时间等。

进行时间维度的性能测试有很多种方法,可以利用录屏截图计算时间,也可以利用在程序中打时间戳计算时间,还可以利用第三方脚本实现时间的计算,亦可以通过图像识别技术来进行时间的计算等。

在测试过程中,我们要结合项目本身进行工具的预研,是一次性的测试,还是后续需要持续的测试,是否需要转化成工具供后续长期使用,是在单台设备上用,还是需要考虑兼容性在不同的设备环境上用,工具是否开源或提供数据接口以便后续与团队的测试平台相结合,如此等等。

2.2资源维度

资源维度的性能测试,主要是指APP使用过程中各种系统资源的消耗情况,包括CPU、内存、电量、流量等。

测试工具的选择,根据测试终端的不同去自行选择,测试需要监控的维度,也根据项目自行确定,这里不对具体的测试方法做展开。

这里需要说的是,资源维度的性能测试,可以做两部分工作,一部分是测试过程中的性能测试,另一部分是线上性能数据的收集。

测试过程中的性能测试, 可根据业务测试需要进行评估,需要测试哪些场景,是当前版本一次的测试,还是后续每个版本都要进行对比的测试,是只需要测试本机的性能数据,还是需要在多台设备上都进行性能数据的收集,只是需要本APP测试,还是需要和竞品做对比测试等。

在此基础上,评估是否需要通过自动化脚本实现测试用例,以便后续的重复使用。如果后续需要进行纵向的和历史版本的对比测试,需要确保测试环境、测试设备尽可能的一致,从而使测试结果更加真实可靠。

另外补充一个小点,测试数据的处理计算,可以通过自动化脚本实现,将人力计算的资源成本节约出来。如果有必要,还可以做一个简单的平台,将测试数据都存储到平台上,以便后续分析查阅用。

线上性能数据的收集,则需要开发工程师在功能实现过程中对相关数据进行上报,功能发布后,对线上数据进行捞取、处理和计算,发现其中可能存在的问题。在开发工程师日志拿到出现错误用户的日志配合下,实现相关性能问题的定位、分析和解决。

2.3流畅度测试

流畅度测试作为用户体验最直观的感受,也是很多做性能测试的必选。关于做流畅度测试的方法这里就不必赘述,但有几点上需要注意的:

一是我们如何规划流畅度测试的用例,二是流畅度测试后我们如何利用测试结果数据去做分析和改进,三是APP发布后我们需要如何从线上数据去做流畅度的监控。

关于流畅度测试用例的设计,需要结合APP的核心功能、用户常用路径去设计,这部分最好可以有线上数据做支撑,而不是拍脑袋去想。数据支撑下获取到的大多数用户在APP中的跳转路径,才是我们需要去重点关注的。另外,线上数据中监控到的易出现卡顿的路径,也需要我们中测试过程中去留意。

对流畅度测试后的数据的分析与使用,以及线上流畅度数据的监控,这就需要测试工程师与开发工程师去共同规划、共同排查。本文就不做展开论述。

3.稳定性测试

关于这部分,可以从APP的发布前的测试阶段和发布后的线上运营阶段两个阶段入手,分别开展工作。

测试阶段,我们可以围绕Monkey测试、代码走查两方面开展稳定性测试,有条件的团队亦可以在此阶段使用静态代码扫描工具。Monkey测试过程中,要注重测试执行的设备、环境、频率,对过程中发现的问题也要做一定的分析,对容易出现问题的部分做重点关照。代码走查,可以结合功能测试过程中容易发生崩溃的模块进行重点的走查,推动开发进行结对编程,检查这些模块可能存在的问题。至于静态代码扫描,就需要开发同学针对扫描出的问题进行解决,养成良好的代码习惯,以避免相关问题的漏出。

运营阶段,我们可以围绕外网崩溃数据的上报分析来开展稳定性测试。这部分更多的依赖开发工程师来解决,不过在此过程中,测试工程师可以分析上报的数据,定位崩溃的一些基本数据,比如常见的系统、机型等,以此来改进和优化日常的稳定性测试。

4.小结

在常见的APP测试体系下,主要的测试就是自动化测试、性能测试和稳定性测试这三部分,除此之外,还有包括安全性测试等其他方面,都需要结合实际业务去做分析,本文就不做过多分析。

当我们做接手一个APP去做测试体系的搭建时,需要从项目本身入手,结合项目当前的状态和阶段,当前遇到的比较大的问题,团队成员的组成等多方面,来确认相关工作的优先级,以此逐步推动测试体系的建设。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

50万次测试工作,APP自动化测试、性能测试、稳定性测试经验分享! 的相关文章

  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 软件测试|Python数据可视化神器——pyecharts教程(九)

    使用pyecharts绘制K线图进阶版 简介 K线图 Kandlestick Chart 又称蜡烛图 是一种用于可视化金融市场价格走势和交易数据的图表类型 它是股票 外汇 期货等金融市场中最常用的技术分析工具之一 可以提供关于价格变动 趋势
  • 盲猜你不懂H5架构和原生架构的区别

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Python自动化测试 | 如何使用Robot Framework进行自动化测试?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 测开和测试平台是否有存在的必要?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 性能-阶梯负载最终请求数

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 开眼了,自动化测试还能这样用?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • 新手也能看懂的【前端自动化测试入门】!

    前言 最近在网上搜索前端自动化测试相关的文档 但是发现网上的文章都是偏使用 没有把一些基础概念说清楚 导致后续一口气遇到一些 karma Jasmine jest Mocha Chai BDD 等词汇的时候很容易一头雾水 这次一方面整理一下
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退
  • 程序员找工作难!拿到外包公司的 offer 我应该去么?

    引言 前一阵子有一个帖子引起了非常广泛的讨论 描述的就是一个公司的外包工作人员 加班的时候因为吃了公司给员工准备的零食 被公司的HR当场批评 这个帖子一发出来 让现在测试行业日益新增的外包公司备受关注 那么外包公司和非外包公司有什么样的不一
  • Web自动化测试 —— cookie复用

    一 cookie简介 cookie是一些数据 存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时 在链接关闭后 服务端不会记录用户信息 二 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用
  • Web自动化测试 —— capability参数配置

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • 一文让你快速写出高效的软件测试用例

    前言 编写测试用例的目的就是确保测试过程全面高效 有据可查 但要编写出高效的测试用例 需要搞清楚什么是测试用例 以及如何编写出高效的测试用例 接下来将从以下几个部分来进行展开 1 什么是测试用例 2 如何编写测试用例 3 软件测试学习资源分
  • UI自动化测试之Jenkins配置

    背景 团队下半年的目标之一是实现自动化测试 这里要吐槽一下 之前开发的测试平台了 最初的目的是用来做接口自动化测试和性能测试 但由于各种原因 接口自动化测试那部分功能整个废弃掉了 其中和易用性有很大关系 另外 也和我们公司的接口业务也有关
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • 软件测试面试:还没有自动化测试项目经验,3个项目帮你走入软测职场!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它

随机推荐

  • 鹏芯微2024届秋招/校招内推信息/内推码

    公司名称 鹏芯微 内推码 ISVM18 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站 https career pxwsemi com
  • usbui.dll文件丢失导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个usbui d
  • 计算机SSM毕设选题 SSM的智能仓储管理系统

    项目背景 随着科学技术的飞速发展 社会的方方面面 各行各业都在努力与现代的先进技术接轨 通过科技手段来提高自身的优势 智能仓储系统当然也不能排除在外 智能仓储系统是以实际运用为开发背景 运用软件工程开发方法 采用jsp技术构建的一个管理系统
  • WMASF.DLL文件缺少导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个WMASF D
  • UI自动化测试方案

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • Selenium定位元素的方法css和xpath的区别!

    selenium是一种自动化测试工具 它可以通过不同的定位方式来识别网页上的元素 如id name class tag link text partial link text css和xpath css和xpath是两种常用的定位方式 它们
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 作业帮2024届秋招/校招内推信息/内推码

    公司名称 作业帮 内推码 NTABmy8 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站
  • SQL语句---select基本查询语句

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞62次 收藏10次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 比特大陆/算能科技2024届秋招/校招内推信息/内推码

    公司名称 比特大陆 算能科技 内推码 ISKTJR 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站
  • Jmeter post请求传参问题

    同线程组引用参数 新增数据bizId 然后将此次新增数据删除 添加新增 数据接口 然后查询数据列表 正则表达式提取bizId 在删除接口引用此值 bizId 添加断言 执行查看结果 json格式的post请求 摘要 正在执行的活动内容修改
  • 沐瞳科技2024届秋招/校招内推信息/内推码

    公司名称 沐瞳科技 内推码 TC4GYC9 内推来源 内推鸭小程序 官方招聘网站 沐瞳科技内推
  • wmi.dll文件缺少导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库 这时你可以下载这个wmi dll
  • 自动化技术框架选型的思考

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 5k次 点赞69次 收藏10次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 思特威2024届秋招/校招内推信息/内推码

    公司名称 思特威 内推码 3741B75 内推来源 内推鸭小程序 2000 企业内推人发布内推码 官方招聘网站 https www ivvajob com company sitewei 80wCo25I273 positionList w
  • Python自动化测试工具Selenium使用踩坑

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 诗悦网络2024届秋招/校招内推信息/内推码

    公司名称 诗悦网络 内推码 NTANdQx 内推来源 内推鸭小程序 官方招聘网站 广州诗悦网络科技有限公司 内部推荐
  • 如何使用Python开发Qt应用的自动化测试

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读1 3k次 点赞60次 收藏8次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自动
  • 计算机SSM毕设选题 停车位租赁管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统业务流程 3 3 系统结构设计 4 项目获取
  • 50万次测试工作,APP自动化测试、性能测试、稳定性测试经验分享!

    几年的测试工作下来 除了日常的功能特性的测试 还完成了自己负责APP相关测试体系从零到一的建设 今天借由这个机会 做一个简单的梳理 将在这个过程中自己的一些思考 踩过的坑等做一个整理 分享给各位供参考 1 自动化测试 自动化测试主要包括几个