浅谈自动化集成测试

  相信从事软件测试专业的同行很早就知道了自动化的测试技术,也许大家也很想知道具体的软件自动化具体的运行实施过程。本人学识尚欠,目前无法对综合的软件自动化的测试进行阐述,但是本人通过不同的书籍对软件自动化的集成测试有了一定的认识,以此来跟大家分享自己的学习心得,也希望大家提出建议不吝赐教。

  相信从事手工测试的同行很纠结的是软件集成的时候,因为这个时候,不同时期积累的问题在同一时间出现,让我们忙的焦头烂额。那么怎么通过软件的自动化让我们可以天天准时下班而又保证了软件的质量呢?

  在项目进入里程碑时才进行系统集成,很有可能出现bug大量闪现,接口不匹配等问题,就算项目组在努力工作,再细心也无法避免这类问题的出现。那么我们只有经常地进行集成测试才能提前发现问题,工作才不会如此被动。

  那么多久进行一次集成测试呢?答案很简单:每天。

  只要每天下班后江边一通过的代码进行集成就可以了。如果发现问题第二天就可以解决。这样的响应时间对项目组来说简直绰绰有余。

  那么我们需要每天留下一个人对项目进行集成吗?答案也很简单:No!!

  代码的集成是不需要人工干预的,可以有服务器自动完成。

  下面我们举个例子来演示怎么样进行软件的自动化集成测试。

  开发人员A负责开发购物车模块,开发人员B负责开发产品模块,同一天A都需要调用产品类,A先将产品类从版本库中checkout,然后对产品类进行修改,修改完成后,A将自己的产品类上传到版本库。此时,B开始从版本库中导出产品类,发现\此时的产品类不能满足B编写的代码的需求,于是B修改了A的代码部分,添加了自己的部分上传到版本库。然而今天A工作完成没有再从版本库中迁出产品类,他并不知道自己的产品类已经被B修改。此时就出现了版本不同的问题而这个问题并没有被发现。

首先,配置管理员在编译服务器上需要配置一套日构建的脚本,下班后,深夜,编译服务器开始进行每天的工作,首先服务器自动从版本库中获取最新的代码并进行编译,然后发现这个版本不同的问题,然后服务器自动的将结果发送email到项目组的各位同事。

  第二天大家一上班,首先去自己的邮箱查看有没有自己的bug,并修改。这样每天的错误都在日构建中被发现,并且第二天得到了解决。

  讲到这里,大家是不是以为说完了呢?呵呵呵,这其实只是整个流程一个开头而已。

  编译服务器将编译完成的结果自动发送到预先指定测试组的服务器上,开始全面的回归测试。

  此时就需要测试人员需要一定的编程能力。

  此时大家用QTP对项目录制了大量的自动化功能测试脚本,并且与QC进行了链接。

   QC人员每天下班后会通过QC按照回归测试计划对项目进行当天的测试。也就是说,这些自动化的测试脚本每天晚上深夜在制定的服务器上对项目稳定的功能点进行自动化的回归测试,然后设定服务器将测试的结果email发送给制定的人员。

  这样第二天,相应的问题人员就会发现自己的错误并且改正。

  如此看来软件测试的自动化就是一个很节约人力资源的技术,工作人员虽然下班了,但是机器仍在不间断的运行,自动完成当天的软件的集成,既解决了问题又进行回归测试,省下了人力。

  本人以为,软件测试的发展必然向着自动化迈进。希望测试人员在从业的路上努力探索,共同学习,探索出软件测试的新技术。