智能优化在软件测试中的应用综述
2021-02-22唐海滨
唐海滨
摘要:计算机软件的质量对其使用效率产生严重影响,质量差的软件会导致高昂的维护成本。同时,软件质量差会导致许多漏洞,在使用过程中可能会造成重大损失。因此,必须对计算机软件的开发进行严格测试,以最大限度地减少应用程序漏洞,提高软件应用程序的质量。使用智能优化算法自动执行计算机软件测试可显着节约成本,同时提高测试效率。
关键词:智能优化;软件测试;应用
引言
计算机软件是信息产业的重要组成部分,在国民经济、社会发展和国防建设中发挥着至关重要的作用。它们的可靠性一直是学术界和工业界关注的焦点。提高软件质量的一个主要途径是在软件投入使用之前进行大量测试,并及时发现缺陷甚至错误。软件测试包括许多方面,例如测试数据的生成、测试软件的运行、测试结果的评估等。随着软件的大小和复杂性的增加,出现缺陷或错误的风险也随之增加。虽然智能优化可以解决传统测试方法的一些问题,但在这方面仍有许多挑战。本文件的主要目的是通过综合研究结果确定这一领域的主要研究方向和趋势。
1智能优化算法的概述
所谓智能优化算法是一种基于自然现实某些原理开发的智能搜索计算方法,智能优化算法可以看作是自然规律的参考和仿真。目前应用的智能优化算法除了包括遗传算法和粒子群算法等传统算法外,还包括萤火虫算法和烟花爆震算法等算法。其中,遗传算法主要是通过模拟自然界的遗传和生物演化而发明的,其特点是适应性结构和整体优化效果。粒子群算法基于粒子之间的相互作用,可以检测复杂搜索空间中的最佳区域。这两种基本智能优化算法在计算机软件测试中得到广泛应用。
2软件测试的基本原理和方法
2.1软件测试的定义
1979年,Myers将软件测试定义为:软件测试是运行程序或系统以检测错误的过程。1983年,IEEE将软件测试定义为通过手动或自动方式运行或测试软件系统的过程,以确定其是否满足要求,或确定预期结果与测试系统的实际结果之间的差异。软件测试的核心是检查软件的功能和非功能特性,以确保软件的准确性。因此,测试是软件质量保证的关键,也是成功实现软件开发目标的重要保证。
2.2软件测试方法
2.2.1游戏测试
游戏的研发过程中,需要通过测试,寻找程序中存在的缺陷和问题,便于及时进行修改。该过程中,应用人工智能测试工具,可以快速收集游戏数据,并对游戏中的各个角色、各个场景进行分析。在游戏的运行过程中,检测游戏功能。利用人工智能测试工具,针对多个角色、场景,建立测试用例,同步进行测试、分析,保障测试的全面性,提高检测结果的精准度。应用用户数据,人工智能可以对用户的行为进行模拟,可以展现出不同的游戏水平,便于展开大规模测试,充分覆盖测试场景,获得真实、准确的反馈。针对测试过程中发现的漏洞问题,做出相应的修改,进而达到完善游戏功能的目的。在游戏测试的过程中,人工智能可以不断进行自主学习,并实现自我修正,逐步发生进化和升级,进而提高测试功能,为游戏的稳定运行提供良好的保障。
2.2.2性能测试
软件的性能测试中,应用人工智能技术,在交互方面进行直观的分析。而在深层次的分析过程中,测试软件持续运作的稳定性,并关注了解其用户数量,评价其对于各项业务的处理能力。软件的性能状态,会受到硬件条件的限制,与用户的使用情况密切相关。在软件测试中,应用人工智能技术,自动化、智能化地完成检测。通过全方面测试,了解软件程序的内部结构和内部特性,及时发现性能方面的缺陷,做出相应的调整与改进。基于人工智能的软件测试,能够实现性能指标监控、性能调优,同时缩短测试时间,减少软件投入运行后的性能问题,进而有效改善用户的使用体验。
3基于不同智能优化方法的软件测试研究进展
3.1遗传算法的应用
在软件测试数据自动生成过程中应用遗传算法的第一步是对软件输入的数据进行编码,以方便不同的人的培训。第二步是产生初始人口。初始人口由n个实体组成,每个实体由n个初始结构链数据组成,其生产模式是随机的。初始种群是反复更新遗传算法的重要起点。第三步是选择人口。操作选择是最适生存原理的遗传算法模拟。在甄选开始时,将根据可调整的标准从初始人口中挑选一些符合标准的人。选定的实体将成为新父代,并生成下一代实体。步骤4。跨部门行动的主要目的是促进数据信息交流。如果没有交互作用,算法选择的父实体将无法获取下一代实体。第五步是转移操作。在执行突变操作时,将精英人士排除在突变操作之外。首先,个人是在人口中随机挑选的,随机改变个人。第六步是计算拟合特征的值。如果计算结果满足算法停止条件,则停止算法有效。如果计算结果不满足停止条件,将重复执行遗传算法,直到找到满足停止条件的数据结果。
3.2基于模拟退火算法的测试
模拟退火算法来源于固体退火原理,最早的思想是由Metropolis等人于1953年提出的.针对分支覆盖测试,了基于模拟退火算法的测试数据通用生成框架.针对路径覆盖测试,提出一种自适應遗传模拟退火算法,并根据目标函数,高效生成覆盖每一目标路径的测试数据.运用模拟退火等算法逐一生成覆盖每一分支的测试数据.针对变异测试,提出了一种基于改进模拟退火算法的软件测试方法,保证了测试数据的生成效率。
结束语
随着软件规模和复杂程度的不断提高,基于智能优化的软件测试方法仍然存在很多难题,需要不断解决.随着机器学习、大数据等新技术的发展,该方向的研究必然会呈现新的趋势。
参考文献:
[1]任群.智能优化算法自动生成计算机软件测试数据的方法[J].信阳农林学院学报,2018,028(001):P.111-114.
[2]李龙澍,郭紫梦.应用混沌果蝇算法的路径覆盖测试用例优化技术研究[J].小型微型计算机系统,2018.