ID:300618

PepsiCoffee

测试架构师

  • 公司信息:
  • 京东
  • 工作经验:
  • 14年
  • 兼职日薪:
  • 1000元/8小时
  • 兼职时间:
  • 周六
  • 周日
  • 可工作日远程
  • 所在区域:
  • 北京
  • 通州

技术能力

1. 开发能力:
A. 熟练使用JAVA、Python等面向对象语言;
B. 掌握Java开发的基本框架,如:SSM、spring boot、spring cloud等
C. 熟悉各种WEB前端技术,包括HTML/CSS/javascript等;
D. 熟悉Linux命令,能够独立部署相关测试环境,掌握Shell相关编程知识;
E. 了解jvm常用特性(垃圾收集器与内存分配策略等)与虚拟机性能监控与故障处理工具;
2. 其他能力:
a) 能够熟练使用和配置Selenium、Appnium、Loadrunner、Jmeter、Jekins、Maven等相关工具;
b) 具备接口自动化和UI自动化测试框架和平台设计经验;
c) 具备性能测试方案设计的能力及基本调优经验;
d) 熟悉软件测试的方法、流程和规范以及软件工程相关知识;
e) 有互联网持续集成和持续交付相关经验;
f) 有流量回放相关开发经验
3. 综合能力:
☉ 具有一定的组织领导能力,在以往的工作中带领团队完成了多个大型项目的验收和交付;
☉ 学习能力强,能承受一定工作压力,富有团队精神,有责任心;
☉ 有良好的沟通能力和文档撰写能力;
主要经验
a. 有SSM项目开发经验
b. 有JUNIT白盒测试经验和TestNG单元测试相关经验;
c. 有django web框架开发接口测试平台相关经验;
d. 有阿里开源测试框架macaca二次开发相关经验;
e. 有loaderunner和jmeter相关性能工具使用压测经验;
f. 有Selenium和Appnium等自动化测试框架设计经验;
g. 有质量管理平台和测试工具开发相关经验;
h. 熟悉互联网敏捷流程,并有互联网产品开发、测试相关经验;
i. 能够独立自主的处理大、中型项目经验,能够针对产品规划整体方案和模型,并具备对产品问题进行深度剖析和定位的能力;

项目经验

*项目名称:流量回放平台
背景:互联网研发交付节奏短,技术演进,回归测试容易成为瓶颈;跨部门/业务调用,只mock桩无法独善其身;项目交接,刚交接完就上线,无法准确评估影响范围
关键步骤:
1) 分析实际业务,整合http(diffy)和jvm sandbox(repeater)两套技术实现,形成一套流量回放解决方案.
2) 根据项目类型、接口读写性质以及测试数据情况等自动分发.
3) 借助repeater原生能力实现下游mock,把一次请求的入参、出参、下游调用等序列化并进行存储.默认将httpservlet的拦截作为入口调用,录制入参和返回值.
4) 程序执行过程中对某下游方法的调用,主要是从入口调用进行区别,回放时该调用的返回值可被mock.回放时不会发生真实调用,利用sandbox流量干预能力,根据mockstrategy搜索匹配,将录制时的返回值直接返回.
成果:缩短回归测试时间,提高交付能力;专项测试节约1~6人天/次;提升回归测试代码覆盖率40%以上.

*项目名称:Android app应用覆盖率收集组件开发
背景:为了进一步提升精准测试水平,打造测试覆盖率闭环,满足app持续集成的质量要求,所以针对app应用进行测试覆盖率收集组件的开发工作。
关键步骤:
1) 通过在应用持续集成流水线构建时提前给应用插桩(涉及覆盖率收集插桩和覆盖率信息上报插桩)达到应用APP在测试完成后能够自动上报并收集测试覆盖率的目的
2) 针对gradle插件tansform API进行了重构完成覆盖率信息上报插件的开发,插件内部使用ASM字节码增强技术完成对覆盖率信息上报的插桩处理;
3) 利用springboot开发插桩处理微服务组件,通过调用jacoco API和okhttp API完成覆盖率数据生成和上报等处理操作,作为服务提供者供覆盖率信息上报插件调用;
4) 利用springboot开发文件处理微服务组件,完成对手机应用上报的覆盖率数据的接收、合并、持久化、上传等处理操作;
成果:该服务组件上线以来,在应用前端的敏捷测试过程发挥了极大作用,帮助测试人员提升了APP的测试覆盖率,app应用的线上问题大幅度下降。

*项目名称:java服务测试覆盖率组件开发
背景:为了提升团队精准测试水平,分析每次迭代未覆盖部分的代码,反推在前期测试设计是否充分,以及检测程序中的无用代码,核查代码设计中是否存在思维混乱点,进而提升代码质量,所以对jacoco基于jenkins持续构建插件进行了二次开发.
关键步骤:
1) 通过jacoco dump指令获取测试完成后的 exec 文件(二进制文件,里面有探针的覆盖执行信息);
2) 获取基线提交与被测提交之间的差异代码:基于AST语法树进行基线版本和测试版本代码对比,获取增量差异代码diff文件.
3) 将差异代码进行解析,切割为更小的颗粒度,选择方法作为最小纬度;
4) 改造 JaCoCo methodAnalyzer,使它仅支持对差异代码生成覆盖率报告;
成果:该工具上线以来,在版本迭代敏捷交付的过程中已经协助测试人员发现了一些测试设计上存在的问题,有效的提升了增量代码的覆盖率,对交付产品的质量提升起到了很好的促进作用.

*项目名称:接口测试平台
背景:为了降低接口测试门槛,提升测试质量,采用django web框架,采用分层设计,结合Python单元测试框架unittest和macaca ui测试框架进行开发,主要功能实现了对http协议接口和app应用ui测试脚本在平台进行维护以及定时执行;主要功能包括测试脚本管理、测试套件管理、定时任务管理等
关键步骤:
1) 分析接口测试用例构成,抽象用例结构(接口用例构成:运行上下文+配置+用例主体(header、url、vars、parameter)+响应校验+相应提取等;ui用例构成:运行上下文+元素集+断言等)和用例集结构,确定数据存储(yaml)方式.
2) 设计用例分层结构(基本的api,测试场景(由api构建),测试用例集),便于用例复用和灵活组装.
3) 用例执行实现(接口:python request库;ui:macaca和webdriver)以及执行方式实现(异步(ajax+Django-celery)和同步).
4) 测试过程中需要的动态数据通过相关服务刷新到redis进行存储供消费者使用.
5) 测试报告展现实现主要通过视图层view中进行相关逻辑处理后在相应模版层template中展示.

案例展示

  • 流量回放平台

    流量回放平台

    1) 分析实际业务,整合http(diffy)和jvm sandbox(repeater)两套技术实现,形成一套流量回放解决方案. 2) 根据项目类型、接口读写性质以及测试数据情况等自动分发. 3) 借助repeater原生能力实现下游mock,把一次请求的入参、

  • java服务测试覆盖率收集组件开发

    java服务测试覆盖率收集组件开发

    1) 通过jacoco dump指令获取测试完成后的 exec 文件(二进制文件,里面有探针的覆盖执行信息); 2) 获取基线提交与被测提交之间的差异代码:基于AST语法树进行基线版本和测试版本代码对比,获取增量差异代码diff文件. 3) 将差异代码进行解析,切割为

  • 接口测试平台

    接口测试平台

    1) 分析接口测试用例构成,抽象用例结构(接口用例构成:运行上下文+配置+用例主体(header、url、vars、parameter)+响应校验+相应提取等;ui用例构成:运行上下文+元素集+断言等)和用例集结构,确定数据存储(yaml)方式. 2) 设计用例分层结构(基本的

查看案例列表(含更多 0 个案例)

相似人才推荐

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    0
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服