基于VC测试工具的二次开发

发表于:2014-4-28 09:00

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

 作者:冀方    来源:51Testing软件测试网原创

  实际的项目中,可以使用商业的测试工具,也可以使用开源的测试工具。如果这两种工具都满足不了测试的要求,只能自己从零开发或者在现有测试工具的基础上做二次开发。需要做二次开发的情形并不少见,比如,笔者最近亲历的某银行OTP设备项目。
  先了解下OTP是什么?OTP全称叫One-timePassword,也称动态口令,是根据专门的算法每隔60秒生成的一个与时间相关的、不可预测的随机数字组合。动态口令可有效保护交易和登录的认证安全,而且无需定期更换密码。OTP设备就是用来生成动态口令的终端。
  首次介入OTP设备项目是在去年的11月初。正忙于手头测试项目的我,应邀参加了部门内部组织的OTP产品会议,重点讨论硬件测试、固件测试、软件测试等问题。说是讨论,实际上是分配测试工作。项目组领导安排我开发测试工具,评估OTP固件的可靠性。工具要求实现时间比对,动态口令验证,解锁验证,时间同步验证以及循环写种子密钥和时间同步的功能。我掐着手指头算了下,一共5个,还是倍感压力。压力不仅是要做的东西多,而且事先我对这个项目毫无了解。领导有板有眼的解释着我要做的东西,我还是稀里糊涂他说的一些名词;虽然肾上腺素在不停分泌,潦草的记下了他说的要点,但是对于内部实现的细节,还是一头雾水;虽然自己开发的底子还算扎实,但是对于短时间内就要出东西的项目,心里还是没底。
  会议结束后,心急火燎的我,马上和测试组其他同事讨论测试工具的问题。我首先想到了CardIDE。CardIDE是公司自主开发的一个集成开发环境,可以开发基于Delphi语言的脚本,用于金融领域KEY类产品和读卡器类产品的测试。由于分工不同,我对这个工具并不熟悉。我的疑惑是通过CardIDE能否开发出满足OTP测试要求的脚本?这个想法很快被经常使用这个工具的同事否定了,理由是Delphi语言功能比较弱,开发难度大,几乎不能实现。同事的答复像一盆冷水泼在了身上,希望瞬间变失望。其中的一位同事还安慰我说,你要是做不了,赶紧报告领导,还能挽回点局面。我一时语塞,脸上微烫,突然发现自己,怎么有些不淡定了。一句无心的话,坚定了我做出来的决心。
      ......
  查看全文请点击下载:http://www.51testing.com/html/15/n-860515.html
  首先还是要明确目标测试工具的功能需求,包含基本功能需求和附加功能需求。基本功能需求:
  ·自动检测设备的插拔(现有工具已实现)
  ·随机产生16字节种子密钥KeyData
  ·获取8字节随机链路密钥EKEy
  ·用EKEY对根密钥MKEY做ECB模式下的3DES加密运算,运算结KeyEndataTest
  ·用KeyEndataTest对种子密钥KeyData做CBC模式下的3DES加密运算,运算结果KeyEndata
  ·用种子密钥KeyData对8字节00做ECB模式下的3DES加密运算,运算结果KeyChkval
  ·将序列号和KeyEndata和KeyChkval拼接后,写入到OTP设备中
  ·发送时间同步指令,验证OTP和本地时间是否同步
  ·擦除COS
  ·模拟OTP插拔的动作
  ·程序暂停执行,等待生产工具将COS自动写入
  ·模拟OTP插拔的动作
  ·返回步骤1重新执行
      ......
   查看全文请点击下载:http://www.51testing.com/html/15/n-860515.html
 版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号