软件测试技能
文章平均质量分 82
霍格沃兹测试开发学社测试人社区
这个作者很懒,什么都没留下…
展开
-
实战 | UI 自动化测试框架设计与 PageObject 改造
在 UI 自动化测试过程中,面对复杂的业务场景,经常会遇到这样的挑战:因此,测试团队通常还需要一种定制测试框架,用以弥补现有框架的缺点。由于 UI 自动化测试框架围绕 UI 界面使用,因此,依旧选用 PageObject 设计模式对 UI 及测试进行封装,同时配合 Pytest 单元测试将脚本能够有效的组织、连贯应用起来,从而提高框架的可维护性和可读性。由于测试框架基于 PageObject 设计模式,主要方向为 PO 改进,数据驱动,异常处理等,比如:作为通用的 UI 测试框架, PageObjet 不仅原创 2022-06-12 18:29:53 · 427 阅读 · 1 评论 -
测试开发实战 | Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台
1. 为什么要搭建性能监控平台?1.1 需求背景在用 Jmeter 获取性能测试结果的时候, Jmeter 本身带有聚合报告如下图所示:这个报告有几个很明显的缺点:1.2 需求方案为了解决上述问题,必须要请出了 InfluxDB + Grafana :简单总结起来就是:将 Jmeter 的数据导入 InfluxDB ,再用 Grafana 从 InfluxDB 中获取数据并以特定的模板进行展示2、性能监控平台部署实践2.1 Docker环境本文的重点并不是介绍 Docker,所以不了解的小伙伴需要自己去学原创 2022-06-09 16:25:27 · 2600 阅读 · 0 评论 -
学习Docker就应该掌握的dockerfile语法与指令
在日常的工作中,常常需要制作自己的项目的镜像,一般通过以下两种方式制作镜像:Docker commit、Dockerfile。Docker commit一般用做从一个运行状态的容器来创建一个新的镜像。定制镜像应该使用Dockerfile来完成。使用这种方式的缺点是:1.对外不可解释,不方便排查问题, 2.可维护性差、可阅读性差。Dockerfile 是由一系列指令和参数构成的脚本,一个 Dockerfile 里面包含了构建整个镜像的完整命令。Docker 通过docker build执行 Docker原创 2022-06-09 16:23:14 · 435 阅读 · 0 评论 -
如何确保API 的稳定性与正确性?你只需要这一招
一、什么是rest-assured现在,越来越多的 Web 应用转向了RESTful的架构,很多产品和应用暴露给用户的往往就是一组 REST API,这 样有一个好处,用户可以根据需要,调用不同的 API,整合出自己的应用出来。从这个角度来讲,Web 开发的成本会越来越低,人们不必再维护自己的信息孤岛,而是使用 REST API 这种组合模式。那么,作为 REST API 的提供者,如何确保 API 的稳定性与正确性呢?全面系统的测试是必不可少的。Java 程 序员常常借助于 JUnit 来测试自己的 R原创 2022-06-09 16:22:34 · 267 阅读 · 0 评论 -
如何用Sonic云真机打王者
使用Sonic进行跨网段部署,助力海外业务的公司进行专项检测。提供定时任务充分利用无人值守时间回归UI测试,省时省力。自研随机事件测试与UI遍历W测试,支持打通Jenkins的DevOps流程,Sonic提供图像识别,后续还会添加poco控件,助力游戏公司测试效率。趣味交互让用户不再感到繁琐。丰富图表展示,用户实时洞察用例执行情况,把控产品质量。感谢各大公司对Sonic的支持,感谢霍格沃兹的大力赞助~今后sonic必将继续努力!通过架构图可以看到,用户可以通过 Sonic 平台,轻松访问跨网段的 Agent原创 2022-06-09 16:21:31 · 223 阅读 · 0 评论 -
测试开发实战|如何利用 xUnit 框架对测试用例进行维护?
先看 Wikipedia 上的解释:xUnit 是一系列测试框架的统称,最开始来源于一个叫做 Smalltalk 的 SUnit 框架,现在各种面向对象的语言,如 Java、Python 的鼻祖就是 Smalltalk,后来这些语言都借助了 Sunit 框架的理念,有很多通用的规范和特征,也就统称为 xUnit。1)创建 maven 工程 XUnit,pom.xml 中添加 Junit 依赖;2)src/test/java 下创建测试类 Junit4DemoTest注意基本测试 demo 运行:运行结原创 2022-06-09 16:19:12 · 278 阅读 · 0 评论 -
技术分享 | app自动化测试(Android)--App 控件定位
客户端的页面通过 XML 来实现 UI 的布局,页面的 UI 布局作为一个树形结构,而树叶被定义为节点。这里的节点也就对应了要定位的元素,节点的上级节点,定义了元素的布局结构。在 XML 布局中可以使用 XPath 进行节点的定位。从上面这张图中可以看到最左侧是应用的页面的展示,中间部分展示了这个页面的树形结构的 XML 代码。其中包含的内容为:在 Android 系统元素的 ID 称为 resource-id,使用页面分析工具比如 Appium Inspector 能够获取元素的唯一标识是 ID 属性,可原创 2022-06-08 17:34:19 · 204 阅读 · 0 评论 -
技术分享 | app自动化测试(Android)--元素定位方式与隐式等待
元素定位是 UI 自动化测试中最关键的一步,假如没有定位到元素,也就无法完成对页面的操作。那么在页面中如何定位到想要的元素,本小节讨论 Appium 元素定位方式。定位页面的元素有很多方式,比如可以通过 ID、accessibility_id、XPath 等方式进行元素定位,还可以使用 Android、iOS 工作引擎里面提供的定位方式。设置隐式等待后可以在规定的时间之内去动态的等待元素出现。假如设置了隐式等待时长为 10 秒,会在 10 秒之内不停的查找元素,如果第 2 秒就找到了元素,就继续执行后面的测原创 2022-06-07 18:08:56 · 2558 阅读 · 0 评论 -
史上最全 Appium 自动化测试从基础到框架实战精华学习笔记(一)
本文为霍格沃兹测试学院学员学习笔记,进阶学习文末加群。本系列文章汇总了从 Appium 自动化测试从基础到框架高级实战中,所涉及到的方方面面的知识点精华内容(如下所示),希望对大家快速总结和复习有所帮助。Appium 自动化测试从基础到框架实战Appium 基础 1 (环境搭建和简介) Appium 基础 2 (元素定位和元素常用方法) Appium 基础 3 (手势操作和 uiautomator 查找元素) Appium 基础 4 (显式等待) Appium 基础 5 (toa...原创 2022-05-31 18:35:05 · 393 阅读 · 0 评论 -
大话JMeter2|正确get参数传递和HTTP如何正确使用
上节课展示了JMeter的基础用法:录制回放功能,断言,聚合报告。李政道教授谈论学习方法,他表明我们可以获取很多信息。但是,从了解到理解还有一段路要走。只有亲手练了才能变成理解,能获取信息不代表自己理解。但如何正确get参数传递和HTTP如何正确使用。尤其是在无UI下进行接口的访问。小哥哥带着你用漫画来学习JMeter,让你在轻松的环境里了解新知识。要创建采样器,只需要二步1.添加 “Thread Group”2.添加 “Http Request” Sampler下面的接口逻辑如下:我们使用的接口是自己原创 2022-06-06 16:36:32 · 216 阅读 · 0 评论 -
大话JMeter4|不同的并发数可以自动化做压测吗?
上节课爱画漫画的小哥哥用漫画形式向大家展示了JMeter的进阶用法:如何搭建InfluxDB,使用更炫酷的Grafana。看到很多小伙伴觉得看的不过瘾,在强烈的催促下,小哥哥的新文章又出来了。这次小哥哥又给我们带来怎样的惊喜呢?接着看下去吧!如果手动逐步加压,不仅需要人肉改并发数,还需要花大量时间等待完成,可以用一个字概括:完成后看压测监控记录,或者坐收报告是最完美的解决方案。示例:jmeter -n -t testplan.jmx -l test.jtl示例含义:则表示以命令行模式运行testpla原创 2022-06-06 16:35:37 · 151 阅读 · 0 评论 -
大话测试数据(二):概念测试数据的获取
在大话测试数据(一)文章中,我提到,获取数据的第一步是获取概念上数据。这一步看起来简单,其实不是那么容易。获取概念数据和获取需求的过程是交织在一起的,事实上,它们其实是一个事儿,因为数据是需求中最重要的组成部分。需求工程是个大话题,目前有很多种流派和实践方式来来搞定需求,但它们的思想都比较一致,那就是:不断的由粗到精的迭代(如下图)。关于需求这里不再展开,如果大家有兴趣的话,推荐两本我觉得还不错的书:德国人写的《需求工程,基础原理和技术》和国人写的《软件需求最佳实践》,大家读后结合工作实践会很有收获。由原创 2022-06-06 16:33:24 · 135 阅读 · 0 评论 -
如何做好性能压测:压测环境的设计和搭建
性能压测,是保障服务可用性和稳定性过程中,不可或缺的一环。我们将从性能压测的设计、实现、执行、监控、问题定位和分析、应用场景等多个纬度对性能压测的全过程进行拆解,以帮助大家构建完整的性能压测的理论体系,并提供有例可依的实战。01 性能环境要考虑的要素系统逻辑架构,即组成系统的组件、应用之间的结构、交互关系的抽象。最简单最基本的就是这三层架构。三层逻辑结构图更复杂的逻辑结构物理架构图软件中对系统使用到的中间件有一个了解,不仅可以帮助设计更仿真的压测环境,也有助于在压测过程中,加快瓶颈、问题的定位和解决。02原创 2022-06-06 16:32:06 · 171 阅读 · 0 评论 -
测试人生 | 薪资翻倍涨至50W是种什么样的体验?
本人已经工作7年了,做的都是功能测试以及写一些简单的自动化脚本,加上之前没有学习的意识,导致专业技术水平与工作年限不匹配,在上家公司工作3年只有一次晋级调薪。随着时间的流逝,职场危机感越来越严重,觉得做功能没有什么职场竞争力。看到身边朋友都入职了不错的公司,薪资也比较可观。跟他们的交流中他们极力向我推荐学社,于是就报名参加了学社的课程。学完课程之后,拿到了 shopee 超过50W 的 offer,薪资翻倍还不止。拒绝焦虑的最好办法就是学起来去年的裁员降薪潮,让我出现了强烈的危机感,还有整日的焦虑。之前就听原创 2022-06-02 17:22:25 · 103 阅读 · 0 评论 -
技术分享 | Appium 用例录制
Appium Desktop 是一款用于 Mac、Windows 和 Linux 的开源应用,它提供了 Appium Server,Appium Inspector 以及相关的工具的组合。Appium Desktop 是个图形界面,可以设置选项、启动/停止服务器、查看日志等功能。Appium Inspector 可以查看应用程序的元素,并进行基本的交互、录制等功能。原创 2022-06-01 18:21:01 · 201 阅读 · 0 评论 -
同样是断言,为何 Hamcrest 如此优秀?
根据项目对象模型(POM)的概念,Maven 可以管理一个项目的依赖关系、构建、报表以及信息中心的部分文档。hamcrest 断言 maven依赖:hamcrest支持多种语言,这里以 Java 为例:进入到 hamcrest 断言的 Matchers 类中可以看到其中包含了相当丰富的断言匹配器,能更大程度上实现各种复杂断言场景:官网也对断言进行了分类和说明:先来看hamcrest断言和原生断言的写法区别,在官方文档中给出了的第一个实例如下:在Junit4的官方也给出了说...原创 2022-05-31 18:33:56 · 136 阅读 · 0 评论 -
基于 Spring Boot 的 RESTful API 设计与实现
本文节选自霍格沃兹测试学院内部教材RESTful 是一种规范,符合 RESTful 的 Api 就是 RESTful Api。简单的说就是可联网设备利用 HTTP 协议通过 GET、POST、DELETE、PUT、PATCH 来操作具有 URI 标识的服务器资源,返回统一格式的资源信息,包括 JSON、XML、CSV、ProtoBuf、其他格式。RESTful 的核心思想是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /case 这个命令,GET 是动词,/cas...原创 2022-05-31 18:32:20 · 450 阅读 · 0 评论 -
后端Web开发框架(Java)
本文节选自霍格沃兹测试学院内部教材Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。讲的通俗一点就是 Spring Boot 并不是一个新的框架,它只是整合和默认实现了很多框架的配置方式。通过 Spring Boot ,可以轻松地创建独立的、基于生产级别的基于 Spring 的应用程序。为什么使用Spring Boot简化...原创 2022-05-31 18:31:36 · 1101 阅读 · 0 评论 -
技术分享 | Appium环境安装与架构介绍
Appium架构Appium 设计哲学不需要为了自动化而重新编译或修改被测应用 不应该让移动端自动化测试限定在某种语言或者某个具体的框架 不要为了移动端的自动化测试而重新造轮子 移动端自动化测试应该是开源的Appium 架构Appium 架构图如下:Appium 的核心是一个 Web 服务器,提供了一套 REST 的接口,接收到客户端的连接,监听到命令,在移动设备上执行这些命令,将执行结果放在 HTTP 响应中返还给客户端。事实上,这种客户端/服务端的架构给予了许多的可能原创 2022-05-31 14:18:30 · 268 阅读 · 0 评论 -
史上最全 Appium 自动化测试从入门到框架实战精华学习笔记(三)
本文为霍格沃兹测试学院学员学习笔记,进阶学习文末加群。本系列文章汇总了从 Appium 自动化测试从基础到框架高级实战中,所涉及到的方方面面的知识点精华内容(如下所示),希望对大家快速总结和复习有所帮助。Appium 自动化测试从基础到框架实战Appium 基础 1 (环境搭建和简介) Appium 基础 2 (元素定位和元素常用方法) Appium 基础 3 (手势操作和 uiautomator 查找元素) Appium 基础 4 (显式等待) Appium 基础 5 (toa...原创 2022-05-30 18:26:29 · 378 阅读 · 0 评论 -
测试开发实战|只需学会Docker,环境问题再也不是测开路上的坑
很多做测试的小伙伴,最烦恼的就是环境问题。尤其是windows的测试小伙伴,配置环境变量的时候,那是各种趟坑。每次想要学习新技术时,总是被各种环境问题所困扰,无法开始第一步。有没有什么办法,可以绕过配置环境变量的坑呢?你别说,还真有。那就是本文要和你介绍的Docker。学会它,让你再也不需要配置环境变量了,一站式搞定所有的环境。Docker能做什么?1、 搭建测试环境,保证测试环境的一致(为什么?),避免因环境原因造成的互相甩锅~2、搭建各类基础服务,例如禅道,Jenkins等,极大降低..原创 2022-05-30 18:25:57 · 272 阅读 · 0 评论 -
只懂黑盒测试也能学会的代码覆盖率及精准化测试
测试覆盖率是对测试完成程度的度量。它通常依据某种覆盖准则来对测试用例执行情况进行衡量,以判断测试执行得是否充分。——出自《计算机科学技术名词 》第三版今天文章中我们给大家介绍覆盖率统计及覆盖率分析。在10月13日20:00,资深测试开发架构师思寒将光临直播间手把手教大家如何搞定精准化测试!温馨提示:你以为代码覆盖率与精准化测试知识与黑盒测试无缘?不,你只是没遇到思寒讲的这节课。常见覆盖率统计工具emma cobertura jacocoemma 与 cobertura 是为单元测原创 2022-05-30 18:24:13 · 277 阅读 · 0 评论 -
利器 | 接口自动化测试框架 RESTAssured 实践(三)对 Response 结果导出
上一篇文章中介绍了rest-assured对返回结果的断言,最后说明了对于Response结果导出的需求。可查看往期文章进行查看。HTTP/1.1 200 OKServer: nginx/1.12.2Date: Mon, 13 Jan 2020 02:15:11 GMTContent-Type: application/json;charset=UTF-8Transfer-Encoding: chunkedExpires: 0Cache-Control: no-cache, no-...原创 2022-05-30 18:22:04 · 164 阅读 · 0 评论 -
利器 | TestNG 与 Junit 对比,测试框架如何选择?
TestNG 和 Junit 作为两大流行的测试框架,有哪些区别?各有哪些优缺点?该如何选择呢?这里简要总结下:执行时通过运行xml文件 最基本的套件管理规则:suite->test->classes->class 同一个test下的测试类看做是一个整体,其中的注解对整个test整体都是生效的 methods: 所有用例都可以在不同的线程下执行,包括依赖的用例 tests: 同一个中的用例运行在同一个线程下,不同中的用例可以运.原创 2022-05-30 18:21:18 · 150 阅读 · 0 评论 -
技术分享 | App常见bug解析
本文节选自霍格沃兹测试开发学社内部教材在 app 产品测试过程中,可能会遇到很多不同类型的 Bug。知道了可能 Bug 的类型,有利于在测试过程中更好的预防这些问题的发生。功能Bug内容显示错误前端页面展示的内容有误。这种错误的产生有两种可能前端代码写的文案错误 接口返回值错误功能错误功能错误是在测试过程中最常见的类型之一,也就是产品的功能没有实现。比如图中的公众号登录不成功的问题。界面展示错乱产品界面上的元素展示重叠(如下...原创 2022-05-30 17:32:38 · 253 阅读 · 0 评论 -
利器 | REST Assured 实践(二):断言实现
在上一篇文章中,我们初步探讨了 REST Assured 的应用实践,还有很多丰富的用法需要慢慢探索研究。而 REST Assured 提供的完整断言手段,是测试工程师最常用最重要的功能之一。断言该如何使用呢?这里以 rest-assured 官方给的一个示例做演示学习{"lotto":{ "lottoId":5, "winning-numbers":[2,45,34,23,7,5,3], "winners":[{ "winnerId":23, "numbers":[2,...原创 2022-05-29 17:54:55 · 157 阅读 · 0 评论 -
技术分享 | App测试时常用的adb命令你都掌握了哪些呢?
本文节选自霍格沃兹测试开发学社内部教材adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android 模拟器或真机的工具。adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作,例如安装和调试应用。adb组成采用了客户端-服务器(C/S)模型,包括三个部分:adb Client:运行在电脑上,可以在命令行中运行 ...原创 2022-05-27 17:07:19 · 175 阅读 · 0 评论 -
利器 | Java 接口自动化测试首选方案:REST Assured 实践 (一)
在 REST Assured 的官方 GitHub 上有这样一句简短的描述: Java DSL for easy testing of REST services 简约的 REST 服务测试 Java DSLREST Assured 官方的 README 第一句话对进行了一个优点的概述,总的意思表达的就是简单好用。那么 REST Assured 有哪些优点,又该如何使用呢?用 Java 做接口自动化测试首选 REST Assured,具体原因如下:开源 简约的接口测试 DSL 支持 xm..原创 2022-05-26 18:20:30 · 237 阅读 · 0 评论 -
利器 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总
上两篇文章介绍了自动遍历的测试需求、工具选择和 AppCrawler 的环境安装、启动及配置文件字段基本含义,这里将以实际案例更加细致的说明配置文件的用法和一些特殊场景的处理。下面我们继续之前的例子,在雪球搜索框输入搜索内容后的页面开始:testcase:设置测试用例,输入 alibaba 后,点选"阿里巴巴"yaml 写法如下:testcase: name: "XueQiuTestDemo AppCrawler" steps: - { xpath: "//*[cont...原创 2022-05-26 18:19:56 · 185 阅读 · 0 评论 -
你以为Shell只是命令行?读懂这篇文,给你的工作赋能
Shell 是什么呢?很多人以为的Shell就是命令行,一条条可以百度出来的命令行。而简历上你只会写熟悉Linux?今天用摩拜App给大家讲解下如何使用 Shell 去操作 Android 设备进行自动化测试。首先我们需要准备一部手机或者一个Android模拟器。然后电脑上需要配置Android开发环境。下载 Android SDK:,按照系统版本下载相应的zip包。请按照自己的系统按需下载。 zip包解压缩,会生成一个tools目录。需新建一个sdk目录,然后把tools目录移动到sdk目录下原创 2022-05-26 18:17:46 · 443 阅读 · 1 评论 -
代码质量管理平台实战| SonarQube 安装、配置及 JaCoCo、Maven 集成
SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。同时 SonarQube 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 SonarQube。此外, SonarQube 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。官方网址:https://www.sonarqube.org/通过插件形式,可以支持包括 Java,C#,C/C++、PL/SQL、Cobol、JavaScrip、Groovy、Ruby 等二...原创 2022-05-26 18:16:59 · 227 阅读 · 0 评论 -
代码分析体系及Sonarqube平台
代码分析IDE辅助功能:xcode、android studio 独立的静态分析工具:findbugs、androidlint、scan-build、pmd、阿里巴巴java开发规范pmd插件代码审计关注的质量指标bug和漏洞 单元测试规模 覆盖率分析代码静态检查代码语法分析:lint系列,通过分析语法树和源代码,检查代码规范 编译器分析:借助于编译器获得代码关系 字节码静态分析:分析jar、war、dex等格式的文件,代表工具:findbugssonarqube架构原创 2022-05-26 18:11:15 · 132 阅读 · 0 评论 -
技术分享 | 想做App测试就一定要了解的App结构
本文节选自霍格沃兹测试开发学社内部教材app 的结构包含了 APK 结构和 app 页面结构两个部分APK结构APK 是 Android Package 的缩写,其实就是 Android 的安装包。通过将 APK 文件直接传到 Android 模拟器或 Android 手机中执行即可安装。APK 文件其实是 zip 格式,但后缀名被修改为 apk,通过 Android Studio 可以看到 APK 内部的文件。下面拿雪球 APK 来举例,APK 内部结构如图所示...原创 2022-05-25 18:04:16 · 572 阅读 · 0 评论 -
助力校招 | 如何用 selenium 筛选心怡岗位并一键海投?
本文节选自霍格沃兹测试开发学社内部教材Web 应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。但是手工执行的任务容易出现人为的错误,也比较费时间。因此,将这些任务自动化,就可以消除人为因素。Selenium 可以帮助我们自动化完成验收测试,通过构建更严格的测试,从而使软件更为可靠也更易于维护。Selenium 支持 Web 浏览器的自动化,它提供一套测试函数,用于支持 Web 自动化测试。函数非常灵活,能够完成界面元素定位、窗口跳转、结果比较.原创 2022-05-25 16:27:32 · 140 阅读 · 0 评论 -
不懂PO 设计模式?这篇实战文带你解决 PO
为UI页面写测试用例时(比如web页面,移动端页面),测试用例会存在大量元素和操作细节。当UI变化时,测试用例也要跟着变化, PageObject 很好的解决了这个问题!使用UI自动化测试工具时(包括selenium,appium等),如果无统一模式进行规范,随着用例的增多会变得难以维护,而 PageObject 让自动化脚本井井有序,将 page 单独维护并封装细节,可以使 testcase 更稳健,不需要大改大动。具体做法:把元素信息和操作细节封装到Page类中,在测试用例上调用P...原创 2022-05-24 17:34:40 · 148 阅读 · 0 评论 -
云架构系统如何做性能分析?
性能分析一直是性能实施项目中的一个难点。对于只做性能测试不做性能分析的团队来说,总是不能把问题非常显性地展示出来,不能给其他团队非常明确的引导。对于这种类型的测试实施,只能把问题抛出来,让其他相关团队去查。沟通成本很高。而一个成熟的性能团队应该是要把问题点分析出来,给其他团队或责任人非常明确的瓶颈点,以加快问题的处理进度。从完整的分析思路上考虑。有两个要点:分段和分层。如上图所示,分段就是要把 1-6 以及在 server1/2、DB 上消耗的时间都统计出来。分层就是要把上图中各种不同颜色原创 2022-05-24 17:33:32 · 119 阅读 · 0 评论 -
专项测试实战 | 如何测试 App 流畅度(基于 FPS 和丢帧率)?
本文为霍格沃兹测试学院学员学习笔记,进阶学习文末加群。FPS 和丢帧率可以在一定程度上作为 APP 流畅度的一项衡量标准,本文介绍利用 adb shell dumpsys gfxinfo 命令获取软件渲染加载过程的数据,进行计算从而获取测试结果。前置业务知识在此之前,需要先了解屏幕展示绘制过程及 Android 的 VSync 机制VSync 全称是 Vertical Synchronization(垂直同步),在 Android 4.1 中引入 Android 系统(同时引入的一个概...原创 2022-05-24 17:32:21 · 598 阅读 · 0 评论 -
一文搞懂测试左移和测试右移的 Why-How-What
经常遇到测试同学提问,测试左移和测试右移到底是什么?本文就简要总结并阐述下测试左移和测试右移的 Why-How-What。Why软件测试技术应当贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程,其核心目标是尽快尽早地发现软件产品中所存在的各种问题 bug—— 与用户需求、预先定义的不一致性。然而,传统的软件测试流程是:接到项目后参与需求评审,然后根据需求文档写写用例和准备脚本,等开发提测之后正式开始测试、提 Bug、回归测试,测试通过后就结束了。然后,项...原创 2022-05-24 17:31:20 · 145 阅读 · 0 评论 -
技术分享 | app测试中常用的Android模拟器
本文节选自霍格沃兹测试开发学社内部教材测试 Android app 的时候,Android 模拟器是经常会用到的工具。模拟器可以轻松的模拟不同的品牌、分辨率和 Android 系统版本。可以让兼容测试做起来更容易。下面就来看看目前常用的 Android 模拟器都有哪些。EmulatorEmualor 是 Android Studio 自带的模拟器,是官方提供的工具,Android 开发最常使用的就是这一款。它功能非常齐全,电话本、通话等功能都可正常使用。用户可以使.原创 2022-05-25 17:03:33 · 378 阅读 · 0 评论 -
一文解决十大排序算法(动画图解)
排序算法是测试开发技术面试中的常考题目,本文用动画图解面试必会十大排序算法,由浅入深、形象记忆,再也忘不掉。排序基础知识排序的定义排序,就是重新排列表中的元素,使表中的元素满足按关键字递增或递减的过程。为了査找方便,通常要求计算机中的表是按关键字有序的。排序的确切定义如下:输入: n个记录 R1,R2,R3…Rn, 对应的关键字为 K1,K2,K3…Kn 输出: 输入序列的一个重排R1’,R2’,R3’…Rn’, 使得有K1’ ≤ K2’ ≤ K3’… ≤ Kn’ (其中 ≤可.原创 2022-05-20 18:19:54 · 179 阅读 · 0 评论