软件工程第三次作业——关于软件质量保障初探
一.对教材与参考资料阅读后关于软件质量保障你的体会是什么?(40分)
1. 首先要先明确QA(软件质量保障工作)的含义:软件团队为了让软件达到事先定义的质量标准而进行的所有活动,包括测试工作。我在看书之前认为测试的作用就是保证质量。但是,测试员并不能完全保证产品的质量。因为,完好无缺的产品是无法达到最根本的目标的。测试员无法创造质量,他只能通过流程和工具的运用,验证软件可以实现预先设计的功能和特性。软件团队中的所有人都可以参与QA的工作,但是最后一定要有一个角色对QA这件事负责,并且在软件发布前拿到这个人的签名。之前课堂上PPT中那个例子就是最好的证明,软件发布后出现bug,但是却找不到相应的人前来承担这个责任,造成互相推诿的局面,使之损失严重。
2.那么什么样的软件质量才有所保障? 举个例子:比如4S店里卖的车,牌子有许多种比如:路虎、宝马、兰博基尼等等从质量方面分析既然他们都可以出厂,从根本上来说质量是具有保障的,但是为什么买家选择的各不相同呢?价钱是一方面,另一方面是顾客需求不一样。所以,软件质量主要强调的是软件要符合用户以及利益相关者的需求。换句话说软件在功能、成本、时间方面都需要满足利益相关者的需求。
3.读了材料我也比较认同作者的一个观点:真正优秀的开发团队是要吃自己的狗食的---软件开发人员在开发软件的同时,要进行需求分析、设计、编码、集成、测试、部署等。因为:只有当开发人员了解客户需求他才会做出可以信赖的软件。只有他们自己真正的去运行自己的系统,才知道怎么在程序中写日志,做监控等。毕竟只有当自己使用了自己的系统,自己才明白用户的反馈,以及用户的想法和用户的需求。开发人员本来就要测试自己写的软件,如果开发人员不懂测试,那就不是一个专业的开发人员。所以我在很大程度上认为QA的作用微乎其微。
二.如果你是一个项目的QA,那么你认为你的工作职责范围是什么?(30分)
1.负责开展公司项目的软件质量保证工作;
2.制定项目的质量保证计划,并按计划实施 QA 活动,定期报告项目情况;
3.推动项目开发过程中可靠性活动的开展,确保交付产品运行稳定、可靠;
4.指导开发项目设计转移和生产导入活动的开展,确保研发和生产的顺利衔接;
5.对产品的修改过程进行监控和指导,确保修改过程可控,质量可靠;
6.从上述活动中提取流程改进要求,推动过程的持续改进;
7.参与内审,发现体系改进点;
8.参与软件测试,文档编写。
9.满足顾客要求提供信任,使顾客确信我提供的产品能够满足他的需求.
三.如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担责?(30分)
如果我是一个项目经理,我认为我的项目中不需要有专门的QA。原因如下:
1.QA首先不了解程序,这样会浪费许多时间,也可能会产生QA与Test沟通上面的问题,也会造成无效测试。
2.我认为程序开发人员做Test是最好的,因为没有人比她更了解这个程序的功能要点。
3.真正优秀的开发团队是要吃自己的狗食的---软件开发人员在开发软件的同时,要进行需求分析、设计、编码、集成、测试、部署等。因为:只有当开发人员了解客户需求他才会做出可以信赖的软件。只有他们自己真正的去运行自己的系统,才知道怎么在程序中写日志,做监控等。毕竟只有当自己使用了自己的系统,自己才明白用户的反馈,以及用户的想法和用户的需求。开发人员本来就要测试自己写的软件,如果开发人员不懂测试,那就不是一个专业的开发人员。所以我在很大程度上认为QA的作用微乎其微。
4.由于一个软件会由多个人共同开发完成,所以每个人只需要负责自己部分的代码,如果哪部分测试出现问题,那这个人有着不可推脱的责任,这样也会解决互相推诿的问题。