一种基于selenium测试工具的web应用系统自动化测试的方法技术方案

技术编号:25270272 阅读:18 留言:0更新日期:2020-08-14 23:03
本发明专利技术公开了一种基于selenium测试工具的web应用系统自动化测试的方法,该方法包括:分析待研究web应用系统的功能,构建系统功能流程图;将所述待研究web应用系统中的每一个网页看作是一个状态,根据所述系统功能流程图,确定状态数量和状态之间的转移关系;利用马尔科夫链模型描述并计算系统状态之间的转移概率,得到所述待研究web应用系统的最终状态转移矩阵;根据所述状态转移矩阵采用selenium测试工具对所述待研究web应用系统进行自动化测试。本发明专利技术使用selenium测试工具和马尔科夫链转移概率相结合,该方法能够实现测试用例的随机生成并立即执行,代替人手动编写和手动执行测试用例,相对于传统的能量软件测试方法,该方法能够更加有效的提升软件测试的效率。

【技术实现步骤摘要】
一种基于selenium测试工具的web应用系统自动化测试的方法
本专利技术涉及Web自动化测试
,具体涉及一种基于selenium测试工具的web应用系统自动化测试的方法。
技术介绍
当今web系统在互联网中占据了很重要的地位,但是现在大多数企业的测试工作还是停留在人工测试的阶段,再加上软件测试投入的成本以及工作量占软件开发总成本的40%甚至更多,同时随着软件规模的不断增大,软件开发的复杂程度也随之上升,软件系统中发生错误的概率也随之增加,隐藏的缺陷也逐渐增多,费时费力软件测试效率低。
技术实现思路
专利技术目的:为了克服现有技术的不足,本专利技术提供一种基于selenium测试工具的web应用系统自动化测试的方法,解决了现有的软件测试人力程度高、浪费时间以及软件测试效率低的问题。技术方案:本专利技术提供的基于selenium测试工具的web应用系统自动化测试的方法,该方法包括:(1)分析待研究web应用系统的功能,构建系统功能流程图;(2)将所述待研究web应用系统中的每一个网页看作是一个状态,根据所述系统功能流程图,确定状态数量和状态之间的转移关系,同时设定转移矩阵P∈Rn×n,并初始化转移矩阵中的元素全为0;(3)利用马尔科夫链模型描述并计算系统状态之间的转移概率,得到所述待研究web应用系统的最终状态转移矩阵;(4)根据所述状态转移矩阵采用selenium测试工具对所述待研究web应用系统进行自动化测试。进一步地,包括:>所述步骤(3)具体包括:(31)将状态Si,1≤i≤n所在状态作为目标层,Si可以转移到k个状态设为并且下标满足n为状态的总数,即转移的k个状态为总状态的一个子集,求解对应状态之间的转移概率表示状态Si分别转移到的转移概率,与状态Si没有转移关系的转移概率为0;(32)对状态Si转移到的k个状态分别进行影响因子评估,设定对应的影响因子为根据影响因子的比值来衡量转移状态的相关性,并得到判别矩阵A,表示为:(33)对判别矩阵A进行一致性判别,若判别矩阵的不一致性可以被接受,则计算所述判别矩阵A对应最大特征向量对应于状态Si和状态之间的转移概率,否则,调整判别矩阵A,并重新进行一致性判别;(34)若Si已全部遍历,则将转移矩阵P补充完整,进行步骤(4),否则把下一个状态当做Si,返回到步骤(1)。进一步地,包括:所述步骤(33)具体包括:(331)求解判别矩阵A的最大特征值λmax,即:AY=λmaxY,其中,Y∈Rk是矩阵A最大特征值λmax对应的特征向量;(332)计算判别矩阵A一致程度的指标CI:(333)通得到对应矩阵阶数的平均随机性指标RI,并计算一致性比例CR,当CR<0.1时,判别矩阵A不一致性可以被接受,求出的最大特征向量Y∈Rk对应于状态Si和状态之间的转移概率,即:如果CR≥0.1,需要调整判别矩阵A,返回步骤(31);(334)如果Si全部遍历了,将转移矩阵P补充完整,进行步骤(4),否则把下一个状态当作Si,返回到步骤(1)。进一步地,包括:所述步骤(4)具体包括:(41)基于selenium测试工具编写测试脚本,并在脚本中添加测试数据,对状态S1,S2,..,Sn分别进行模块封装;(42)构造状态空间[S1,S2,..,Sn],从状态空间中获取初始状态Sstart和结束状态Send。构造测试路径列表TP=[],并将初始状态Sstart添加到TP=[]中,从初始状态Sstart开始,利用模拟转移概率算法随机确定转移概率值,进而进行状态之间的转移,直到到达Send;(43)假设当前状态为Si,若状态Si不是结束状态,从转移矩阵P中获取状态Si对应第i行所有不为0的转移概率值,即第i行的不为0的概率值,若Si可以转移到k个状态,分别为且下标满足且Si转移到状态的转移概率为将k条出边的转移概率进行累加,将k条出边的转移概率累计加和分别映射到[0,1]区间内,利用随机算法随机产生一个[0,1]的随机数R(0<R<1),如果随机数落入区间段内,即:则选择j对应的边作为出边,即选择状态作为下一状态,并将状态Si添加到测试路径TP=[]中;将置为当前状态,判断当前状态是否为结束状态,若是,则将其添加到TP=[]中,并输出测试路径列表;否则返回步骤(43)循环,直到到达结束状态;(44)当一条完整的测试路径被确定好之后,获取TP=[]列表,依次调用TP=[]中对应所有封装好的状态模块,执行模块中的脚本代码,到达相应的web页面,实现页面自动化测试;(45)将测试脚本部署到Jenkins集成系统上,定时重复执行自动化测试,打印测试报告。进一步地,包括:所述步骤(43)中,将k条出边的转移概率进行累加,即:有益效果:本专利技术所提出的以selenium测试工具为主,马尔科夫链为辅的web系统完全自动化测试方法,模拟了现实生活中人的真实操作,实现了软件测试的完全自动化。本专利技术使用selenium测试工具和马尔科夫链转移概率相结合,该方法能够实现测试用例的随机生成并立即执行,代替人手动编写和手动执行测试用例,相对于传统的能量软件测试方法,该方法能够更加有效的提升软件测试的效率。附图说明图1为本专利技术所述的层次分析模型图;图2为本专利技术所述的平均随机性指标RI列表图;图3为本专利技术所述的软件自动化测试流程图。具体实施方式下面结合说明书附图对本专利技术的实施方式进行描述。本专利技术在windows7系统Web页面上进行实现,使用Python语言,采取selenium测试工具结合WebDriver的方式模拟浏览器获取网页源代码,主要流程图如图1和3所示,selenium测试工具是一个用于Web应用程序测试的工具,是一个基于浏览器的自动化工具,她提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。selenium测试工具主要包括三部分:selenium测试工具IDE、selenium测试工具WebDriver和selenium测试工具Grid,它提供了一套非常完整的API。本文主要采用selenium测试工具WebDriver,模拟用户的真实操作,代替人手动操作。马尔可夫链(Markovchain),是概率论和数理统计中具有马尔科夫性质且存在于离散的指数集和状态空间中的随机过程。马尔科夫链具有马尔可夫性,马尔科夫性质就是指已知当前的状态,将来的状态与过去的状态无关。而软件操作具有下一个状态仅仅与当前的状态有关,无论之前的软件如何运作。所以我们可以使用马尔科夫链来模拟软件的使用,构建使用模型。马尔科夫链使用模型是从开始状态经过很多中间状态到结束状态的一种建模方式。从测试开始到测试结束之间可以有很多条路径,一条路径即代表一条测试用例。本专利技术主要基于马尔科夫链和selenium测试工具相结合,模拟用本文档来自技高网...

【技术保护点】
1.一种基于selenium测试工具的web应用系统自动化测试的方法,其特征在于,该方法包括:/n(1)分析待研究web应用系统的功能,构建系统功能流程图;/n(2)将所述待研究web应用系统中的每一个网页看作是一个状态,根据所述系统功能流程图,确定状态数量和状态之间的转移关系,同时设定转移矩阵P∈R

【技术特征摘要】
1.一种基于selenium测试工具的web应用系统自动化测试的方法,其特征在于,该方法包括:
(1)分析待研究web应用系统的功能,构建系统功能流程图;
(2)将所述待研究web应用系统中的每一个网页看作是一个状态,根据所述系统功能流程图,确定状态数量和状态之间的转移关系,同时设定转移矩阵P∈Rn×n,并初始化转移矩阵中的元素全为0;
(3)利用马尔科夫链模型描述并计算系统状态之间的转移概率,得到所述待研究web应用系统的最终状态转移矩阵;
(4)根据所述状态转移矩阵采用selenium测试工具对所述待研究web应用系统进行自动化测试。


2.根据权利要求1所述的基于selenium测试工具的web应用系统自动化测试的方法,其特征在于,所述步骤(3)具体包括:
(31)将状态Si,1≤i≤n所在状态作为目标层,Si可以转移到k个状态设为并且下标满足n为状态的总数,即转移的k个状态为总状态的一个子集,求解对应状态之间的转移概率表示状态Si分别转移到的转移概率,与状态Si没有转移关系的转移概率为0;
(32)对状态Si转移到的k个状态分别进行影响因子评估,设定对应的影响因子为根据影响因子的比值来衡量转移状态的相关性,并得到判别矩阵A,表示为:



(33)对判别矩阵A进行一致性判别,若判别矩阵的不一致性可以被接受,则计算所述判别矩阵A对应最大特征向量对应于状态Si和状态之间的转移概率,否则,调整判别矩阵A,并重新进行一致性判别;
(34)若Si已全部遍历,则将转移矩阵P补充完整,进行步骤(4),否则把下一个状态当做Si,返回到步骤(1)。


3.根据权利要求2所述的基于selenium测试工具的web应用系统自动化测试的方法,其特征在于,所述步骤(33)具体包括:
(331)求解判别矩阵A的最大特征值λmax,即:AY=λmaxY,其中,Y∈Rk是矩阵A最大特征值λmax对应的特征向量;
(332)计算判别矩阵A一致程度的指标CI:
(333)通得到对应矩阵阶数的平均随机性指标RI,并计算一致性比例CR,
当CR<0.1时,判别矩阵A不一致性...

【专利技术属性】
技术研发人员:胡海峰刘玉珍
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1