结对测试算法性能优化(代码层面)
在《接口自动化测试框架-AIM》这篇博客中,提到了parewise算法。 这次对其进行性能优化,共3点。 一、因为笛卡尔积和两两拆分,是有序的。 就保证了两两拆分后的每列都是相同位置的元素。 所以在比较时,不用跨列去比较。 只需要比较同一列的值就可以了。
简化为
笛卡尔积2187条,优化前60s,优化后45s。 二、如果某一列没有出现重复的元素,那就不用继续找后面的列了。 说明这一行用例是需要保留的。
笛卡尔积2187条,优化前45s,优化后40s。 三、优化到这里,逐段代码研究,发现没多少优化余地了。 最外层的for循环是笛卡尔积2187次。 每次循环平均0.02s。 40.85s是2187次累加起来的。 无可奈何。 只能优化用户体验了,哈哈哈。 加了个进度条。 过程也有些曲折。 1.按网上例子print r end=
单独的py文件跑没问题,pycharm用unittest跑显示不出来。 2.那就百度,换sys.stdout.write
成功显示了。但是在用HTMLTestRunner跑的时候,又显示不出来进度条了! 3.再百度,无果。 看源码,发现是输出重定向了。 联想到log日志是能打印控制台的。 于是“偷奸耍滑”,在Log里面复用了一下。 搞定。 版权申明:本文为博主原创文章,转载请保留原文链接及作者。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |