写点什么

软件测试常见技术

用户头像
刘帅强
关注
发布于: 46 分钟前

测试左移:研发阶段的质量保证测试:测试阶段的测试流程测试右移:发布后的质量监控

App 交付策略

  • 内部交付

  • Jenkins 自动打包

  • 提供内部网站下载入口

  • 供整个项目团队手工验证

  • 灰度交付

  • 使用 fir.im bugly testfight 服务

  • 正式发布

  • Android: 渠道包打包推送

  • IOS: 上传到 app store

常见后端发布

  • 代码编译和打包构建

  • 后端打包 mvn rpm doctor

  • 移动端打包 gradle cocospod

  • 环境构建

  • doctor 等容器技术

  • Jenkins 等自动构建和部署平台

  • 测试推送

  • 后端升级自动触发接口测试

  • 测试结果自动推送到运维平台决策

测试准入机制

  • 建立合适的准入机制

  • 自动对研发,测试分支进行打包

  • 自动对相关分支进行测试

  • 对研发分支进行自动化冒烟

  • 对测试分支建立完善的测试流程

  • 打回 or 接受

  • 建立合适的版本管理机制

  • 版本号的使用规范 三位+四位

  • 根据版本号和 Commit 定位和对比代码

  • 对每个版本的变更自动采集提交记录

基本的测试 checklist 和手段

  • 功能测试:业务测试,回归测试

  • 非公能测试:性能测试,专项测试

  • 测试左移:代码分析,代码审计

  • 测试右移:质量监控


    ## 合理的测试安排

  • 新功能测试(新业务,新需求)

  • 老功能回归测试(老功能新需求)

  • 小版本测试(功能点搞定)

  • 大版本测试(大功能改动或者新增)

  • 回归测试与新功能每次都要执行

  • 专项测试可以每个大版本可测试一次

业务测试

  • 价值

  • 保证当前版本需求实现的正确性

  • 保证产品业务长期的功能正确

  • 保证交互和产品体验

  • 验证方式

  • 目前人工测试审查为主

  • 自动化验证辅助

测试资产管理

  • 测试用例维护与 bug 管理

  • 管理系统:Jira、Redmine、TestLink、禅道

  • 特性支持:bug、项目、用例、成员关联

  • 测试知识管理体系

  • 环境管理

  • 数据管理

  • 业务知识

常见自动化测试类型

  • 流程自动化

  • 打包自动化 Bash Jenkins

  • 环境自动化 Bash Jenkins Docker

  • 测试自动化

  • UI 测试自动化 Selenium Appium

  • 接口测试自动化 RestAssured SoapUI HttpClient

  • 专项测试自动化 LeakCanary BlockCanary Appetizer Proxy

多客户端 UI 自动化

UI 自动化分类

  • Web 自动化:Selenium

  • App 自动化:Appium

  • GUI 自动化:Windows , Mac

  • 其他自动化:

  • 原有技术延伸:微信小程序,headless 浏览器

  • 更多平台:智能设备、机器人、工业 app

自动化的冒烟测试

  • monkey 健壮性测试

  • 自动遍历+专项测试

  • LcakCanary 自动化监测内存泄漏

  • Buggly 等监测崩溃

  • blockCanary 监测卡顿

  • 性能基线

  • 耗电量基线

  • debug 与 test 版本的自动化冒烟测试

UI 自动化测试的瓶颈

  • 技术成本高:

  • 人力成本高:优秀测试开发工程师难招

  • 技术门槛高:80%的自动化测试工程师在自动化能力上都不及格

  • 维护成本高

  • 复用率不高:UI 和业务流程变更是最主要变更

  • 稳定性不足:容易干扰,执行慢

合理的使用 UI 自动化

  • 策略改进方案

  • 使用分层测试策略,控制 UI 自动化测试规模

  • 少数核心用例交给自动化测试

  • 大部分的基础回归测试交给自动遍历

  • 新功能测试交给人工测试

  • 技术改进方案

  • 良好的维护模型:PageObject 或者其他更简单的封装

  • 更好的框架支持:增加 Watch, 智能等待,失败重试等机制

自动化遍历测试

  • 通过自动化遍历 app 中业务路径尝试发现问题的方法

  • 是为了弥补现有自动化手段不足

  • UI 自动化维护成本问题

  • 原有遍历工具可控性差 比如 monkey

  • 我想要看的功能它就是不点

  • 经常点到外部 app

  • 经常点击到注销和退出

  • 不支持复杂业务

常见遍历工具与技术

  • google android 原生 monkey

  • 百度 smart monkey

  • 腾讯 newmonkey

自动遍历的价值

  • 降低自动化维护成本,可替代 80%的自动化测试

  • 实现新功能的探索

  • 实现老功能的回归

  • 用途:多设备兼容性测试、自动化专项测试

用户头像

刘帅强

关注

还未添加个人签名 2019.05.14 加入

测试小白 短期计划为:构建 测试开发的全貌,而非死磕某个知识点。

评论

发布
暂无评论
软件测试常见技术