智能一体化测试基础理论——大型IT系统智能一体化测试(1)

发表于:2017-8-22 16:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈绍英 许威 金成姬    来源:51Testing软件测试网采编

  第1章 智能一体化测试基础理论
  智能一体化测试是从银行IT系统功能与性能测试中分析与总结得到的一套全新理论与方法,是对现有研发流程的改进与优化。智能一体化测试的目标是在借助智能一体化测试平台降低后台系统服务/接口测试难度后,将功能、性能等测试的启动时间前移,从系统开发与设计阶段开始启动测试需求分析与案例设计,做到系统服务发布后即可进行功能、性能等同步自动化测试
  智能一体化平台既要完成测试案例的管理,还要实现测试场景的快速执行,从而实现有效提高产品质量、加快开发与测试进度、降低系统投产与运营风险等目标。在智能一体化测试过程中,特别重要的核心工作是形成一套有效的测试案例集,从而做到随时针对系统的变更执行整个测试案例集。为了实时快速发现系统问题,智能一体化测试平台应该能够每天针对版本或功能测试环境快速执行一遍已有案例全集的场景测试。每天运行一遍测试案例全集的另一个好处是可以将案例维护工作化整为零分散到平时,从而保证案例全集的长久有效性。
  推广智能一体化测试是非常富有挑战性的工作,智能一体化测试依托智能一体化测试平台才能推广成功。推广智能一体化测试平台前首先要推广相关理论与方法,当开发与测试人员从理论层面接受智能一体化测试后,接下来才会接受使用智能一体化测试平台,从而与测试团队一起推动智能一体化测试的工作开展。
  本章主要探讨智能一体化测试的理论背景、核心思想、应用意义、应用条件、平台建设目标等内容。
  1.1 智能一体化测试研究对象
  智能一体化测试的研究对象主要针对银行的后台系统,即那些对外提供服务/接口的系统。通过智能一体化测试平台,实现对这些系统服务/接口智能的一体化测试,从而实现提高产品质量、节约研发成本、加快开发进度的目标。
  银行IT系统中80%以上的系统都是后台系统,面向最终用户的渠道类系统的比例很小。因此一旦在后台系统推广智能一体化测试,实际已经解决了银行大部分系统的智能一体化测试问题。
  智能一体化测试重点研究功能与性能的一体化测试,和功能相关的安全性测试,可以划分到功能测试范畴。
  1.2 智能一体化测试提出背景
  1.2.1 行业背景
  目前国内多数银行都在压缩科技方面的成本,缩减了很多科技项目的预算。对于测试部门而言,降低成本首先会考虑到自动化测试,希望自动化测试能够替代一部分人工测试,从而降低测试外包成本。
  通过自动化测试降低人工成本的愿景是非常美好的,但实际情况则是多数银行自动化测试工作进展得很不理想,可以用“鸡肋”来形容。多数银行的测试中心主要推广基于UI的自动化测试,这类测试或是借助HP的QTP完成,或是借助基于QTP开发的平台完成,也有一些银行借助开源的UI自动化测试平台来完成。而银行的业务需求往往变化非常频繁,需求变化后UI界面往往同步发生改变,基于UI的测试脚本往往需要很大的改动甚至推倒重来才可以适应界面变化,因此面向UI的自动化测试主要局限在关键业务场景的回归测试中。基于UI的自动化测试很多还有一个弊端,就是一台主机往往只能模拟一个用户,从而导致自动化测试执行效率低下。因此目前各个银行的自动化测试投入/产出情况并不理想。
  尽管如此,银行的科技部门对自动化测试的热情并没有消退。在对一些银行测试中心的调研中,作者了解到很多测试中心的主管们已经考虑到了开展服务/接口自动化测试工作,只是还没有想好怎么开展这项工作。
  可以看出接口自动化测试必将成为自动化测试的一个重要发展方向,而面向接口的智能一体化测试则将成为自动化测试的全新发展阶段。
  1.2.2 工作背景
  作者之所以提出智能一体化测试理论并研发智能一体化测试平台,主要基于下面两个特定的背景环境与经历:
  ●参与银行新一代核心系统建设并负责性能测试工作。
  在作者所在银行的新一代核心系统建设过程中,作者主持了100多个系统的性能测试工作。这些系统可以大致分为核心系统、公共服务模块、产品模块、外围渠道四类系统,其中80%以上属于后台系统,性能测试团队先后对其开展了单元性能测试、集成性能测试、渠道性能测试、多渠道并行性能测试。性能测试历时将近五年,可以想象对这些系统进行性能测试和调优的难度,往往调优一个交易都要耗费大量时间。
  在这么庞大的项目群性能测试过程中,作者体会最深的是“很多性能问题到最后需要付出大量的成本来解决,甚至有的整个系统推倒重来,从而意识到最有效的性能测试要从设计与开发阶段开始抓起,而不是在各个系统基本开发完成甚至UAT阶段来启动性能测试”。
  举一个例子,一个交易有可能调用10多个系统,每次调用的响应速度都很快,但所有响应时间加在一起的结果就是这个交易性能不达标。这类问题如果要想解决,只能将所有调用到的系统的接口都去进行调优,分别找到自己的程序热点并进行优化,但这个过程往往带来较大的程序改动。
  因此,性能测试如果能从开发阶段开始介入无疑是一种非常理想的情况,尤其是如果能在开发阶段随时测试系统服务/接口的性能,这样就可以在服务/接口对外发布前就完成了一轮调优,解决大量性能问题,从而实现既节省成本又加快进度的目标。但无论是测试人员还是开发人员目前几乎不会在开发阶段做性能测试,这里既有技术方面的原因又有管理方面的原因。
  如果能有非常好的自动化测试工具,连没有任何开发经验的功能测试人员都可以进行服务/接口的性能测试,则在开发阶段启动性能测试是一件相对容易推动和开展的工作。如果这个工具既能做功能测试,又能做性能测试,而且不需要像LoadRunner一样开发脚本,则功能测试人员完全可以在开发阶段介入功能&性能测试,随时对后台系统的功能&性能进行测试,则这些后台系统在集成测试前就可以解决掉大量功能&性能问题。
  所以基于上面的背景,作者自然想到了开发一套功能&性能即智能一体化测试平台,来推行智能一体化测试。
  ●在以往工作中主持过自动化测试平台的开发。
  为了测试基于P2P技术的视频网站的性能,作者曾经主持开发过一个性能自动化测试平台,已经实现了类似于LoadRunner的并发测试功能,解决了视频播放效果的并发测试问题。
  有了推行智能一体化测试的计划后,自然想到可以基于前面性能测试自动化平台的经验和技术来开发支持智能一体化测试的平台,从而实现对后台系统服务/接口的智能一体化测试。
本文选自《大型IT系统智能一体化测试》第一章,本站经电子工业出版社和作者的授权。
版权声明:51Testing软件测试网获电子工业出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号