什么是软件质量?

一说到软件质量,很容易想到软件缺陷。因此,缺陷少就潜移默化地成为了高质量软件的代名词。但这种认识是片面的。

从用户角度来看

  • defect 和 bug 的数量越少以为着质量越好

从开发的角度来看

  • 整体架构设计易于扩展
  • 模块之间耦合性低,易于复用
  • 代码简洁易懂,易于维护

之所以将软件质量分成两个级别,是因为设计质量的外部不可见性。如果我们只从用户级别来考察软件质量,就会忽略设计质量的重要性,也就只局限在“只要功能正常就是好软件”这一认识范围内。

如何提高软件质量?

主导设计一旦确立了以后,产品的质量水准就基本确定了。尽管验证阶段对于产品质量很重要,但是验证工作做得再好也不能从本质上改变软件产品的质量水准了。

那么,问题来了。我们如何保证软件质量呢?

  • 编码前,架构设计质量必须得到保证
  • 编码时,代码质量必须得到保证
  • 编码后,测试质量必须得到保证

这里写图片描述

事先进行架构设计可以时软件往更加模块化,并且设计好特定的接口。会软件的扩展性和可维护性更加好。

如何保证设计质量?很容易让人想到通过开发流程和认证,比如敏捷软件开发方法、CMMI认证等。其实认证的本质还是流程。
但是,高设计质量是不能简单地通过流程而获得的,因为流程所控制的游行的因素,而软件设计过程很多内容是悟性的。由于软件设计中艺术成分的非直观性,造成设计质量不易被量化以便加以评估。

为测试正名

在需求分析结束后,测试人员就需要接入项目
- 根据需求分析进行功能测试用例的设计
- 根据架构设计进行模块测试用例的设计
- 根据产品标准进行压力测试用例的设计
- …

一个注重产品质量的公司,就越注重测试。因为多数BUG是由测试人员进行各种测试,得到的。但是并不是说可以完全吧所有BUG消除。

开发中的常见问题和偏见

  • 测试时替罪羊或救命稻草
  • 但凡出现BUG,就是测试不给力
  • 资源永远不足
  • 现在没有时间和精力去做重构
  • 不改变就可以规避风险
  • 虽然有缺陷,但是功能不受影响,不做改变。

如何提高自身的软件设计能力?

  • 对架构的完美性有精神上的追求,不满足功能正确
  • 积极思考方案,不停烦死是否能做得更好
  • 勇于实践与模仿,进而形成自己的风格和思想
  • 推敲前辈们的经典设计,尝试用于自己的项目
  • 总结设计原则,体会各个设计原则的内涵
  • 软件设计不是原则的叠加,而是一个平衡利弊的过程。
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值