总结下遇到的web测试的时候需要注意的地方:
页面分辨率:
通常是计算机的默认分辨率,但是还是会有一些老式电脑存在1024*768的情况
浏览器的兼容性:
目前市场上的主流浏览器:IE8.0-11,Chrome,Firefox,360浏览器。通常要保持IE和chrome,firefox浏览器下的兼容性,需要保持页面不变型,js均执行正常
开发设计组需要制定页面设计规范和js设计规范,保证主流的浏览器页面显示兼容性和js设计兼容性。
易用性:
Tab键的使用:页面中支持tab按键切换
Enter键的使用:页面中的某些确定按钮可以使用enter键盘替代
前进和后退:用户前进和后退有可能会造成数据不完整的提交,重复提交,或者其他的显示问题
用户删除某个数据前,需要提示用户是否删除,默认焦点选择为“否”
页面的提示语言,js提示语言,程序提示语言:
提示风格不一样,或者表达不够清晰
微软语言标准:
全角字符和半角字符都要使用一个空格分开
英文和数字直接要有空格分开
汉字和英文,数字要有空格分开
带有汉字的话要用全角字符
语言中不要混用全角和半角标点
在语言中,永远不要用“你”这个字,要做进一步的步骤描叙的时候,要多用“请”字
文字的缩略和折行:
输入框提交很长的字符,并且不折行,则提交后,页面有可能被拉的非常长,如果要将文字后面的一些文字处理为省略号,需要注意不要将中文截成半个字符
图片的显示和链接:
图片是否增加链接通常被开发人员忽略
图片的显示位置通常会显示不同像素大小和比例的图,所以要明确定义图片的处理策略
重复提交:
用户提交数据页面,用户有可能连续多次点击提交按钮,造成数据的重复提交
用户点击“提交”后,将按钮变成Disable状态
输入判断问题:
所有键盘输入的特殊字符,均可以正常保存
需要特别出处理英文单引号,英文双引号等引起的程序错误的问题
需要处理“<”“/” “”等容易保存出错的符号
做出特殊模块的字符规划
多个IE同时访问的情况:
用户可能打开不同的IE使用相同的账户去进行操作,数据是否一致性和同步的问题
多个IE使用不同用户,cookie操作会不会出现用户信息混乱的问题
安全考虑:
不要把密码等敏感的用户信息明文的显示在url中
即使是传递密码参数,也不要用pwd,passpord这样的参数名称来进行传递,防止被截获
要在传递参数的操作中使用NoCache参数,防止将url参数进行缓存
防止Sql注入:
不要把数据库或程序的如何报错信息显示在页面上
最好程序能够将select、update、delete 这些关键字都过滤掉,不让用户提交包含这些数据的信息
数据库中设计到操作权限的表名和字段名别用很通俗易懂的名字
输入框尽量过滤掉“<>”这样的字符,防止javascript攻击
关于Cookie:
Cookie没有设定过期时间
IE不支持Cookie的时候没有如何提示信息
Cookie中的敏感信息没有进行加密
各种资源链接的释放:
有时候系统莫名访问不了,则有可能是数据库的链接没有释放
压力测试的时候,连接释放如果效率不高,则有可能出现大量连接超时失败
预防:系统资源的释放过程,最好通过代码review的方式来互相监督
关于Keepalive的设置:
如果需要在一个连接同时获取多个资源,则需要打开apache或resin的Keepalive参数为On,来提高系统的处理能力,减少多次建立连接所消耗的资源,如果大量的处理只是一次性连接,则不要打开
预防:在实际工作中,需要将keepalive分别设置为On或者Off来验证哪个设置的性能更好
系统上线后的log配置
上线以后,要关闭无用大量调试log信息,不要打开过多的log