AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

前端自动化测试实践 by 马逸清@七牛

发布者 test
发布于 1438748148618  浏览 8478 关键词 自动化测试, 框架, 前端 
分享到

第1页

七牛前端测试实践



第2页

马逸清



第3页

我们的代码

理想中



第4页

现实



第5页

代码越来越乱

一开始是没有测试的 动一动代码产生 bug 代码放久了,不敢重构



测试



第6页

早期尝试

selenium + phantom 模拟用户点点点,自动化端到端测试



第7页

工作量比较大,难以坚持



第8页

早期尝试

测试 基础函数 但是对于 DOM 有依赖的部分不好测试



第11页

隔离 DOM 注意力集中到 逻辑 部分

注入的方式 使依赖的处理更加方便



第12页

utils model 状态

view 状态



第13页

Utils



第14页

service



第15页

controller



第16页

controller



第17页

依赖不好处理情况

容易想到的是 mock module 另一种方式是用 stub 来处理依赖



第19页

stub 和 mock 的区别

stub 适合处理仅关注返回值的依赖 mock 关注依赖的行为验证,如无返回的依赖 关注行为验证的 stub 叫 spy



第20页

mock data



第22页

fixture

load html and json



第23页

目前用到的

+



+

or



karma-coverage + karma-fixture + karma-coffee



第24页

karma config



第25页

karma config



第26页

配置 gulp



第27页

后续

持续集成 覆盖率报告

mock data 的改进 UI 自动化测试



第28页

实际体会到的好处

找出没有察觉的 bug 加深对问题的理解 降低修改代码的心理负担



第29页

前端 MVC 框架展示和逻辑分离 Node 的发展产生了完善的工具 搭建测试环境更加容易了



第30页

这样就可以愉快的测试了么



第31页

迭代速度快 业务需求不稳定 人就那么些

理想和现实之间的平衡



第32页

实际情况比解决方案复杂

测试重要的部分 - 评估出错的风险 测试稳定的部分 - 分离模块 测试依赖少的部分 - 良好的设计 养成验证的习惯



第33页

Q&A

https://plus.google.com/+马逸清



支持文件格式:*.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。