本人有 11 年工作经验,干过开发和测试,擅长自动化测试和持续集成,开发过自动化测试框架(Python)和数据库运维工具(FastAPI),搭建过 CICD 流程(Jenkins),接触过存储、数通和数据库行业,现居重庆,以远程办公方式就职于瀚高基础软件。
计算机科学与技术
2008.9 ~ 2013.7
成都
学习了《数据结构》、《算法设计与分析》、《计算机⽹络》、《软件⼯程》、《操作系统原理》、《计算机组成原理》、《SQL Server数据库》、《C语⾔程序设计》等专业课程,并通过了 CET-4 考试。
C/C++ 开发
2013.7 ~ 2013.12
成都
学习了 Linux 基础知识和常⽤命令、Linux 下使⽤VI和GCC进⾏C程序开发和编译、SQL 语句和 Oracle 数据库的使⽤、⾯向对象知识和 C++ 语⾔、以及 git 等⼯具的使⽤,并对常见数据结构和算法进⾏了学习和练习,通过在这期间的学习和⼀些练习项⽬,打下了⽐较好的编程基础。
熟练使用 Python,开发过⾃动化测试框架(requests, selenium, paramiko, psycopg2)和数据库运维工具(FastAPI, SQLModel, Textual)。
熟悉 RobotFramework ⾃动化框架,使⽤此框架编写过大量自动化测试脚本,并使⽤ Python 扩展过此框架。
熟悉常见发行版 Linux,熟练使⽤ Linux 常⽤命令,能编写简单的 Shell 脚本。
熟悉 PostgreSQL 数据,特别是对备份恢复、流复制、高可用和编译打包方面有深入了解。
熟悉 Jenkins 和 Groovy 脚本,使⽤ Jenkins 搭建过⼀个完整的 CI 流程和多个提升效率的项⽬。
熟悉常见⽤例设计⽅法,如等价类划分、边界值分析、因果图法等。
熟悉路由器和交换机以及相关的⼆三层转发知识,熟悉 IXIA 等⽹络设备测试仪器。
熟悉 TCP/IP,会使⽤ WireShark 等抓包⼯具抓取和分析⽹络报⽂。
掌握了 C/C++ 语⾔的基本语法,熟悉 C/C++ 在 Linux 平台下的编译打包机制。
无障碍阅读工作所需的各种英文文档,如 PostgreSQL 官方文档、Python 官方文档等。
测试开发工程师
2019.09 ~ 至今
成都、重庆
1、使⽤ Python 语⾔重新设计并开发了公司的⾃动化测试框架(hibot),新框架相⽐⽼框架具有如下优势:
⽼框架只能执⾏ sql 语句,新框架不但能执⾏ sql 语句,还能执⾏ shell 命令,并且还能根据需要随时扩展新的功能。这样便⼤⼤提⾼了测试⽤例的可⾃动化率,也让⾃动化框架能适配更多公司的除数据库产品以外的其他产品。
⽼框架的测试脚本代码不可复⽤,新框架利⽤ Python 类继承特性,让测试脚本的代码可以复⽤,⼤⼤提⾼了测试脚本的开发效率和可维护性。
⽼框架需要放到每个测试环境上再执⾏,新框架只需放在任意⼀台机器上便可远程测试所有的测试环境,⼤⼤提⾼了使⽤的⽅便性。
⽼框架检查测试结果的⽅式是通过与事先保存的正确执⾏过程命令结果进⾏⽂本⽐对来判断,稳定性较差,新框架则直接在测试脚本中每个关键检查点进⾏即使关键数据的⽐对,⼤⼤提⾼了测试脚本的稳定性,避免⼤量的⾮产品bug导致的失败问题。
⽼框架的测试⽇志是纯⽂本,可读性较差,新框架测试⽇志则使⽤ html 格式,可读性更⾼。
2、使⽤ Jenkins 给公司搭建了⼀套包含冒烟、打包和回归测试的完整的 CI 流程(hiflow),具备如下优点:
符合公司研发内网使⽤⼯具链的实际情况,通过 GitLab 创建 MR 触发冒烟测试、禅道创建版本触发打包、禅道创建测试单触发回归测试等⽅式⾃动触发 CI 各关键流程。
在打包环节,通过深⼊调研和尝试,将原有需要适配⼏⼗种 CPU + 操作系统的组合的打包⽅式最终缩减到只需每种 CPU 架构打一个包即可适用多种组合,⼤⼤减少了打包的⼯作量。
在回归测试环节使⽤新开发的⾃动化测试框架,并将测试环境的部署配置环节完全⾃动化,⼀次性对公司产品所需适配的所有平台进⾏⾃动化测试,极⼤减少了原有每个测试⼈员分⼯进⾏测试的⼯作量,也极⼤了提升了测试的效率。
本流程申请了专利并成功获得授权:《一种多管理系统集成方法及计算机可读存储介质》,专利号 CN202110881164.X。
3、开发了一个基于 BenchmarkSQL 的界面化(PySide)的数据库性能测试工具(hiperf),使用该工具进行性能测试可以减少很多繁琐的操作,为性能测试工作提高了效率。
4、参与公司运维管理平台(PGuardian)的开发,负责后端和终端界面的开发,使用语言 Python,使用框架 FastAPI, SQLModel, Textual。
自动化测试工程师
2018.12 ~ 2019.05
成都
参与了共计7个项⽬的多轮⾃动化测试,分析Fail脚本500+,提交了bug约20个,修订⾃动化脚本问题30+、编写⾃动化脚本50+,移植⾃动化脚本60+。
自动化测试工程师
2014.08 ~ 2018.11
成都
1、负责华为 OceanStor 9000 产品的⾃动化测试,维护⾃动化框架和⾃动化⽤例,在此期间主要⼯作成果如下:
通过测试环境统⼀管理、执⾏策略优化、⽤例解耦优化等措施,把执⾏周期从 5 天缩短到 1 天,获得公司效率提升奖和个⼈红事件奖。
通过制定失败⾃动化⽤例分析闭环规范、梳理预置条件、⾃动化⽤例整改等措施,把 12000+ ⾃动化⽤例的成功率从 70% 多提升到 98%,极⼤的提⾼了⾃动化⽤例的质量,整个团队获得了公司质量优秀奖。
通过 Jenkins + Python + paramiko、requests、selenium、PySTAF 等,实现测试环境准备⾃动化脚本,把⾃动化⼯⼚上百套测试环境的准备时间从 1~2 天缩短到 2~4 ⼩时。
研发工程师
2014.04 ~ 2014.08
成都
主要负责公司的备份软件的License模块开发(C++)和外包⼿机客户端(Android)的对接验收⼯作,同时参与公司的备份软件的客户现场实施和技术⽀持。