基于碰撞域的自动化测试用例生成算法研究

来源 :南昌航空大学 | 被引量 : 0次 | 上传用户:relaxfor
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件规模和业务逻辑越来越复杂,传统手工测试已经很难满足软件开发的需求。因此,自动化测试应运而生,以此代替手工测试。随着大量演化算法的提出,许多学者试着将这些演化算法引入到自动化测试中,用以取代手工测试,并取得了卓著的成绩。其中应用最广泛的遗传算法受到大量学者的青睐,因此针对遗传算法应用和改进的方法最为多见。由于遗传算法容易陷入局部最优解,本文旨在进一步改良遗传算法,从测试出发,提出了一种改进的基于遗传算法的测试用例自动生成方法。本文做了以下的工作:(1)提出了碰撞域算法,通过给各个测试用例定义一个碰撞域,以过滤掉碰撞域范围中生成的测试用例,减少遗传算法在测试后期总是持续选择同一个最优解,即选择同一个测试用例。碰撞域的大小由测试用例的覆盖率确定,高覆盖率测试用例的碰撞域半径越小,周围能生成的测试用例更多,以鼓励新生成的测试用例出现在高覆盖率测试用例的周围,以覆盖之前未覆盖过的路径。同时,碰撞半径会在测试迭代过程中依据当前测试用例生成情况自动调整。(2)引入指导生成的思想,针对碰撞域算法迭代过慢的问题,通过已产生的测试用例对新产生的测试用例做出指导,在测试初期,加大高覆盖率测试用例对新生成测试用例的影响,以此加快测试初期的迭代速率。而在测试末期,则计算测试用例周围出现的测试用例数目,减少周围出现过多的测试用例,以避免陷入遗传算法最优解,即持续产生同一块区域中的测试用例。(3)通过大量实验的验证,引入碰撞域算法后,随着参数范围的扩大、被测程序覆盖度的增加,算法效果与随机法相比愈发明显,但在要求覆盖度100%的情况下,效果不稳定,主要原因在于会重复生成无效的高覆盖率测试用例。通过引入指导生成算法,减少重复生成的测试用例,与碰撞域算法相比大大减少了测试用例的生成次数,从而减少了测试所花费的时间。本文主要是通过引入碰撞域,提出了一种改进的测试用例生成算法,以解决遗传算法容易陷入局部最优解的问题,同时加入指导生成算法,减少测试后期产生的重复测试用例,加速测试迭代过程,从而提升测试用例生成效率。
其他文献
目的:探讨饮用口服补液盐和苏打水补液预防运动时发生横纹肌溶解症的作用。方法:入伍新战士60名随机分为2组,每组各30名。同时进行3000m越野,过程中给予不同补液方法,A组饮用白
介绍了一些典型的复杂网络建模的演化博弈模型,主要研究动态网络上的群体行为,它们都体现出网络中引入一定的空间拓扑结构会对主体策略行为产生显著影响,论述了规则格子和无
该文主要花亭湖风景区林业建设的现状及存在的问题进行了调查与分析,提出了具体对策、措施与建议,为从事花亭湖风景区生态建设与环境治理的工作者们提供一定的参考。
基于超越对数随机前沿分析方法,运用2010~2014年21个地区动漫企业面板数据,从知识产权创造、运用和管理三个能力维度剖析了知识产权能力对动漫企业创新效率的影响,以及外部知
<正>成果名称:基于"互联网+"的"智慧课堂"教育教学模式创新与实践成果完成人:刘淑慧、廖丽金、任晓杰、姚卫新、刘余勤、柴煜、金鑫、刘云芸、李峰、李华婷成果完成单位:东华
【摘要】当前,花亭湖旅游码头即将成为重要的旅游景区,在旅游码头投入运行之后,必然会对花亭湖湖水造成一定程度的污染,为了保证景区的观赏性能以及生活饮用水的卫生安全,花亭湖旅
教师专业发展是指教师个人职业能力的成长和进步,教师的成长是贯穿整个职业生涯的。教师在与教育对象的互动过程中,能够不断调整自己的思想观念、价值取向,丰富自己的专业知识,提
目的探讨上海瑞金医院临床分离的热带念珠菌MLST (Multilocus sequence types,MLST)型别。方法连续收集上海市瑞金医院临床分离的热带念珠菌菌株,用PCR技术扩增热带念珠菌的6
[目的]对莫哈韦丝兰的化学成分进行系统研究。[方法]利用正相硅胶、反相ODS、SephadexLH-20及高效液相色谱等多种色谱法进行分离纯化,并通过理化性质及波谱分析鉴定化合物结
建立QuEChERS净化-超高效液相色谱-串联质谱法同时测定凯特芒果中14种农药残留。取10.0 g样品经改进的QuEChERS方法进行前处理,采用ZORBAX SB-C18色谱柱分离,以4 mmol/L甲酸