这里只是介绍Web测试相对于其他类型软件的测试额外需要了解的内容,关于测试方法不是本文的重点,里面谈到的每一项在以后的文章中再说明。大家看到这些内容可能都不陌生,我晒出的内容也许不对或有误导,请大家指正。
1. HTTP/HTTPS协议
· 你应该去了解什么是http协议
· 什么是GET, POST, session, cookie等
· Get与Post的区别是什么?
· session与cookie的区别是什么?
· 什么是无状态?
2. 浏览器机制
· 理解浏览器在处理javascript及渲染CSS的机制
· 了解IE与其他浏览器的差异
· 为什么兼容性测试时需要特别关注IE
· 浏览器在加载javascript,CSS有时在前面有时在后面,为什么?
· 加载顺序会对视觉和使用上有什么影响呢?
· 各种浏览器使用的内核分别是什么?
3. web架构
也许你会说这是架构师的事儿,没错,基本是他们的活儿,但是理解了web架构能让我们测试的更深入。你要知道:
· 软件出错时怎么个报警法?是否有详尽的log记录?
· 服务器缓存机制如何?
· 数据库如何主从同步,如何备份的?
· 集群如何处理session的?
4. 安全
因为web应用的特殊性,你需要掌握的安全技能:
· 如何进行SQL注入测试?如何防止SQL注入?
· 什么是跨站脚本攻击(XSS)?如何开展此类测试,应该如何防范XSS?
· 什么是DOS,DDOS?开发人员如何coding来避免?
· 传输哪些重要数据时需要加密
· 哪些页面需要使用SSL/https来加密传输
· 什么是跨站伪造请求攻击 cross site request forgeries (XSRF),如何避免?
· 安全证书的意义,浏览器在证书失效时提示是怎样的?
5. web性能
你应该知道的web性能知识:
· web前端的性能极大影响了用户,如何观察这些数据?CSS和图片的合并压缩的意义
· 了解浏览器cache及服务端cache
· 对于图片请求过多的网站,为何要把图片放置在不同的域名下,最好使用CDN?
· 确认你的网站有一个 favicon.ico 文件放在网站的根下,如 /favicon.ico.每当有用户收藏网站/网页时,浏览器会自动请求这个文件,就算这个图标文件没有在你的网页中明显说明,浏览器也会请求。如果你没有这个文件,就会出大量的404错误,这会消耗你的服务器带宽,服务器返回404页面会比这个ico文件可能还大
· 知道单个页面的http请求数越少越好
· 顺序加载和异步加载的优劣,何时需要使用AJAX?懒加载的意义,用于何处?
· 如何使用性能测试工具Jmeter/LR等开展性能测试?
6. SEO
只要是WEB应用,都会有SEO,因为它是种免费的搜索引擎推广方式,否则在百度搜索你们网站,是没有结果的。所以,你需要知道:
· XML sitemap的意义,可以让搜索引擎了解你的网站地图
· 了解 robots.txt 和搜索引擎爬虫是如何工作的
· 搜索引擎喜欢什么样的URL?
· 重定向301和302对于搜索引擎的意义?
· 网页Meta信息中title,description等的重要性
7. 用户体验
网站的功能只是说实现了什么,而用户体验则诠释了做的有多好,用户使用起来是否有难度,是否会爱上这个网站(当然12306除外,咯咯)
· 访问网站的用户操作行为是怎么样的?页面的访问频率占比如何?因为测试的精力和侧重点也要根据这个数据而定
· 网站部署时是否会影响到用户使用,如何避免?
· 不要直接显示不友好的错误提示,是否有友好的提示信息?
· web应用不能泄漏用户的隐私信息
· 页面是在当前页打开还是另开一个tab?
· 页面元素的布局如何影响到用户体验的?
8. 使用工具
· HttpWatch,基于IE的网络数据分析工具,包括网页摘要,Cookies管理,缓存管理,消息头发送/接受,字符查询,POST 数据和目录管理功能等
· FireBug,用途同上,基于firefox的
· Yslow,前端网站性能工具,显示测试结果的分析,分为等级、组件、统计信息
· Fiddler,强大的web前端调试工具,它能记录/拦截所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,也可用于安全测试
· Chrome扩展程序:浏览器兼容性检测工具,分析网站的兼容性情况
· ShowIP:显示访问网站的IP,web测试中你是否经常因为访问的网站IP不对,而被开发人员BS呢?它能帮助到你。
谈到的内容很多,囊括了诸多内容,也有些没有罗列出来,因为都太细节了,不是此文的范围。本来只是做了个Overview,抛砖引玉罢了,因为里面每一子项都可以成为一个专题。
原文地址:http://www.cnblogs.com/lci05/p/3737805.html