如何减少bug?
2016-11-07 19:55
260 查看
一、bug的分类
1、用户界面缺陷
1)控件的文字被截断2)控件或文字没有对齐
3)控件位置重叠
4)不一样的控件布局
5)多余的文字
6)丢失的文字
7)文字的字体、字号错误
8)多余的空格
9)打印内容、格式错误
2、语言质量缺陷
1)字符未本地化2)字符不完整本地化
3)错误的本地化字符
4)不一致的本地化字符
5)过度本地化
6)标点符号、版本、商标符号错误
3、功能缺陷
1)功能不起作用2)功能错误
3)功能缺失
4、流畅缺陷
1)流程不能流转2)流程分支判断错误
3)流程错误结束
4)流程中特殊功能未处理
5、接口缺陷
1)与其他组件间的缺陷6、验证缺陷
错误的提示信息、不适当的数据验证7、规范缺陷
不符合标准的要求,开发规范,ui规范等8、易用性缺陷
人机交互用户体验较差二、程序员的需求分析
1、将页面元素与数据库相对应
2、将页面操作转换为一个个独立的动作
1)页面元素加载算一个动作2)保存算一个动作
3)删除算一个动作
4)修改算一个动作
5)输入 内容的验证算一个动作
6)分页算一个动作
7)搜索算一个动作
8)以此类推将每个需求点转变为一个动作,每个动作一个方法,这样根据复杂程度就可以合理估算开发时间了。
3、可行性分析
1)需求是否可实现2)需求实现难度
3)需求实现所需的时间
4)项目完成需求所需天数
5)是否超出预算
4、划定项目实施范围
1) 去掉不合理的需求2)去除实施有难度的需求
3)砍掉没有价值的需求
4)砍掉风险系数较高的需求
5、风险评估
1)时间是否宽松,通常如果时间安排过于紧凑的话开发人员会相应减少需求分析时间,压缩程序设计时间,压缩开发人员自测试时间来达到按时提测的目的2)上线失败对生产环境的影响,产生脏数据,生产环境较长时间无法正常运行等
6、计划安排
1)哪些工作必须实现2)每项任务由谁来做
3)每项任务要花多长时间
4)需要什么物料和设备
5)每项任务的花费是多少
6)先做什么
7)后做什么
8)什么可以同时做
9)预估最早能够上线的时间
10)确定最晚的上线时间
三、软件质量的特性
1、正确性
指系统规范、设计和实现方面的错误的稀少成都2、可用性
指用户学习和使用一个系统的容易成都3、效率
指软件是否能够尽可能少地占用系统资源,包括内存和执行时间4、可靠性
指在制定的必须条件下,一个系统完成所需功能的能力----应该有很长的平均无故障时间。5、完整性
指系统阻止对程序或者数据未经校验或者不正确访问的能力。6、适应性
系统可迁移到不同环境进行使用。包括多浏览器的兼容,对设备的兼容,对操作系统的兼容等。7、精确性
指的是输出结果的精确程度8、健壮性
输入脏数据或者在压力环境下任然能够正常运行。四、开发者测试
1、懂得转换角色,从开发角色进入测试角色
大部分开发都有这样的心理,测试的时候内心其实希冀自己找不到错误2、一个成功的测试应该弄垮软件
3、给自己制定测试目标,比如找到10个以上的缺陷
4、对每一项需求进行测试,以确保需求都已经被实现
5、使用一个检查表,其中记录你在本项目迄今为止所犯的,以及过去的项目所犯的错误类型。
6、对每一个相关的程序设计关注点进行测试。
7、测试每一个if。。else
8、测试每一个for循环
9、测试每一个switch
10、测试每一个异常处理
11、测试边界值
五、调试
1、科学的调试方法
1)、通过可重复的试验收集数据。2)、根据相关数据的统计构造一个假设。
3)、设计一个试验来证明或者反证明这个假说。
4)、证明或者反证明假说。
5)、根据需要重复以上的步骤。
2、寻找缺陷的有效方法
1)将错误的稳定下来2)确定错误的来源
a、收集产生缺陷的相关数据
b、分析所收集的数据,并构造对缺陷的假设
c、确定怎样去证实或证伪这个假设,可以对程序进行测试或者检查代码
d、对假设做出最终结论
3)修补缺陷
4)对所修补的地方进行测试
5)查找是否哎呦类似的错误
3、寻找缺陷的小手段
1)、在构造假设时考虑所有的可用数据2)、提炼产生错误的测试用例
3)、在自己的单元测试族测试代码
4)、利用可用的工具
5)采用不同的方法重现错误
6)用更多的数据产生更多的假设
7)利用否定性测试用例的结果
8)对可能的假设尝试头脑风暴
9)在桌上放一个记事本,把需要尝试的事情逐条列出
10)、缩小嫌疑代码的范围
11)、对之前出现过缺陷的类和子程序保持警惕
12)、检查最近修改过的代码
13)、扩展嫌疑代码的范围
14)、增量式集成
15)检查常见的缺陷
16)桶其他人讨论问题
小黄鸭调试法
17)、抛开问题,休息一下
4、调试的心理因素
不要慌相关文章推荐
- 如何在开发中减少Bug数量
- 如何减少BUG
- 如何减少bug
- 程序员如何才能减少自己的程序中的BUG
- 如何减少bug(php 版本)
- 测试人员如何减少产品的遗留bug
- 写代码时如何减少Bug
- 关于程序员如何减少程序Bug的若干建议
- Java基础学习总结(81)——如何尽可能的减少Java代码中bug
- 如何减少不能重现的Bug
- 如何减少bug
- 如何减少bug
- 如何提高写程序的效率与减少 bug 的错误率
- Java基础学习总结(81)——如何尽可能的减少Java代码中bug
- 如何复现不可复现的Bug
- 如何减少基于DataSet框架的代码输入量(三)
- 如何编写更佳的bug report
- 如何用CodeSmith减少代码重复编写
- 如何使CheckBoxList的Attributes属性生效(修改微软的一个bug)
- 需求变更的代价和如何减少需求变更