鱼鳞病

首页 » 常识 » 问答 » 炮轰ldquo测试左移rdquo
TUhjnbcbe - 2021/5/10 21:58:00
白癜风早期什么症状 http://baidianfeng.39.net/a_bdfnzhm/141222/4541952.html
内容来源:领测软件测试网作者:领测老贺恰逢双十一,文末有惊喜为什么会有这么一个话题呢?很长一段时间,在软件测试领域,一直弥漫着一种悲观的氛围!比如“测试无用论”,“我们需要全职的QA吗”,“人工智能将取代测试工程师”,“测试工程师并没有办法为企业创造利益”等等。由于一些人或组织有心或无心地制造一些焦虑,让软件测试的从业者尤其是刚入行的软件测试工程师,对软件测试本身的意义,以及软件测试职业的发展、技术路径充满了疑虑!在此,作为一个从业20年以上的软件测试工程师,一个ISTQB国际软件测试工程师认证的专家级证书获得者,我想谈谈自己的认识和看法,希望能给软件测试从业者一些我觉得正确的软件测试理念和观点。

一、什么是“测试左移”

第一炮我们先从“测试左移”入手,谈一谈我对“测试左移”的看法。所谓的“测试左移”是什么?通过百度搜索,国内查到“测试左移”最早的描述起始于年底到年初。换句话说,“测试左移”是一个新概念。最初在谈到“测试左移”这个概念的时候,更多是指软件研发过程中的测试活动应尽早介入。图一测试左移上面这张图描述了测试左移的基本原理,即软件研发生命周期中的缺陷大部分是在编码过程中引入的,但这些缺陷通常是在编码之后才逐步地发现出来。如果在编码过程中发现和修复缺陷的成本是1X,那发布给用户后,则发现缺陷和修复的成本会增长为X。这就引出了:如果我们提早做测试工作即“测试左移”,则发现或修复缺陷的成本会显著地降低。这也就是“测试左移”的理论基础。如果你足够细心,就会发现这张网络流传的图还有个问题,即它默认缺陷的注入是从编码开始的,而真实的情况是只要有人开始参与了研发工作(如需求分析、设计等),就势必会开始注入缺陷,在这里我们就不累述了。需要注意的是,最早“测试左移”的概念是指测试工作要提前做,而不是特指测试工程师“左移”即全职测试工程师从编码阶段介入,这两者是有区别的!区别我们放到后面再阐述。“测试左移”虽然提出时间不长,但这是个新概念吗?软件工程领域最著名的模型毫无疑问是瀑布模型:大家所熟悉的软件工程瀑布模型(waterfallmodel)概念,起源于WinstonRoyce发表于年的著名文章"ManagingtheDevelopmentofLargeSoftwareSystems"(Proc.Westcon,IEEECSPress,,pp.-)。图二:瀑布模型在我看来,所谓的“测试左移”正是在弥补瀑布模型的不足,即不要让测试工作只成为交付前的最后且唯一的质量保障手段,应该往前提,需要贯穿于整个软件研发生命周期中。但请注意,瀑布模型是年提出的,距今已经有50多年了,这么大的一个问题,怎么会几年前才给出个答案?经典的V模型早把这件事情说完了!V模型是由PaulRook在年率先提出的,在年出现在英国国家计算中心的出版物中,它是对瀑布模型的一种改进。图三:V模型在这里我不想解释V模型,有兴趣的同学可以在网络上自行查询。我想说的是,测试工作从需求开始,贯穿于整个软件研发周期是40年前就提出来的,这压根就不是啥新概念,如果你最近才知道那是你的问题!那为什么近期换了个说法,又提出了“测试左移”?测试左移一词(shift-lefttesting)最早出现在ArthurHicken的博客里,在他的博客中提到了对测试左移的看法。图四:最早谈到“测试左移”原文
1
查看完整版本: 炮轰ldquo测试左移rdquo