软件测试为什么会失败
作者:网络转载 发布时间:[ 2012/1/30 10:26:39 ] 推荐标签:
摘要:下面的几个软件测试项目失败的案例,会给广大项目经理以警示。这些项目为什么会失败?分析原因也是为了避免自己失败。
案例1:A公司是一家从事网游点卡交易的互联网公司,去年年底我司做调研时发现一个问题:测试部门有近40人,独立于研发团队,团队成员分为自动化测试和手工测试两个小组,测试经理则是从IBM过来的,但据研发和测试人员反应,测试人员的地位非常低,自动化测试岗位形同虚设,没有起到任何作用,在互联网软件开发的过程中,测试人员的价值非常有限,测试员工的成感非常低,近一个月也有30%-40%的离职率,这个问题让负责测试部门的陈总非常头痛,一方面人员不太稳定,一方面软件质量的问题越来越多....
案例2:B公司是深圳一家医疗电子企业,公司有专业的软件测试部,独立向研发管理部汇报。经过我司的调研,B公司的软件测试流程已具备,专业的测试人员也有一批,但测试人员相对于开发人员普遍薪酬低,缺乏激励,加上公司领导层对研发过程质量不太关注,研发过程中测试不充分,导致许多致命的问题到客服现场才发现,后又把责任推到测试头上,测试人员不愿意承担责任,导致团队的测试效率非常低下,开发与测试之间相互推诿....
以上两个案例,是中国目前很多企业遇到的问题。软件究竟需不需要测试,软件的测试究竟怎么做?如何通过软件测试来保证产品质量?....在软件开发越来越占重要地位的,越来越多的领导层已认识到软件测试的重要性,但除了华为、中兴、腾讯等为数不多的几个公司做得好一点之外,很多企业都还在摸索,测试部门的价值在一个公司里往往成了争论的焦点,测试人员的地位也无法与开发人员抗衡。
笔者曾经分别任职于华为和阿里巴巴公司,也曾经服务过一些中小型软件公司,成功和失败的案例都有,总体来说,中国目前的软件测试体系还不成熟,很多公司试图做好软件测试,但由于在测试管理、测试技术、测试流程等方面缺乏高度的认识,往往导致测试失败,如测试人员的待遇问题、测试技术如何提升、自动化需要做到什么程度等等,测试为什么失败?根据笔者多年的测试管理经验,可以归结为以下三个方面:
1)缺乏测试组织的支撑。许多公司的测试组织仍然附属于开发部门,没有独立的测试环境,不能从公平、公正的角度指出软件存在的缺陷,并要求在限定的时间对软件的缺陷进行修复。国外较成熟的测试组织(如微软,Yahoo等),测试组织属于QA部门,而不是研发部门,这样更有利于保证产品质量。另一方面,许多公司对测试部门的定位是QC(质量控制)部门,而测试部门并没有控制质量的权利,而成了QC(质量检测)的角色,即在后一个环节对软件产品进行验证,这个时候为时已晚,产品质量的很多问题可能已无法测试出来。在华为公司,测试和开发是平等的,两个部门都是PDT(产品开发团队)的组成部分。如下图所示:
PDT是临时小组,在项目开始时成立,在产品成功发布后解散,PDT成员在概念阶段一起作整个项目的计划,PDT成员在执行阶段一起管理整个项目,测试人员和开发人员同时参与项目的整个过程。只有测试人员一开始进入产品开发团队,才能有效的保证产品质量,因此,建立独立于开发的测试体系是非常必要的。
2)缺乏测试流程的保障。很多公司建立了规范了开发流程,如CMMI或IPD等等,但软件测试往往成了短板,如开发的版本发布频繁,测试人员疲于奔命,测试人员缺乏质量检测标准,测试过程中的软件需求变更过快,没有测试结束标准等...这些都是缺乏规范的测试流程的表现。没有规范的测试流程,研发人员会经常会以此为借口,发布没有完善的软件版本,开发过程中不做版本规划,修改缺陷时经常返工...这些,都会增加测试人员的工作量,而作为开发的下游部门,测试人员很难去改变开发人员的这些不规范的行为,只能用大家公认的流程去约定大家的开发行为,如单元测试、集成测试、系统测试、验收测试的入口条件、中断条件、出口条件等。同时,在开发过程中,对开发人员和测试人员的行为进行约束,如开发修复缺陷后需要返工,要与绩效挂钩;测试人员漏测试致命或严重缺陷需要处罚等等。目前,业界较流行的开发流程采用V模型:
V模型的特点是:开发与测试紧密相连。在V模型中,从项目的需求分析、概要设计、详细设计到具体的编码编写。开发的每一个环节都和软件的测试紧密相扣,可以有效的保证产品质量。各个阶段测试的工作如下:
① 需求阶段主要活动是:测试工作从需求文档中,设计系统测试的用例,按照需求文档的功能划分,突出测试重点。完成系统测试的计划工作。
摘要:下面的几个软件测试项目失败的案例,会给广大项目经理以警示。这些项目为什么会失败?分析原因也是为了避免自己失败。
案例1:A公司是一家从事网游点卡交易的互联网公司,去年年底我司做调研时发现一个问题:测试部门有近40人,独立于研发团队,团队成员分为自动化测试和手工测试两个小组,测试经理则是从IBM过来的,但据研发和测试人员反应,测试人员的地位非常低,自动化测试岗位形同虚设,没有起到任何作用,在互联网软件开发的过程中,测试人员的价值非常有限,测试员工的成感非常低,近一个月也有30%-40%的离职率,这个问题让负责测试部门的陈总非常头痛,一方面人员不太稳定,一方面软件质量的问题越来越多....
案例2:B公司是深圳一家医疗电子企业,公司有专业的软件测试部,独立向研发管理部汇报。经过我司的调研,B公司的软件测试流程已具备,专业的测试人员也有一批,但测试人员相对于开发人员普遍薪酬低,缺乏激励,加上公司领导层对研发过程质量不太关注,研发过程中测试不充分,导致许多致命的问题到客服现场才发现,后又把责任推到测试头上,测试人员不愿意承担责任,导致团队的测试效率非常低下,开发与测试之间相互推诿....
以上两个案例,是中国目前很多企业遇到的问题。软件究竟需不需要测试,软件的测试究竟怎么做?如何通过软件测试来保证产品质量?....在软件开发越来越占重要地位的,越来越多的领导层已认识到软件测试的重要性,但除了华为、中兴、腾讯等为数不多的几个公司做得好一点之外,很多企业都还在摸索,测试部门的价值在一个公司里往往成了争论的焦点,测试人员的地位也无法与开发人员抗衡。
笔者曾经分别任职于华为和阿里巴巴公司,也曾经服务过一些中小型软件公司,成功和失败的案例都有,总体来说,中国目前的软件测试体系还不成熟,很多公司试图做好软件测试,但由于在测试管理、测试技术、测试流程等方面缺乏高度的认识,往往导致测试失败,如测试人员的待遇问题、测试技术如何提升、自动化需要做到什么程度等等,测试为什么失败?根据笔者多年的测试管理经验,可以归结为以下三个方面:
1)缺乏测试组织的支撑。许多公司的测试组织仍然附属于开发部门,没有独立的测试环境,不能从公平、公正的角度指出软件存在的缺陷,并要求在限定的时间对软件的缺陷进行修复。国外较成熟的测试组织(如微软,Yahoo等),测试组织属于QA部门,而不是研发部门,这样更有利于保证产品质量。另一方面,许多公司对测试部门的定位是QC(质量控制)部门,而测试部门并没有控制质量的权利,而成了QC(质量检测)的角色,即在后一个环节对软件产品进行验证,这个时候为时已晚,产品质量的很多问题可能已无法测试出来。在华为公司,测试和开发是平等的,两个部门都是PDT(产品开发团队)的组成部分。如下图所示:
PDT是临时小组,在项目开始时成立,在产品成功发布后解散,PDT成员在概念阶段一起作整个项目的计划,PDT成员在执行阶段一起管理整个项目,测试人员和开发人员同时参与项目的整个过程。只有测试人员一开始进入产品开发团队,才能有效的保证产品质量,因此,建立独立于开发的测试体系是非常必要的。
2)缺乏测试流程的保障。很多公司建立了规范了开发流程,如CMMI或IPD等等,但软件测试往往成了短板,如开发的版本发布频繁,测试人员疲于奔命,测试人员缺乏质量检测标准,测试过程中的软件需求变更过快,没有测试结束标准等...这些都是缺乏规范的测试流程的表现。没有规范的测试流程,研发人员会经常会以此为借口,发布没有完善的软件版本,开发过程中不做版本规划,修改缺陷时经常返工...这些,都会增加测试人员的工作量,而作为开发的下游部门,测试人员很难去改变开发人员的这些不规范的行为,只能用大家公认的流程去约定大家的开发行为,如单元测试、集成测试、系统测试、验收测试的入口条件、中断条件、出口条件等。同时,在开发过程中,对开发人员和测试人员的行为进行约束,如开发修复缺陷后需要返工,要与绩效挂钩;测试人员漏测试致命或严重缺陷需要处罚等等。目前,业界较流行的开发流程采用V模型:
V模型的特点是:开发与测试紧密相连。在V模型中,从项目的需求分析、概要设计、详细设计到具体的编码编写。开发的每一个环节都和软件的测试紧密相扣,可以有效的保证产品质量。各个阶段测试的工作如下:
① 需求阶段主要活动是:测试工作从需求文档中,设计系统测试的用例,按照需求文档的功能划分,突出测试重点。完成系统测试的计划工作。
相关推荐
最新发布
性能测试之测试环境搭建的方法
2020/7/21 15:39:32软件测试是从什么时候开始被企业所重视的呢?
2020/7/17 9:09:11Android自动化测试框架有哪些?有什么用途?
2020/7/17 9:03:50什么样的项目适合做自动化?自动化测试人员应具备怎样的能力?
2020/7/17 8:57:06几大市面主流性能测试工具测评
2020/7/17 8:52:11RPA机器人能够快速响应企业需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消灭吗?为什么?
2020/7/17 8:43:03软件测试基本概念是怎么来的?软件测试生命周期的形成历经了什么?
2020/7/16 9:11:10