一、关于测试的几个原则
1、定义明确的测试案例;
2、定义明确的测试目标;
3、定义明确的退出机制;
4、好风格应该成为一种习惯。如果你在开始就关心风格问题,如果你花时间去审视和改进它,你将会逐渐养成一种好的习惯。一旦这种习惯变成自动的东西,你的潜意识就会帮你照料许多细节问题。
二、wosa介绍
WOSA(全称是Windows开放式系统体系结构 Windows Open System Architecture),是微软公司提出的一种在Windows操作系统下的软件架构。WOSA/XFS 是基于WOSA的扩展金融服务(Window Open System Architecture/ Extensions for Financial Services),是金融行业软件的一种软件架构,它在WOSA软件架构的基础上针对金融行业进行了一些相应的修改。银行的ATM机就不会受制于某一家厂商,银行只需要专业的软件厂商维护ATMC软件,可由专门维护ATM机的 专业公司来维护ATM硬件。从而让银行拥有更多的选择, 会得到更多更好的服务,得到更便宜的价格,它是各个厂商互相竞争中的最大受益者。
为了处理金融行业的软件互连问题,微软公司、几个大的金融外设厂商和几个大的银行机构在最终定下 来了一套软件技术规范。只要任何一硬件的软件驱动程序符合这套规范,那么它的硬件就可以无缝连接到其他同样符合这套规范的ATM机上,而不需要 做任何的软件改动。同时WOSA也规定了硬件驱动程序和ATM上层控制流程的程序之间的接口规范,从而银行可以购买非厂商提供的ATMC上层程序,提供给银行更多的选择和更专业的软件服务。
这一套软件技术规范就被称为WOSA/XFS规范,一般简称WOSA/XFS。后来,规范的维护工作转给了CEN的一个工作组,这个工作组是银行业的厂商组成的一个委员会的下属单位,现在,就是他们在维护着XFS规范,因此现在叫做 CEN/XFS。
三、规范的文档的内容结构
WOSA/XFS3.0规范文档大概分为四十多个pdf文档,(其中"CWA 13449"为WOSA/XFS的2.0版本,"CWA 14050"为WOSA/XFS的3.03版本。)。
其中第一份文档最重要,是讲整个WOSA/XFS的架构、配置信息、API/SPI、内存管理等内容,稍微难懂了些,如果能看看则对整个WOSA/XFS有所了解。
第二份文档讲WOSA/XFS规范都涉及到了哪些模块等信息,对每个模块进行了简单的综述。
第三份文档开始,依次介绍每种设备的命令,其实都是在讲WFSGetInfo和WFSExecute,只是参数不同。每份文档的结构大同小异,先是讲 WFSGetInfo的各个命令及其参数、注意事项等;接着讲WFSExecute的各个命令及其参数、注意事项等;接着讲该设备可能发生的 Events;最后是C语言的头文件。
从大概第16份文档开始,是讲怎样从WOSA/XFS2.0规范迁移到WOSA/XFS3.0规范,主要是提供给旧版本的SP用的,可以不看它们。
从大概第29份文档开始,是讲关于SNMP监控的,目前可以不看它们。
那么目前只看前十五份文档即可。
WOSA/XFS规范文档目前没有中文的,我们叶翻译过部分WOSA/XFS规范。
四、现有WOSA的构架
在XFS的架构中,各个部分是怎么分工,具体在这3个层次间的就是接口了,Interface, API和SPI、API,包括以下基本功能:诸如 StartUp/CleanUp、Open/Close、Lock/Unlock和Execute,这些都是所有的XFS设备和服务类都支持的。
管理功能:诸如设备初始化、复位、挂起和恢复,用来管理设备和服务。
特定指令:用来查询设备或服务的信息、执行设备的特殊功能,它们被作为GetInfo/ Execute的参数送给设备。这些特定的指令有一套单独的规范,每类服务一套。
SPI,基本和API相似,除了一些由管理器处理的指令。
五、XFS Manager的组成
XFS Manager实际上是三个DLL组成,一般在系统目录\Windows\System32下面
MSXFS.DLL(基本的XFS API and SPI函数,在Include目录下的XFSAPI.H和XFSSPI.H中定义)
XFS_SUPP.DLL(一些支持函数,在Include目录下的 XFSADMIN.H中定义)
XFS_CONF.DLL(配置函数,在Include目录下的Xfsconf.h中定义)。
六、XFS Manager的版本
XFS的各个版本,可以通过找到MSXFS.DLL文件,然后右键查看其文件属性,里面有个版本号,从而就知道某台机器运行的SP
七、XFS Test准备
WosaTest工具,以wincor的WosaTest为例2.0:
ATM20032.exe 测试出钞机构
DEP20032.exe 测试存款模块
IDC20032.exe 测试读卡器
PIN20032.exe 测试密码键盘
PTR20032.exe 测试打印机(包括PRJ、PRR等)
SIU20032.exe 测试SIU
TTU20032.exe 测试字苻终端
八、XFS Test步骤
1、在SP测试工具中调用WFSStartUp, 目的是把整个SP的环境启起来,包括把XFS Manager装载到测试工具的进程空间中。
2、在SP测试工具中调用WFSOpen,目的是打开某个硬件模块,SP测试工具一般一次只能打开一种类型的硬件设备。其中要注意的是有个参数叫过 Logical Name“逻辑名”,这个一定要填对,一般的厂家都有固定的习惯,比如会叫IDC30、CDM30等,打开哪个设备就填上对应的名字。 所有可能的名字在上面提到的注册表项LOGICAL_SERVICES下面,如果不清楚,你可以看看哪个名字象你要测试的设备,填上这个名字一般错不了。
3、在SP测试工具中调用WFSRegister,目的是注册一下,以便能够接收到SP传上来的事件。
4、在SP测试工具中调用WFSLock,这步基本可以省略。目的是锁定设备,主要是防止同时还有其他程序在访问该设备,达到独占设备的目的。
5、然后调用WFSGetInfo来获取设备的信息,相当于Read设备;也可以调用WFSExecute来对设备发命令,相当于Write设备,这两个是一 个对应。基本所有的命令都是通过这两个接口来完成的,其他步骤都是准备工作而已。对于WFSGetInfo和WFSExecute是各自包含一组命令,可 以选择单独的命令来执行。至于每个命令的意思,要看WOSA/XFS的那些规范文档了,每个命令都有详细的描述。
6、所有测试完成后,调用WFSUnLock,用来解锁,这步基本可以省略, 但如果第四步的锁定设备,则必须调用。
7、在SP测试工具中调用WFSUnRegister,目的是反注册一下,表明不再接收SP传上来的事件了。
8、在SP测试工具中调用WFSClose,目的是关闭设备,比如关闭串口通讯等。
9、在SP测试工具中调用WFSCleanUp,目的是释放整个SP的运行环境,把使用的相关文件和资源全部恢复。
九、XFS Test Sample (CDM 3.0)
在SP测试工具中调用WFSCleanUp,目的是释放整个SP的运行环境,把使用的相关文件和资源全部恢复。