软件测试策略和调试
作者:网络转载 发布时间:[ 2011/1/25 15:08:01 ] 推荐标签:
仅考虑被测单元的语句覆盖率并不是足够的。语句覆盖这是公司硬性的规定,但是不是除此以外我们不需要兼顾其他覆盖率了呢?不是!有很多错误不是通过达到一定的语句覆盖能发现的。我们还必须考虑一定的判定覆盖,条件覆盖甚至路径覆盖。一般来说要完全达到路径覆盖几乎是不可能的。但是我们可以考虑McCabe提出的圈路径或Z路径覆盖情况。
同时单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用。单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行维护。
在VV测试中有一个致命的弱点,也是它把测试的阶段划分的太明显。其实在实际开发过程中你无法在时间点上严格的结束任何一种测试,因此说单元测试什么时候结束是没有意义的,如果一定要划分,我们可以认为我们的工作重点有单元测试进入另一种测试的标准。
1.2.5 正规检视和代码走读
一般在单元测试期间,我们会同步启动一些测试活动,例如代码走读,正规检视,以进一步保证代码质量。
正规检视和代码走读属于同行评审中的两中评审类型,正规检视有严格的流程和纪律,发现错误的效率比较高,但工作量很大,一般一次正规检视的代码量不要超过500行代码。正规检视参与的人员来自于不同领域的人,可以从各个不同的角度去发现代码或文档中深层次的错误。
走读相对来说是比较自由的,没有严格的流程,参与人员一般都是来自于同项目组的人。走读的工作量相对来说是比较小的,一般用于寻找一些浅显的错误。同时走读也作为一种技术交流或理解代码和文档的手段。
单元测试的工作量介于走读和正规检视之间,单元测试是由开发人员完成的,通过设计测试用例来寻找代码中存在的错误。测试用例设计的好坏直接影响单元测试的结果。单元测试比较正规检视和走读的大不同是单元测试可以通过代码的运行来发现错误,而这是正规检视和走读做不到的。单元测试不可缺少,因为有很多错误只有在运行时才能发现得了。
在代码进行单元测试之前应当先进行代码走读和正规检视,它们的侧重点不同。CMM过程规范要求至少40%的代码必须经过正规检视。单元测试的代码+走读的代码+正规检视的代码 >= 总的代码。
总结:
单元测试是一种白盒测试
有数据显示,进行适当的单元测试可以发现一个程序中多达70%的缺陷。因此,越早启动单元测试,效果越好。
正规检视、代码走读和单元测试一起进行,可以起到良好的效果。
1.3 集成测试策略
集成测试策略是在测试对象分析的基础上,描述软件模块集成(组装)的方式、方法。
集成测试的基本策略比较多,分类比较杂,一般来说,可以按测试过程中组合模块的方式,分为增式、非增式和衍变式集成等策略。
(1)非增式集成方式: 也称整体组装。 首先对每个模块分别进行模块测试,然后再把所有模块组装在一起进行测试,终得到要求的软件系统。
(2)增殖式集成方式: 也称渐增式组装。 首先对一个个模块进行单元测试,然后将这些模块逐步组装成较大的系统,在组装的过程中, 边连接边测试,以发现连接过程中产生的问题,后通过增殖逐步组装成为要求的软件系统。 增殖式集成方式有三种实现方式: 自顶向下的增殖方式, 自底向上的增殖方式和混合增殖方式。
(3)衍变式集成方式:结合非增式集成方式和增殖式集成方式,包括,衍变的自顶向下的增殖测试,自底向上-自顶向下的增殖测试等。
总结:
集成测试关注的是模块间接口的正确性。
选择良好的集成方式能减少大量的测试工作量。
1.4 验证和确认测试(Verfication and Validation)
在广义上,软件测试是验证和确认VERFICATION AND VALIDATION (V?V〕。验证指保证软件正确地实现了一特定功能的一系列活动。确认是指保证所生产的软件可追溯到用户需求的一系列活动。BOEHM对V?V的解释是:
VEIFICATION:"Are we building the product right?"
VALIDATION:"Are we building the right product?"
V&V的定义包含了许多活动,即软件质量保证SQA。

sales@spasvo.com