一种自动化测试的方法及装置的制造方法_3

文档序号:9647151阅读:来源:国知局
>[0124]步骤105,将对不同的交易类型的自助设备均适用的测试案例根据预先设置的存储方法存储在公共测试案例库中。
[0125]具体的,可以根据机型,是否为循环机还是只取机还是只存机,随机的从该种机型的测试案例库中抽取一个案例或者一个案例序列进行测试,接近实际运行状况。
[0126]所述的案例序列是指运行环境中采集的存款、取款、转账、查询、改密等依次进行的一组业务所构成的案例组。
[0127]如果是循环机型,则可同时提供取款和存款的交易测试;如果为只取机型,则只提供取款交易测试而屏蔽存款交易测试;如果为只存机型则只提供存款交易而屏蔽取款交易测试。
[0128]当然,上述三种机型均可提供除存取款以外的其他诸如改密、查询、转账等业务,只要该机型具有且开放这些业务。
[0129]根据机型挑选出该机型对应的各种业务的测试案例或测试案例序列,组成该机型的测试案例库;对于各机型都适用的测试案例或测试案例序列,可以放入公共测试案例库中。
[0130]实施例四
[0131]参考图4,图4是本发明实施例自动化测试的方法第四实施例的流程示意图。
[0132]在实施例一的基础上,所述根据所述数据自动化生成测试案例,并将所述测试案例发送给所述自助设备之后,还包括:
[0133]在所述自助终端上测试一个测试案例后,再随机从测试案例库中选择另一个测试案例进行测试;
[0134]所述随机从测试案例库中选择另一个测试案例进行测试,包括:
[0135]判断所述自助终端的交易类型,所述交易类型包括仅取款、仅存款或者存取款一体;
[0136]根据所述交易类型,从所述测试案例库中根据预先设置的算法选择一个可用于所述自助终端的测试案例。
[0137]优选地,所述根据所述交易类型,从所述测试案例库中根据预先设置的算法选择一个可用于所述自助终端的测试案例,包括:
[0138]根据预先设置的单一模块运行模式向所述自助终端发送对预先存储的单个业务类型进行测试的测试信息;
[0139]所述方法还包括:
[0140]若在所述自助终端上对预先存储的单个业务类型进行测试的测试结果与正确的测试结果超过预先设置的阈值时,则向测试人员发送提示信息。
[0141]具体的,在该模式下,先对各个模块进行基础的压力测试,确保每个独立的模块是稳定可靠的。为提高执行效率,单个模块的测试可以同时并发进行,单彼此之间互不干扰。即一个模块的测试结果不会影响到另外一个模块的测试结果。当某个模块出现故障时,其他模块还可以正常运行。
[0142]各个模块的运行次数、每次运行的结果、执行测试通过的比例都会按照一定的格式保存下来并保存至数据采集服务器上。数据采集服务器在该批次上的单一运行模式运行完毕后,即自助设备上的每个模块测试完成后,将启动数据分析子系统,数据分析子系统将自动对已采集的数据进行处理。当某组数据或某个指标超出设定的标准范围后,将自动给出告警信息给相关人员进行分析。
[0143]在此模式下很容易发现某个产品或某个模块的批量缺陷。当该模块的功能存在问题时,测试用例库中功能性测试用例将会检测出来;当该模块的稳定性存在问题时,在单一运行模式的压力测试环境下,该模块可能就会先后出现故障,从而能在该模式下快速发现和检测出该类问题。
[0144]优选地,所述根据所述交易类型,从所述测试案例库中根据预先设置的算法选择一个可用于所述自助终端的测试案例,包括:
[0145]根据预先设置的完全一致运行模式接收用户在与待测试的自助设备的交易类型相同的自助设备上进行业务操作的数据,所述数据包括用户在所述自助设备上触发的动作指令、与所述动作指令对应的参数以及各种动作指令之间的间隔时间;将所述数据发送给所述待测试的自助设备,比较所述数据在所述待测试的自助设备上运行的第一数据结果和所述数据在与所述待测试的自助设备的交易类型相同的自助设备上运行的第二数据结果;若所述第一数据结果和所述第二数据结果之间的差值超过预先设置的阈值时,则向测试人员发送提示信息;或者,
[0146]具体的,完全一致是指测试环境模仿运行环境,包括用户输入的信息和快慢。如某用户在某自助设备上取款,其插卡动作,不仅为其所在的自助设备所接收,还会传输到测试平台,使得测试平台上的自助设备即时接收到插卡的命令。
[0147]在该模式下,主要用于模拟测试客户自助设备实际运行环境下的使用情况。例如在自助设备实际运行环境下出现某个偶发问题无法且无法重现时,通过采集客户自助设备实际运行环境下的真实数据,且经过数据分析子系统的处理,获取到相关的数据信息后,在该模式下执行自动化测试。
[0148]该模式下,需要对各种数据进行修改处理。例如每笔交易前,需要使用模拟客户使用的卡片数据信息,在操作过程中需要模拟客户所选择的交易类型及金额;交易结束后需要再次改变卡片数据信息以模拟下一个客户的操作。在该模式下,由于自动化测试系统已经接近完整的模拟了自助设备实际运行环境下的所有操作,因此能将偶发的、难以重现的问题提高出现概率。另外,在批量设备上使用该模式进行模拟,也能大幅提高问题重现的概率。整个测试过程中记录了详细的操作记录日志,从而为解决分析问题提供了必要的数据支持。
[0149]根据预先设置的模糊匹配模式获取所述自助设备在实际使用环境下进行各种不同业务操作的概率以及业务之间关联的概率;根据上一个测试的业务类型和所述业务之间关联的概率,获取与所述上一个测试的业务类型关联的概率最大的业务类型;将包括所述与所述上一个测试的业务类型关联的概率最大的业务类型的测试案例发送给所述自助终端;或者,
[0150]具体的,依据实际使用环境下的数据,计算出不同交易类型的数量和比例,在测试时随机进行相应比例的测试。
[0151]第一情况是在自助设备实际运行环境中,当用户执行完一个业务之后,执行下一个业务时何种业务的概率。如在学校,用户执行完一个取款业务,会有95%的概率执行下一个业务为查询余额,2 %的概率为继续取款,3 %的概率为退卡结束。
[0152]第二种情况是当自助设备作为一个有限状态机,处于某一种状态时,进入下一个状态的概率。如当自助设备已经处于“将钞票送往出钞口等待用户取钞”的状态,将会有90%的概率进入下一个状态为“用户顺利取走钞票自助设备打印凭条”的状态,有7%的概率发生“超时而用户没有取走钞票导致自助设备回收钞票成功”的状态,3%的发生“超时而用户没有取走钞票导致自助设备回收钞票失败”的状态。
[0153]为了能够仿真出这种概率,使得自助设备软件的测试更可能的符合实际运行环境中统计的概率,因而必须要对自助设备的测试走向进行量化。是的测试不致于出现以下浪费测试成本的现象:本来90%概率走向的状态变换,测试中实际走向仅仅出现10%,与实际严重偏离,这得不到想要的测试效果。
[0154]首先,对自助设备运行环境的数据进行自动采集和自动分析处理。
[0155]采集待测软件要投入运行的环境的相关信息,如该环境用户业务信息(如用户的业务类型、用户执行业务的顺序特点、用户执行业务的时间分布等)、用户在业务过程之中的输入信息,以及各输入动作之间的时间间隔。
[0156]其次,对于每一个测试案例中,构成一个状态跃迀图。每执行一个步骤,如果后续可以有多种路线可以选择,随机选择一条路线执行,也可以按照实际运行的使用概率进行路线的选择,以更加贴近实际运行。
[0157]例如,参考图5,图5是本发明实施例提供的一种跃迀状态图。
[0158]路线:A->B(10 % ), A->C (30 % ), A->D (40 % ), A->E(20% )。
[0159]其中,测试执行到A点,使用概率方式是选择执行B、C、D还是E。
[0160]自助设备是一个有限状态,ABCDE不过是该有限状态机的一种状态。比方ATM执行取款,从最初的“等待用户插卡”状态,到“接受用户卡,读完卡数据”的状态,进入“等待用户输入密码”状态。。。。。如此等等。
[0161]自助设备在任何一个稳定状态下,执行完一条软件下发的指令,会切换转移到另一个状态(包括先前状态),具体会进入到哪一个状态僵尸一个概率事件。如上图,自助设备在A状态,执行完一条指令,切换到B状态的概率是10%。
[0162]再次,依据给定或设定的概率来选择后续一个交易。
[0163]A点执行完毕后,选择下一个执行点的原则是依据已有的概率来进行选择的,但在选择时同样要遵循随机性的原则,即下一个执行点的选定方式是在概率的基础上再随机。在选定一个特定交易后,此时自动化测试子系统将获取该笔交易所需的相关数据来执行测试。
[0164]最后,下一点进入方式的处理。
[0165]如果自助设备自动化测试子系统在完成B点的测试后,此时下一点的进入方式又需要重新计算,其重新计算的值应在再次的基础上再次进行调整。例如,上图中,B->A(10% ),B->B(10% ), B->C(20% ), B_>D(30% ), B_>E(30% ) 0
[0166]此时在B点执行完毕后,再次选择下一个执行点的概率已经发生改变,同时运行B点在执行完毕后再次重复执行B点,在同等概率的条件下,例如本步骤的B->A和B-B,以及B-D和B-E,此时就需要按指定的排序顺序或随机的顺序选择下一个执行点,此时未选择的路线其概率上升,而被选择的路线其概率下降。
[0167]根据预先设置的参考设定运行模式获取所述待测试的自助终端的预先设置的条件,所述预先设置的条件包括在所述待测试的自助终端需测试的业务类型;仅向所述待测试的自助终端发送与所述预先设置的条件匹配的单个业务类型的测试信息;或者,在获取到与所述上一个测试的业务类型关联的概率最大的业务类型的情况下,进一步判断所述与所述上一个测试的业务类型关联的概率最大的业务类型是否匹配所述预先设置的条件,若是,则将包括所述与所述上一个测试的业务类型关联的概率最大的业务类型的测试案例发送给所述自助终端;若否,则获取与所述上一个测试的业务类型关联的概率值排名其次的业务类型;或者,
[0168]具体的,在某些特殊情况下,例如某些非现金类交易不需要在一个批次内的所有设备上执行,而只需要在某台机器上运行即可。此时可以人为的给定设定的条件,例如各个交易中所占的比例,或屏蔽某一个特殊交易等情况下使用。
[0169]在该模式下,自动化测试执行子系统将优先使用设定的条件。在符合已设定的条件下,再按照已采集并处理的数据,按照已经得到的数据信息和概率从测试案例库中抽取测试案例进行测试。对于已经屏蔽的交易类,同时会将其所统计的概率值置为空,但其他交易类型的概率值保持不变。如果各交易概率值均已给定,则以给定的概率值为准。但其执行点的顺序仍已数据分析子系统的值为准。
[0170]根据预先设置的随机调整运行模式根据所述交易类型,从所述测试案例库中随机选
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1