[发明专利]一种基于用户会话的Web测试用例约简优化方法有效
申请号: | 201810584711.6 | 申请日: | 2018-06-08 |
公开(公告)号: | CN110580215B | 公开(公告)日: | 2022-10-25 |
发明(设计)人: | 王曙燕;吴文涛;孙家泽 | 申请(专利权)人: | 西安邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 710121 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 用户 会话 web 测试 用例约简 优化 方法 | ||
1.一种基于用户会话的web测试用例约简优化方法,其特征在于包括以下步骤:
(1)对于Web应用的原始日志文件进行数据预处理,首先将日志文件中包含ico、jpg、gif、css等特殊文件后缀的请求进行删除,同时对于状态码不以2开头的没有请求成功的请求记录进行删除;然后对日志文件中的每一条页面请求进行用户识别,我们将具有相同IP地址的判定为同一用户,不同IP地址的则判定为不同的用户;然后对日志中的请求进行会话识别,设定一个30min的阈值,对于相同的用户,若两条页面请求之间的时间间隔大于这个阈值,则可判定为不同的会话,否则则视为同一个会话;
(2)将每个用户会话中已经覆盖的页面记为“1”,其它此用户会话中没有覆盖到的页面则记为“0”,从而得到应用中所有页面请求覆盖程度的(0、1)矩阵;矩阵的每一行表示一个用户会话UserSession,利用矩阵的每一行的(0、1)覆盖情况计算其基尼指数基尼指数用来表示每个用户会话UserSession对Web应用页面请求的覆盖程度;将矩阵中的每一行,即每个用户会话的覆盖情况,按计算得到的基尼指数由大到小的顺序进行排序,得到排序后的(0、1)矩阵US_matrix,并将矩阵的第一行所在的用户会话,即基尼指数最大的用户会话作为测试用例集中的第一个测试用例;
(3)将US_matrix矩阵的行用rowUS_matrix表示,对于根据基尼指数排序后的用户会话矩阵US_matrix,将矩阵的第一行rowUS_matrix(0)中元素“0”所在的列单独分离出来得到一个(0、1)矩阵ZEROUS_matrix,对矩阵ZEROUS_matrix从第一行开始依次进行逻辑求“或”运算;将ZEROUS_matrix矩阵的第一行用rowZERO_US_matrix(0)表示,将rowZERO_US_matrix(0)与rowZERO_US_matrix(1)进行逻辑求“或”运算,得到的结果表示为oresultZERO_US_matrix(0,1);
(a)若进行求或后,oresultZERO_US_matrix(0,1)中有元素为“1”,则将rowZERO_US_matrix(1)中元素在US_matrix矩阵中所在的行,作为下一个测试用例,将oresultZERO_US_matrix(0,1)中元素为1的列进行删除,将oresultZERO_US_matrix(0,1)中剩余为0的元素在矩阵ZEROUS_matrix中所在的列组成一个新的矩阵ZEROUS_matrix_next
(b)若进行求或后,oresultZERO_US_matrix(0,1)中没有为“1”的元素,则将结果oresultZERO_US_matrix(0,1)继续与rowZERO_US_matrix中的下一行,即rowZERO_US_matrix(2),进行逻辑求“或”运算;
(4)按照上面的步骤(3),对ZEROUS_matrix_next矩阵中所有的行(用户会话的覆盖情况)执行以上步骤,直到执行完所有的用户会话,或者产生的测试用例覆盖所有的页面请求,从而生成待测的测试用例集;
(5)根据日志文件经过数据清理后形成的用户会话,通过每个用户会话中页面请求的顺序,生成待测Web应用的页面结构依赖图;页面结构依赖图是一个有向图,Web应用中所有页面请求的总数N为页面结构依赖图中边的总数,每个请求页面的所有出链数Lout为该页面在页面结构依赖图中节点的出度,链入每个请求页面的所有链接的集合I为页面结构依赖图中指向该节点的代表的页面的集合;
(6)根据步骤(5)中得到的页面结构依赖图,通过PageRank算法的方法,计算在Web应用中每个页面请求的PageRank值,表示为PR,则对步骤(6)中生成的待测测试用例集,计算每个测试用例中所包含页面的PageRank值PR;
(7)将待测的测试用例集中所有测试用例对web应用页面的覆盖情况用矩阵TestUS_matrix表示,对于基尼指数相同的测试用例,矩阵中对应的页面覆盖程度矩阵的行进行比较,若对页面的覆盖情况相异,则称这个页面相对于这两个基尼指数相同的用户会话为异位;记此异位页面的所有用户会话覆盖的情况为一个长度为n的二进制串S=(S1,S2...Sk...Sn),记该页面全覆盖情况下的状态为长度为n的全为1的二进制串X;对S和X求汉明距离依次求所有为异位页面的汉明距离,并记为H;
(8)将页面的PageRank值与具有相同基尼指数用户会话的异位页面的汉明距离相结合,即将一个异位处覆盖情况为“1”的页面PageRank值PR和汉明距离H进行结合,用Sol=PR×H表示,如果两个具有相同基尼指数的测试用例含有多个异位点,则需要对Sol值求和来进一步表述两者之间的区别,用Sumsol=∑Sol=∑PR×H来表示,进而用Sumsol的值对待测的测试用例集中的测试用例进行评价,从而反映测试用例的重要度;
(9)对于待测测试用例集中具有相同基尼指数的测试用例
(a)若基尼指数比它们大的测试用例没有覆盖到的页面,具有相同基尼指数的测试用例各自对此页面的覆盖情况相同,则通过比较Sumsol值的大小,将Sumsol值小的从待测测试用例集中删除,保留值大的作为最终的测试用例;
(b)若基尼指数比它们大的测试用例没有覆盖到的页面,具有相同基尼指数的测试用例各自对此页面的覆盖情况不同,则通过比较Sumsol值的大小,对这些基尼指数相同的测试用例按Sumsol值降序进行排序,并将这些测试用例作为最终的测试用例集。
2.根据权利要求1所述的一种基于用户会话的web测试用例约简优化方法,其特征在于:该方法可以应用于Web应用的测试中,基于日志中产生的用户会话生成测试用例,并对测试用例进行约简,以提高Web应用测试的效率及故障覆盖率,降低软件测试的成本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安邮电大学,未经西安邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810584711.6/1.html,转载请声明来源钻瓜专利网。