软件工程第三次作业——博文软件质量保障初探
软件工程第三次作业——关于软件质量保障初探
1、对教材与参考资料阅读后关于软件质量保障你的体会是什么?
在对教材与参考资料阅读后,首先,什么是软件质量?什么是软件质量保障?通过课本我们可以知道,国际标准组织对它的定义是:
“Capability of software product to satisfy stated and implied needs under specified conditions.”
还有:
"The degree to which a software product meets established requirements; however, quality depends on the degree to which those established requirements
accurately represent stakeholder needs, wants, and expectations."
这两个定义都强调了软件要符合用户以及利益相关者的需求。接着是软件质量保障的定义:软件团队为了让软件达到事先定义的质量标准而进行的所有活动,包括测试工作。
通过书本P304可以知道:软件=程序+软件工程 软件质量=程序质量+软件工程质量,而程序的质量体现在软件外在功能的质量。软件的开发过程主要有三个主要的特征:“好”、“快”、“便宜”。那么软件工程方面的质量就与“快”、“便宜”比较相关。一个团队可以靠一些特殊的方法来提高程序的质量。软件工程的质量可以体现在以下方面:(1)软件开发过程的可见性(2)软件开发过程的风险控制(3)软件内部模块,项目中间阶段的交付质量,项目管理工具的因素(4)软件开发成本的控制(5)内部质量指标的完成情况。
书中可知,软件工程的质量对最终软件质量有举足轻重的意义,为了衡量各个机构软件工程质量如何,有一套比较成熟的理论是CMMI。这个模型管理项目不仅降低了项目的成本而且还提高了项目的质量和按期完成率。所以,一个软件的质量和成本是软件质量保障比较重要的两个环节,如果能将这两个环节做好,软件质量保障基本上就能做好。
2、如果你是一个项目的QA,那么你认为你的工作职责范围是什么?
如果我是一个项目的QA,我认为我的工作职责有以下几个方面:
1、必须懂得开发
一个不懂开发的QA只能做黑盒测试,然而有一些bug是黑盒测试不出来的。
2、引入时机很重要
在整个软件生命周期内,QA应该在建立项目后立即介入。
3、软件质量的监控和实施
主要是通过质量审计或QA检查来实现。按照《QA检查单》中的检查要求对项目过程进行客观的质量审计或检查,验证软件项目与标准规范的一致性
4、QA要对整个项目的质量负责
QA不是为了找项目中的bug而存在的,虽然说找到的越多,项目的质量越接近需求要求的质量,但并不能保证最后的质量。所以QA要监督和保证从需求一直到项目上线的质量。
3、如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担责?
在阅读书本P312-P318后,如果我是一个项目经理,我认为我的项目里还是需要专职的QA的,但不仅仅是执行功能测试,测试应该跟进开发的每一个环节,了解系统实现,根据系统实现和需求,制定测试计划与用例。开发完成后,可以将用例分发到不同的开发,共同测试或交叉测试,跟进并分析bug,给出开发修复建议,项目完成后,构建自动化维护体系、测试过程的沉淀管理。书中P309-P310中,亚当·斯密认为,分工的起源是由于人的才能具有自然差异。书中最后的总结也说得很好,分工是社会和行业进化的结果。开发和测试其实是软件工程的两个分支。不同的软件和服务需要不同方式和程度的测试。一个项目一定要有QA和Test,缺一不可。如果一旦出现问题,我觉得项目所有成员都有责任,某部分出问题那部分的负责人负主要责任,其他人都是次要责任,要是每个环节都有问题,那每个人都得对这个问题负责。

浙公网安备 33010602011771号