1移动测试流程和技术体系

蹲街弑〆低调 提交于 2019-11-29 18:49:04

1. 测试行业的生存挑战:

  • XP Scrum CI CD DevOps的流行加大了测试压力
  • 原有质量保证体系从理论到技术思想已经全面落伍,缺乏工程化体系建设
  • 互联网发展快,导致测试工程师跟不上发展速度
  • 现有的知识体系缺乏完整的梳理和总结,导致新人学习困难且不成体系
  • 网络和培训结构充斥着过时、落伍的知识体系
  • 研发工程师也在进入质量保证和测试领域,研发主导就更不会招聘技术落后的测试工程师
  • 部分测试服务公司鼓吹独立测试团队无存在的必要

2 .移动互联网服务架构


用户通过客户端/小程序/H5发起各种各样的网络请求发送给服务端。API网关通过分流实现流量均衡到达后段的服务集群
BI:大数据分析

3. 项目实施的关键过程


需求:项目团队对需求进行沟通、评审
设计:开发人员制定设计方案,并进行评审
研发:开发人员实现需求,并通过单元测试、代码审计、冒烟测试(手工+自动化)交付给测试人员
测试:服务端测试(接口测试、性能测试、安全测试)、客户端测试(UI验收、功能测试、性能测试、兼容性测试、安全测试)完成,交付产品
敏捷:需求->研发->测试。偏需求管理的实践
持续集成:研发->测试,自动化构建,自动化测试,不断进行迭代
DevOps+持续交付:研发->测试->交付。
质量监控:交付->测试。测试可以通过对线上产品已有数据的收集,实现质量监控
业务监控:交付->研发。研发用来监控一些业务的成功率及业务的基础数据,偏自身业务
运营统计:交付->需求。交付反馈到产品经历,如友盟,SDK

4. 质量保证工作实施的三大阶段

4.1 研发阶段的质量保证

4.1.1 研发工程师的交付物

*    设计文档:需求文档、设计文档、接口文档
*    代码:Java、python
*    数据:SQL Mysql PG索引文件
*    可部署的产品:构建的二进制包、联调环境

4.1.2 研发阶段常见的质量保证手段

4.1.2.1 代码评审(code review)
  • 定义:指对计算机源码系统化的审查、常用软件同行评审的方式进行,其目的是在找出及修正在软件开发初期未发现的错误,提升软件质量及开发者的技术。代码审查常以不同的形式进行,例如结对编程、非正式的看过整个代码,或是正式的软件检查。
  • 价值点
    * 代码规划约束,培养良好的代码习惯和追求
    * 深入了解业务,实现知识和规划的传承
    * 沟通设计思路并改进,互相评审防止代码烂设计进入
  • 行业观点和落地
    * 行业经验普遍认为代码评审是最有效的质量保证手段
    * 借助标准的代码管理工具即可,比如gitlab的pr机制
    * 整个过程测试工程师参与度低

4.1.2.2 代码审计

  • 定义:是一种以发现程序错误、安全漏洞和违反程序规范为目标的源代码分析。是防御性编范式的一部分。该范式的目标是在程序发布前减少错误。

4.1.2.3 单元测试

  • 定义:是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法。

4.1.2.3 自动化冒烟

4.1.2.4 研发自测

4.2 测试阶段的质量保证

4.3 发布后的质量监控

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!