《软件测试》[(美)Ron Patton]第十九章阅读总结

第19章 报告发现问题

一、设法修复软件缺陷

  • 不修复软件缺陷的原因:
    1)没有足够的时间
    2)不算真正的软件缺陷
    3)修复的风险太大
    4)不值得修复
    5)无效的软件缺陷修复报告
    :因为所有的软件开发模式不同和小组的不固定性,所以说出究竟怎样的修复/不修复决定过程适用于具体小组或项目是不可能的。软件测试提供描述软件缺陷的信息用于做出是否修复的决定。
  • 报告软件缺陷的基本原则:
    1)尽快报告软件缺陷:修复缺陷的风险随着时间的推移大大增加,而且在做决定过程中的分量不断加重。软件缺陷风险的越晚,越不可能被修复,特别是小缺陷。
    2)有效描述软件缺陷:短小(只解释事实和演示、描述软件缺陷必需的细节)、单一(每个报告只针对一个软件缺陷)、明显并通用(
    用许多复杂、迂回的步骤描述的软件缺陷的一个特例,得到修复的机会较小,而用易懂、简单易行的步骤描述的软件缺陷得到修复的机会较大)、可再现(软件缺陷报告必须展示其可再现性——按照预定步骤可以使软件达到缺陷再次出现的相同状况)
    3)在报告软件缺陷时不要做评价
    4)对软件缺陷报告跟踪到底

二、分离和再现软件缺陷

  • 要想有效报告软件缺陷,就需要以明显、通用和可再现的形式描述它。
  • 分离和再现软件缺陷是充分发挥侦探才干的地方,设法找出收缩问题的具体步骤。
  • 分离软件的第一步建议:
    1)不要想当然的接受任何假设。
    2)查找时间依赖和竞争条件的问题。
    3)边界条件软件缺陷、内存泄漏和数据移出等白盒问题可能会慢慢自己显露出来。
    4)状态缺陷仅在特定软件状态中显露出来。
    5)考虑资源依赖性和内存、网络、硬件共享的相互作用。
    6)不要忽视硬件。

三、并非所有软件缺陷生来就是平等的

  • 指出软件缺陷的影响的方法有:给软件缺陷划分严重性、优先级。
    1)严重性:表示软件缺陷的恶劣程度,当用户碰到该缺陷时影响的可能性和程度。
    2)优先级:表示修复缺陷的重要程度和紧迫程度。
    常用划分清单:
    1)严重性:系统崩溃、数据丢失、数据毁坏,安全性破坏;操作性错误、结果错误、功能遗漏;小问题、拼写错误、UI布局、罕见故障、故障。
    2)优先级:立即修复,组织了进一步测试;在产品发布之前必须修复;如果时间允许应该修复;可能会修复,但是即使有产品也能发布。
    常用划分严重性和优先级
  • 严重性和优先级对于审查缺陷报告并决定哪些软件缺陷应该修复,以何种顺序修复。
  • :软件缺陷的优先级在项目期间会发生变化。

四、软件缺陷的生命周期

  • 当软件缺陷首先被软件测试员发现时,被记录报告并指定给程序员修复(打开状态)。一旦程序员修复了代码,报告又指定回到测试员手中,软件缺陷进入解决状态,然后测试员执行验证测试,确认软件缺陷确实得以修复,如果是,就把他关掉,软件测试进入最后的关闭状态
  • 在许多情况下,软件缺陷生命周期的复杂程度仅为:软件缺陷被打开,解决和关闭。如果缺陷修复的过程不像预期一样顺利,软件缺陷的生命周期就很容易变得很复杂。
  • 通用的生命周期有两个附加状态:
    1)审查状态是指项目经理或委员会(变动控制委员会)决定软件缺陷是否应该修复。
    2)推迟。
  • 回归测试:由于软件测试员永不放弃,因此原来认为已经修复、测试和关闭的缺陷可能会再次出现。

五、软件缺陷跟踪系统

1、标准:测试事件报告
  • 目的:记录在需要调查的测试过程期间发生的任何事件。
  • 记录软件缺陷:
    1)标识符:定义软件缺陷报告的唯一ID。
    2)总结:用简明扼要的事实陈述总结软件缺陷。
    3)事件描述:日期时间、测试员姓名、使用的硬件和软件配置、输入、过程步骤、预期结果、实际结果、试图再现以及尝试的描述、有助于程序员定位软件缺陷和其他现象或信息。
    4)影响:严重性和优先级,以及测试计划、测试说明、 测试程序和测试用例的影响指示。
2、手工软件缺陷报告和跟踪

可以容纳表示和描述软件缺陷的必要信息。还包括用于在生命周期中跟踪软件缺陷的域。

3、自动化软件缺陷报告和跟踪

许多软件缺陷数据库不仅跟踪修复的备注,而且跟踪程序员修复软件缺陷时做了什么。代码行、模块、甚至错误类型也会记录,所以这常常为白盒测试员提供有用的信息。

小测验

1、说出软件缺陷可能不修复的几个原因。
进度中没有安排足够的时间,或不是软件缺陷,或修复风险太大不值得修复,以及软件缺陷没有正确报告。
2、哪些基本原则可能应用于软件缺陷报告,使软件缺陷获得最大的修复机会?
尽早记录。有效描述软件缺陷,确保其最小化、单一、明显、全面、可以再现。在进行过程中不掺杂个人看法。在软件缺陷的整个生命周期中跟踪报告。
3、描述分离和再现软件的一些技术。
记录所做的操作,并仔细审查。利用白盒测试技术寻找竞争条件、边界条件、内存泄漏和其他类似问题。看软件缺陷是否与状态相关,例如依赖初始状态或其后状态。考虑导致软件缺陷的资源依赖性,甚至硬件问题。
4、假设正在Windows计算器上执行测试,发现1+1=2,2+2=5,3+3=6,4+4=9,5+5=10,6+6=13。写一个软件缺陷标题和有效描述该问题的软件缺陷描述。
标题:偶数之间的加法得到的结果比实际值大1。
描述:
测试用例:简单加法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值