随着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的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                      群:                     755431660