基于Lua脚本的自动化测试框架设计

发表于:2010-3-23 13:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:vincetest(CSDNBlog)    来源:51Testing软件测试网

  一、自动化测试背景

  1. 被测对象为嵌入式系统中使用Lua脚本做胶合的一个个模块接口。需要编写Lua脚本调用这些接口对接口进行测试,运行环境为嵌入式系统中并非PC机。

  2. 测试脚本能够起到回归测试及自动判断测试结果和输出测试报告

  二、实现方法

  主要参考XUnit框架机制实现测试套的封装,其封装的对象如下:

  1. 测试环境

  2. 自动化判断

  3. 测试日志

  4. 测试执行情况统计

  5. 测试报告

  三、测试框架

   1. InitTestFrame()                        --初始化测试框架 ,只能执行一次,否则会影响测试结果统计 
   2. SetCurrModule("CurrModuleName")      --当前测试模块的名字 
   3. WriteCaseName("CurrCaseName")        --当前测试用例的名字 
   4. WriteCaseStep("CurrStepName")          --当前测试步骤的名字 
   5. ret = AssertResult("sExpects","RealResult")  --自动比较(选用) 
   6. WriteReport(ret,"sRealResult")            --将测试结果写入测试报告文件中 
   7. GetStatistic()                          --获取测试执行情况统计 

  四、实现代码

  1. 环境变量

 --定义不同的环境变量,便于脚本的移植 
 if TestEntironment == nil then  --如果没有定义TestEntironment 
     Win32   = 1 
     Symbian = 2 
     TestEntironment = Win32 
     --TestEntironment = Symbian 
 End 
  
 if TestEntironment == Win32 then 
     reportfile = "..\\TestCode\\TestReport.txt"  --测试报告文件 
 else 
     reportfile = "c:\\TestCode\\TestReport.txt"  --测试报告文件 
 end 

  2. 初始化测试框架

 --初始化测试框架 
 function InitTestFrame() 
     --定义存储各模块测试执行情况的表 
     tRunStatistic = {} 
     tRunStatisticIndex = 0   --tRunStatistic的索引 
      
     CurrNGModuleIndex  = 0 
     CurrNGCaseIndex    = 0    
     --定义存储执行失败用例的表 
     tRunNG = {} 
 end 

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号