移动互联网测试技术体系

01

移动测试技术体系

移动测试技术体系

02 shell

bash基础

bash应用

03 Android自动化

Appium环境安装与架构介绍

Android自动化用例编写

Android WebView测试与Toast识别

04 iOS自动化

05 自动遍历与兼容性测试

06 接口测试

接口测试入门与http/https代理抓包

接口测试用例编写与断言

接口基础(补充版)

07 接口测试进阶

接口测试用例数据驱动与高级断言

08 Web自动化测试

Selenium入门与用例编写

Selenium进阶与PageObject应用

09 接口压力测试

10 专项测试

11 安全测试

12 DevOps与持续交付上

13 DevOps与持续交付下

14 质量监控和审计平台

15 答疑和总结

其他公开课:

接口测试—Postman

移动互联网服务架构

服务端测试:大数据、数据分析等

项目实施的关键过程

需求、设计、研发(单元测试、代码审计、冒烟、自测)、测试(用户端、服务端)、交付

从左到右发布

从右到左反馈

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

一、研发阶段的质量保证

1.研发工程师的交付物

设计文档

需求文档、设计文档、接口文档、Confluence Wiki

代码管理

git,svn
Java Python PHP

数据

数据库:SQL MySql PG
索引文件

可部署的产品

构建的二进制包、联调环境

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

代码评审 code review

价值点

代码规范约束,培养良好的代码习惯和追求
深入了解业务,知识和规范的传承
沟通设计思路并改进,互相评审防止烂代码烂设计进入

行业观点和落地

行业经验普遍认为代码评审是最有效的质量保证手段
借助标准的代码管理工具即可.比如gitlab的pr机制
整个过程测试工程师参与度低

(版本直接的diff)

代码审计

综合性的代码分析平台

sonar 支持自定义规则, 较多的公司使用

360火线

IDE辅助功能

xcode、Android studio
编辑器报警

阿里巴巴java开发手册 ide插件支持

独立的静态分析工具

findbugs scan-build
pmd androidlint

阿里巴巴java开发手册 pmd插件

代码审计关注的质量指标

对代码质量进⾏综合性的评估和审查,集中式的代码质量管理平台
代码坏味道
代码规范
技术债评估

bug和漏洞
代码重复度
 
单测与集成
测试用例数量

覆盖率

代码问题示例:

bug

分支同名

代码坏味道

有2个result,重复赋值,带来性能问题;只有if,没有else,逻辑问题。

安全风险

cookie

单元测试:条数,覆盖率,新增代码的覆盖

价值

最底层的质量保护网

用于验证修改的影响范围

责任

单元测试是研发同学的责任和义务
建立持续集成快速反馈的机制
单测的可测性是决定单测成败的关键

覆盖度评估很关键

几乎所有的开源项目都有单测用例

研发自测

研发自测

防止低质量的产品进⼊下游浪费成本
保证高质量交付有助于缩短项目周期
自查和自测试是负责任的态度,也是优秀的研发工程师的习惯

产品自测

评估产品流程和UI设计是否符合预期

自测行为的监督与推动参照后面的监控体系

自动化冒烟测试

debug版本的冒烟

自动打debug包
基于debug包的自动化测专项试
    monkey健壮性测试
    自动遍历+专项测试
       LeakCanary自动检测内存泄漏
       Bugly等检测崩溃
       BlockCanary 检测卡顿

test版本的冒烟

少量的自动化冒烟用例
自动遍历+功能探索

New Monkey:稳定性测试

Magnifier:卡顿监控

二、测试阶段的测试流程

app交付策略

内部交付

Jenkins自动打包
提供内部网站下载入口,供整个项目团队手工验证

公测

使用fir.im bugly testflight服务

正式发布

打包渠道包推送到各市场

上传到app store

建立测试准入机制

建立适合的自动打包机制

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

自动对测试分支进行测试
对研发分支进行自动化冒烟确保研发分支无重大问题
对测试分支建立完善的测试流程
打回 or 接受

建立合适的版本管理机制

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

根据版本号定位代码

常见后端发布机制

代码编译和发布包构建

后端打包mvn

移动端打包 gradle cocospod

二进制部署打包 rpm docker

环境构建

docker等容器技术
Jenkins等自动构建和部署平台

测试推送

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

基本的测试checklist和手段

业务测试 手工测试 、接口测试(脚本)
回归测试 重要 服务端-接口 、用户端-自动化(UI)、自动遍历
专项测试 占比不高
质量监控

合理的测试安排

新功能测试(新业务、新需求)
老功能回归测试(老功能和老需求)
小版本测试(功能点搞定)

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

回归与新功能测试每次都要执行
专项测试可以每个大版本测试一次

业务测试

价值

保证当前版本需求实现的正确
保证产品业务长期的功能正确
保证交互和产品体验

验证方式

目前手工测试审查为主
自动化验证
数据分析

手工测试相关管理

测试用例维护与bug管理

管理系统 Jira Redmine BugFree
bug等级
项目等级
用例等级

测试用例细化 Jira Redmine

场景梳理与业务建模 思维导图 freemind xmind

测试知识管理体系

环境管理
数据管理
业务知识

外部测试资源

内测

项目组内资源

项目组外关公 比如华为手机的测试模式

公测

灰度测试:根据特征抽样一部分,或者天使用户群
众测:第三方众测服务 ⼀些测试社区
众包:第三方的众包平台 utest
beta版本测试

自动化测试分类

流程自动化(研发-测试-交付,让整个流程更顺畅)

打包自动化 Bash Jenkins
环境自动化 Bash Jenkins Docker

测试自动化(加速业务测试)

UI测试自动化 Selenium Appium
接口测试自动化 RestAssured SoapUI HttpClient
专项测试自动化 LeakCanary BlockCanary Appetizer Proxy

Android自动化测试

UI Automator 验收

Appium Calabash

iOS自动化测试

重点:

XCTest(KIF)

XCUITest

自动化测试框架选择

推荐Appium

跨语音
跨平台
底层多引擎可切换
生态丰富,社区强大

iOS: KIF WDA XCTest

Android: Robotium Uiautomator1/2 更底层的框架

calabash也是同样优秀的方案

阿里开源的macaca性能更好

UI自动化测试的瓶颈

技术成本高:

人力成本高:测试开发工程师难招
技术门槛高:
技术选型可能走错,自动化测试理论和实践扎实的人太少
复用率不高:UI和业务流程变更是最主要变更
稳定性不足:容易被干扰,执行慢

常见行业错误观点

UI自动化测试无用论 [X]
UI自动化测试只能模拟人工 [X]

合理的使用UI自动化

策略改进方案

使用分层测试策略,结合接口测试与单元测试,控制UI自动化测试规模
大部分的基础回归测试交个自动遍历
少数核心用例交给自动化测试
新功能测试交给人工测试与自动探索性测试

技术改进方案

良好的维护模型:PageObject或者其他更简单的封装
更好的框架支持:增加Watch,智能等待,失败重试等机制

自动遍历测试

通过自动遍历app中业务路径尝试发现问题的方法
是为了弥补现有自动动化手段的不足

UI自动化维护成本问题
原有遍历工具可控性差 比如monkey(做压力测试)

我想要看的功能它就是不点
经常点到外部的app
经常点击到注销和退出
不支持复杂业务

常见遍历工具与技术

自动遍历常见工具

google android原生monkey
百度smartmonkey
腾讯newmonkey
vigossjjj smart_monkey

seveniruby appcrawler

这方面的理论和工具正在快速的完善

❖ ⾃动遍历的技术分类
❖ 基于底层机制。基本的命令或者api进⾏事件注⼊ 改造monkey
❖ 基于⾃动化框架。uiautomator xctest uiautomation appium macaca
❖ 基于图像识别

发布后的质量监控

发布后的质量监控

全流程监

研发自测

【霍克沃兹】测试开发工程相关推荐

  1. 霍格沃兹测试开发学社技术学习笔记之——Python基础笔记

    # 阶段十一-Python语言和测试框架(1) ## 1.pycharm环境变量配置和安装 ## 2.基础数据类型 数字 字符串 ## 3.运算符 字符串算数运算符 比较运算符 赋值运算符 逻辑运算符 ...

  2. 参加霍格沃兹测试开发学社举办的火焰杯软件测试开发大赛是一种什么体验?

    摊牌了,不装了,我是广子. 广子嘛,别整那么长的软文,挺浪费时间的.咱们就说说这次的软件测试大赛吧. 火焰杯比赛已经成功举办两届,累计参赛院校145所,参与比赛的学生达到4000+人,覆盖了全国25个 ...

  3. 获得火焰杯软件测试比赛8000元奖金,感谢霍格沃兹测试开发学社

    本文是获奖学员主动分享,表示感谢霍格沃兹测试开发学社,收到她的反馈我们也由衷的开心.所以也分享给大家,目前无论是应届生.在校生还是从业人员,都可以加入第三届火焰杯比赛,赢取属于专属于自己的荣耀. 我是 ...

  4. 在霍格沃兹测试开发学社学习是种怎样的体验?

    霍格沃兹我怎么了解到的 我是河北某二本院校软工专业的学生,大三开始学校来了很多宣讲和实训的公司,都是为我们以后的职业发展做参考.学校有软件测试课程,有一次老师无意提到了霍格沃兹测试开发学社举办的高校& ...

  5. 霍格沃兹测试开发学社技术学习笔记之pytest的使用

    1. 简介 pytest是一个成熟的全功能python测试框架 测试用例的skip和xfail,自动失败重试等处理 能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium ...

  6. 【01】霍格沃兹测试开发学社技术学习笔记之测试开发体系介绍

    互联网测试技术体系 经典技术架构 到一家公司,首先需要了解业务线的技术架构,不同的技术架构采用的测试方法不同. 经典业务架构 业务架构强调的是对业务的理解. 技术架构的质量保证 用户体验层:UI,UE ...

  7. 拿到8000元的火焰杯比赛奖金,感谢霍格沃兹测试开发学社

    我是**元,就读于华东师范大学软件工程学院,现在是研究生三年级.在第二届火焰杯软件测试高校就业选拔赛决赛中荣获二等奖,且获得现金奖励8000元O(∩_∩)O~ 我是在一次偶然的机会中了解到火焰杯软件测 ...

  8. 霍格沃兹测试开发进阶班16期

    内容不重要,[看我名字]你明白我的意思最重要! 先抛出我的结论: 之所以很多人会认为自动化测试很厉害,原因在于国内IT行业对于coding的崇拜,更是源于国内测试人员自身coding能力普遍不足导致的 ...

  9. 霍格沃兹全国测试开发火焰杯专业人才大赛

    image1920×600 122 KB 工业和信息化部在 "十四五" 软件和信息技术服务业发展规划中明确提到,推广软件质量相关国家标准,推进特色化示范性软件学院建设和软件人才培养 ...

最新文章

  1. 推荐 7 个 Vue2、Vue3 源码解密分析的开源项目
  2. 前端学习(1263):post方式的参数传递
  3. codeforces 339A-C语言解题报告
  4. mac下配置android sdk环境 安装eclipse
  5. Hive常见问题汇总
  6. 编程中的Eric常用的编程单词的缩写
  7. Oracle 11g服务器安装详细步骤——图文教程
  8. testbench文件显示波形_十大基本功之testbench
  9. dirent struct_struct dirent中d_name长度问题
  10. 易语言解压服务器中压缩包,易语言查看RAR文件_包括解压方法_精易论坛
  11. walking机器人入门教程-单点导航
  12. 弯道超车:容器技术究竟为云计算带来了什么?
  13. 【数据说第二期】联盟第一人詹姆斯四个时期大PK
  14. 云渲染那个好?云渲染测评终极章。市面上在的都在了!
  15. C语言笔记——题目“股神”
  16. 后台cs代码控制html控件,在asp.net中*.aspx.cs肿么用后台代码编写前台的事件?
  17. RTX3070+windows11cuda配置教程
  18. matlab分析总谐波失真THD,Matlab电气仿真技术在电力电子教学改革中的应用_中职教育...
  19. python 邮件解析_Python解析邮件
  20. Unix时间与DateTime转化

热门文章

  1. c语言中英语部分,C语言部分函数(国外英语资料).doc
  2. FP-Growth算法详解
  3. Qualcomm NPU 高通神经网络处理芯片
  4. 先电iaaS云计算基础服务平台部署
  5. java 局域网文件拷贝文件_局域网使用Java进行文件传输
  6. proteus中 基于STC89C51的ADC0809模数转换仿真
  7. 植物大战僵尸java 7723_植物大战僵尸BT版
  8. 【金猿产品展】Smartbi一站式大数据分析平台——更聪明的大数据分析软件
  9. 关于Vue在面试中常常被提到的几点(持续更新……)
  10. 电视hdr测试软件,4K电视HDR尽量选择yuv,效果最好,有效解决HDR下画面发白!