软件失效分类与管理
术语
软件错误:是指在软件生存周期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生。
软件缺陷:是存在于软件之中那些不希望或不可接受的偏差,其结果是软件运行于某一特定条件时出现软件故障,这时称软件缺陷被激活。
原因产品说明书(主)软件设计说明书(次)
软件故障:是指软件运行过程中出现的一种不希望或不可接受的内部状态。此时若无适当措施加以处理,便产生了软件失效。
软件失效:是指软件运行时产生的一种不希望或不接受的外部行为结果。
软件缺陷原因
主要来自产品说明书的编写和产品方案设计。
产品说明书【主要原因】:1、写的不全面、不完整和不准确;2、经常更改。3、整个开发组没有很好的沟通和理解。
设计方案:1、即软件设计说明书。2、产生缺陷的原因与产品说明书或者需求说明书是一致的
缺陷与错误严重性和优先级
划分的通用原则:
严重性表示软件缺陷所造成的危害的恶劣程度
优先级表示修复缺陷的重要程度与次序
严重性
严重系统崩溃、数据丢失、数据顺坏
较严重 操作性错误、错误结果、遗漏功能
一般小问题、错别字、UI布局、罕见故障
建议不影响使用的瑕疵或更好的实现
优先级
最高优先级立即修复,停止进一步测试
次高优先级在产品发布之前必须修复
中等优先级如果时间允许应该修复
最低等优先级可能会修复,但是也可能发布
严重性和优先级的划分用1~4表示
软件错误的状态
新信息NEW 测试中新报告的软件BUG
打开OPEN 被确认并分配给相关开发人员处理
修正FIX 开发人员已完成修正,等待测试人员验证
拒绝DECLINED 拒绝修改bug
延期DEFERRED 不在当前版本修复的错误,下一版本修复
关闭CLOSED bug已被修复
错误管理流程
测试人员提交新的错误入库,错误状态NEW
高级测试人员验证错误:如果确认是错误,分配给相应的开发人员,设置状态为OPEN。如果不是错误,则拒绝,设置为DECLINED
开发人员查询状态为OPEN的错误,并做如下处理:
1、如果不是错误,则关闭
2、如果是错误,则修复并状态为FIXED
3、 如果不能解决的错误,要留下文字说明并保持错误为OPEN
4、 对于不能解决和延期解决的错误,不能由开发人员自己解决,一般要通过某种会议(评审会)通过才能认可
测试人员查询状态为FIXED的错误,验证错误是否已经解决,做如下处理:
1、如果问题解决了,置状态为CLOSE
2、 如果问题没有解决,则置状态为REOPEN
错误流程管理原则
1、 每次对错误的处理都要保留处理信息,包括处理姓名、时间、方法、意见、BUG状态
2、为了保证错误处理的正确性,需要由丰富测试经验的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复
3、 拒绝或延期处理错误不能由程序元单方面决定,应该由项目经理、测试经理和设计经理共同决定
4、误修复后必须由报告错误的测试人员验证,确认已经修复后,才能关闭错误。
自动化测试
自动化测试的优势
1、提高测试质量
2、提高测试效率
3、 提高测试覆盖率
4、 执行手工测试不能完成的测试任务
5、 更好的重现软件缺陷能力
6、更好地利用资源
7、增进测试人员与开发人员之间的合作伙伴关系
应用场景:
1、 需要反复进性的工作
2、负载压力测试
3、公司有大量的测试人员和开发人员,合作完成一个产品,对产品的生命周期进性有效管理和合作
4、 如果需要进性测试系统后台或者内部的性能特性,进而进性故障定位和性能调优。
==============================================================================
自动化测试续
局限性:
1、 定制性项目
2、周期很短的项目
3、 业务规则复杂的对象
4、人体感官与易用性测试
5、 不稳定软件
6、 涉及物理交互
测试相关工具
负载压力测试工具:
为了度量应用系统的可扩展性和性能,是一种预测系统行为和性能的自动化测试工具。
LOADRUNNER、QALOAD、SILK、PERFORMAV、E-TESTSUITEQ
网路测试工具:包括网络故障定位工具、网络性能检测工具、网络仿真模拟工具等。
测试管理工具:用于对测试进性管理。TESTDIRECTOR、TESTMANGER、TRACKRECORD
测试辅助工具:工具不执行测试,为测试提供数据准备等。
功能测试工具:是用于检测应用程序是否能够达到预期的功能并正常运行,可以大大减少黑盒测试的工作量,在迭代开发的过程中,能够很好地进性回归测试
WINRUNNER QARUN
白盒测试工具:静态测试工具直接对代码进性分析,不需要运行代码,一般是对代码进性语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生产系统调用关系图。
LOGISCOPE、PRQA
动态测试工具一般采用“插桩”的方式,向代码生成的可执行文件中插入一些检测代码,用来统计程序运行时的数据。
DEVPARTNET、Rational Purify