软件工程第三次作业——关于软件质量保障初探
(1)对教材与参考资料阅读后关于软件质量保障你的体会是什么?(40分)
通过通读教材以及对邹欣老师以及其他专家学者著作的拜读与思索,我深有感触。
①从其基本含义方面分析而言,软件质量(Software quality),其含义是指“软件与明确的和隐含的定义的需求相一致的程度”。其衡量的基础标准是软件需求,简而言之,就是用户期望值与软件实际所能实现的标准碰撞得出的火花。
②软件质量并不是泛泛而谈的,它随着用户的潜在需求以及应用的不同而有所差异。软件质量所要实现的标准来源于用户,最终也服务于用户,确保软件的质量以确保客户所要求的系统是可行的;确保客户指定的需求确实能够满足他的真正要求;避免开发者和客户之间的误解;从而向用户提供为满足他所提出的需求而实际构建的适当软件系统。
③结合书本关于软件质量因素的定义以及对相关参考资料的解读,我认为软件质量的影响因素应该从其正确性、健壮性、效率、完整性、风险、可用性、可维修性、可理解性、灵活性、可测试性、可移植性、可再用性、互运行性等几个重要的方面考虑。这些因素相互制约相互影响,使得确保软件能够在自身做到正确合理的同时,达到用户所要求的预想值,在有限的时间内创造出最大的价值,从而确保软件质量达到预期标准。

因此,我认为软件质量就像食品加工行业之中的质检工作一样,起着重中之重的作用,无论何时,都是每一个合格的软件工程师所要研读,牢记于心并且要践行的。
(2)如果你是一个项目的QA,那么你认为你的工作职责范围是什么?(30分)
QA(QUALITY ASSURANCE),“质量保证”,其在ISO8402:1994中的定义是“为了提供足够的信任表明实体能够满足质量要求,而在质量管理体系中实施并根据需要进行证实的全部有计划和有系统的活动”。
①从大环境来看,目前许多公司都面临着QA工作效率低下的现状,如果我身为某公司的QA,我认为首先我要做的就是提高自身的修养,提高自身技术水准,熟悉软件开发技术,确保完成日常的软件测试工作,然而,这仅仅是冰山一角,如果仅仅是测试,很难使自己获得更大的建树。
②因此对任何线上的问题应该全权负责,如果出了问题应该配合Dev解决,而不是全依靠Dev,因此在测试一个项目之前应该和Dev多多沟通,了解软件开发和设计的细节,这就需要我付出比普通QA更多的辛勤与努力。使自己更接近于过程实施的环境,更加了解过程运行的情况,认真负责全过程质量事故的处理,面对突发情况,做到从容不迫,合理分析,采取应急措施。

③熟悉洞察测试的环境,配置的全过程,‘“如果你不能切身体会到自己干的烂事,自己的痛苦,你就不会有想要去改进的动机。没有痛苦,就不会真正地去思考,没有真正的思考,就没有真正的进步。”我认为学者这句话不仅仅针对Dev,是我作为一个专职QA所必需要思考并且践行的。仅仅是测试,按部就班的完成日常工作,始终止步于此。我要在完成本质工作的前提下,学会尝试完成软件编写的设计,编程,测试等等全过程,利用空闲时间与Dev沟通,寻求更好的实现方案,寻求利益的最大化。

④了解开发实现,既要懂产品,又要懂技术。没有一个项目是完美无缺的,我要努力做到发现问题的所在,从而解决问题。软件工程所要实现的是创造足够好的软件,我要在日常工作中收集、统计、分析度量数据,在最短的时间内找出并修复程序的漏洞,工作没有完全的界限,最终目的都是为了实现公司利益,身为一名QA,我应该尽可能创造出最大的价值,加强团队合作。筑起一道围墙,为软件质量(Software quality)。
(3)如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担责?(30分)
①如果我是一个项目经理,我认为在我的项目完成的始终和全过程专职的QA是不可或缺的组成部分。最基本而言,专职QA的职责是QA是质量管理职位,专门的质量管理部的基本组成人员。在项目开发过程,会由QA进行全程的监督,查看是否按照CMMI的标准进行软件开发。文档是否齐备,开发基线是否明确,是否存在风险,BUG的削减是否能够完成目标之类的。QA可以协助评审和组织会议;在存在外包的情况下,可能需要QA在监控外包方方面发挥作用。如果没有专职QA,软件创建过程的方方面面仅仅依靠Dev,不仅仅会提高Dev的负荷,对于项目的实现也不现实。项目完成的效率也会下降,长久来看差距更加明显。
②QA和Dev应该各司其职的同时互相学习进步,面对突发问题和潜在问题应该多多研讨,如果一旦出现问题,任何一方都不能撇清责任,甚至相互推诿,公说公有理婆说婆有理,不但不利于问题的解决,而且会导致工期的延迟,使公司蒙受难以估量的损失。问题不应该全部归咎于个人,一个问题甚至是BUG的出现,是团队成员共同运作的结果。作为一个项目经理,我能做的是统筹协调各部门工作,不能把任务量全部加到Dev的肩上,包括分析,设计,编码,测试各个阶段都需要团队以及各部门统筹兼顾,我会多多指导QA部门,必须引导他们树立正确的价值观,明确自己的职责所在和职业道德素养,共同实现公司效益的突破。
只有如此,公司才会朝着进步的方向大步迈进。
浙公网安备 33010602011771号