• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

追求代码质量: 软件架构的代码质量

发布: 2008-4-03 17:37 | 作者: Andrew Glover | 来源: IBM | 查看: 66次 | 进入软件测试论坛讨论

领测软件测试网


耦合与覆盖相加等于……

检查传出耦合的关系数据,并将其与代码覆盖相关联,会促进作出更明智的决策。例如,假设一个新的需求传达给开发团队。您可以将与该需求相关的更改精确到图 4 所示的 com.acme.ascp.util 包。而且,在以前几个版本中,依赖于 util 并且具有 0 抽象性的 dao 包具有很多高优先权的缺陷(非常可能是因为对这个包进行的开发人员测试太有限,有意思的是,最大的可能是由于代码中的高复杂性值引起的)。

在这种情况下,您的优势是了解 com.acme.ascp.utilcom.acme.ascp.dao 之间的关系。知道 dao 包依赖于 util 这一事实告诉您,为支持新需求而在 util 中进行的任何修改可能会对易出故障的 dao 包产生负面的影响!

看到这个链接将帮助进行风险评估,甚至帮助进行工作级别的分析。如果未注意到这个链接,您可能已经猜到将需要快速编码工作来支持新需求。如果已经看到这个链接,就可以分配适当的时间和资源来降低 dao 包中的间接损害。


监视依赖性

正像连续地监视传入耦合可以揭示架构设计中的熵一样,监视传出耦合也有助于发现不必要的依赖性。例如,在图 5 中,似乎在一些地方有人决定 com.acme.ascp.web 包要为 com.acme.ascp.user 提供内容。在 user 包中的某处,一个或多个对象正在实际从 web 包导入一个对象。


图 5. user 包中的传出耦合
user 包中的传出耦合

很明显,这并非架构设计最初意图。但是,由于您一直针对传出耦合而监视系统,所以可以轻松地重构并改正这些不一致。或许,web 包中有用的实用工具对象应该移动到实用工具包,以便其他包可以利用它而不会引起不必要的依赖性。


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

43/4<1234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网