适用于联锁自动化测试的生成冲突进路测试用例的方法与流程

文档序号:18884487发布日期:2019-10-15 20:40阅读:378来源:国知局
适用于联锁自动化测试的生成冲突进路测试用例的方法与流程
本发明涉及轨道交通
技术领域
,尤其涉及适用于联锁自动化测试的生成冲突进路测试用例的方法。
背景技术
:防止列车追尾,对向碰撞,或侧向碰撞是联锁系统最重要的功能,而这些功能都以防止冲突进路的办理为基础。大部分的情况下,该功能由测试人员根据自己的经验,选择部分测试案例,进行人工测试。然而冲突进路的测试需要对联锁表中两条进路进行组合测试,当站场规模变大时,这样的组合测试案例数可能达到几万个,甚至几十万个的规模。这意味着测试过程中,测试案例的选择就成为了一项很重要的工作。既要保证测试的充分性,也要兼顾测试效率。如果对测试案例全遍历,那么数万级规模的测试案例将导致测试耗费很长时间,人工测试基本无法完成,而且也不利于对测试结果进行分析和整理。选择的测试案例太少,又不能保证测试的充分性,达不到测试效果。技术实现要素:本发明的目的在于提供一种适用于联锁自动化测试的生成冲突进路测试用例的方法,过滤部分重复的或者不必要的冲突进路组合,提高测试效率。实现上述目的的技术方案是:一种适用于联锁自动化测试的生成冲突进路测试用例的方法,以联锁表为输入文件,根据预定的待测冲突进路对选择规则,选择出待测冲突进路对的集合,并生成测试所需要的冲突进路测试案例集。优选的,所述的待测冲突进路对选择规则,包括:遍历联锁表中每一条进路,构造所有具有公共区段的冲突进路对的第一集合;在第一集合中,排除方向相反的冲突进路对,形成第二集合;在第二集合中,排除一条进路是另一条进路的子进路的冲突进路对,形成第三集合;在第三集合中,选择有公共道岔的冲突进路对,形成第四集合;在第四集合中,选择至少有一组道岔位置不一样的冲突进路对,作为待测冲突进路对,形成第五集合;根据第五集合中的待测冲突进路对,以全排列的方式生成测试所需要的冲突进路测试案例集。优选的,联锁表的关系模型表示为:route(id,b,ns,rs),其中,id是进路的id号;b是进路上区段的id号;ns是进路经过的定位道岔的id号;rs是进路经过的反位道岔的id号;第一集合表示为:其中,r1,r2分别表示冲突进路对的两个进路的id号;r1.b表示r1进路上区段的id号;r2.b表示r2进路上区段的id号;第二集合表示为:r2={(r1,r2)|(r1,r2)∈r1∧r1.b≠r2.b};第三集合表示为:第四集合表示为:其中,r1.ns和r1.rs分别表示r1进路经过的定位道岔的id号和反位道岔的id号;r2.ns和r2.rs分别表示r2进路经过的定位道岔的id号和反位道岔的id号;第五集合表示为:本发明的有益效果是:本发明以联锁表为输入文件,依据预先确定的规则,过滤掉部分重复的或者不必要的冲突进路组合,确保生成的测试用例集能够达到充分且无冗余的要求,有效提高测试效率。并且将冲突进路测试案例集输入到自动化测试系统中,实现对冲突进路的自动化测试,以解决现有技术中联锁冲突进路功能人工测试过程中的各种痛点,具有测试用例选择合理,无重复,有算法依据,便于自动化测试系统使用等诸多优点。附图说明图1是本发明中待测冲突进路对选择规则的流程示意图。具体实施方式下面将结合附图对本发明作进一步说明。本发明的适用于联锁自动化测试的生成冲突进路测试用例的方法,以联锁表为输入文件,根据预定的待测冲突进路对选择规则,选择出待测冲突进路对的集合,并生成测试所需要的冲突进路测试案例集。可以应用于测试联锁系统中的冲突进路功能是否有缺陷。生成的测试用例集,既可以用于人工测试的测试案例选择依据,也可以将其转换为自动化测试所需的输入格式,用于自动测试联锁冲突进路功能。联锁表的关系模型表示为:route(id,b,ns,rs),其中,id是进路的id号;b是进路上区段的id号;ns是进路经过的定位道岔的id号;rs是进路经过的反位道岔的id号。请参阅图1,待测冲突进路对选择规则,包括:步骤s1,遍历联锁表中每一条进路,构造所有具有公共区段的冲突进路对的第一集合:∧r1≠r2},其中,r1,r2分别表示冲突进路对的两个进路的id号;r1.b表示r1进路上区段的id号;r2.b表示r2进路上区段的id号。步骤s2,在第一集合中,排除方向相反的敌对信号能够防护冲突进路对,形成第二集合:r2={(r1,r2)|(r1,r2)∈r1∧r1.b≠r2.b}。步骤s3,在第二集合中,排除一条进路是另一条进路的子进路的冲突进路对,形成第三集合:步骤s4,在第三集合中,选择有公共道岔的冲突进路对,以排除由于不包含道岔而不能构成冲突进路的进路对,形成第四集合:其中,r1.ns和r1.rs分别表示r1进路经过的定位道岔的id号和反位道岔的id号;r2.ns和r2.rs分别表示r2进路经过的定位道岔的id号和反位道岔的id号。步骤s5,在第四集合中,选择至少有一组道岔位置不一样的冲突进路对,作为待测冲突进路对,以选择出道岔位置能区分的冲突进路,形成第五集合:步骤s6,根据第五集合中的待测冲突进路对,以全排列的方式生成测试所需要的冲突进路测试案例集。具体举例如下:假设给定如下联锁表:idb(blocks)ns(normalswitches)rs(reverseswitches)r1b1,b2,b3s4r2b3,b2,b1s1,s2s3r3b1,b2,b3,b4s2s1,s3r4b2,b3,b4,b5s2,s1,s3r5b6,b7s4s5r6b7,b8s4,s5按照上述的待测冲突进路对选择规则,以下各步将给出在上述联锁表中进行操作后形成的进路对集合。最后再将此进路对集合按照全排列的方式生成冲突进路测试用例集合。步骤如下:1)在联锁表中取得所有具有公共区段的进路对的集合:r1={(r1,r2),(r1,r3),(r1,r4),(r2,r3),(r2,r4),(r3,r4),(r5,r6)}2)排除方向相反的敌对信号能够防护的冲突进路:r2={(r1,r3),(r1,r4),(r2,r3),(r2,r4),(r3,r4),(r5,r6)}3)排除一条进路是另一条进路的子进路的冲突进路:r3={(r1,r4),(r2,r4),(r3,r4),(r5,r6)}4)选择有公共道岔的进路对:r4={(r2,r4),(r3,r4),(r5,r6)}5)选择至少有一组道岔位置不一样的进路对:r5={(r2,r4),(r5,r6)}6)根据上述生成的集合r5,将集合r5内每个进路对都按照全排列的方式生成冲突进路自动化测试用例。为了描述方便,测试用例以文字形式描述,通过软件转换为自动化测试软件所需格式。按照上述测试步骤生成的进路对集合r5,可以生成如下测试用例:测试用例1:初始化系统;办理进路2;办理进路4;检查进路4是否办理成功测试用例2:初始化系统;办理进路4;办理进路2;检查进路2是否办理成功测试用例3:初始化系统;办理进路5;办理进路6;检查进路6是否办理成功测试用例4:初始化系统;办理进路6;办理进路5;检查进路5是否办理成功。联锁冲突进路测试用例的自动测试时,将基于上述的适用于联锁自动化测试的生成冲突进路测试用例的方法所生成的冲突进路测试案例集输入自动化测试系统中进行测试。以上实施例仅供说明本发明之用,而非对本发明的限制,有关
技术领域
的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1