归档今年的年终时,看到了 10 多年来总结还在,都浏览了一遍,虽然这几年技术技能方向已经不怎么投入了,但之前的总结中 “技能部分” 可以摘出来分享下,都是过往的青春。
(都是摘出来了,前后文不连贯请见谅)
从对 Selenium 的不了解到能熟练运用其进行自动化脚本编写。
另外技术上:
1、 加强了 VB、VBS 的能力,并用其编写了便于工作的工具及用于 Excel 操作的 Vba
2、 熟悉了 Java 的编码,通过 jdbc 及文档操作,可以批量生成测试数据、检查大批量的有规律数据。而且在自动化脚本编写上也愈加熟练。
3、 对 Oracle 的函数、存储过程有了更深入的了解,在生成批量数据、查询有效数据方面有极大作用。
1、前端技术知识、浏览器开发工具使用得到了提高。去年的计划中提到了想要走进开发代码,但实际工作中,接触的最直接,最方便查看的是 js 代码。通过自学、向开发人员请教,了解了 js 的基础知识。这个在测试工作中是十分有帮助的,通过浏览器的控制台,输入 js 语句,能更加直观的了解页面的数据变化,找问题发生的原因。另外可以比较准确的确认 js 代码的改动是否影响某些页面,对自动化更是有极大的帮助。
2、页面自动化技术得到提高。今年编写了数据库管理、文件管理基础库,也搭建了自动化框架,方便了以后脚本的编写及维护。
1、生产环境自动化持续改进及加强。年初针对生产环境自动化覆盖面不足的情况采取了重构及安排开发协助编写工作。每日生产环境进行自动化的检查,迄今发现 30 多个生产问题。在此过程中,java 的编程能力等到了提高。
2、配合运维测试老数据处理中,检查 DBA 的历史产品清理 pl/sql 脚本,找出其中的问题,减轻 DBA 的工作压力,并且自身的 pl/sql 的存储过程、脚本知识得到了提高。
3、网络安全知识得到了丰富。本人开始针对网络安全的重视及对应知识的学习。在 XSS、CSRF 的学习过程中,也不断在查找各类安全漏洞。把找到的各种安全漏洞通过 bug 形式提交,让开发人员进行逐一修复,提高安全性。另外,还将自己学习中的知识进行总结,在测试部内进行分享。
4、性能测试能力得到巩固和提高。在分布式缓存项目进行中,因为需要性能测试,因此重新开始巩固 2 年多不在使用的 LR,在边实践边学习过程中,不仅为开发提供各类负载测试脚本场景,LR 的使用也更加熟练。考虑以后团队的需要,也给开发及测试部的同事们介绍了 LR 的使用。
1、自动化测试工作的持续改进及加强。
一部分是生产环境自动化的运行改进,采用 Jenkins 管理。
另一部分,内网自动化也进行了大改进突破。在进入新项目后,主要进行的自动化测试脚本编写,因为均是表单为主的系统,因此使用一套能够方便验证表单的自动化框架显得十分关键。在结合去年编写的 “autoform“的数据驱动 demo 框架后,完善后被应用于所有表单测试中,此方法编写自动化脚本方便迅速,提高效率。
2、成为了公司的 15~16 年度的内训师。
经过申请,成为了公司 15~16 年度的内训师。主要负责自动化测试相关的培训工作,目前已经完成 3-4 个课程 PPT 的编写,也完成了一个新的用于演示且可完全实际使用的不需要编写脚本的自动化测试框架 pyAutofrom。
该框架不需使用人员编写脚本、可管理各个用例的运行、可采用关键词加数据驱动方式编写自动化用例。
3、安全测试及爬虫测试的运用
年初,利用爬虫框架,编写搜索整个网站中错误链接的检查工具,可以检查出 404、500 链接页面、空白页面。通过此项测试,年初集中对爬虫找出的 bug 进行统一提交并安排修复测试。
1、自动化测试工作的持续改进及加强。
为了未来自动化脚本编写的普及,改变了自动化测试工程向软件开发工程复杂化、学习成本变大的发展趋势及想法,大刀阔斧的将现有的自动化框架源码进行重构:
A 脚本结构更简单清晰:页面模块、检查方法、测试数据、测试方法
B 框架封装涵盖内容更多更合理
C 解决 Win32Api 中上传处理、富文本内容处理等历史难题
D Jenkins 构建优化
E Android 自动化框架初步完善
2、安全测试的运用及提高
在年初的安全众测活动、安全防守中,WEB 安全知识、攻防手段、检查技巧都通过实践得到了提高,并得到 “冠军”。日常中也不断的通过访问 web 安全网站不断扩展自己的安全知识面。
对于 WEB 安全检查中的漏洞类型(XSS、CSRF、SQL 注入、CRLF 请求头拆分、上传文件路径漏洞、文件后门...)及攻击方式适用范围都有自己的心得和体会。
1、自动化测试工作的持续改进及加强。
今年年初针对不同机房出现有差异性的 BUG 情况,需要外网自动化脚本能够在联通、电信、香港代理都要运行,但自动化服务器是一台性能不是很好的虚拟 win10 机器。在避免改动框架情况下,采用了 Master-Slaver 的方式进行自动化测试框架的升级:原虚拟机依然作为自动化测试服务器(Master),新申请的物理小机作为自动化脚本运行机(Slaver)。这样保证了多个项目及多个代理的外网自动化脚本都能运行。
2、python 及其相关模块的灵活利用
自从发现 python 的模块超丰富的新大陆后,在工作中遇到一些棘手的情况时,都会使用 python 及其支持的模块来解决各类问题。
某项目一期需要进行后台上传场景图片的性能测试,而传统的 loadrunner 录制脚本都十分困难,因此采用 python 的开源的性能测试框架,进行改良后,编写模拟上传场景及创建场景的请求,结合 Linux 性能监控,为持续性能调优提供了验证手段。
Redis 缓存升级测试中,需要构造 Redis 的各种数据类型的工作新增、更新、删除…操作,这个同样通过 python 的 Redis 模块,采用多线程方案,编写覆盖 Redis 各种数据类型的常用请求,随机化 value 大小的脚本,帮助开发修改升级方案的 bug 及进行持续调优。
另外针对自动化及安全测试中常遇到的图片验证码情况,结合编写了公司应用的通用的验证码识别脚本。
3、新的性能测试工具的使用,完成某项目二期的性能测试工作。在 loadrunner 在录制脚本遇到障碍时,找到了 neoload 这个新的性能测试工具,经过边学边用,慢慢完成的性能脚本的编写及场景的监控及设计,完成了二期的性能测试工作。
1、手机 APP 测试的经验总结
这是第一次在手机 APP 上进行测试,在此过程中,逐渐了解了 IOS、Android 手机及其上应用的特性,这样测试过程中会关注这些内容:比如这两种系统的一些默认系统手势操作,异体屏带来的交互及视觉上的处理,手机端如何在信息展示简明及操作便利之间的均衡...
未来手机 APP 的比重将越来越多,这次 APP 测试过程中,得到了不少针对手机端 APP 测试宝贵的经验。
2、python、Flask 框架、各种相关的技术得到学习及提高
通过 “测试用例平台” 项目的实践,python 语言使用越来越熟练,flask 框架也越发熟悉。另外,SQLAlchemy 这个 ORM 模型在系统中各种场景灵活使用,大大减少了 sql 语句编写时间,日终、Websocket 也得到了运用。这些技术,为将来如果有新的工具要开发打下了基础。
在 “测试用例平台” 系统开发过程中,库表设计、后端框架、数据接口及业务处理对我而言是真正意义上的实践。怎样设计流程逻辑及满足当前要求,也能伸缩性的为将来可能的需求做变化,都是我在此过程中不断思考的。思考 - 设计 - 尝试 - 完善 - 实践,不断得一步步将我们的 “测试用例平台” 建立起来。
了解代码实现过程,在测试中,也能推测开发写代码有可能的处理方案,推断可能的 BUG。
3、性能测试框架、可重用脚本的整理
随着各种开源框架的熟悉及使用,性能测试已经基本摆脱收费工具(如 LR)的依赖。
目前已经总结了各种 Http 请求的脚本,结合优化后的 Locust 框架,配合编写的性能指标采集脚本、绘图工具,可以十分方便的完成测试环境上的各种性能测试。
4、各项系统升级测试
XSS、sql 注入拦截器测试:编写自动化脚本 + 大量的 POC 进行功能及性能测试,保证其上线
nginx AB 测试:针对增加的 nginx 自定义的指令,编写自动化脚本测试这些指令功能、与原有指令之间的权重分配是否正确
http2.0 测试:通过具体的页面,使用自动化脚本进行 http1.1 与 http2.0 页面加载资源渲染对比,确认 http2.0 的效果及找出了使用 nginx 部署时的一些配置问题,保证说了上线后的稳定。
1、帮助部门的管理,搭建了一个便于部门工作平台。主要有任务看板、部门日志、docker 监控
2、运营需要各种数据支持,今年从事大量的数据抓取工作,因此爬取技巧及套路逐渐熟悉,针对遇到各种抓取过程中的问题及解决方案进行总结。现在使用现有的抓取脚本稍作改动可以用于新的信息抓取任务。
2、容器技术、Go 语言今年也抽时间学习及实践:容器技术在测试环境维护、DOCKER 资源监控都得到了运用,而部门工具后端使用 Go 编写。
用例管理工具维护:
方便大家疫情期间的用例评审,增加用例评审功能,方便了大家在家办公中,也能很方便的进行评审问题记录会查找。
其他工具维护:
1 部门日志增加了按版本查看人员日志情况的功能
2 STF:云手机测试平台搭建,在疫情期间可以在家在测试环境中进行真实手机测试
3 接口压力测试平台:告别本地安装性能工具的不便,利用此平台可方便的在各个机器上按需进行超大压力的性能测试
帆软工作:
因为横向人员的原因,帆软报表由我进行维护,主要进行帆软上数据集及报表制作。不断的学习实践,帆软上的各种数据集、报表使用方法都已熟悉,数据分析方法也逐渐学习中。
2021 之后,测试技能类总结逐渐变少了,工作重心也发生了改变,所以最近 3 年的总结也不提了。。。
以上内容看上去很长,但这 10 年现在看实际很短...