回归测试策略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
回归测试策略
回归测试包的选择
在软件⽣命周期中,即使⼀个得到良好维护的测试⽤例库也可能变得相当⼤,这使每次回归测试都重新运⾏完整的测试变得不切实际。
⼀个完全的回归测试包括每个基线测试⽤例,时间和成本约束可能阻碍运⾏这样⼀个测试,有时测试组不得不选择⼀个缩减的回归测试来完成回归测试。
回归测试的价值在于它是⼀个能够检测到回归错误的受控过程。
当测试组选择缩减的回归测试时,有可能删除了将揭⽰回归错误的测试⽤例,消除了发现回归错误的机会。
然⽽,如果采⽤了代码相依性分析等安全的缩减技术,就可以决定哪些测试⽤例可以被删除⽽不会让回归测试的意图遭到破坏。
选择回归测试策略应该兼顾效率和有效性两个⽅⾯。
常⽤的选择回归测试的⽅式包括:
(1)、再测试全部⽤例
选择基线测试⽤例库中的全部测试⽤例组成回归测试包,这是⼀种⽐较安全的⽅法,再测试全部⽤例具有最低的遗漏回归错误的风险,但测试成本最⾼。
全部再测试⼏乎可以应⽤到任何情况下,基本上不需要进⾏分析和重新开发,但是,随着开发⼯作的进展,测试⽤例不断增多,重复原先所有的测试将带来很⼤的⼯作量,往往超出了我们的预算和进度。
(2)、基于风险选择测试——这是我们⽐较推荐的⼀种⽅式,兼顾了时间和质量。
我们选择的重要关键⽤例的标准就是checklist中提到的重要⽤例。
可以基于⼀定的风险标准来从基线测试⽤例库中选择回归测试包。
⾸先运⾏最重要的、关键的和可疑的测试,⽽跳过那些⾮关键的、优先级别低的或者⾼稳定的测试⽤例,这些⽤例即便可能测试到缺陷,这些缺陷的严重性也仅有三级或四级。
⼀般⽽⾔,测试从主要特征到次要特征。
(3)、再测试修改的部分
当测试者对修改的局部化有⾜够的信⼼时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和它的接⼝上。
通常,⼀个回归错误⼀定涉及⼀个新的、修改的或删除的代码段。
在允许的条件下,回归测试尽可能覆盖受到影响的部分。
(4)、基于操作剖⾯选择测试
如果基线测试⽤例库的测试⽤例是基于软件操作剖⾯开发的,测试⽤例的分布情况反映了系统的实际使⽤情况。
回归测试所使⽤的测试⽤例个数可以由测试预算确定,回归测试可以优先选择那些针对最重要或最频繁使⽤功能的测试⽤例,释放和缓解最⾼级别的风险,有助于尽早发现那些对可靠性有最⼤影响的故障。
这种⽅法可以在⼀个给定的预算下最有效的提⾼系统可靠性,但实施起来有⼀定的难度。
再测试全部⽤例的策略是最安全的策略,但已经运⾏过许多次的回归测试不太可能揭⽰新的错误,⽽且很多时候,由于时间、⼈员、设备和经费的原因,不允许选择再测试全部⽤例的回归测试策略,此时,可以选择适当的策略进⾏缩减的回归测试。
测试过程
有了测试⽤例库的维护⽅法和回归测试包的选择策略,回归测试可遵循下述基本过程进⾏:
(1). 识别出软件中被修改的部分;
(2). 从原基线测试⽤例库T中,排除所有不再适⽤的测试⽤例,确定那些对新的软件版本
依然有效的测试⽤例,其结果是建⽴⼀个新的基线测试⽤例库T1。
(3). 依据⼀定的策略从T1中选择测试⽤例测试被修改的软件。
(4). 如果必要,⽣成新的测试⽤例集T2,⽤于测试T1⽆法充分测试的软件部分。
(5). ⽤T2执⾏修改后的软件。
第(2)和第(3)步测试验证修改是否破坏了现有的功能,第(4)和第(5)步测试验证修改⼯作本⾝。