软件质量挑战和实践建议

简介

软件开发和工程被视为非常年轻的职业;但是,它们得到了广泛应用,并且正以比以往更快的速度增长。在许多国家,软件行业目前通常被视为经济增长的主要支柱之一。软件公司常常面临着提供高质量软件的许多困难挑战,而他们也在竭尽所能地让客户满意。

软件质量不可或缺

随着软件变成日常生活中不可或缺的一部分,对软件的需求也明显增长。相应地,高软件质量目前被视为是 “必须具备的” 而不是 “应该具备的”。让质量保证团队从一开始就参与到项目规划和执行中,这一点至关重要。然而,仍然有一些公司认为软件质量只不过是测试人员在开发生命周期结束时执行的一项任务。

值得注意的是,软件市场充斥着各种选择,有众多免费、开源的软件存在。除此之外,客户和最终用户对他们购买的软件的质量越来越看重。具有糟糕性能或低质量用户体验的应用程序或企业系统将被淘汰,其他产品很容易取代它们的位置。现在,以前所未有的认真态度关注其产品的质量已成为软件公司的使命。

自始至终都要考虑软件质量

对于将软件 QA 浓缩到所有开发任务完成后的测试阶段的方法,它们的问题在于:会给团队带来巨大成本并将整个项目置于高风险之中。在测试阶段,开发人员竭尽全力确保他们的代码具有极少的缺陷。然后测试人员努力揭示软件中每个可能的缺陷,而经理和客户希望他们拥有适合向市场发布的软件。

问题在于:为什么许多软件公司会坚持促使开发团队满足严格的最后期限,完成尽可能多的功能,却毫不关心代码质量有多差,因而忽视了注入代码内的大量缺陷,犯下架构错误,以及忽略文档?

仓促的开发可能会为团队节省片刻的时间,但是,如果有一些重大开发问题没有从一开始就考虑到,最终可能导致需要投入更多的时间。结果是浪费了大量团队资源来修复和重新设计代码,而不是将这些资源投入到更有用的事情上。软件团队人员内心里对整个始末一目了然,但面对着唠叨的客户、严格的销售团队,以及一些自我感觉编写了无缺陷的软件的开发人员,软件团队确实很难将 QA 撇在一边而只顾着完成代码。

软件工程标准和它们的使用

值得一提的是,公司既不需要一定要遵守某种软件开发标准,也不需要有严格的流程。典型的软件开发生命周期 (SLDC) 有着各种不同的标准,比如 IEEE、ISO - 12207 或 CMMI。这些标准的目标是确保最终产品符合市场需求,达到最终用户的满意度。

事实上,每天都会许多软件应用程序、移动应用程序,甚至是完整的企业系统销售给各种不同的客户,这些应用程序可能并未使用任何标准来开发。但是,人们还是在购买它们。忽略标准与糟糕的软件质量和对最终产品的更少需求没有直接的关系(只要该软件不是对生命至关重要的软件,比如美国境内需要 FDA 批准和应遵守某种标准的医疗软件)。问题不是遵守标准。真正的问题在于忽略或减弱软件质量的重要性。

本文既不是说要遵守 SDLC 标准,也不是要拥有一个极好的开发和测试流程。首先,重要的是认识到质量是任何软件的一个重要组成部分。公司不一定需要高度专业的 QA 团队和实践,但至少必须接受这种文化本身和拥有相关的实践。

贯穿软件开发生命周期的软件质量实践

这一节提供的实践将对软件质量会产生积极影响,不会给开发团队创造太多负担或麻烦。在开发和测试实践中值得考虑它们。

需求审核

难道您不认为,浪费资源来交付错误的功能确实很可怕?在开始每个新开发阶段之前审核软件需求,这样做能够最大限度地减少缺陷并满足客户的需求。在实现之前审核需求,这样做有助于考虑潜在的变化,克服在项目的整个寿命中可能发生的误解。团队必须与客户一起反复检查所有应实现的业务领域细节。需求审核也可以使用原型和领域模型来完成。当开发团队在开始实际实现之前完成这个小任务时,他们的项目或开发迭代会获得良好的开局。通过确保在实现之前所有利益相关者都达成共识,并且每位团队成员都意见一致,客户和管理人员可确信开发人员将在开发周期结束时交付正确的成果。

代码审核和演练

听起来像很简单,但代码审核是软件开发中最有效的实践之一。它对减少缺陷数量(在错误进入软件之前在窗口中发现它)以及增强代码和软件设计的质量具有直接影响。这消除了在未来的版本中执行重大的代码重构和清理的需求。

依据项目需求和实现细节,团队可能认同简单的编码和设计原则。团队成员应共同遵守这些原则,而且只要开发一项新功能,一个或多个团队成员(除了作者)应审核新代码,并搜索所有编码或设计错误。

这种做法可在许多方面为团队带来帮助,包括提高代码质量和设计,最大限度地减少缺陷,并预防它们。另外,它还使得整个团队能够深入了解彼此的工作,轻松移交工作,并提高团队对不同软件组件和功能的认知。团队协作验证和证明代码的质量和设计的实现方法。它们从同事那里获得直接反馈。这么做可谓一举两得:代码质量增加了,团队的认知和项目责任也增加了。

时间: 2024-11-05 12:17:42

软件质量挑战和实践建议的相关文章

专访360医药大数据负责人侯晓锋:谈未来智能医疗的挑战及实践

1.请介绍一下自己和贵公司的业务? 360好药为奇虎360旗下医药电商平台,网站(www.360haoyao.com由广州市增城慈福药业连锁有限公司注册)致力于创造简单.方便.值得信赖的健康产品购物体验.为了捍卫健康事业,360好药连接医疗健康产业,并依托360强大的技术能力,为中国网民及医药行业提供可靠可信可行的医药电商服务.医疗信息服务及"互联网+"技术解决方案,建立产业服务体系,推动提升医疗资源利用效率,推动提升全民健康管理水平. 360好药提供的服务,不止范围广,更时刻深挖发展

云数据库加密及实践建议

  云数据库加密 一件事需要考虑加密数据的必要性.所有的数据库都具有限制访问的功能.某些合适的实现已经足以保护数据机密性. 其他需要通过加密来保护存储在数据库中的数据的因素有:对数据库的特权用户(如数据库管理员)隐藏数据;为了遵守法律法规,数据拥有者不能通过帐户来控制对数据的访问(如使用共享账户). 当使用云数据库,特别是用到了数据库的SaaS解决方案时,数据库的正常功能将会降低,迫使数据库或云应用能访问密钥,除非能在密文上操作. 数据加密会带来复杂度和性能上的成本.除了加密之外,还有一些别的有

10年老兵带你看尽MaxCompute大数据运算挑战与实践

本文根据阿里云大数据计算平台资深架构师林伟在大流量高并发互联网应用实践在线峰会上题为<MaxCompute大数据运算挑战与实践>的分享整理而成.分享中,他主要介绍了在大数据.大流量.高并发情况下MaxCompute所面临的挑战,以及应对这些挑战的实践经验. 直播视频:点击此处观看 幻灯片地址:点击此处下载 以下为在线分享观点整理. 什么是MaxCompute? 大数据计算服务(MaxCompute,原名ODPS)是一种快速.完全托管的PB/EB级数据仓库解决方案,具备万台服务器扩展能力和跨地域

余锋(褚霸):RDS数据通道的挑战和实践

9月13日,阿里云课堂第一期在北京准时开课,到场与会人员众多,现场气氛非常热烈.阿里云三位讲师为大家献上了精彩的演讲,参会者也纷纷积极参与现场互动,通过问答交流,收获颇丰.应广大用户要求,我们将云课堂讲师现场分享内容全文整理出来,供大家参考.阿里云课堂会继续在全国各地陆续开课,欢迎大家继续支持!   以下为讲师余锋(褚霸)的分享内容: 大家下午好,今天很高兴在这里跟大家分享一下RDS数据通道的挑战和实践.RDS大家都知道,是云产品三架马车之一.数据服务一般在整个生态链最底层的.RDS就是数据通道

向云迁移的最佳实践建议

首席技术官Chris Hewertson:"能够共享文档具有深远的意义.我无法想象我们之前是怎么开展工作的." 虽然一些IT领导者对于按需迁移仍持谨慎态度,但是其他主管却在以满腔热情拥抱云计算.Chris Hewertson就是这样一名技术负责人,它是酒店集团GLH的首席技术官,他在该企业组织负责推行以云计算为主导的业务转型. 三年前,该公司就开始启动IT变革计划.业务主管们想要这样的系统:随时可用.易于安装,对用户来说又简单直观.Hewertson表示,云计算自然成了支持业务变革和发

私有云安全挑战与实践

对于企业来说,从现有的IT管理体系过渡到私有云平台,大致经历了以下几个过程:数据大集中.业务系统整合.IT资源的虚拟化.管理平台的云化.应用和服务的集成提供.私有云为企业各个业务部门提供统一服务,不仅仅包括计算资源.存储资源.网络资源,还应该包括安全资源,如身份认证.病毒查杀.入侵检测.行为审计等,只分配了计算资源与存储资源的系统,对用户来讲,无异于"裸奔".在企业私有云环境里,不同业务系统的安全需求差异很大,那么在一个"云"内,为不同业务系统提供不同的安全策略,安

专访佰腾科技大数据团队,谈专利大数据领域的挑战与实践

11+大数据行业应用实践请见https://yq.aliyun.com/activity/156,同时这里还有流计算.机器学习.性能调优等技术实践.此外,通过Maxcompute及其配套产品,低廉的大数据分析仅需几步,详情访问https://www.aliyun.com/product/odps:更多精彩内容参见大数据频道:https://yq.aliyun.com/big-data . 江苏佰腾科技有限公司成立于2006年,是一家专业从事知识产权服务的高科技服务企业,国内知名的知识产权服务机构

赢得 Docker 挑战最佳实践

难怪Docker正在迅速发展.Docker,一个开源项目.仅仅两年,Docker价值近10亿美元,最近获得了9500万美元的资金.令人激动的是,我们看到有这么多开发者对这个项目的热情.然而,我将在下面讨论企业使用Docker本身是不够的. 现代IT问题 许多企业IT团队解决这两个问题:首先,开发者和运维者在优先级上并不能总是达成一致.企业必须应对的挑战将来自开发人员的代码和运维团队的代码切换.这两个团队之间的关系很难和谐相处. 第二,将代码从一个地方迁移到另一个可以是很困难的.因为你没有简单的方

关于SEO的几点实践建议

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 个人211.html">觉得,SEO一定要掌握以下几点要领: 1.网站域名要包含要优化的关键字,如:要优化茶叶,则在URL中最好包含chaye 或tea,这时URL成这种格式:tea.abc.com或http://www.abc.com/tea,而且,二级域名的效果会比后一种格式要好的多. 2.网站物理地址要面向潜在客户群,比