说到bug,大家可能更多的认为是错误,有问题的地方,但是它的原意是”臭虫”,是不是有了新的发现!而真正找出电脑程序中第一个bug的女程序员,来自于计算机软件第一夫人:Grace Hopper,一次”意外”的记录,把“BUG”引领到计算机领域的专业行话。现在的bug主要形容各领域范围内出现的缺陷。
一、缺陷的判断标准
对于软件测试的工作目的来说,是尽可能早的找出软件产品中潜藏的缺陷,并确保其得以修复!所以缺陷的识别就会变得很关键,那么如何来判定缺陷呢?
1、软件未实现产品需求说明书上的功能
例:设计小程序:计算器小程序--->需求:实现加减乘除的操作;实际测试时:发现只有加减乘,没有除功能,提交缺陷。
2、软件出现了产品说明书上指明不应该出现的功能
例:计算器小程序:需求:随便点击0-9数字的按钮,程序是不会闪退或者崩溃;实际测试时,连续点击了4次数字按钮,程序闪退了。
3、软件实现了产品说明书上未提到的功能
例:计算器小程序:需求:实现加减乘除四个功能;实际测试时:发现多了一个开平方的功能,提交是一个缺陷。
4、软件未实现产品说明书上虽未明确提及,但是也应该实现的目标(来源隐式需求)
例:手机中相机软件的照相功能:说明书上虽然没有明说当电量低于一定数值时,闪光灯不能使用,但是实际是存在的一个要求。
5、软件难以理解,不易使用,运行缓慢,或者从测试角度来看,最终用户会认为不好。(从用户使用角度来分析)
6、软件功能操作的实际结果和预期结果不一致,也属于缺陷。
二、缺陷如何分类
找出bug后,如何来进行bug类型的判断呢?根据缺陷的自然属性可以划分为以下几种情况:
1.功能缺陷:
- 影响了各种系统功能
- 逻辑的缺陷
- 软件中功能缺失或者未实现
2.UI缺陷:
- 影响用户界面
- 人机交互特性
- 包括屏幕格式
- 用户输入灵活性
- 结果输出格式等方面的缺陷
3.文档缺陷:
- 影响发布和维护
- 包括注释
- 用户手册
- 设计文档等。
4.软件包缺陷:
- 由于软件配置库
- 变更管理
- 版本控制引起的错误。
5.系统/模块接口缺陷:
- 与其他组件
- 模块或设备驱动程序
- 调用函数
- 控制块或参数列表等不匹配、冲突
6.性能缺陷:
- 不满足系统可测量的属性值
- 如执行时间
- 事务处理速率
- 响应时间等
所以,在实际软件应用中,没有不存在缺陷的软件,只有迄今为止尚未发现的缺陷。软件测试是保障软件质量管理体系中一个非常重要的手段。作为测试从业者,应在工作中尽早和不断发现软件中潜藏的缺陷,避免软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】