zoukankan      html  css  js  c++  java
  • 软件质量保障初探

    Q: 对教材与参考资料阅读后关于软件质量保障你的体会是什么?

    A: 一个软件质量的如何,可以通过套用下面这个公式来:

    软件质量=程序质量+软件工程质量

    在衡量一个软件的质量如何的同时,就需要进行两项工作——软件的质量保障(QA)和软件测试(Test)。那么QA和Test是啥呢?

    Test:运用一定的流程和工具,验证软件能实现预先设计的功能和特性,工作的流程和结果是可量化的。

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

    然而,当前的IT业界经常混用QA和Test这两个名词,很多团队的QA/Test工作是在较低水平上重复。这引发了一些相关的讨论。

    1. 测试的角色(Test)要独立出来吗?
    2. 独立出来的测试角色怎么才能发挥作用?
    3. 有些成功认识或公司认为独立的测试角色不应该存在,你怎么看?

    以上是教材中摘出来的内容。

    我觉得,之所以会出现上面的这些问题,很大程度上是因为QA/Test的能力跟Dev不在一个水平上,由此大部分团队的QA/Test工作是在做一些重复工作。

    在这里我就只说Dev跟QA之间的矛盾(纯粹未经世事的小白菜看法)。

    一方面,QA说Dev不懂测试;另一方面,Dev说QA不懂技术。最好的办法,我觉得不应该是去掉专职的QA,专职QA应该存在,只不过应该掌握基本的编程能力;于此同时,一个合格的Dev也应该掌握必要的测试能力。两者各司其职,术业有专攻。这样,在遇到问题的时候,也不会出现Dev不懂测试,QA不懂技术的情况了。

    可能我的这个观点,在实际操作中太虚了,但是,我觉得,作为一个合格的IT行业的工作者,我们最不应该缺乏的就是学习的能力。

    一些与开发相关的东西,一个IT人员,应该主动自觉地去学习,而不应该出现,遇到问题,不懂的情况。不懂就学,如果不会学,那何必来做IT。

    就像现在计算机行业有一个经常说到的职业——全栈工程师。其实,这只是一个头衔,之所以叫全栈,是一名有追求的工程师在自己职位上对自己的要求。他不需要是各种技术的资深专家,但是他需要熟悉到各种技术。

    对于一个团队特别是互联网企业来说,有一个全局思维的人非常非常重要。

    对于QA来说,他是软件质量保障的专业人员,但他也应该有大局意识,与自己相关的东西,要主动去学习。


    Q: 如果你是一个项目的QA,那么你认为你的工作职责范围是什么?
    A:

    1. 保证和提高产品质量
    2. 组织标准过程和项目已定义过程
    3. 评审和审计
    4. 发现和提出过程存在的问题
    5. 不断学习,提升自己的能力,以及全局思维意识

    Q: 如果你是一个项目经理,那么你认为在你的项目中需要专职的QA(quality assurance,即质量保障)吗?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担负责任?

    **A: ** 需要。

    就像前面说的,QA是在较低水平重复,如果QA自己具有一定的编程基础的话,根据自己的需要开发一些自动化工具,那么不就免去了好多的重复动作了吗?另外,QA跟Test的职责范围是不一样的。Test是对软件开发过程进行监督管理、控制,Test伴随整个软件开发周期,测试开发同步进行,这样有利于尽早发现问题。

    如果项目出现了问题,我觉得书中一句话用在这里比较好——各司其职,对项目共同负责(Establish clear accountability and shared responsibility),毕竟最终的目的是让项目尽快上线,满足客户需求。


  • 相关阅读:
    linux下tomcat权限的问题
    树莓派安装Tomcat服务器
    Javascript基础——Object对象和Object原型对象
    electron
    ES6-21:编程风格、ECMAScript规格
    番外篇01:angularJS最佳实战
    ES6-18:class类及其继承
    ES6-10:Promise
    ES6-09:新增API—Proxy、Reflect
    ES6-08:新增数据结构—Set、WeakSet、Map、weakMap
  • 原文地址:https://www.cnblogs.com/meethigher/p/11565040.html
Copyright © 2011-2022 走看看