全自动采集最新行业文章(为什么建立独立的测试组?微软的秘密是这样的)

优采云 发布时间: 2022-01-09 00:18

  全自动采集最新行业文章(为什么建立独立的测试组?微软的秘密是这样的)

  软件思想家 Gerald Weinberg 曾经说过:“如果建筑师按照程序员编写程序的方式建造建筑物,那么第一只飞翔的啄木鸟将摧毁整个文明。”

  这句话告诉我们:第一,程序员写的程序不是很可靠;第二,软件测试的重要性。

  软件测试独立

  以前,软件行业没有软件测试的地方。后来随着这个行业的发展,软件的复杂度不断增加,分工越来越细,测试和开发分离,软件测试逐渐成为一个独立的岗位,公司开始招聘软件测试工程师。

  以微软为例,由于软件质量问题造成多起事故,1984年微软在各个部门建立了独立的测试组,并将测试组与开发部门分开。

  为什么要创建一个独立的测试组?根据《微软的秘密》一书,测试本身存在的三个原因:

  软件测试的独立性意味着它的重要性大大增加。

  软件测试保证了软件产品的质量,实现了成功的软件交付,保证了大多数用户或客户的满意。可以说,软件测试对软件质量起着至关重要的作用。

  软件测试行业的真相

  如今,对于软件测试,很多人都有一些印象,比如,测试是“入门门槛低,没有技术含量”,“对公司不重要”,“操作简单,工作枯燥”等等。 . 虽然这些印象不一定完全准确,但它们或多或少反映了该行业存在的一些条件。

  山西太原的一位开发人员说:“公司忙于测试时,连产品和管理人员都会参与进来,作为初级测试人员参与其中。”

  另一位来自上海的资深开发者表示,“我们只做功能测试,也就是手动点击按钮,没有自动化测试和性能测试。像UI这样的自动化测试很难实现,因为一旦UI改变了,你就得改变它。”脚本,并且还花费大量时间和精力来维护脚本。”

  另一位来自北京的开发者说:“公司的测试部门人多,和业务有很多差距。公司的很多测试主要针对历史生产系统,有些系统变化,我们会处理测试,有问题大家一起来推卸责任。我们团队有四五个开发,一个测试,测试水平低,纯手工测试。”

  即使是同一个行业,不同公司的情况也大不相同。

  以谷歌为代表的互联网巨头正在逐步推行“去QE,自己做测试”的新模式。

  大公司已经从“自动化测试为辅”转变为“自动化测试为主”,而中小企业使用人工测试最多。但是,人工测试存在很多问题,不仅效率低下,而且也不尽如人意。

  在这个行业,我们观察到:一方面,自动化测试越来越受到重视,企业对测试人员的要求已经从低端的功能测试转向更高级的自动化测试。另一方面,对非功能测试的需求也在增加,包括性能测试、安全测试等。此外,软件行业盛行的DevOps理念强调开发、测试和运营的一致性。

  有测试人员直言,“我个人感觉,从最初的黑盒测试到后来的灰盒和白盒测试,测试开始侧重于性能测试和安全测试。同时,UI和界面自动化测试已经成为“规范。而且,软件对测试的影响很大。对人员和测试平台开发能力都有很高的要求。”

  从传统模式到互联网模式

  为什么会有这些变化?因为今天软件测试所处的行业已经发生了变化——从传统模式到互联网模式。

  什么是传统模式?该软件最初主要供企业内部使用,只要具备一定的功能,可以使用,不太注重用户体验。

  据飞栓云智副*敏*感*词*兼总裁陈定伟介绍,“过去软件主要是功能的实现,环境不是很复杂,也不会有很多高并发,没必要玩大量的数据。因此,只要满足功能要求就可以了。”

  互联网模式是,在互联网发展之后,软件变得越来越重要,甚至软件定义了一切。而且,越来越多的软件开始向C端扩展,不得不面对大量用户,导致高并发、安全等问题。因此,企业对软件质量的要求非常高。

  这就迫使软件发生变化,从开发、测试到运维都应该有相应的变化。然而,实际上,这一切都没有太大变化。

  目前的软件生产方式仍与传统模式相同。企业需要招聘大量的工程师来开发软件。开发完成后,测试人员将对其进行测试。从某种意义上说,软件质量主要由经验丰富的工程师来保证。在陈定伟看来,“这变得不可控,因为每个人对每一件事都有不同的理解。”

  更重要的是,如今越来越多的企业开始引入敏捷开发或DevOps模式,软件交付周期越来越短。而且,随着大数据、人工智能、云原生等技术的应用,软件的复杂性不断增加。相应地,企业对测试人员的要求也越来越高。

  随之而来的问题是企业招人难,因为企业招不到很多经验丰富的工程师。即使招聘了高级技术人员,一旦他们离开公司,公司也可能面临挑战。一方面,工作交接困难;另一方面,高级技术人员的工作经验不能传授给公司,知识也不能存入公司。

  “以前,我们公司有一句话:只要开发,就需要测试。如果开发三个月,测试就需要三个月。这样一来,半年过去了。所以,整个成本非常高,而且产品、开发者和测试者的思维方式和视角不同,沟通不方便,最终让大家吐槽。”

  关键是每个人对需求的理解不同。开发人员对需求有一种理解,而测试对需求有另一种理解。这导致产品经理、研发和测试之间经常发生“争吵”。

  其实,测试人员最头疼的就是“需求不明确,或者需求临时变更,需求变更时只同步开发人员,不通知测试人员”。

  软件测试人员的“福音”:全自动测试平台

  一个能够解决上述问题的工具,可能就是全自动测试平台。据了解,它是飞栓SoFlu全自动软件工程平台的组成部分。飞栓SoFlu全自动软件工程平台是2020年发布的新一代JAVA开发工具,已为百家机构等8大行业的百家机构提供技术服务,已被数千名专业人士使用和体验。

  令人印象深刻的是该平台为某大型国企开发的“万人电商平台”项目。此前,公司组建的数十人团队耗时一年完成开发,但上线后,在功能、稳定性、安全性等方面不断出现问题,短时间内无法修复。使用SoFlu的全自动软件工程平台后,公司仅投入6名研发人员在45天内高效完成了开发、测试、联调、上线的全流程。

  

  飞行自动测试平台

  本次发布的全自动测试平台,全自动开发平台和全自动运维平台共同组成SoFlu全自动软件工程平台,实现软件工程开发、测试、运维全流程自动化,与平台联动开发自动化测试平台,开发测试一键关联,自动生成测试用例完成软件测试,一个人即可完成开发测试全过程。

  

  在测试平台点击“关联项目”

  

  开发与测试一键协同

  借助全自动测试平台,一方面可以通过工具、流程和管理来保证软件质量,而不是依赖经验丰富的软件工程师。另一方面,可以进一步降低沟通成本,提高沟通效率。

  以工具为核心,制定管理流程,采用科学的管理方法,让测试人员在操作工具时遵守规则。按照步骤避免错误,从而降低整体管理风险和沟通风险。

  而且,它还可以解决企业招聘的难题。全自动测试平台降低了行业门槛。不仅普通测试人员可以操作,即使是刚毕业的大学毕业生也可以轻松上手。这样,企业招人就比较容易了。

  依托平台的自动测试用例生成功能,用户通过记录工具记录操作过程,平台自动识别相关接口并创建相应的测试用例场景。这样,测试人员就不需要编写脚本了。

  

  此外,全自动测试平台还有几大特点:一是测试生命周期管理。提供测试用例管理、测试用例评审、测试计划跟踪、测试报告生成等测试生命周期管理相关功能。二是测试数据管理。全自动测试平台基于测试脚本和测试数据分离的思想,方便研发测试协作,方便测试数据在自动化测试中的使用,支持在UI、界面等自动化工具中快速可重复使用. 第三是准确的回归测试。在项目测试过程中,可以自动识别所有变化的接口,自动查找与接口相关的所有测试用例,并进行准确的回归测试。

  一位软件测试人员说,“我最期待的是准确的回归测试,如果能做到准确的回归测试,可以大大提高我的工作效率,节省时间。”

  无论功能或特性如何,其目的都是为了使软件测试更容易。陈定伟总结了它的五个价值点:一是统一测试规范;二是无需人工操作即可控制测试过程,使用工具、流程和管理来执行;第三,实现测试自动化;第四,可以量化测试成本;第五,可以建立测试用例库,实现知识和经验的积累。他说:“一切都回归到一个点,就是降本增效。整个产品除了满足所有测试的场景和功能外,最核心的一点是对整个产品进行管理,建立统一的标准。”

  当然,仅仅解决测试问题是不够的。“无论是测试还是运维,所有的问题都源于开发。因为开发是根本,是源头,所以必须解决源头问题。”

  陈定伟说,“我们先推出开发平台,再推出测试平台。只有先规范开发动作,后面的测试才真正有用。真正的核心点是开发。所以,在开发过程中,问题是发现和解决,以及行动 前端,比如在开发中埋没运维相关的技术,比如链接跟踪、服务发现等,在开发中介入,而不是在运维环境中发现和解决问题。 ”

  从某种意义上说,SoFlu 全自动软件工程平台的核心是一个自动化的开发平台。提供基于界面设计的可视化配置能力,通过组件可视化窗口界面拖拽开发界面。并且门槛低,配置灵活,普通开发者也能轻松上手。

  此外,平台提供了大量的组件库,如SQL组件、事务组件、上传组件、下载组件等,支持用户根据自身需求开发自定义组件,丰富组件库,提高开发效率。

  目前,许多公司都在使用 SoFlu 全自动软件工程平台。

  写在最后

  从多家企业多个项目的反馈可以看出,SoFlu全自动软件工程平台有两大价值。首先,它可以降低进入门槛。其次,让技术变得更容易,减少对人的依赖,从而降低劳动力成本和沟通成本。基于这个平台,企业可以快速开发一个东西,大大提高效率。针对业务的快速变化和提出的新需求,可以快速迭代软件,降低试错成本,大胆创新业务。“过去,开发人员使用的软件或系统需要将近一年的时间才能开发出来。现在,使用这个平台可能只需要两个月。” 此外,它不需要非常有经验的开发人员,普通开发者培训后即可上手。“我们现在非常重视顶层设计。设计越好,对需求的理解越好,开发过程就越好。同时,出现bug的机会也越低。”

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线