如何解决在使用敏捷过程中带来的技术挑战

发表于:2012-2-20 11:15

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

 作者:邵育亮    来源:51Testing软件测试网原创

分享:

  在企业中采用敏捷开发是一个非常具有挑战性的工作。敏捷不是一个软件,只需要点击install就可以安装完毕的。它需要一个企业从文化,技术以及组织结构等个个方面去接受敏捷带来的变化。我们这里来看一下企业在开发环境,自动化测试和持续集成等方面遇到的挑战。我们目前又是如何来解决这些问题的。

  开发环境的建立

  每个技术部门的经理,技术团队的负责人都希望能够降低构建开发环境的时间。但是我们还是发现我们的开发人员仍然在一遍又一遍地花费大量的时间来努力把项目变得更加有序。我认为缺少文档是我们花费大量时间来构建开发环境的重要原因。第二个重要的原因就是在这个构建的过程中,充斥着大量的人工的环节。那我们如何来应对这个挑战呢?对于文档的建立,我有一些个人的信条 - 简单,关注细节和自动化。简单是要让我们很方便创建,维护,查看和分发文档。我们使用wiki来管理我们在构建开发环境过程中产生的文档内容。每个wiki的页面都有一个所有人,然后会在每一个迭代中更新。关注细节是要让文档不会产生歧义。文档中的每一个细节都会关系到开发人员如何构建代码,以及如何与其他团队的集成。我在我们的wiki页面中抓取了一些信息如下。

  ● 一些列需要安装的软件:在我们的案例中,这包括JDK,Eclipse开发平台,Apache Ant,Apache Axis和SQL Server

  ● 每一个包都包括路径(网络磁盘/互联网/局域网/等等)以及获取资格。比如apache ant,它的路径在我们的SVN代码库里面。

  ● 每一个包获取的系统和本地的变量需要在机器上配置好。比如说,ANT需要设置ANT_HOME 变量,axis需要设置AXIS2_HOME变量。

  ● 第三方库的列表:包括所有第三方的jar包和dll文件,以及其他的一些文件。比如用来连接SQLServer的JDBC包和负责和IBM WebsphereMQ通信的第三方Jar包等等。

  …

  也许建立开发环境最重要的一方面就是自动化。自动化有很多好处 - 如果不考虑配置的问题,它可以显著的提高我们构建开发环境的效率。不过自动化也面临一些挑战:

  1、缺乏对于机器的管理权限。系统管理员可能出于安全和公司政策的考虑,不会给予开发人员管理权限。这个会导致无法安装软件,设置环境变量和执行脚本。

  2、需要和外部的组织合作:外部的组织会提供软件,提供权限等等

  3、需要平衡现有的服务:许多大型的企业已经建立很多中间件(消息队列,ESB,应用服务接收器)。

  上面说的这些挑战也不一定会经常发生,但是还是要提一下。开发人员需要的任何软件,无论他们从哪里获得都加入到源码控制中。确保所有的软件包都有一个统一的管理。这个让我们的开发人员可以很轻松的获取自己需要的软件而不需要在公司里到处询问。

  ……………………

  查看全文请点击下载:http://www.51testing.com/html/13/n-806213.html

  在SOA的项目中,集成了应用服务器,过去的服务,数据源,打包完毕的应用和测试脚本等等。这些测试脚本可以通过Mock的技术来实现底层的集成测试。最终你希望你的测试脚本是针对真实的集成环境。很多时候,测试数据分布在不同的系统上是个很大的问题。缺乏数据,特别是那些需要从不同系统获取的数据是导致我们无法充分进行自动化测试的问题。我们可会议这样来解决这个情况,我们可以使用本地的数据,开发人员从不同的数据源获取数据并生成本地的copy。这个听上去是一个完全手工的操作,但是如果数据的是新的,或者是ETL的任务,脚本可以让这些工作变得简单。我们可以通过各种脚本在不同的数据源中获取数据。这样的话,我们的测试脚本和我们的数据可以分离,即使我们要更换我们的数据源,也不会影响到我们的测试脚本了。

  定义我们为什么这么做

  在一个大型的企业中去指定一个开发,或者测试的规范是非常棘手的。代码可能在开发环境运行的很好,但是不能在测试环境中运行。这个可能是因为网络,安全,系统稳定性等各个因素导致的,或者是因为更高质量要求的测试以及终端用户。如果我们希望在迁移代码的过程中的影响最小,我们的规范应该包括:

  ● 构建一个良好的测试套件,其中更多的是测试数据可配置,并且可以反复的执行。

  ● 把测试集加入到持续集成的流程中。例如我们在我们的CruiseControl的ant脚本中,增加了执行Junit单元测试的脚本。

  ● 自动化测试包括功能和性能

  ● 代码审查人员不单单包括开发很远,还需要包括基础架构的成员,例如数据库管理员,系统运维人员等等。

  查看全文请点击下载:http://www.51testing.com/html/13/n-806213.html

  版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号