Bug预防学习笔记(web常见问题)

Bug预防学习笔记(web常见问题)

1、页面显示

页面显示:

1产品的网页通常保证在1024*768的分辨率下显示正常,常常忽略800*600分辨率下的显示情况。

2如果页面设计明确只考虑1024*768分辨率下的显示,就只需要验证1024*768下验证各个产品页面的显示正确无误即可。

预防方法

在设计的时候确认分辨率有多大,在两种(或多种)分辨率下验证显示的正确性。

2、浏览器的兼容性

目前市场上主流的浏览器:

20159月份全球主流浏览器市场份额排行榜(搜索结果)

来自Net Market Share 的数据,9月份,占据全球浏览器排行榜首位的仍然是IE浏览器,总市场份额为51.59%,较8月的52.17%继续出现下降。Chrome浏览器位居第二位,最新市场份额29.86%20158月份同期数据则为29.49%,小幅增长。Firefox火狐浏览器11.46%的市场份额位居第三位,而8月份的市场份额为11.68%,稍有下降。

Safari浏览器9月份占据了5.08%的市场份额,较8月的4.97%份额小幅增长。Opera占据1.34%的市场份额,而8月份则为1.27%

另一份来自StatCounter的统计数据则显示:Chrome浏览器名列第一,市场份额56.51%,与8月份数据持平。Firefox火狐浏览器9月份开始,以17.34%的市场份额跃居第二位,也算是史无前例。IE浏览器市场份额17.11%8月份同期数据为17.51%,虽然市场份额下降不大,但排名却跌至第三名。Safari浏览器市场份额为4.27%7月份份额为4.17%,小幅上升。第五位的Opera市场份额为1.84%8月数据1.86%,同样也是小幅下降。

综上,市场不断变化,排名补丁,但可以看出主流的浏览器有如下:

IE浏览器

Chrome浏览器

Firefox火狐浏览器

Safari浏览器

Opera

等还有一些其他的浏览器

兼容就是保障页面不变型,js执行均正确(根据访问浏览器的访问量来决定在那些浏览器下进行兼容性测试,这是有数据支持的)(看自己开发的产品的用户群)

预防方法:

设计组需要制定页面设计规范和js设计规范,保证主流的页面显示兼容性和js设计兼容性。

3、tab键的使用

页面中的tab翻页可以正常切换。支持tab键切换的地方,要检验使用的正确性和合理性。(比如说用户名密码框)

预防方法:

需求设计过程中需要考虑tab键的使用合理性。

程序设计或者页面设计出的tab键使用通用的原则和规范。

4、前进和后退问题

IE有一个特性:允许前进和后退到某一个页面,在某些特殊的情况下,用户进行前进和后退,有可能造成不完整的提交、重复提交,或者其他的显示问题。造成很大的安全隐患。

预防方法

制定一些标准的测略来处理IE的前进和后退操作,作为整个项目的共享,防止用户返回特定的数据提交页面和浏览页面,防止进行重复操作。(抓包验证重复提交)

5、语言文字提示(微软的标准)

1)全角字符和半角字符都要使用一个空格分开

2)英文和数字之间要有空格分开

3)汉字和(英文、数字组合在一起时)要有空格分开

4)带有汉字的话要使用全角字符的标点符号

5)语言中不要混用全角和半角标点

6)在语言中,要用“您”这个字,多用“请”字。

6、文字缩略和折行

1)输入框提交很长的字符,并且不折行,则提交数据后,有可能会把页面拉的非常长。

2)如果要将文字后面的一些文字处理为省略号的时候,需要注意不要将中文截成半个字符。

预防方法

提交公共处理字符的程序,解决上述问题,来进行公告。

7、图片的显示和链接

1)图片是否增加链接通常会被开发人员忽略掉

2)图片的显示位置通常会显示不同像素大小和比例的图,所以需要明确定义大图片如何缩减成小图片的策略,以及小图片如何拉伸显示为大的图片。

解决方法

提供额需求中明确图片是否需要链接以及链接的位置

需求中明确图片显示策略,是等比缩放显示,还是原大小显示,还是自适应显示,并且制定相应策略的统一处理模块。

8、重复提交

用户有可能连续多次“提交”按钮,造成数据的重复提交(比如:网速慢的情况)

预防方法

将“提交”按钮设置成“disable”状态

9、输入判断问题

1)所有键盘输入的特殊字符,均可以正常保存

2)需要特别处理英文引号、英文双引号等引起程序错误的问题

3)需要处理“<”“/”和“\”等容易保存出错的字符

预防方法

开发公共处理特殊字符的模块,在系统中进行规范应用。

 

1)数字框只能输入数字的内容

2)日期框需要判断日期是否合法

3)文本框需要判断字段长是否限制了

4)对于空格的处理,如果系统想trim(修剪)掉字符串最开头和最后的空格,则需要整个系统都使用此策略,否则会造成数据传递不一致的问题

5)需要前台页面使用js来判断输入的合法性,同时后台逻辑也要添加判断输入合法性的判断。

10、多个IE访问的情况

1)用户可能打开不同的IE使用相同的用户登录后进行操作,程序处理的时候要考虑到数据的一致性和同步问题

2)多个IE使用不同用户,则cookie操作不会出现用户信息混乱的问题。

11、安全考虑

1)在URL中不要带有明文的用户信息

2)要传递密码参数的时候不要使用pwdpassword这样的参数名称来进行传递,防止被截获。

3)要在传递参数的操作中使用NoCache参数,防止URL参数进行缓存。

预防方法

建立标准的数据传输和命名规范

12防止SQL注入

1)不要把数据库或者程序的任何报错信息显示在页面上。

2)最好程序能够将select update delete这些关键字都过滤掉,不让用户提交包含这些数据的信息。

3)数据库中设计到操作权限的表名和字段名用很通俗易懂的名字。

4)输入框尽量过滤掉“<>”这样的字符,防止javascript攻击。

预防方法

出错的时候使用错误处理页面,建立标准的过滤关键字程序,统一数据库设计命名规范,建立防js攻击的标准函数。

13、关于cookie

1cookie没有设定过期时间。

2IE不支持cookie的时候没有提示信息。

3cookie中的敏感信息没有进行加密。

预防方案

明确cookie生存期,并对生存的cookie进行检查,建立标准的检查浏览器对cookie支持的程序函数。

14、各种资源的释放

1有时候,系统莫名访问不了,则有可能是数据库连接没有释放。

2压力测试的时候,连接释放如果效率不高,则有可能出现大量连接超时时失败。

预防方法

系统资源释放过程,最好通过代码review的方式来互相监督。(review检查;复查;复审;复核)

15、关于Keepalive的设置

1)如果需要在一个连接同时获取多个资源,则需要打开apache或者resinKeepalive参数为ON,来提高系统的处理能力。减少多次建立连接所消耗的资源。如果大量的处理知识一次性连接,就不要打开Keepalive设置。

2)在实际工作中,需要将Keepalive分别设置On或者Off来验证那个设置的性能更好。

16、系统上线的log配置

1)上线以后,要关闭无用大量调试log信息

2)不要打开过多的log

预防方法

系统管理员对所有打开log级别进行确认,并群发相关人。

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值