美文网首页软件测试测试员的那点事
您所不了解的软件测试的发展阶段!

您所不了解的软件测试的发展阶段!

作者: JAVA伯乐 | 来源:发表于2019-05-08 21:13 被阅读1次

20世纪上叶的某,我们的超级美女程序猿“葛丽丝·霍波”在超级计算机的大house秘密的进行一项为军事系统开发调试时,发现程序未能按照自己的设想给出预期的结果,经过了辛苦的排查,发现有只飞蛾被夹扁在继电器触点中间,这只飞蛾是引起后续行业巨变的那一只“飞蛾”。从此BUG诞生,预示着软件测试大潮的到来。

  在美丽的“葛丽丝·霍波”发现第一只飞蛾之后,为了避免另外一只飞蛾进入到计算机内部进行约会,后面再程序正式的交付之后,开始了程序的调试工作,这是软件测试的前身。这个时期软件测试是为了证明程序是正确的而存在。

  1972年在北卡罗来纳大学举行了首届软件测试正式会议。软件测试从此刻起正式作为一项工作而独立出来。而针对后续的发展,这里不在罗列,如有兴趣的朋友,可以看下另外的一篇文章。关于软件测试历程的说明。

  从软件测试的发展历程和近几年的发展趋势,可以看看到软件测试正在向系统化,统一化,智能化方向去发现,个人根据个人对软件测试行业的理解(参考其他资料),将软件测试的发展历程归纳为以下五个阶段:个人英雄阶段、团队配合阶段、过程成熟度阶段、智能化测试阶段、以及第五个阶段“无”。

  个人英雄阶段

  在软件工程之前,软件规模较小,开发&测试人员独立完成软件的编写和测试工作,此时测试人员可能是直接有开发人员担任,此时主要已调试+运行测试为主,手工测试阶段,此时的测试过程较为混乱,往往是开发完成一个软件后,交给测试人员进行测试,测试拿到软件后,根据自己的理解和个人的工作经验对软件进行检查,而终的目标是发现缺陷,所以这个时期的软件测试的质量一般是看个人发现的缺陷数,但是对软件的整体质量是没有办法进行衡量的。

  团队配合

  随着软件工程的提出和软件系统的复杂度的提升,软件内部逻辑越来越复杂,软件代码行也程指数级增加,这个时候如果再有程序员兼职进行软件测试,明显会出现纰漏,所以这个阶段开始,软件测试由专业的测试人员来担任,测试人员需要更强的罗辑思维能力,更敏锐的洞察力,更深的行业知识,更广的业务知识。从这里开始,软件测试正式作为一个单独的行业从软件工程里面区分开来,软件测试也随着各种实践而发扬光大。

  随着系统复杂度的提升,每个人对系统的质量都没有十足的把握,而且缺陷一定会存在系统中,所以这个阶段的测试,主要是证实软件做了该作的事情,不做不该做的事情,给团队以信心。而随着团队的扩大,测试也成立独立的团队,这个时候,如何面对复杂的系统,保障系统的质量,而成为团队难题,而不在是某个人的事情,这个时候,测试的问题上升到了团队问题,为了解决该问题,从软件工程出发,按照工程化的基本思想,按照行业CMMI标准进行分工协作,同时为了更好的节约人力而开始使用自动化,采用自动化回归方式,并将各个过程中的数据进行记录和分析,尝试使用数据的方式对软件系统进行评估。目前绝大多数的公司处于该阶段。

  成熟度全过程控制阶段

  该阶段是团队配合阶段后续的继续发展的阶段,是项目工程更深入发展的阶段,也是目前的阶段一部分测试前言所在的阶段,该阶段软件工程更是爆炸式的增加,各种第三方组件、第三方系统的集成,让系统的复杂度更一步提升,在自有软件还为清楚的条件下,又加入第三方系统或软件,这种情况下,复杂度可想而知,对质量的要求,对测试人员的要求更高。

  该阶段为了更好的控制,而主导全过程的控制,而且根据测试的特点,使用到特定的测试过程管理规范,使用现有的TMMi/TPI体系或者后续更适合的体系进行全面的过程管理和控制,试图通过过程的全管理,讲所有的问题都扼杀在摇篮中。为了达到该目的,这个阶段,更为专业的工具随即而出,有代码扫描工具,有性能、安全测试工具等各种工具,测试通过分析这些数据收集的数据,通过分析,试图使用各个工具的返回数据去度量软件的质量,这个阶段的软件质量真的可以度量吗?不尽然。

  智慧测试阶段

  这个阶段目前是少数的公司正在努力的方向,这个阶段对原有的测试的思维是一个大大的跨越,这个阶段主要采用大数据的思维将软件本身、人本身、过程进行多维度的数据整合,做到真正的数据量化一款软件或者产品的质量,软件质量在这个阶段才是能够真正使用数据进行量化。

  这个阶段数据收集和分析将是一个重点,而为了获得对应的数据,需要团队制度、过程的规范、行业的数据透明化等相关的行业制度或者管理制度进行相配套的建设。比如我使用java,基于Netty服务框架进行开发,这个产品的质量直接和你使用的Netty质量有直接关系,同时也你这个实地的开发团队的每个人的开发水平,和这个团队的架构师水平,这个团队的管理模式、这个团队使用的java版本都有直接的关系;在智慧测试阶段所需要做的是Netty开发服务组件时,其他团队遇到的问题和现有的问题,开人员的技术水平等众多数据,通过这些数据和团队管理配合起来,量化产品质量。

了解更多关于软件测试的内容,欢迎加小编创建的球球裙:1017539290

在这个过程,持续交付将成为基础,全面自动化测试将作为基层测试手段进行测试布局,所有的测试相关的工作已经可以使用工具完成,这个阶段的测试人员主要是针对问题进行分析、编写测试工具或者脚本,结果模型优化。

  无-测试干掉测试

  通过上述的4个阶段的发展之后,可以看到在后一个阶段时,测试将主要的精力放在了工具编写、模型训练方面,这之后,还有“测试”这个行业吗?欢迎留言讨论

相关文章

  • 您所不了解的软件测试的发展阶段!

    20世纪上叶的某,我们的超级美女程序猿“葛丽丝·霍波”在超级计算机的大house秘密的进行一项为军事系统开发调试时...

  • 测试面试题

    1、您所熟悉的软件测试类型都有哪些?测试类型有:功能测试,性能测试,界面测试。功能测试在测试工作中占的比例最大,功...

  • 软件测试管理快速入门13-如何选择自动化测试工具

    您希望通过软件工具支持您的测试活动,但您不了解市场上目前可用的工具 哪种工具最符合要求和项目预算? 一旦您购买了该...

  • 测试用例的常见问题有哪些?

    这几年软件测试技术发展和人才培养进入一个高速发展阶段,企业对软件测试工程师技术要求越来越高,软件测试岗位越来越多,...

  • <3> 从事软件测试该如何做 快速版

    对软件测试一点不了解,但对软件测试有浓厚兴趣,想立志成为一名软件测试人员的。我们入门该从哪做起呢? 前面讲了“什么...

  • 软件测试这个工作入门难不难?

    在市场需求的影响下,软件测试从业人员越来越多,但依旧有很多人对软件测试岗位并不了解。在很多人的意识里,软件测试是一...

  • 软件测试级别、类型及方法

    测试级别 单元测试 什么是单元测试?对单个的软件单元或者一组相关的软件单元所进行的测试,代码级的测试 单元测试的对...

  • 软件测试快速入门2软件测试职业生涯

    成为软件测试人员所需的技能 非技术技能 以下技能对于成为优秀的软件测试人员至关重要。 将您的技能组合与以下清单进行...

  • 大学生恋爱需求调查问卷

    (1) 您曾经使用过恋爱交友软件吗?A. 有 B.没有 (2) 请您选出您所熟悉的恋爱交友软件。A....

  • 功能测试07--软件测试方案

    哈喽,大家好!我是minisummer!首先感谢您的关注!今天给大家分享的内容是软件测试方案:测试方案的目的?测试...

网友评论

    本文标题:您所不了解的软件测试的发展阶段!

    本文链接:https://www.haomeiwen.com/subject/hzqboqtx.html