数据迁移中的数据测试 推荐
2014-08-22 14:08
246 查看
很久没有写自己的blog了。自动化测试项目结束后,又参加了一些新项目,有些和测试自动化无关。目前做的是数据迁移测试,即把一个老系统的业务数据,迁移到新系统中。大部分测试都集中在数据的测试,主要根据BMD测试数据字段的对应关系。测试用例都是用SQL脚本写的。为了调用这些测试用例,也写了一个简单的测试框架,思路如下:
Main.sql
这个文件有两部分,
1) 生成一个TestResult表,记录每一个测试用例的结果,如:
这个框架本身非常简单,很容易扩展和维护,为进行数据迁移测试的童鞋们,抛砖引玉。
Main.sql
这个文件有两部分,
1) 生成一个TestResult表,记录每一个测试用例的结果,如:
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TestResult]') AND type in (N'U')) DROP TABLE [dbo].[TestResult] BEGIN CREATE TABLE [dbo].[TestResult]( [ResultId] int identity(1,1) NOT NULL, [TestCaseId] nvarchar(255) NOT NULL, [ProcedureName] nvarchar(255) NOT NULL, [TestCaseResult] nvarchar(255) NOT NULL, [TestLog] nvarchar(max) NULL, [ExecutionTimeStamp] datetime NULL ) INSERT INTO [dbo].[TestResult] VALUES ('C-301','AccountID','NOT RUN','',CURRENT_TIMESTAMP), ...... END2) 调用每一个测试用例对应的存储过程。
EXECUTE C_AccountID2. 每一部分数据都有自己的文件,如Account.sql. 在这个文件里,包括了将测试用例自动化的存储过程。Example:
--C-301--------------Start of AccountID Procedure------------------- USE TestDatabase GO IF OBJECT_ID ('dbo.AccountID', 'P') IS NOT NULL DROP PROCEDURE dbo.AccountID GO CREATE PROCEDURE dbo.AccountID AS BEGIN DECLARE @AccountIDCount int DECLARE @DupCount int DECLARE @LegalCount int DECLARE @Result nvarchar(10) DECLARE @Comments nvarchar(255) /* Test the account id's mapping */ SET @AccountIDCount = 0 SET @AccountIDCount = (SELECT COUNT(*) FROM [MasterData] T LEFT JOIN [TargetList] S ON CAST( T.[iAccountID] as nvarchar) = CAST( S.[PARTYID] as nvarchar) collate Latin1_General_CI_AS WHERE T.[iAccountID] IS NULL ) /* Check there is no duplicate account id */ SET @DupCount = 0 SET @DupCount = (SELECT COUNT(*) FROM [MasterData] WHERE (iAccountID in (select iAccountID from [MasterData] group by iAccountID having count(*)>1) )) /* check the account id is 10 digits */ SET @LegalCount = (SELECT * FROM [Rex_DCL5_LDS_Customer_STG_MasterData] WHERE iAccountID not like '%0000000000%') IF @AccountIDCount + @DupCount + @LegalCount= 0 BEGIN SET @Result = 'PASS' SET @Comments = '[iAccountID] are correct.' END ELSE BEGIN SET @Result = 'FAIL' SET @Comments = 'There are: ' + CAST(@AccountIDCount as nvarchar) + 'records of T data are not contained in S data.'+ CAST(@DupCount as nvarchar) + ' records are duplicated' + CAST(@LegalCount as nvarchar) + ' records are illegal' END IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TestResult]') AND type in (N'U')) BEGIN UPDATE [dbo].[TestResult] SET TestCaseResult = @Result, TestLog = @Comments, ExecutionTimeStamp = CURRENT_TIMESTAMP WHERE ProcedureName = 'AccountID' END END GO --C-301------------End of dbo.AccountID Procedure-------------------执行测试是,先Acount.sql,生产每一个测试用例的存储过程,然后在打开Main.sql去调用这些存储过程。
这个框架本身非常简单,很容易扩展和维护,为进行数据迁移测试的童鞋们,抛砖引玉。
相关文章推荐
- MAXIMO测试环境向正式环境迁移客户化开发应用(数据表迁移)
- Exchange 2007 平台迁移测试 推荐
- 实现个人数据轻松迁移 推荐
- SCCM 2012 LAB Part5.部署自定义操作系统和用户数据迁移 推荐
- [找程序员代写推荐]从oracle 实时取数据 显示表格和fusionCharts曲线图 ,终于测试OK,没想到能给移动公司做个小功能
- 3块闪存的读写性能测试数据 推荐
- 如何做数据迁移项目的测试?--(展望篇) [ 光影人像 东海陈光剑 的博客 ]
- 构建私有云平台cloudstack集群配置及不中断迁移测试 推荐
- ORACLE11G测试数据文件的迁移到其他磁盘组
- MySQL数据迁移到MSSQL-以小米数据库为例-测试828W最快可达到2分11秒
- 2008r2虚拟化高可用群集之五测试高可用及快速迁移 推荐
- 数据迁移测试方法【转】
- 从exchange 2007 SP3迁移到exchange 2010 SP1测试心得 推荐
- 测试比json更快更小的二进制数据传输格式Msgpack [pythono MessagePack 版本] 推荐
- 【海量数据测试】大型项目中的海量数据迁移测试实践与方案
- 仅通过SQL备份文件将MOSS服务器场及所有网站数据迁移到新的一台服务器上 推荐
- 如何做数据迁移项目的测试?
- 大数据量数据库的简单备份迁移数据技巧 推荐
- Mongodb千万级数据在python下的综合压力测试及应用探讨 推荐
- 数据迁移测试方法略谈