软件工程第三次作业——关于软件质量保障初探
软件工程第三次作业——关于软件质量保障初探
一、在回答以下三个问题之前我需要搞清楚:软件的质量包括哪些方面;QA和Test的区别和关系;如何衡量软件工程的质量,CMMI。
1.软件的质量:课本中提到 软件=程序+软件工程,套用公式就是 软件的质量=程序的质量+软件工程的质量。
2.QA和Test的区别和关系:
(1)软件测试(Test):
运用一定的流程和工具,验证软件能实现预先设计的功能和特性,工作的流程和结果通常是可量化的。例如,测试用例、Bug、代码覆盖率、MTTF、软件效能的参数,等等。正因为流程和结果是明确定义的、可量化的,所以很多测试工作可以自动化。
(2)软件质量保障工作(QA):
软件团队为了让软件达到事先定义的质量标准而进行的所有活动,包括测试工作。
3.如何衡量软件工程的质量,CMMI:
软件工程的质量对最终软件的质量很关键,所以有一套较为成熟的理论CMMI(能力成熟度模型集成),运用此项目既可以降低项目的成本,又可以提高项目的质量和按期完成率。
注:CMMI分为五个等级,分别是:初始级、管理级、明确级、量化管理级、优化级。
二、了解了课本中的基础问题后,回答一下三个问题
问题一:对教材与参考资料阅读后关于软件质量保障你的体会是什么?
软件工程方面的质量就是与软件开发过程中的功能、成本、时间成正比,而其主要体现在软件开发的可见行、风险控制、项目中间阶段的交付质量以及项目管理工具的因素、成本和完成指标情况。我也通过查阅各种资料了解到,软件工程软件的方式作为重要组成部分的监测软件的生产任务,以反映产品质量管理提供客观资料和数据作为科学决策的相关依据,这样对软件质量的提高有非常好的帮助。很多国家将软件质量保证作为重要组成部分,并且提出非常多的方法对为企业规范软件质量保证,软件产业的发展起到了积极的作用。
问题二:如果你是一个项目的QA,那么你认为你的工作职责范围是什么?
我个人观点是作为一个项目的QA,我所涉及的工作职责也应该与Test相关联。因为制作一个项目是团队的合作应该了解到每个成员的工作内容和怎样去做的事情,在出现问题时能够及时去处理而不是把问题推脱给别人身上。QA就应该根据企业需要适当增加QA的职责,比如过程指导、过程度量和过程改进等。过程指导主要是项目前期辅助项目经理制定项目计划(包括辅助定义或修改项目过程和过程模型、协助项目估计、建立项目验收准则、设置质量目标等),对项目成员进行过程和规范的培训以及在过程中进行指导等.做到Dev要懂测试,QA要懂开发,只不过分工不同,既然你中有我,我中有你。
问题三:如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担责?
我的观点是两者都可以有,但是两者的关系是相互的,两个职位所涉及的工作要求要都熟知并且掌握其工作性能,只有这样在出现问题之后,不会说谁去承担这个问题的错误,而是在第一时间共同找方法去解决问题,只有团队的合作才能成事,一旦内部破裂就是整个项目被pass掉。