2、互联网软件测试特点

  1)不断创新,改变易用性,留住用户

  在互联网软件开发过程中,我们往往关注点会集中在用户体验、软件的创新及能为用户带来的价值,所以必须建立在用户体验基础上进行创新,留住用户,改变易用性,是互联网软件开发与测试的首要特点。

  2)采用敏捷的开发测试思维,快速实现新功能,快速修复线上bug

  基于创新的思维决定了我们在互联网行业的软件开发过程中,必须采取小步快走、版本微创新和快速获取用户反馈,只有这样才能体验客户第一,改变软件服务的对象观念。第二个互联网软件开发测试的特点是快,行业觉得要快速实现新功能并快速发布,快速修复线上存在的问题。

  在很多互联网公司,开发和测试团队往往是技术团队的主力军,信息更新快捷和项目需求发布的频繁,很多程度上与传统软件开发和测试过程分离开来,组成比较小的团队进行软件开发与测试,这样有利于处理需求的响应速度的提升,也有利软件开发过程的风险和资源管理。

  3)采用的工具协助敏捷开发测试过程,提出了自动化测试

  大家知道,如果缩短软件开发和测试过程的时间,在保证需求质量的前提下,我们必须提供我们的过程效率,那么如何提高呢?这里引起在互联网软件项目中的自动化测试,尤其在软件测试过程,自动化测试不仅仅是测试技能的提升,更是能给测试工程师乃至整个研发团队带来质的价值和创新,是真正提高了整个研发过程的效率。自提出自动化测试以后,工程师不断研究与实践,发现自动化脚本与更新维护成本非常大,久而久之维护的工作量已超出预期评估时间,这样导致要花大量的资源投入自动化维护,增加成本,经过大量项目实践与分析,在互联网行业的自动化不能是单纯的基于页面UI功能自动化,必须基于架构进行分层设计自动化,深化自动化技术和平台化的服务,做到持续集成才更有效。

  3、敏捷测试思维

  通过了解互联网系统架构和软件开发测试过程,我们必须改变以往的测试思维和测试策略,抓住Web软件测试的特点综合选取更适合的方法去运用,直到提出持续集成构建,才在项目中慢慢推广应用起来,其实是采用敏捷的开发过程和测试思维相结合,把软件开发整个过程质量控制提到上游。

  四、持续集成介绍

  1、持续集成是什么

  大师Martin Fowler对持续集成是这样定义的: 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通常每个成员每天至少集成一次,也意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

  在敏捷开发与测试中,持续集成是极限编程十二实践之一(1999年Kent Beck编写的《解析极限编程》),初被使用极限编程方法的开发人员所推捧,并在过去的几年中得到广泛应用,成为业界广为人知的软件开发实践。该实践用于解决软件开发过程中一个具体且重要的问题,即“确保当某个开发人员完成新的功能或修改代码后,整个软件仍旧能正常工作。”

  简单来说,持续集成是频繁、持续的在多个团队成员的日常工作中进行集成、验证并反馈。一个典型的持续集成周期基本包含如下几个步骤:

  1)持续集成服务器不断从版本代码库的服务器上检查代码状态,看代码是否有更新;

  2)若发现代码有新的提交,集成服务器会从版本代码库服务器下载新的代码;

  3)等代码完成更新结束后,持续集成服务器调用自动化编译脚本进行代码编译;

  4)运行所有的自动化测试;

  5)进行代码分析

  6)输出可执行的软件,提高给测试人员进行后的测试与验证

  7)通过测试工程师的测试与验证,后发布集成到发布

  通过上面的持续集成构建步骤我们不难知道,其实持续集成是一个循环、多次运用、统一检查的过程,如图-2所示描述