- 博客(87)
- 收藏
- 关注
原创 第3.2.3节 Android动态调用链路的获取
借助于jacoco插件的核心功能,对项目代码进行插桩,对每一个类和函数进行插桩,记录类的classid, methodid,执行次序和执行时间。插桩的过程中,将classid, 类名,methodid,函数名与参数等信息记录到class-method-map.txt文件中,打包的时候会将文件生成保存到工作目录中。在要关联用例的App中,添加新的jacoco插件,打包后就会自动对函数中的类,函数进行插桩。3,在测试需求时,根据需求,上传覆盖率,trace信息文件。将会在指定的目录下,生成新插件的所有包。
2025-05-10 21:47:18
1051
原创 2.3.5 覆盖率数据的合并
在覆盖率测试过程中,通过App的生命周期控制覆盖率数据的采集时机,在app进入前端时,清除上次覆盖率数据,执行测试用例,将App置入后端时,生成覆盖率数据文件。常规状态下整个测试过程中会执行多个测试用例,也会产生多个覆盖率数据文件,我们需要将每个测试用例的覆盖率数据文件获取上传到指定的服务器上,再清除数据执行下次用例,这个功能将在后面通过SDK来实现。注意:官方指定必须是相同的类的覆盖率数据文件才能合并,如果类有变化,则classid就变化了,不能合并。这就是后面我们要介绍的,跨版本覆盖率合并。
2025-03-24 19:49:22
340
原创 第2.1节 覆盖率简介
通过对比和各方面的调研,选择比较通用化的Jacoco作为Android端的覆盖率采集工具,而iOS端的选择不多OC使用XcodeCoversage,Swift有其自带的覆盖率采集方案,后续我们将详细介绍。至于jacoco的一些概念,插桩原理,ASM等等,将不再介绍,网上相关的资料较多,防止影响我们专注于移动端覆盖率的测试。如果我们有 100 行代码,但测试只执行了其中的 75 行,那么我们的代码覆盖率就是 75%。以上内容需要的知识储备较多,读者可以根据自己的情况,挑选学习,有能力的话,也可以全面学习。
2025-03-20 14:14:20
807
原创 第一章 移动端精准测试简介
精准测试(Precision Testing)是一种通过数据驱动、技术辅助的软件测试方法,旨在以最小的测试用例集合覆盖最多的代码逻辑和业务场景,从而提高测试效率、降低测试成本,并精准定位缺陷。其核心是通过对代码、需求、测试用例、缺陷等数据的关联分析,结合覆盖率统计、代码差异分析、动态追踪等技术,实现测试过程的智能化和精准化。
2025-03-18 11:37:37
411
原创 移动端精准测试实践序言
这套体系在实际业务测试中得到了充分验证,特别是在版本发布前的回归测试阶段,能够以最少的测试用例集合实现对新功能的最大化覆盖,显著提升了测试效率,缩短了测试周期。在过去几年的职业生涯中,我专注于精准测试领域,经历了从移动端到前端,再到C++的精准测试实践,这一路充满了挑战与成长。此外,混合开发模式下的跨语言调用,如原生与WebView之间的交互,更是增加了精准测试的复杂度。希望通过我的努力,能够帮助更多同行避免重蹈覆辙,找到最适合自身环境的高效精准测试实施路径,促进精准测试方法在贵公司的广泛应用。
2025-03-18 11:30:42
310
原创 测试教程分享
前几年在腾讯课堂上发布了不少课程,后来腾讯课堂改革,要收会员费,课程还要抽提程,这么下来就相当于白干了。就放弃了在上面发课程,再后来腾讯课堂就关闭了,以前发布的视频就没有地方发了,于是我决定在 bilibili 上发布,完全免费给大家分享。1,WebUI 自动化 Python 系列。其他课程会持续更新中,欢迎关注!3,pytest 接口自动化。5,功能测试系列课程。
2024-10-16 19:58:42
383
原创 Android plugin如何兼容App插件和library插件
最近由于工作需要,开发了一个jacoco与记录用例执行顺序的插件,整体功能开发没有问题,但是在应用到项目的时候,就出错了。被测试的项目是个多模块的项目,原则上需要对app和libraries都添加插件,不然library中的代码没有插入jacoco的桩,也没有记录用例执行顺序的桩,无法达到目的。通过这两个地方的兼容处理,就可以保证插件在app插件和library插件中同时使用,经过Demo测试没有问题。作用于整个工程,包括当前工程、所有子工程及外部依赖库。仅作用于当前工程,不包括子工程或外部依赖库。
2024-05-28 11:25:49
663
原创 Electron+Vue构建项目时出错:Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT
Electron+Vue构建项目时出错:Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT。
2024-03-28 11:05:22
1055
原创 如何写出高质量的测试用例?
测试用例虽然很简单,也是测试人员入门必备的能力,但是要想写好一份高质量的用例也不那么简单。如果你能负责维护一套高可用,清晰易读的产品用例库,那就更加不简单了。当这样的能力成为你的习惯的时候,就不仅仅是在用例编写上,所以涉及到的项目,技术都能总结的很好,慢慢沉淀成你的知识体系,最后想不进步都难。
2023-07-05 19:25:09
1293
1
原创 React项目通过webpack-plugin-istanbul生成覆盖率报告
利用webpack-plugin-istanbul插件生成React项目的覆盖率报告
2023-07-03 16:07:02
948
原创 测试同学如何快速开发测试平台?
转眼已经好几个月没有发表什么文章了,因为疫情原因,大家工作都不怎么顺利,没有什么心情。再者,最近一直在搞移动端精准测试的项目,有太多技术难点需要攻克。从各个网站上都找不到解决方案,只能不断地尝试,摸着石头过河,还好最终影响项目开发的技术壁垒都给突破了,这类问题我也总结了不少技术文档,受众群体较少,也就没有发布出来。但这一个来月,看到组内的小伙伴,有不少业务线都有开发测试平台的需求,就根据自己以往的经验,介绍一下如何快速开发测试平台?
2023-03-10 15:55:32
723
原创 如何才能让UI自动化收益更大?
在公司推行AppUI自动化的时候,有同学反馈说UI自动化维护成本大,也不发现Bug,没有什么意义?在网上也看到不少类似的论调,但是为什么UI自动化一直存在呢?其实任何事物的存在都是有其价值的,只是我们没有正确理解和使用才会感觉到没有价值。那如何才能让UI自动化的收益最大呢?
2022-11-18 14:55:37
687
原创 坦然面对未来,努力提升自我
转眼前2022年过去一半了,疫情这三年来各行各业都受到了不少影响。中小企业倒闭,大公司裁员,全国各地又零星地封闭,在家办工,搞得互联网行业真是看不到了未来。百度来的一波对T8级别40岁左右的人进行裁员,真是让35岁危机更加严重了。最近好几个月也没有怎么写文章了,一是因为我自己也有点儿迷茫了,不知道将来能工作多久,如果互联网找不到工作了,将来的出路在哪儿?另一个也是,互联网招聘要求越来越高,测试同学会点儿普通的技术,面试机会少也难以通过;但是高深点儿的技术,对基础是有要求的,半路出家的同学根本是学不会的。..
2022-06-14 16:32:39
295
原创 测试开发如何玩转开源?
随着大家对测试开发技术的了解,发现测试开发到最后都是在利用开源框架在开发自己的工具,平台或是搭建相关的质量保障体系。其实这也是正确的选择,毕竟互联网就是一个整合资源的行业嘛,美团整合了餐饮,骑手和用户资源;滴滴整合了打车资源,百度整合了信息资源等等。而一个优秀的测试人员也要学会整合现有的测试资源来解决实际遇到的问题,而不是什么都重头来做。那我们又应该如何玩转开源资源呢?我就从个人的角度来分析一下吧,仅供参考!一,要对开源资源树立正确的认识 现在很多公司都在强调不能重复造轮...
2022-01-29 19:05:06
391
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人