软件工程第三次作业

(1)对教材与参考资料阅读后关于软件质量保障你的体会是什么?(40分)

首先,软件=程序+软件工程,那么软件质量=程序质量+软件工程质量。

程序的质量体现在软件外在功能的质量。软件工程的质量则体现在以下方面:

软件开发过程的可见性、软件开发过程的风险控制、软件内部模块、中间阶段的交付质量,项目管理工具的因素、软件开发成本的控制和内部质量指标的完成情况。

软件工程的质量衡量方法则使用CMMI(能力成熟度模型集成)理论。CMMI分为五个等级,初始级、管理级、明确级、量化管理级和优化级。每个级别都是更高一级别的基石。

对于某些“无需独立测试人员”的极端言论,在绝大部分情况下并不适用。除非团队里都是天才或者项目非常小。

而有了独立测试人员之后,也要避免以下情况:

1、有专人负责之后其他人员对质量不负责;

2、盲目信任“专业人士”扮演的角色;

3、为了自己的角色而做绩效优化,导致局部最优但全局不是最优;

4、分工画地为牢,将一些不该分的工作分开;

5、分工责任不明确。

   (2)如果你是一个项目的QA,那么你认为你的工作职责范围是什么?(30分)

. QA必须懂开发
一个不懂开发的QA只能做黑盒测试,而有些bug往往是黑盒测试不出来的。

2.  QA必须了解需求
项目中,QA的参与从需求开始。一个不了解需求的qa必然不是一名合格的QA.

3.  QA必须了解项目的上下游的结构
一个不了解上游的QA, 必然无法确定dev对上游的调用是否可靠;
一个不了解下游的QA 必然无法确定项目的实现是否符合下游的调用场景,项目对下游影响的范围有多大。

4.    QA为整个项目的质量负责
QA在项目中不是为找bug而存在的。项目中找到的bug越多,只能说项目的质量越接近需求要求的质量,但并不能保证真正的质量。
如果一开始需求本身是有问题的,或上下游的衔接是有问题的,那么即便整个项目中没有bug, 那么上线后质量也是不合格的。
QA存在的价值不是来找更多地bug, 而是监督和保证从需求一直到项目上线的质量。也就是说,QA不是证明项目实现的错误性,而是确认实现的正确性。

(3)如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担责?(30分)

我认为项目中需要专职的QA,因为QA与Test并不是你存我亡的关系。

首先,我们要明确2个概念,软件测试:运用一定的流程和工具,验证软件能实现预先设计的功能和特性,工作的流程和结果通常是可量化。例如,测试用例、Bug

、代码覆盖率、MTTF、软件效能的参数,等等。正因为流程和结果是明确定义的、可量化的,很多测试工作可以自动化。

软件质量保障工作:软件团队为了软软件到达事先定义的质量标准而进行的所有活动,包括测试工作。

首先,分工是好事,所有人都可以参与QA的工作(报告Bug什么的)但是最后要有一个角色对QA这件事负责。如果程序质量出现了问题应该找程序员来负责,软件工程的质量出了问题就有QA来负责。

原文地址:https://www.cnblogs.com/LJTQ/p/11573163.html