什么是软件缺陷?在软件工程整个生命周期中任何背离需求、无法正确完成用户所要求的功能的问题,包括存在于组件、设备、或系统软件中因异常条件不支持而导致系统失败等都属于缺陷。
缺陷报告准则:
1、保证重现缺陷
2、使用最少步骤重现缺陷
3、包含所有重现缺陷的必要步骤
4、缺陷报告方便阅读、尽量简单
5、一个缺陷一个报告
6、注意自己的语气
6、值得注意的经验。
缺陷类型分类:
1、业务逻辑
2、数据处理
3、接口
4、UI
5、性能
6、安全性
7、兼容性
8、配置
9、文档等
缺陷的严重级别:
缺陷的优先级:
5个规则:
1软件未实现产品说明书要求的功能
2软件出现了产品说明书指明不应该出现的错误
3软件实现了产品说明书未提到的功能
4软件未实现产品说明书虽未明确提及但应该实现的目标
5软件难以理解、不易使用、运行缓慢或者最终用户会认为不好。
注意:要编写所有用户都满意的软件是不可能的,所以并非所有的缺陷都要修改。
为什么会出现软件缺陷?
1最大原因是产品说明书
2程序设计错误
3工期短,任务大
4需求不断变化
5沟通交流障碍
6软件本身的复杂性
7软硬件支持不完善
软件测试员究竟做些什么?
目标是:尽可能早地找出软件缺陷,并确保其可以得到修复。
完整的缺陷报告:
(1)简单描述:用一句话简单描述清楚问题
2详细描述:
(1)描述问题的基本环境
(2)使用最少步骤去重现测试工程师的操作步骤和使用数据
(3)测试工程师根据上述信息可以给出对问题的简单分析
(4)被测试软件版本
(5)状态、严重级别、优先级别
(6)提交日期、提交人
3相关附件:
(1)如果从图形界面上反映出软件异常,最好采用拷屏方式截图
(2)被测软件运行时候的相关日志文件
(3)缺陷原因分析。
以上这个bug示例少了 提交日期、提交者、优先级、严重程度、被测软件版本等。
如何提交一个bug?
1、清晰明确的重现步骤
2、要有预期结果和实际结果的对比
3、级别定义
4、如果有可能,可以做一个可能的原因分析
5、如果是界面的bug,最好附上图片,更有说服力
6、其他信息。软件版本号、测试环境的要求、测试工程师的名字等
在实际测试过程中,发现了bug,先记录下来,等头脑冷静下来后再重现一遍,如果能重现,再提交。
软件故障模型:
1、数据结构溢出的产生原因:
数据结构限制、内存限制、硬盘限制
2、查找特殊字符缺陷的方法:
程序只能处理普通字符,当输入特殊字符就会出现错误;了解应用程序使用的特殊字符;了解系统的保留字。
3、查找默认值缺陷的方法:
缺陷管理流程图:
查找字符缺陷的方法:
1、应用程序有时只能处理普通字符,当输入特殊字符时就会出现错误
2、了解应用程序的程序设计语言所使用的特殊字符
3、了解系统的保留字
处理缺陷的4个方面:
1、注意缺陷报告的处理成本
2、修改缺陷要量力而行
3、关注被推迟修改的软件缺陷
4、如果决定据理力争就一定要赢