总是碰到很多人在群里和其他地方问为什么这个会出现错误?为什么这个运行不了?为什么我百度了还是没用?
其实真正的原因可能是你忽略了下面这些需要注意的小地方:
页面分辨率:
通常是计算机的默认分辨率,但是还是会有一些老式电脑存在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。
关于你的方向:
近年来,软件测试行业越来越不满足只会点点点的测试了,越来越多的公司开始要求自动化、性能等能力。
如果你还在犹豫我到底要不要提升的时候,那些比你学得更早的,更快的已经把你远远地甩在了后面。
如果你感觉到了紧迫和压力,欢迎加群:680748947大家一起交流自动化的技术,为了更高的薪资,更为了不被行业淘汰!