软件工程第三次作业——博文软件质量保障初探
(1)对教材与参考资料阅读后关于软件质量保障你的体会是什么?
对教材与参考资料阅读后,关于软件质量保障我认为这虽然是一个整体的概念,但是在实施过程中可以分成软件质量和软件保障两个部分。什么是软件质量,概括地说,软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。更具体地说,软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。当然,这只是对软件质量的定义,在团队开发软件的过程中还有对于软件质量的具体细节;比如,在团队开发软件时对软件最终结果的预期以及在开发过程中对用户需求的分析和在代码中对具体需求的实现,同时也包括在实际编写的过程中遇到的具体问题。
软件保障中包含了很多方面,但是本章具体讨论了关于质量保障,质量的保障要始终贯穿在整个开发过程中,软件的开发人员应该依靠适当的技术方法和工具形成高质量的软件设计,这只是提高软件质量的一种方法,我们还可以从用户的反馈来提高软件质量,用户对软件提出的建议以及用户还有哪些实际需求都可以作为提高软件质量的搜集渠道。
• 软件=程序+软件工程
• 软件质量=程序质量+软件工程质量
(2)如果你是一个项目的QA,那么你认为你的工作职责范围是什么?
①软件开发过程的风险控制
②软件测试
③控制开发成本在预期范围
④安排好开发工程中各流程
⑤分析用户需求
⑥评审(需求复审、Spec复审、代码复审)
⑦弄清楚项目特点、人员特点进行合理资源分配
⑧在整个开发过程中起到推进作用
⑨实现软件预期目标
⑩内部质量指标完成情况
(3)如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担责?
如果我是项目经理我认为我的项目中需要专职QA,QA可以在整个项目开发过程中跟随开发进度,了解项目具体实现的功能,甚至需要知道具体每个文件都实现了什么功能,从而对项目流程实现合理安排;QA也可以对客户需求、Spec、代码进行复审,减少错误发生率,从而保障项目在预期时间内完成;如果软件测试过程中出现问题由于全程跟随项目,QA也可以在最短的时间找到该部分的负责人对某个部分进行更改。
如果一旦出现问题,QA可以根据具体的问题,进行简要分析找到该部分的负责人,可以有效减少开发人员之间互相推诿责任的现象发生