bug预防
来源:互联网 发布:c语言什么时候用指针 编辑:程序博客网 时间:2024/04/28 20:54
1、页面显示:
产品的网页通常保证在1024*768 的分辨率下显示正常,但是常常忽略800*600分辨率下的显示情况。如果页面设计明确只考虑1024*768 的需求,则只在 1024*768下验证各个产品页面的显示正确无误
预防方法:切好的设计页面和集成程序后的页面需要分别在两种显示分 别率下验证显示的正确性
2、 浏览器兼容性:
目前市场上的主流浏览器如下:
1. IE 6.0-11
2. Chrome
3. 360浏览器
4. FireFox
5. Sogou浏览器
通常情况下要保证IE 6-11和FireFox 浏览器下的兼容性,需要保证页面不变型,Js执行均正确
预防方法: 设计组需要制定页面设计规范和Js 设计规范,保证主流浏览 器的页面显示兼容性和Js 设计兼容性
3、Tab键的使用:
页面中的tab翻页可以正常切换、支持tab按键切换的要检验使用的正确性和合理性
预防方法:需求设计过程中需要考虑tab键的使用合理性 程序设计或者页面设计出一个tab键使用的通用设 计或者规范
4、前进和后退问题:
IE 有一个特性:就是允许前进和后退到某一个页面, 在某些特殊情况下,用户进行前进和后退,有可能造 成数据不完整的提交,或者其他的显示问题。
预防方法: 制定一些标准的策略来处理IE的前进和后退操作,作为整个儿项目的共享,防止用户返回特定的数据提交页面和浏览页面,并进行重复操作。
5、页面提示语言、Js提示语言,程序提示语言: 通常情况下,产品人员并不会将产品需求细化到 某句话应该如何提示用户,所以不同的程序员会根据 自己的语言特点来提示用户,这就造成了不同程序员 提示的语言风格完全不一样,造成产品友好度下降。
解决方法:
产品人员和开发人员一起制定尽可能大而全的提 示语言规范,并且作为规范说明提供给开发人员进行 使用。
6、语言文字提示(微软的标准):
1. 全角字符和半角字符都要使用一个空格分开
2. 英文和数字之间要有空格分开
3. 汉字和英文、数字要有空格分开
4. 带有汉字的话要使用全角字符
5. 语言中不要混用全角和半角标点
6. 在语言中,永远不要用“你”这个字,要做一些操作步骤描述的时候,要多用“请”字
7、文字缩略和折行:
输入框提交很长的字符,并且不折行,则提交数据后,有可能会把页面的拉的非常长。如果要将文字后面的一些文字处理为省略号的时候,需要注意不要将中文截成半个字符
预防方法:提交公共处理字符的程序,解决上述问题,来进行公用
8、图片的显示和链接:
图片是否增加链接通常会被开发人员忽略掉 图片的显示位置通常会显示不同像素大小和比例的图,所以需要明确定义大图片如何缩减成为小图片的策略,以 及小图片如何拉伸显示为大的图片
解决方法:
提供的需求中明确图片是否需要链接以及链接的位置 需求中明确图片显示策略,是等比缩放显示,还是原大小 显示,还是自适应显示,并且制定相应策略的统一处理模块
9、 重复提交:
用户提交数据页面,用户有可能连续多次点击提交按钮,造成数据的重复提交 试
预防方法:用户点击“提交”后,将按钮变为Disable状态
10、输入判断问题(1 ):
所有键盘输入的特殊字符,均可以正常保存 需要特别处理英文单引号、英文双引号等引起程序错 误的问题
需要处理“< ”、“/”和“\ ”等容易保存出错的字符
预防方法:
开发公共处理特殊字符的模块,在系统中进行规范应用
11、输入判断问题(2 ):
数字框只能输入数字的内容日期框需要判断日期是否合法 文本框需要判断字段长是否限制了 对于空格的处理,如果系统想trim掉字符串最开头和最后 的空格,则需要整个儿系统都使用此策略,否则会造成数据传递不一致的问题 需要前台页面使用js来判断输入的合法性,同时后台逻辑 也要添加判断输入合法性的判断。
12、多个IE 同时访问的情况:
用户可能打开不同的IE使用相同的用户登录后进行 操作,程序处理的时候要考虑到数据的一致性和同 步问题
多个IE使用不同用户,则cookie操作不会出现用户信息混乱的问题
13、安全考虑:
在URL 中不要带有明文的用户信息写代码的时候, 不要把密码等敏感的用户信息明文的显示在url 中即使要传递密码参数也不要使用pwd 、passpord这 样的参数名称来进行传递,防止被截获 要在传递参数的操作中使用NoCache参数,防止将 url参数进行缓存
预防方法: 建立标准的数据传输和命名规范,并制作一些网页开 发模板或者规范供参考
14、防止Sql注入:
不要把数据库或者程序的任何报错信息显示在页面上。 最好程序能够将select update delete 这些关键字都过滤 掉,不让用户提交包含这些数据的信息。 数据库中设计到操作权限的表名和字段名用很通俗易懂 的名字 输入框尽量过滤掉“<>”这样的字符,防止javascript攻击
预防方法:
出错的时候使用错误处理页面,建立标准的过滤关键字程序,统一数据库设计命名规范,建立防js攻击的标准函数
15、关于Cookie:
Cookie没有设定过期时间 工 IE不支持Cookie的时候没有任何提示信息 Cookie中的敏感信息没有进行加密
预防方案: 明确cookie生存期,并对生成的cookie进行检查,建立标准的检查浏览器对cookie支持的程序函数
16、各种资源连接的释放: 有的时候,系统莫名访问不了,则有可能是数据库 连接没有释放 压力测试的时候,连接释放如果效率不高,则有可能出现大量连接超时失败
预防方法:
系统资源的释放过程,最好通过代码review 的方式 来互相监督
17、关于Keepalive的设置: 如果需要在一个连接同时获取多个资源,则需要打开 apache或者resin 的Keepalive参数为On,来提高系统的处理能力,减少多次建立连接所消耗的资源。如果大量 的处理只是一次性连接,则不要打开Keepalive设置。在实际工作中,需keepalive分别设置On或者Off来 验证哪个设置的性能更好。
18、系统上线的log配置:上线以后,要关闭无用大量调试log信息 不要打开过多的log
预防方法:系统管理员对所有打开log级别进行确认,并群发相 关人
19、用户易用性:
用户删除某个数据前,要明确提示用户是否要删除, 默认把焦点选择为“否”。
20、文档: 程序实现和接口文档描述不一致
预防方法: Leader定期对接口进行审核,保证文档、需求变更 和程序实现保持一致
21、多表操作:
详细设计文档缺失,接口对多表进行操作时候,经常会发生有些表的数据没有被更新的情况
预防方法:
审核设计文档是否覆盖必要的逻辑,加强CodeReview
22、参数的容错处理:
接口没有对参数进行必要的容错,参数出现错误的时候, 接口也没有做相应的错误处理,文档也没有描述容错机制
预防方法:
明确每个接口对哪些情况进行必要的容错,并写到设计文 档中,由Leader 进行文档审核
0 0
- bug预防
- BUG预防笔记
- 怎么做bug预防?
- 为bug预防奠定基础
- 为bug预防奠定基础
- 【功能测试】bug的预防
- Bug分析:为bug预防奠定基础
- Bug分析:为bug预防奠定基础
- Bug分析:为bug预防奠定基础
- Bug分析:为bug预防奠定基础
- Bug分析:为bug预防奠定基础
- Bug分析:为bug预防奠定基础
- Bug分析:为bug预防奠定基础
- Bug预防学习笔记(web常见问题)
- 软件测试 BUG预防 关于web产品常见问题
- 修复和预防Bug的成本的量化对比
- 团队开发中预防Bug的一些经验
- 软件测试管理中预防bug的重要性及bug分析
- Ubuntu 12.04 下如何安装和升级Hudson
- xmu:1006.A+B Big Number
- 曾为你万事都低头 你怎么舍得开口
- 终于在眼泪中明白 有些人一旦错过就不在
- 深度学习在人脸识别领域的应用(4)
- bug预防
- python+cartodb+ExifRead 打造自己的大数据照片地图
- 沧海拾贝——一个递归引发的思考
- [ext4]05 磁盘布局 - 延迟块组初始化
- 电脑上不了网怎么办?
- map、multimap、set、multiset容器
- 自己总结的用到的Mysql的用法
- Linux环境下MySQL5.6源代码数据库安装
- fedora 20 安装与常用设置