面向测试的前端知识
-
Upload
chencheng- -
Category
Technology
-
view
2.136 -
download
6
Transcript of 面向测试的前端知识
面向测试的前端知识云谦 ([email protected])http://www.chencheng.org/
11年3月4日星期五
浏览器原理
http://www.cn-cuckoo.com/2011/02/18/how-broswers-work-2257.html
从服务端接收到 HTML
1
11年3月4日星期五
浏览器原理
http://www.cn-cuckoo.com/2011/02/18/how-broswers-work-2257.html
从服务端接收到 HTML
1解析
HTML构建DOM树
2
11年3月4日星期五
浏览器原理
http://www.cn-cuckoo.com/2011/02/18/how-broswers-work-2257.html
从服务端接收到 HTML
1解析
HTML构建DOM树
2解析CSS 构建渲染树
3
11年3月4日星期五
浏览器原理
http://www.cn-cuckoo.com/2011/02/18/how-broswers-work-2257.html
从服务端接收到 HTML
1解析
HTML构建DOM树
2解析CSS 构建渲染树
3
为渲染树生成布局
4
11年3月4日星期五
浏览器原理
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日星期五
浏览器原理
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日星期五
HTML, CSS, JavaScript
http://www.alistapart.com/articles/understandingprogressiveenhancement/
11年3月4日星期五
HTML, CSS, JavaScript
http://www.alistapart.com/articles/understandingprogressiveenhancement/
11年3月4日星期五
11年3月4日星期五
11年3月4日星期五
HTML, CSS, JavaScript
11年3月4日星期五
#content div.box { position: absolute; color: red;}
11年3月4日星期五
#content div.box { position: absolute; color: red;}
11年3月4日星期五
#content div.box { position: absolute; color: red;}
11年3月4日星期五
#content div.box { position: absolute; color: red;}
11年3月4日星期五
#content div.box { position: absolute; color: red;}
11年3月4日星期五
声明
• 盒模型• 布局• 颜色、背景• 排版• 其它
(宽高、内外边距、边框、圆角等)
(显示隐藏、绝对相对定位、浮动、溢出控制等)
(文字大小、行高、文本对齐等)
(鼠标手势、表格控制等)
11年3月4日星期五
引入
<!-- 方法1 --><link rel=”stylesheet” href=”” />
<!-- 方法2 --><style></style>
11年3月4日星期五
渲染引擎解析中...
11年3月4日星期五
11年3月4日星期五
11年3月4日星期五
11年3月4日星期五
position: fixed
11年3月4日星期五
http://blog-imgs-42-origin.fc2.com/s/h/o/shopdd/dora_css3.html
11年3月4日星期五
兼容型 Bug
11年3月4日星期五
11年3月4日星期五
兼容型 Bug
11年3月4日星期五
兼容型 Bug
• 表现• 仅在少数几个浏览器上出问题
11年3月4日星期五
兼容型 Bug
• 表现• 仅在少数几个浏览器上出问题• 原因• 浏览器解析不一致• 前端不细心• 前端太过自信
11年3月4日星期五
兼容型 Bug
• 表现• 仅在少数几个浏览器上出问题• 原因• 浏览器解析不一致• 前端不细心• 前端太过自信• 解决• 加强前端素质建设
11年3月4日星期五
11年3月4日星期五
业务型 Bug
11年3月4日星期五
业务型 Bug
• 表现• 在所有浏览器下都有问题
11年3月4日星期五
业务型 Bug
• 表现• 在所有浏览器下都有问题• 原因• 前端对业务不熟悉
11年3月4日星期五
业务型 Bug
• 表现• 在所有浏览器下都有问题• 原因• 前端对业务不熟悉• 解决• 测试帮助前端熟悉业务• 能直观地测试到所有业务可能性
11年3月4日星期五
11年3月4日星期五
内容型 Bug
http://www.chencheng.org/blog/archives/css-overflow-test-script.html
11年3月4日星期五
内容型 Bug
• 表现• 前端自测时是好的,在运营或用户填入内容后,出现错误、内容消失等
Bug
http://www.chencheng.org/blog/archives/css-overflow-test-script.html
11年3月4日星期五
内容型 Bug
• 表现• 前端自测时是好的,在运营或用户填入内容后,出现错误、内容消失等
Bug
• 原因• 前端不小心遗漏• 主观认为这里不需要扩展性
http://www.chencheng.org/blog/archives/css-overflow-test-script.html
11年3月4日星期五
内容型 Bug
• 表现• 前端自测时是好的,在运营或用户填入内容后,出现错误、内容消失等
Bug
• 原因• 前端不小心遗漏• 主观认为这里不需要扩展性• 解决• Auto Overflow Test
http://www.chencheng.org/blog/archives/css-overflow-test-script.html
11年3月4日星期五
11年3月4日星期五
HTML, CSS, JavaScript
11年3月4日星期五
HTML, CSS, JavaScript
11年3月4日星期五
定义
JavaScript是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。
11年3月4日星期五
引入<!-- 方法1 --><script src=””></script>
<!-- 方法2 --><script>...</script>
<!-- 方法3 -->script injection
11年3月4日星期五
脚本引擎解析中...
11年3月4日星期五
Array.forEach
11年3月4日星期五
JS Error
• EvalError
• RangeError
• ReferenceError
• SyntaxError
• TypeError
• URIError
11年3月4日星期五
11年3月4日星期五
11年3月4日星期五
11年3月4日星期五
他们会报错
11年3月4日星期五
11年3月4日星期五
HTML, CSS, JavaScript
11年3月4日星期五
一些有趣的话题
11年3月4日星期五
什么 Bug 不是 Bug?
IE6 Chrome
• 渐进增强• Chrome/FF 内部错误
• 浏览器之间的像素级差异• 不好看
11年3月4日星期五
什么 Bug 不是 Bug?
• 渐进增强• Chrome/FF 内部错误
• 浏览器之间的像素级差异• 不好看
11年3月4日星期五
什么 Bug 不是 Bug?
• 渐进增强• Chrome/FF 内部错误
• 浏览器之间的像素级差异• 不好看
11年3月4日星期五
什么 Bug 不是 Bug?
• 渐进增强• Chrome/FF 内部错误
• 浏览器之间的像素级差异• 不好看
11年3月4日星期五
什么 Bug 不是 Bug?
• 渐进增强• Chrome/FF 内部错误
• 浏览器之间的像素级差异• 不好看
11年3月4日星期五
判断 Bug 属于开发 or 前端?
• HTML, CSS, JavaScript
• 回调请求内容
11年3月4日星期五
判断 Bug 属于开发 or 前端?
• HTML, CSS, JavaScript
• 回调请求内容
11年3月4日星期五
判断 Bug 属于开发 or 前端?
• HTML, CSS, JavaScript
• 回调请求内容
11年3月4日星期五
Thanks!
11年3月4日星期五