面向测试的前端知识

65
面向测试的前端知识 云谦 ([email protected]) http://www.chencheng.org / 11年3月4日星期五

Transcript of 面向测试的前端知识

Page 1: 面向测试的前端知识

面向测试的前端知识云谦 ([email protected])http://www.chencheng.org/

11年3月4日星期五

Page 2: 面向测试的前端知识

浏览器原理

http://www.cn-cuckoo.com/2011/02/18/how-broswers-work-2257.html

从服务端接收到 HTML

1

11年3月4日星期五

Page 3: 面向测试的前端知识

浏览器原理

http://www.cn-cuckoo.com/2011/02/18/how-broswers-work-2257.html

从服务端接收到 HTML

1解析

HTML构建DOM树

2

11年3月4日星期五

Page 4: 面向测试的前端知识

浏览器原理

http://www.cn-cuckoo.com/2011/02/18/how-broswers-work-2257.html

从服务端接收到 HTML

1解析

HTML构建DOM树

2解析CSS 构建渲染树

3

11年3月4日星期五

Page 5: 面向测试的前端知识

浏览器原理

http://www.cn-cuckoo.com/2011/02/18/how-broswers-work-2257.html

从服务端接收到 HTML

1解析

HTML构建DOM树

2解析CSS 构建渲染树

3

为渲染树生成布局

4

11年3月4日星期五

Page 6: 面向测试的前端知识

浏览器原理

http://www.cn-cuckoo.com/2011/02/18/how-broswers-work-2257.html

从服务端接收到 HTML

1解析

HTML构建DOM树

2解析CSS 构建渲染树

3

为渲染树生成布局

4

绘制渲染树

5

11年3月4日星期五

Page 7: 面向测试的前端知识

浏览器原理

http://www.cn-cuckoo.com/2011/02/18/how-broswers-work-2257.html

从服务端接收到 HTML

1解析

HTML构建DOM树

2解析CSS 构建渲染树

3

为渲染树生成布局

4

绘制渲染树

5

遇到 JS 时调用 JS 引擎解析

2.1

11年3月4日星期五

Page 8: 面向测试的前端知识

HTML, CSS, JavaScript

http://www.alistapart.com/articles/understandingprogressiveenhancement/

11年3月4日星期五

Page 9: 面向测试的前端知识

HTML, CSS, JavaScript

http://www.alistapart.com/articles/understandingprogressiveenhancement/

11年3月4日星期五

Page 10: 面向测试的前端知识

11年3月4日星期五

Page 11: 面向测试的前端知识

11年3月4日星期五

Page 12: 面向测试的前端知识

HTML, CSS, JavaScript

11年3月4日星期五

Page 13: 面向测试的前端知识

#content div.box { position: absolute; color: red;}

11年3月4日星期五

Page 14: 面向测试的前端知识

#content div.box { position: absolute; color: red;}

11年3月4日星期五

Page 15: 面向测试的前端知识

#content div.box { position: absolute; color: red;}

11年3月4日星期五

Page 16: 面向测试的前端知识

#content div.box { position: absolute; color: red;}

11年3月4日星期五

Page 17: 面向测试的前端知识

#content div.box { position: absolute; color: red;}

11年3月4日星期五

Page 18: 面向测试的前端知识

声明

• 盒模型• 布局• 颜色、背景• 排版• 其它

(宽高、内外边距、边框、圆角等)

(显示隐藏、绝对相对定位、浮动、溢出控制等)

(文字大小、行高、文本对齐等)

(鼠标手势、表格控制等)

11年3月4日星期五

Page 19: 面向测试的前端知识

引入

<!-- 方法1 --><link rel=”stylesheet” href=”” />

<!-- 方法2 --><style></style>

11年3月4日星期五

Page 20: 面向测试的前端知识

渲染引擎解析中...

11年3月4日星期五

Page 21: 面向测试的前端知识

11年3月4日星期五

Page 22: 面向测试的前端知识

11年3月4日星期五

Page 23: 面向测试的前端知识

11年3月4日星期五

Page 24: 面向测试的前端知识

position: fixed

11年3月4日星期五

Page 25: 面向测试的前端知识

http://blog-imgs-42-origin.fc2.com/s/h/o/shopdd/dora_css3.html

11年3月4日星期五

Page 26: 面向测试的前端知识

兼容型 Bug

11年3月4日星期五

Page 27: 面向测试的前端知识

11年3月4日星期五

Page 28: 面向测试的前端知识

兼容型 Bug

11年3月4日星期五

Page 29: 面向测试的前端知识

兼容型 Bug

• 表现• 仅在少数几个浏览器上出问题

11年3月4日星期五

Page 30: 面向测试的前端知识

兼容型 Bug

• 表现• 仅在少数几个浏览器上出问题• 原因• 浏览器解析不一致• 前端不细心• 前端太过自信

11年3月4日星期五

Page 31: 面向测试的前端知识

兼容型 Bug

• 表现• 仅在少数几个浏览器上出问题• 原因• 浏览器解析不一致• 前端不细心• 前端太过自信• 解决• 加强前端素质建设

11年3月4日星期五

Page 32: 面向测试的前端知识

11年3月4日星期五

Page 33: 面向测试的前端知识

业务型 Bug

11年3月4日星期五

Page 34: 面向测试的前端知识

业务型 Bug

• 表现• 在所有浏览器下都有问题

11年3月4日星期五

Page 35: 面向测试的前端知识

业务型 Bug

• 表现• 在所有浏览器下都有问题• 原因• 前端对业务不熟悉

11年3月4日星期五

Page 36: 面向测试的前端知识

业务型 Bug

• 表现• 在所有浏览器下都有问题• 原因• 前端对业务不熟悉• 解决• 测试帮助前端熟悉业务• 能直观地测试到所有业务可能性

11年3月4日星期五

Page 37: 面向测试的前端知识

11年3月4日星期五

Page 38: 面向测试的前端知识

内容型 Bug

http://www.chencheng.org/blog/archives/css-overflow-test-script.html

11年3月4日星期五

Page 39: 面向测试的前端知识

内容型 Bug

• 表现• 前端自测时是好的,在运营或用户填入内容后,出现错误、内容消失等

Bug

http://www.chencheng.org/blog/archives/css-overflow-test-script.html

11年3月4日星期五

Page 40: 面向测试的前端知识

内容型 Bug

• 表现• 前端自测时是好的,在运营或用户填入内容后,出现错误、内容消失等

Bug

• 原因• 前端不小心遗漏• 主观认为这里不需要扩展性

http://www.chencheng.org/blog/archives/css-overflow-test-script.html

11年3月4日星期五

Page 41: 面向测试的前端知识

内容型 Bug

• 表现• 前端自测时是好的,在运营或用户填入内容后,出现错误、内容消失等

Bug

• 原因• 前端不小心遗漏• 主观认为这里不需要扩展性• 解决• Auto Overflow Test

http://www.chencheng.org/blog/archives/css-overflow-test-script.html

11年3月4日星期五

Page 42: 面向测试的前端知识

11年3月4日星期五

Page 43: 面向测试的前端知识

HTML, CSS, JavaScript

11年3月4日星期五

Page 44: 面向测试的前端知识

HTML, CSS, JavaScript

11年3月4日星期五

Page 46: 面向测试的前端知识

引入<!-- 方法1 --><script src=””></script>

<!-- 方法2 --><script>...</script>

<!-- 方法3 -->script injection

11年3月4日星期五

Page 47: 面向测试的前端知识

脚本引擎解析中...

11年3月4日星期五

Page 48: 面向测试的前端知识

Array.forEach

11年3月4日星期五

Page 49: 面向测试的前端知识

JS Error

• EvalError

• RangeError

• ReferenceError

• SyntaxError

• TypeError

• URIError

11年3月4日星期五

Page 50: 面向测试的前端知识

11年3月4日星期五

Page 51: 面向测试的前端知识

11年3月4日星期五

Page 52: 面向测试的前端知识

11年3月4日星期五

Page 53: 面向测试的前端知识

他们会报错

11年3月4日星期五

Page 54: 面向测试的前端知识

11年3月4日星期五

Page 55: 面向测试的前端知识

HTML, CSS, JavaScript

11年3月4日星期五

Page 56: 面向测试的前端知识

一些有趣的话题

11年3月4日星期五

Page 57: 面向测试的前端知识

什么 Bug 不是 Bug?

IE6 Chrome

• 渐进增强• Chrome/FF 内部错误

• 浏览器之间的像素级差异• 不好看

11年3月4日星期五

Page 58: 面向测试的前端知识

什么 Bug 不是 Bug?

• 渐进增强• Chrome/FF 内部错误

• 浏览器之间的像素级差异• 不好看

11年3月4日星期五

Page 59: 面向测试的前端知识

什么 Bug 不是 Bug?

• 渐进增强• Chrome/FF 内部错误

• 浏览器之间的像素级差异• 不好看

11年3月4日星期五

Page 60: 面向测试的前端知识

什么 Bug 不是 Bug?

• 渐进增强• Chrome/FF 内部错误

• 浏览器之间的像素级差异• 不好看

11年3月4日星期五

Page 61: 面向测试的前端知识

什么 Bug 不是 Bug?

• 渐进增强• Chrome/FF 内部错误

• 浏览器之间的像素级差异• 不好看

11年3月4日星期五

Page 62: 面向测试的前端知识

判断 Bug 属于开发 or 前端?

• HTML, CSS, JavaScript

• 回调请求内容

11年3月4日星期五

Page 63: 面向测试的前端知识

判断 Bug 属于开发 or 前端?

• HTML, CSS, JavaScript

• 回调请求内容

11年3月4日星期五

Page 64: 面向测试的前端知识

判断 Bug 属于开发 or 前端?

• HTML, CSS, JavaScript

• 回调请求内容

11年3月4日星期五

Page 65: 面向测试的前端知识

Thanks!

11年3月4日星期五