基于UFT 的软件取证测试技术研究

2016-03-07 12:58李浩熊巧丁建华
电脑知识与技术 2015年35期
关键词:自动化

李浩 熊巧 丁建华

摘要:文章介绍了自动化测试的理论、以及UFT运行的基本原理,阐述了UFT在取证软件中的应用,搭建了一套自动化测试框架,实现了对交付测试版本的冒烟测试,有效地提高了测试效率,节约了人力成本,具有较好的现实意义。

关键词:UFT;取证;自动化

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)35-0126-02

Abstract: The paper introduced the theory of automatic test, and the basic principle of UFT.Expounding the application of UFT in forensic software, building a set of automatic test framework, which could improve the test efficiency and save the human resource.

Key words: UFT; forensic; automation

随着我国信息化技术的飞速发展,电子证据在公安机关案件侦破、法院审判、电子商务等诸多领域扮演着重要的角色。基于C/S架构的取证产品依然是市场上的主流,面对敏捷开发带来的版本频繁更迭,手工测试面临巨大的挑战。构建自动化测试框架,对交付版本完成基本的冒烟测试,不仅能够减少大量重复的人力劳动,还能有效的控制产品质量。

1 自动化测试概述

在敏捷开发过程中,版本更迭非常频繁,每个版本都有大量重复的基本功能需要测试;不但浪费时间而且容易引起测试人员的疲倦,甚至忽略部分功能的测试,对产品质量造成一定的影响。自动化测试,简而言之,就是用程序测试程序,以脚本的运行来代替手工测试,它是测试人员测试思维的体现。

自动化测试主要用于回归测试,因为测试人员完全掌握回归测试的预期结果,可以有效地提高测试效率。当一个业务需要重复10次以上时,自动化测试的优势便显现出来了,面对复杂重复的测试任务,自动化测试可以保证测试工作的可靠性、高效性。此外还能进行24小时全天候不停歇的测试任务。当面对多环境时,比如win xp、win vista 、win7、win8、win10,且操作系统还有X86、X64之分,再加上各种浏览器、各种杀毒软件的组合,测试工作量之大可想而知,而自动化测试可以很好地解决这一问题。

当然,自动化测试也有其弊端,其不可能完全代替手工测试,对于复杂逻辑来说,自动化测试的编码代价非常巨大;其次自动化测试脚本编写有一定的门槛,对测试人员技术有一定的要求,技术的高低决定了脚本代码质量的好坏。

对于项目周期较长,系统升级较频繁、且需求变更不大的产品可以适当的引入自动化测试;对于周期较短的项目,自动化脚本代码编写还未完成,项目可能已经接近尾声,得不偿失。

2 基本原理

要了解UFT的基本原理,我们首先要明确三个概念,它们分别是对象、对象属性、对象库。其中对象是构成被测系统的基本元素;每个对象都有一个可以唯一标识对象的属性列表,称之为对象属性,其中属性可以进行设置,对象通过其属性建立了与被测系统元素的一一对应关系;对象库,顾名思义,就是对象的有序集合,在一次测试过程中涉及的被测系统的对象成为本次测试的对象库。

UFT采用录制/回放的技术原理。在录制过程中,首先根据被测系统,将对象识别并加入对象库,然后生成相应的脚本;在回放过程中,首先根据要回放的脚本去对象库中寻找相应的对象,然后对被测系统进行一系列的回放操作。

3 主要研究内容

3.1 需求分析

面对频繁的版本更迭,搭建自动化框架,完成基本的冒烟测试,有效的节约人力成本,是我们的根本目的。

首先需要关注测试的内容。对取证软件的取证部分进行自动化框架搭建,包括浏览器信息、下载取证、即时通信、邮件取证、数据恢复、系统痕迹、用户痕迹、文件系统等八个模块,而每个模块下面又包含多个取证内容,其取证对象内容如图2所示。

其次需要关注测试的颗粒度。被测目标数据源中,设定每个模块均有数据,对各个模块进行基本的点击操作,判断数据的有无,确定取证软件取证功能的好坏;然后进行相关数据的导出,确保导出功能可用。对于数据的准确比对,将是我们以后考虑的事情,本文不做讨论。

3.2 用例设计

通过图2我们可以看到,取证软件包含对75个取证对象的取证功能。测试内容较多,用例的设计需要考虑以下几个方面:

1)要按照软件的使用逻辑来设计。首先进行取证软件的打开,案件的新建,取证证据的添加,其次针对每一个模块依次的进行数据的取证,待每一个模块取证完成后,关闭并退出取证软件。

2)要把握好时间观念。根据软件的设计方案,将取证时间少的模块首先进行取证,取证耗时长的模块放到末尾进行。

3)由于案件编号为唯一标识,不允许重复,所以要达到脚本的重复回放,需要对取证案件的基本信息模块进行参数化设定。

4)加入相关的检查点技术,并将运行结果写入报告,可以直观的获取测试结果,减少测试人员的工作量。

3.3 脚本编写

在脚本的编写过程中,主要依赖于UFT的录制功能。但也会出现对象无法识别,回放出现错误等现象,那就要求根据具体的情况进行具体的分析。有可能是开发人员没有标识相应的对象属性,也有可能是对象名称重复导致,或者是无法识别录制的对象,下面举例说明:

在取证的过程中,取证结果条数不确定。少则几条,多则成百上千条,图3展示了两个不同取证数目的对比,左图中的取证数据为1条,右图中的取证数据为770条,若对每一条记录都进行ID标识,

3.4 结果分析

在自动化测试完成后,UFT会将测试结果打印在测试报告中。我们需要对结果进行分析,根据测试结果来判断测试是否通过,并检查脚本是否完全完成了测试。

3.5 现实意义

引入自动化测试框架后,从一定程度上有效地节约了人力成本。如图5所示,图表中纵坐标代表人力花费时间(人力/天),图表横坐标代表各个版本号。从图表中可以看到版本1在引入自动化测试前,需要15人力/天,以3人为一测试小组,需要花费5天的时间;但引入自动化测试后,测试前期只需要进行自动化冒烟测试,节省的人力资源可以转移到其他的项目上去,具有一定的现实意义。

4 结束语

本文阐述了UFT在取证软件中的应用,搭建了自动化测试框架,实现了对交付测试版本的冒烟测试,有效地提高了测试效率,节约了人力成本,具有较好的现实意义。下一步将是在有效固定数据源的情况下实现数据的精确比对,完全实现取证产品的自动化测试。

参考文献:

[1] 余杰,赵旭斌. 精通QTP—自动化测试技术领航[M]. 北京: 人民邮电出版社,2012.

[2] 韩涛. 基于QTP的税收征管信息系统自动化测试研究[D]. 西安: 西安电子科技大学,2012.

猜你喜欢
自动化
国内焊接设备市场现状及发展趋势研究
AGV小车在白酒行业自动化立体仓库中的应用
电气工程及其自动化问题与对策
我国机械设计制造及其自动化的现状及发展趋势
浅论节能设计理念在机械制造与自动化中的应用
简析火力发电厂热工自动化仪表应用及故障排除方法
配网自动化实用化模式建设及系统运行
配电室无人职守集控站在京博石化的运用
配电线路运行资料管理自动化的探讨