随着Internet和Intranet/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布式应用正在Web环境中出现。Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取。
总结下遇到的web测试的时候需要注意的地方:
1、页面显示部分
(1)首先关注页面是否能显示完整,包括不同浏览器的是否能完整显示,在实际测试中经常发现有的页面或者是页面的弹窗不能完全显示
(2)页面中的动画效果或者字体效果是否能正确显示
(3)页面中有些表单项与输入框,输入域以及下拉框等是否存在默认提示,是否存在部分提示部分不提示的情况
(4)数据列表中存在多条数据是否分页显示,以及分页操作后页面是否正常跳转
2、页面分辨率:
页面版式在 640x400、600x800 或 1024x768 的分辨率模式下是否显示正常? 字体是否太小以至于无法浏览? 或者是太大? 文本和图片是否对齐?
通常是计算机的默认分辨率,但是还是会有一些老式电脑存在1024*768的情况
3、单项功能测试
a:连续增加
注意:增加完成后查看数据列表中,不显示或显示暂无的字段,观察是否没有增加进去
b:增加后删除
注意:删除是否有提示信息,点击确定方可删除
c:增加删除再增加
d:连续删除
e:增加后修改
注意:修改过程中如果修改了下拉框表单项,对应的数据是否发生改变
f:连续修改
4、浏览器的兼容性:
浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java、javascript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
5、易用性:
有些用户在浏览网页时喜欢使用键盘上的快捷键,因此在测试时要注意快捷键是否设置。通常需要设置的快捷键有以下几个。
Tab键的使用:页面中支持tab按键切换
Enter键的使用:页面中的某些确定按钮可以使用enter键盘替代
前进和后退:用户前进和后退有可能会造成数据不完整的提交,重复提交,或者其他的显示问题
用户删除某个数据前,需要提示用户是否删除,默认焦点选择为“否”
页面的提示语言,js提示语言,程序提示语言:
提示风格不一样,或者表达不够清晰
6、微软语言标准:
全角字符和半角字符都要使用一个空格分开
英文和数字直接要有空格分开
汉字和英文,数字要有空格分开
带有汉字的话要用全角字符
语言中不要混用全角和半角标点
在语言中,永远不要用“你”这个字,要做进一步的步骤描叙的时候,要多用“请”字
7、文字的缩略和折行:
输入框提交很长的字符,并且不折行,则提交后,页面有可能被拉的非常长,如果要将文字后面的一些文字处理为省略号,需要注意不要将中文截成半个字符
8、图片的显示和链接:
图片是否增加链接通常被开发人员忽略
图片的显示位置通常会显示不同像素大小和比例的图,所以要明确定义图片的处理策略
9、重复提交:
用户提交数据页面,用户有可能连续多次点击提交按钮,造成数据的重复提交
用户点击“提交”后,将按钮变成Disable状态
10、输入判断问题:
所有键盘输入的特殊字符,均可以正常保存
需要特别出处理英文单引号,英文双引号等引起的程序错误的问题
需要处理“
做出特殊模块的字符规划
11、多个IE同时访问的情况:
用户可能打开不同的IE使用相同的账户去进行操作,数据是否一致性和同步的问题
多个IE使用不同用户,cookie操作会不会出现用户信息混乱的问题
12、安全考虑:
不要把密码等敏感的用户信息明文的显示在url中
即使是传递密码参数,也不要用pwd,passpord这样的参数名称来进行传递,防止被截获
要在传递参数的操作中使用NoCache参数,防止将url参数进行缓存
13、防止Sql注入:
不要把数据库或程序的如何报错信息显示在页面上
最好程序能够将select、update、delete 这些关键字都过滤掉,不让用户提交包含这些数据的信息
数据库中设计到操作权限的表名和字段名别用很通俗易懂的名字
输入框尽量过滤掉“”这样的字符,防止javascript攻击
14、关于Cookie:
Cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用Cookies访问了某一个应用系统时,Web服务器将发送关于用户的信息,把该信息以Cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。
注意点:
Cookie没有设定过期时间
IE不支持Cookie的时候没有如何提示信息
Cookie中的敏感信息没有进行加密
15、各种资源链接的释放:
有时候系统莫名访问不了,则有可能是数据库的链接没有释放
压力测试的时候,连接释放如果效率不高,则有可能出现大量连接超时失败
预防:系统资源的释放过程,最好通过代码review的方式来互相监督
16、关于Keepalive的设置:
如果需要在一个连接同时获取多个资源,则需要打开apache或resin的Keepalive参数为On,来提高系统的处理能力,减少多次建立连接所消耗的资源,如果大量的处理只是一次性连接,则不要打开。
预防:在实际工作中,需要将keepalive分别设置为On或者Off来验证哪个设置的性能更好。
系统上线后的log配置:
上线以后,要关闭无用大量调试log信息,不要打开过多的log
总结
基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。
领取专属 10元无门槛券
私享最新 技术干货