一、对教材与参考资料阅读后的体会
1.软件质量=程序质量+软件工程质量 这是邹老师给出的公式,同时提出软件开发的三个主要特性:好,快,便宜。”好“于程序的功能方面的质量有关,我认为这与程序员或开发团队的水平有关。”快,便宜“我认为取决于个人领导者,团队或个公司情况来决定。
2.关于软件工程的质量,邹老师说是体现在:软件开发过程的可见性;软件开发过程中的风险控制;软件内部模块,项目中间阶段的额交付质量,项目管理工具的因素;我认为这些是从某软件刚开始设计开发时就可以说是确定了。我如果在软件开发的初始没有选择或控制某些因素,那么在之后的开发过程中即使有了,效果也会不大如意,工作量也不会多小。而这些我认为都是由团队领导者,个公司情况,或团队成员的平均素质水平而决定。
3.质量的成本:预防;评审;内部故障;外部故障;流程分析改进;提高职业技能;技术投资;
4:质量的保障工作:就是本章中核心讨论的T软件测试Test和软件质量保障工作QA;
二、如果我是一个项目的QA,我认为我的工作职责范围
无他,就是对项目做各类测试,就是确保项目的质量在上线之前要达到目标。但,我认为我若是一个QA,我需要了解本项目开发有关的设计和实现,甚至说项目中一些开发细节需要了解。
我认为我不应该是和开发团队毫无联系的,或者说和一个Dev都没有过相关联系。因为项目和项目是不同的,哪怕是一个类的项目,公司情况不同,用户需求不同,着重点或亮点技术不同,开发团队风格等等任何一个点都会导致项目的不同。如果你完全脱离开发团队,你怎么去发现真正的bug,怎么去写测试?甚至你连个环境设置都解决不了。
所以我的观点是我若是QA,那么,我必须是某个开发团队中的QA,若是独立的,我必须于开发团队有着联系,不能脱离项目的开发组。
三、如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担责?
如果我是一个项目经理,我认为我的项目中不需要专职的QA,如果非要有只能是开发团队中,选择分工较轻的兼职。
我若是项目经理,我的开发团队必须每个开发人员都能对自己写出的代码做简单的测试并在每日的工作结束之前,对自己的负责区域及测试结果标注日期和姓名,在在每个阶段由团队中骨干人员组成小组,做整体上的测试,归纳,总结,签字后团队进行修改。担责则由谁签字谁负责。个体模块谁书写,谁了解,谁修改,谁负责。(个体程序员)整体上谁测试,谁归纳,谁总结,谁负责(骨干小组)。
这样的好处在于,不是自己写的模块,再了解也需要阅读及思考的时间,也无法设身处地的想怎么去避免bug;骨干人员组成小组,不再立足于单个项目模块,而是把眼光放在整体,能够从整体上发现问题,找出问题,解决问题。再通过项目经理总领,项目再上线前,无论是从外部传来各种需求或者问题,还是内部出现各种bug都能够由最了解的人最快找出问题从最根本的单个模块到整体性上的质量都会得到最好的解决。在这其中,每个团队成员都是一个小小的QA,骨干小组也可以看作是整个项目的QA。