论文部分内容阅读
摘要:分析测试数据管理基本需求,实现了基于B/S架构、ExtJS框架的测试数据管理系统,具备数据管理、分析、二次开发接口等功能,用于多个产品的测试数据存储、管理,解决了批生产过程中测试数据管理困难的问题。
关键词:测试数据管理系统;ExtJS;二次开发
1 引言
测试数据管理用于将测试现场数据按使用单位、产品代号、测试类型进行分类存储、管理,提供自动化的底层数据分析手段,分析产品趋势和底层故障。通过测试数据管理,达到提早发现导弹潜在风险的目的。产品进入批生产后,现有测试数据管理存在以下问题:
a)数据查阅不方便,保存不完整。几个批次测试完成后,前期数据存在丢失的风险;
b)数据统计工作量大。目前每批测试结束后,都是由检验人员对照纸质数据重新录入,统计结果,每批数据花费在20人?天左右,耗时长,且易出错;
c)目前统计的数据均为报表结果,未关注底层数据,不利于排查产品潜在问题。
国内具有一些成熟的通用TDM(测试数据管理系统)系统,具有数据统计、存储功能。此类系统可以根据产品代号、测试数据特点进行二次开发,使之满足数据导入、导出要求。采购此类系统,需要采购软件、服务器,并投入人员进行二次开发,耗费较大,而且TDM系统由于是通用系统,对特定数据发掘、分析能力不如专有数据分析系统。
基于以上原因,设计适用于笔者单位的测试数据管理系统,解决数据存储、管理与分析问题。
2 测试数据管理系统需求分析
2.1数据管理功能
测试数据管理系统能按照产品代号、编号、测试类型进行数据分类存储、管理,具备完善的查询、显示功能。
2.2二次开发功能
测试数据管理系统能按照产品代号、编号、测试类型进行数据格式区分。通过外部接口扩展、二次开发,实现多产品、测试类型的数据存储与分析。
2.3数据分析功能
对测试底层数据、数据趋势进行分析、绘图显示,告知用户底层潜在、问题。
2.4数据导入导出功能
能将测试数据导入到系统中,支持导出为压缩包和Excel格式,便于后续分析和备份。
3 系统设计与实现
3.1服务器与数据库配置
系统采用tomcat、oracle作为底层数据库、服务器。为简化复杂度,提高响应速度,将程序服务器、文件服务器部署在同一机器上。在系统applicationContext.xml文件中配置远程服务器IP地址和本地数据路径,如下所示:
http://192.168.1.1:8086/TestManager
E:/Learn/works/BSServer/TestManager
在applicationContext.xml文件中配置数据库路径和名称。
jdbc:oracle:thin:@192.168.1.19:1521:ezsolution
3.2前端开发
测试数据管理系统前端使用ExtJS框架进行开发。ExtJS是一个javascript编写的AJAX框架,用于在客户端创建丰富多彩的web应用程序界面。开发的程序模仿桌面应用程序效果,如图1所示。界面包含登录对话框、系统管理模块入口、日志记录模块入口、数据管理模块入口图标。通过点击图标进入相应模块,日志记录模块如图2所示。
3.3后端开发
后端采用Java语言、Spring、Hibernate框架实现。Hibernate是一个开放源代码的对象关系映射框架,对JDBC进行了封装,使得Java程序员可以使用面向对象方式操作数据库,避免了底层数据库格式与软件代码的耦合。Spring框架是一种分层架构,由7个良好定义的模块组成,实现了软件业务逻辑与底层数据的分离,提高了软件的通用性。
测试数据管理系统的后端架构如图3所示。前端访问内容通过JSP访问控制,访问业务逻辑层的具体模块,业务逻辑层通过数据访问层访问数据库中的特定数据。数据访问层通过Hibernate访问数据库,各层之间通过Spring框架进行连接。
3.4 客户端分析工具设计
为减少服务器压力,数据分析、绘图显示功能配置在客户端上,通过javascript调用本地应用程序,进行分析、绘图。客户端分析工具可由各种方法实现。
Python是一种面向对象、解释型计算机程序设计语言,具有丰富、强大的数据计算、绘图库,且支持Windows、Linux系统。测试数据管理系统的默认客户端分析工具采用Python实现。Python通过matplotlib、url包数据远程读取与绘图显示,显示界面如图4所示。
3.5 二次开发接口设计
系统将产品代号、编号、测试类型及其相关操作定义在数据库中,用户通过浏览器配置,实现不同产品、测试类型的数据分析、绘图等功能的二次开发。二次开发接口功能如图5所示。图5中,配置上传动作、分析动作、绘图动作的具体类和JSP文件名,并在外部实现此文件,测试数据管理系统根据产品代号、编号、测试类型自动调用此文件,實现了二次开发功能。
3.6 上传、下载工具设计
测试数据压缩包一般为数百兆至数几千兆大小,在IE浏览器客户端导入、导出存在响应速度慢,易出错的问题,因此设计专用的导入导出工具。导入导出工具在服务器端运行,运行界面如图5所示,输入用户名、密码进行登录。登录后设置产品代号、产品编号、测试类型、开始时间等属性,进行测试过程查询和导出。导出后,生成Excel格式的导出报表及测试数据文件夹。
4 结论
本文分析测试数据管理基本需求,实现了基于B/S架构、ExtJS框架的测试数据管理系统,具备数据管理、分析、二次开发接口等功能,用于多个产品的测试数据存储、管理,解决了批生产过程中测试数据管理困难的问题。
作者简介:胡业火(1983.10-)男,籍贯江西九江,汉族,高级工程师,大学本科,主要研究产品测试 数据分析和信息化。
关键词:测试数据管理系统;ExtJS;二次开发
1 引言
测试数据管理用于将测试现场数据按使用单位、产品代号、测试类型进行分类存储、管理,提供自动化的底层数据分析手段,分析产品趋势和底层故障。通过测试数据管理,达到提早发现导弹潜在风险的目的。产品进入批生产后,现有测试数据管理存在以下问题:
a)数据查阅不方便,保存不完整。几个批次测试完成后,前期数据存在丢失的风险;
b)数据统计工作量大。目前每批测试结束后,都是由检验人员对照纸质数据重新录入,统计结果,每批数据花费在20人?天左右,耗时长,且易出错;
c)目前统计的数据均为报表结果,未关注底层数据,不利于排查产品潜在问题。
国内具有一些成熟的通用TDM(测试数据管理系统)系统,具有数据统计、存储功能。此类系统可以根据产品代号、测试数据特点进行二次开发,使之满足数据导入、导出要求。采购此类系统,需要采购软件、服务器,并投入人员进行二次开发,耗费较大,而且TDM系统由于是通用系统,对特定数据发掘、分析能力不如专有数据分析系统。
基于以上原因,设计适用于笔者单位的测试数据管理系统,解决数据存储、管理与分析问题。
2 测试数据管理系统需求分析
2.1数据管理功能
测试数据管理系统能按照产品代号、编号、测试类型进行数据分类存储、管理,具备完善的查询、显示功能。
2.2二次开发功能
测试数据管理系统能按照产品代号、编号、测试类型进行数据格式区分。通过外部接口扩展、二次开发,实现多产品、测试类型的数据存储与分析。
2.3数据分析功能
对测试底层数据、数据趋势进行分析、绘图显示,告知用户底层潜在、问题。
2.4数据导入导出功能
能将测试数据导入到系统中,支持导出为压缩包和Excel格式,便于后续分析和备份。
3 系统设计与实现
3.1服务器与数据库配置
系统采用tomcat、oracle作为底层数据库、服务器。为简化复杂度,提高响应速度,将程序服务器、文件服务器部署在同一机器上。在系统applicationContext.xml文件中配置远程服务器IP地址和本地数据路径,如下所示:
http://192.168.1.1:8086/TestManager
E:/Learn/works/BSServer/TestManager
在applicationContext.xml文件中配置数据库路径和名称。
3.2前端开发
测试数据管理系统前端使用ExtJS框架进行开发。ExtJS是一个javascript编写的AJAX框架,用于在客户端创建丰富多彩的web应用程序界面。开发的程序模仿桌面应用程序效果,如图1所示。界面包含登录对话框、系统管理模块入口、日志记录模块入口、数据管理模块入口图标。通过点击图标进入相应模块,日志记录模块如图2所示。
3.3后端开发
后端采用Java语言、Spring、Hibernate框架实现。Hibernate是一个开放源代码的对象关系映射框架,对JDBC进行了封装,使得Java程序员可以使用面向对象方式操作数据库,避免了底层数据库格式与软件代码的耦合。Spring框架是一种分层架构,由7个良好定义的模块组成,实现了软件业务逻辑与底层数据的分离,提高了软件的通用性。
测试数据管理系统的后端架构如图3所示。前端访问内容通过JSP访问控制,访问业务逻辑层的具体模块,业务逻辑层通过数据访问层访问数据库中的特定数据。数据访问层通过Hibernate访问数据库,各层之间通过Spring框架进行连接。
3.4 客户端分析工具设计
为减少服务器压力,数据分析、绘图显示功能配置在客户端上,通过javascript调用本地应用程序,进行分析、绘图。客户端分析工具可由各种方法实现。
Python是一种面向对象、解释型计算机程序设计语言,具有丰富、强大的数据计算、绘图库,且支持Windows、Linux系统。测试数据管理系统的默认客户端分析工具采用Python实现。Python通过matplotlib、url包数据远程读取与绘图显示,显示界面如图4所示。
3.5 二次开发接口设计
系统将产品代号、编号、测试类型及其相关操作定义在数据库中,用户通过浏览器配置,实现不同产品、测试类型的数据分析、绘图等功能的二次开发。二次开发接口功能如图5所示。图5中,配置上传动作、分析动作、绘图动作的具体类和JSP文件名,并在外部实现此文件,测试数据管理系统根据产品代号、编号、测试类型自动调用此文件,實现了二次开发功能。
3.6 上传、下载工具设计
测试数据压缩包一般为数百兆至数几千兆大小,在IE浏览器客户端导入、导出存在响应速度慢,易出错的问题,因此设计专用的导入导出工具。导入导出工具在服务器端运行,运行界面如图5所示,输入用户名、密码进行登录。登录后设置产品代号、产品编号、测试类型、开始时间等属性,进行测试过程查询和导出。导出后,生成Excel格式的导出报表及测试数据文件夹。
4 结论
本文分析测试数据管理基本需求,实现了基于B/S架构、ExtJS框架的测试数据管理系统,具备数据管理、分析、二次开发接口等功能,用于多个产品的测试数据存储、管理,解决了批生产过程中测试数据管理困难的问题。
作者简介:胡业火(1983.10-)男,籍贯江西九江,汉族,高级工程师,大学本科,主要研究产品测试 数据分析和信息化。