基于数据驱动自动化测试框架研究和实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于数据驱动自动化测试框架研究和实现

姚杰程光钧李浩

浙江中控技术股份有限公司,浙江杭州,310053

摘要:软件测试是保障软件可靠性,提高软件质量的重要手段。随着软件规模的扩大,软件复杂性的提高,软件测试技术的不断发展,越来越多的测试人员发现传统手工测试成本高、执行繁琐、效率低等特点已远远不能满足现实的需求。为了克服手工测试的这些缺点,自动化测试技术被广泛地引入进来,并逐渐成为软件测试的发展方向。而如何使得软件测试能够实现自动化,为了能够使得自动化测试能够执行方便、易懂、易维护等特性,测试框架的概念也就应运而生,通过框架的概念能够把软件测试过程中的各个关键节点进行拆分,让后通过框架的相互关联性进行测试执行。

关键字:自动化测试,软件测试,软件自动化测试框架,数据驱动。

Research and Achievement of Test Framework Based on Data

Driver Automation

ChengGuangJun

Zhejiang SUPCON Co., Ltd., Hangzhou, Zhejiang, 310053

Abstract:Software test is an important method of ensuring software reliability and improving its quality. As the software scale expanding, the complexity increasing and the test technology developing, test technicians find that the traditionally manual test with high cost, complex execution process and low efficiency cannot meet their requirements any more. Thus, automatic test technology is introduced to solve these problems and becoming a new way in software test development. The concept of test frame is produced to realize the automation of software test and endow it with features of convenient execution, easy to understand and fast maintenance. The concept analyzes the key nodes of test process and performs the test execution through multi-connection.

Key words: Aout Test,Softwar Test, Soft Aouttest Plamform,Data Driver.

1. 软件测试发展及自动化

1.1 软件自动化测试概述

软件自动化测试作为一门技术,并且与手工测试技术存在很大区别。无论自动执行,还是手工执行测试都不影响测试的有效性。然而自动化测试通常要比手工测试经济得多,其开销只是手工测试的小部分。但是,无论自动化测试做得如何出色,如果测试本身是失败的,那么测试结果也将毫无意义。在实际应用中,自动化测试的方法越好,长期使用获得的收益也就越大。

1.2 自动化测试框架作用

在组织中引入自动化测试,有很多不同的方面会被包含进去。同时针对测试工作如何进行上也会有很多不同的观点,然而通过各个行业的实践,自动化测试带来的收益较多,例如:其一:降低风险,在整体项目的测试过程中,对于那些内容已经被测试,还有那些项没有被测试都能够很好的掌握,借此能够进行有效的测试覆盖率统计。

其二:在项目整个测试过程中,项目测试状况及质量能够得到快速的反馈;实现敏捷测试。

其三:自动化测试用例能够支持多系统,多平台的自动执行,不受时间及测试环境限制。

其四:通过自动化测试状况,能够对测试投入及成本进行更好的估算,能够对测试进度和测试使用的时间有更好的了解和预测。

其五:通过建立良好的自动化测试平台,吸引专业性的测试工程师,打造一个专家型测试团队,并将他们的知识传播给其他的人员和项目。

自动化测试的核心就是测试设计的自动化框架或工具的设计和使用,没有测试框架的存在就无法开展良好的自动化测试。

2.自动测试框架研究和分析

2.1 ITP集成自动测试工具

ITP集成测试工具,基于C\S模式设计,基于数据驱动原理设计的自动化集成测试框架,软件集合测试项目管理、测试需求分析、测试用例设计及测试用例执行和测试用例管理等功能。整体自动化测试工具的组成包含:ITP客户端软件,ITP服务器端软件、FIXTURE测试驱动、Agent 和后台server2008数据库组成,该测试工具支持多钟操作系统,支持C++、C、java、.net等开发语言,同时可以支持特定脚本语言的用例设计和编写。

2.1.1 ITP整体架构图和主要功能

图1:ITP框架总体架构

2 .

3 STAX+STAF测试框架

2.3.1 STAF框架软件的概述

Software Testing Automation Framework (STAF)是基于组件复用开发的开源、多平台、多语言的自动化测试平台,复用的组件称之为服务。STAF使用户跨过冗繁的自动化基础框架的搭建过程,而致力于构建其自身的自动化解决方案。STAF框架提供了自动化测试更高层次的解决方案的基础,并且提供了支持多语言、多平台访问的插件。

2.3.2 STAF设计原理

STAF基于点对点工作机制,在网络中,运行STAF的机器没有C\S的区分,测试环境中,每一台机器均需运行STAFProc。STAFProc接收并解析来自本机或远程计算机的程序或命令行提交的STAF请求,并决定是否将请求递交给本机的STAF servers;而STAF servers则通过STAFProc 接受服务请求并做出响应。

2.3.3 STAX服务

Software Test Automation eXecution Engine (STAX)是一种基于XML的执行引擎,其作为STAF的外部Java服务运行。利用STAX用户可以实现测试用例的分发、部署、执行以及结果分析。STAX使用了三种技术:STAF、XML 和 Python,方便测试人员进行自动化测试。STAX提供了一个功能强大的监视器(UI),监视测试用例的执行情况,实现测试人员与测试用例的交互。

相关文档
最新文档