基于大语言模型的移动软件适老缺陷检测方法及系统

    技术2026-06-11  29


    本发明涉及软件工程、人工智能领域,具体涉及基于大语言模型的移动软件适老缺陷检测方法及系统。


    背景技术:

    1、世界卫生组织预测,全球60岁及以上的人口数量将从2020年的10亿增至2030年的14亿。同时,移动应用在老年人的日常生活中发挥着重要作用,服务于如娱乐、社交和购物众多日常生活场景。考虑到老年人在视力、认知能力和记忆力等诸多生理功能的显著下降会严重影响到老年人使用移动应用,在以上应用设计过程中,使移动应用便于老年人使用至关重要。

    2、流行的移动操作系统(如ios和android)提供了集成的辅助服务(如放大字体)来帮助老年人使用面向普通受众的移动应用来完成如购物、社交等复杂的任务。然而,前述辅助服务与移动应用之间存在许多兼容性问题,在辅助服务开启后移动应用出现用户界面扭曲,导致老年人仍然难以使用移动应用。为了缓解这个问题,商业移动应用开始为老年人提供了专门的适老版本,针对老年人的生理特征进行用户界面设计,从而避免了辅助服务和移动应用之间的兼容性问题。然而,由于开发经验良莠不齐、缺乏老年用户分析等诸多因素,目前大量适老化设计的移动应用存在严重的可访问性问题,如字体和图标过小等。在发明中,我们将此类问题称为适老缺陷。这些适老缺陷除了引发不友好的用户界面导致老年人难以使用之外,还可能破坏移动应用的功能逻辑,甚至泄露个人数据。然而,目前学术界和工业界对适老移动应用中的适老缺陷缺乏足够的关注和深入研究。现有研究主要集中于分析移动操作系统的辅助服务与移动应用的兼容性问题,还未就适老移动应用中的适老缺陷问题进行深入研究,缺乏针对该类问题的自动化检测工具,进而辅助开发者对该类缺陷进行定位和修复。

    3、公布号为cn116932389a的现有发明专利申请文献《一种基于大型预训练语言模型的求解器缺陷检测方法》,该现有方法包括:将求解器标准库中的公式和历史触发缺陷的公式进行数据扩增作为训练集;基于训练集使用“重训练-微调”框架对预训练大模型进行定制化训练,以生成求解器的测试输入;使用训练得到的模型生成求解器测试用例,并使用差分测试对多个求解器进行验证。从该现有技术的具体实施内容可知,该现有方案通过多样性导向变异技术以及语义维持变异技术对收集的数据集进行扩增。数据扩增所使用的技术包括多样性导向变异技术以及语义维持变异技术。多样性导向变异技术针对测试基准中的公式,进行子公式变异以及运算符变异,尽可能增加训练集的多样性。语义维持变异技术的目的是在尽可能保持缺陷触发用例的触发缺陷能力的情况下,提高数据集的多样性。对两类数据分别实施这两种变异策略,获取更加高质量的数据集以对模型进行训练。

    4、公布号为cn112183749a的现有发明专利申请文献《基于有导向模型变异的深度学习库测试方法》,该现有方法包括:模型变异规则;基于启发式搜索策略的变异模型生成;基于差异测试的深度学习库测试预言进行不一致性缺陷计算、缺陷定位。该现有方案利用模型变异和启发式搜索策略有导向地生成大量结构不同的深度学习模型,利用差异测试的思想来对深度学习库进行测试。

    5、然而,前述现有方案涉及的缺陷涉及到软件运算结果正确性;前述现有方案涉及的测试用例生成方法包括通过机器学习训练和变异生成;同时,前述现有技术主要采用差分测试的方法进行缺陷识别。

    6、综上,现有技术中的缺陷检测目标并非移动软件中的适老缺陷,难以生成高效的测试用例来触发移动应用中的适老缺陷、难以对适老缺陷这一类问题进行自动化识别。


    技术实现思路

    1、本发明所要解决的技术问题在于:如何解决现有技术中难以生成高效的测试用例来触发移动应用中的适老缺陷、难以对适老缺陷这一类问题进行自动化识别检测的技术问题。

    2、本发明是采用以下技术方案解决上述技术问题的:基于大语言模型的移动软件适老缺陷检测方法包括:

    3、s1、利用深度优先搜索,对具有适老化模式的移动应用进行自动化遍历,生成初始测试用例;

    4、s2、执行初始测试用例,并获取运行时信息;对于每一个运行状态si,收集该运行状态下,移动应用的运行时信息,其中,运行时信息包括:关联gui布局文件、运行时gui截图;

    5、s3、基于运动时信息,结合测试用例变异目标生成提示词,据以引导预置大语言模型进行变异操作,以将初始测试用例,变异为高效触发适老缺陷测试用例;

    6、s4、获取预置大语言模型的输出结果,据以解析得到变异事件;

    7、s5、对初始测试用例,根据变异事件进行事件变异操作、用例执行操作;

    8、s6、基于预置大语言模型的事件变异操作,对初始测试用例进行组件变异并执行,以得到变异运行信息;

    9、s7、基于初始运行信息、变异运行信息,根据适老缺陷特征,对运行时信息进行特征分析匹配,以识别得到适老缺陷,生成适老缺陷报告。

    10、本发明与前述背景技术相比,涉及的是移动软件中的适老缺陷,不涉及运行结果的正确性,而是涉及移动软件与老年人之间的适配性问题;同时,本发明测试用例的生成方法与前述背景技术不同,本发明是基于规则指引,在大语言模型的辅助下进行生成;本发明与前述缺陷识别方法也存在区别,本发明是基于对适老缺陷进行广泛的实证调研分类结果进行自动识别。

    11、本发明通过生成能有效触发适老缺陷的测试用例,并基于适老缺陷的特征设计相应的识别策略来实现对移动应用中的适老缺陷进行系统检测。

    12、本发明通过分析适老缺陷的特征,对普通的测试用例进行有针对性的变异,进而生成能高效触发适老缺陷的测试用例,实现对适老缺陷的高效触发。针对现有技术在适老缺陷检测方面的缺陷,本发明基于对适老缺陷的特征分析结果,通过分析移动应用的运行时特征是否符合设定的约束条件或者布局模式来识别缺陷,对暴露出的适老缺陷进行自动化地识别。

    13、在更具体的技术方案中,s1中,利用下述逻辑,表达测试用例:

    14、t=[e1,e2,…,en]

    15、式中,ei(1≤i≤n)代表点击、滑动等事件。

    16、在更具体的技术方案中,s1中,利用下述逻辑,表达每个初始测试用例t的执行记录tr(t):

    17、

    18、式中,si(0≤i≤n)代表移动应用的运行状态。

    19、本发明针对移动软件中的适老缺陷,运用深度优先搜索的方法对移动应用中的用户界面进行遍历,并在遍历的过程中通过界面适老化检查,识别出移动应用中实施了适老化改造的用户界面,为后续适老缺陷检测提供基础。

    20、在更具体的技术方案中,s2包括:

    21、s21、嵌入了一个启发式规则,计算移动应用的gui页面上,所有文本组件、图标组件的平均尺寸,以与预设经验阈值进行比较,以判定获取具有适老化模式的移动应用;

    22、s22、执行初始测试用例中的每个事件执行,直至移动应用运行到所有文本组件、图标组件处于稳定状态时,对每个gui页面,保存移动应用的运行时gui截图、关联gui布局文件;

    23、s23、对关联gui布局文件、运行时屏幕截图进行特征分析;其中,特征分析包括:组件信息与执行事件匹配分析、gui界面元素分析以及gui界面功能识别。

    24、在更具体的技术方案中,s3包括:

    25、s31、将提示词输入至预置大语言模型,以将关联gui布局文件、运行时gui截图以及测试用例事件序列提交至预置大语言模型;

    26、s32、结合测试用例变异目标,生成变异操作的操作建议信息。

    27、本发明在变异过程中,基于生成的测试用例对应的gui布局文件和测试用例的事件序列,通过设计提示词,借助大语言模型的推理和预测能力,提供对测试用例进行变异的具体操作建议。

    28、在更具体的技术方案中,s4包括:

    29、s41、根据阈值大语言模型输出的操作建议信息,在初始测试用例中找到对应事件;

    30、s42、依据原始事件、操作建议信息,进行事件转换操作,以获取变异事件。

    31、在更具体的技术方案中,s5包括:

    32、s51、根据操作建议信息,对初始测试用例中的事件ei进行变异操作;

    33、将初始测试用例t变异得到为变异测试用例

    34、

    35、式中,表示变异后的事件;

    36、s52、对变异测试用例进行用例执行操作,变异处理运行记录tr(t)。

    37、本发明对待测试移动应用进行自动化遍历生成足够多的测试用例;采用事件变异和内容变异两种变异操作结合对生成的测试用例进行转换,生成能高效触发适老缺陷的新测试用例。

    38、本发明对变异后的测试用例进行执行,基于对适老缺陷的特征分析结果,通过分析移动应用的运行时特征是否符合设定的约束条件或者布局模式来识别缺陷,对暴露出的适老缺陷进行自动化地识别,并生成详尽的缺陷报告。

    39、在更具体的技术方案中,s52中,利用下述逻辑,将运行记录tr(t)变异为变异运行记录

    40、

    41、在更具体的技术方案中,s6中,根据大语言模型输出的变异操作,对测试用例中的gui组件进行变异,使得初始测试用例的运行记录tr(t)变异为变异运行记录

    42、

    43、式中,表示对状态si中的gui组件进行变异后的新状态。

    44、在更具体的技术方案中,基于大语言模型的移动软件适老缺陷检测系统包括:

    45、初始测试用例生成模块,利用深度优先搜索,对具有适老化模式的移动应用进行自动化遍历,生成初始测试用例;

    46、运行时信息获取模块,用以执行初始测试用例,并获取运行时信息;对于每一个运行状态si,收集该运行状态下,移动应用的运行时信息,其中,运行时信息包括:关联gui布局文件、运行时gui截图,运行时信息获取模块与初始测试用例生成模块连接;

    47、提示词生成模块,用以基于运动时信息,结合测试用例变异目标生成提示词,据以引导预置大语言模型进行变异操作,以将初始测试用例,变异为高效触发适老缺陷测试用例,提示词生成模块与运行时信息获取模块连接;

    48、输出结果解析模块,用以获取预置大语言模型的输出结果,据以解析得到变异事件,输出结果解析模块与提示词生成模块连接;

    49、变异执行操作模块,用以对初始测试用例,根据变异事件进行事件变异操作、用例执行操作,变异执行操作模块与输出结果解析模块连接;

    50、变异运行信息获取模块,用以基于预置大语言模型的事件变异操作,对初始测试用例进行组件变异并执行,以得到变异运行信息,变异运行信息获取模块与变异执行操作连接;

    51、适老缺陷识别模块,用以基于初始运行信息、变异运行信息,根据适老缺陷特征,对运行时信息进行特征分析匹配,以识别得到适老缺陷,生成适老缺陷报告,适老缺陷识别模块与变异运行信息获取模块、变异执行操作模块及运行时信息获取模块连接。

    52、本发明相比现有技术具有以下优点:

    53、本发明通过生成能有效触发适老缺陷的测试用例,并基于适老缺陷的特征设计相应的识别策略来实现对移动应用中的适老缺陷进行系统检测。

    54、本发明通过分析适老缺陷的特征,对普通的测试用例进行有针对性的变异,进而生成能高效触发适老缺陷的测试用例,实现对适老缺陷的高效触发。针对现有技术在适老缺陷检测方面的缺陷,本发明基于对适老缺陷的特征分析结果,通过分析移动应用的运行时特征是否符合设定的约束条件或者布局模式来识别缺陷,对暴露出的适老缺陷进行自动化地识别。

    55、本发明针对移动软件中的适老缺陷,运用深度优先搜索的方法对移动应用中的用户界面进行遍历,并在遍历的过程中通过界面适老化检查,识别出移动应用中实施了适老化改造的用户界面,为后续适老缺陷检测提供基础。

    56、本发明在变异过程中,基于生成的测试用例对应的gui布局文件和测试用例的事件序列,通过设计提示词,借助大语言模型的推理和预测能力,提供对测试用例进行变异的具体操作建议。

    57、本发明对待测试移动应用进行自动化遍历生成足够多的测试用例;采用事件变异和内容变异两种变异操作结合对生成的测试用例进行转换,生成能高效触发适老缺陷的新测试用例。

    58、本发明对变异后的测试用例进行执行,基于对适老缺陷的特征分析结果,通过分析移动应用的运行时特征是否符合设定的约束条件或者布局模式来识别缺陷,对暴露出的适老缺陷进行自动化地识别,并生成详尽的缺陷报告。

    59、本发明解决了现有技术中存在的难以生成高效的测试用例来触发移动应用中的适老缺陷、难以对适老缺陷这一类问题进行自动化识别检测的技术问题。


    技术特征:

    1.基于大语言模型的移动软件适老缺陷检测方法,其特征在于,所述方法包括:

    2.根据权利要求1所述的基于大语言模型的移动软件适老缺陷检测方法,其特征在于,所述s1中,利用下述逻辑,表达所述测试用例:

    3.根据权利要求1所述的基于大语言模型的移动软件适老缺陷检测方法,其特征在于,所述s1中,利用下述逻辑,表达每个所述初始测试用例t的执行记录tr(t):

    4.根据权利要求1所述的基于大语言模型的移动软件适老缺陷检测方法,其特征在于,所述s2包括:

    5.根据权利要求1所述的基于大语言模型的移动软件适老缺陷检测方法,其特征在于,所述s3包括:

    6.根据权利要求1所述的基于大语言模型的移动软件适老缺陷检测方法,其特征在于,所述s4包括:

    7.根据权利要求1所述的基于大语言模型的移动软件适老缺陷检测方法,其特征在于,所述s5包括:

    8.根据权利要求7所述的基于大语言模型的移动软件适老缺陷检测方法,其特征在于,所述s52中,利用下述逻辑,将所述运行记录tr(t)变异为变异运行记录

    9.根据权利要求1所述的基于大语言模型的移动软件适老缺陷检测方法,其特征在于,所述s6中,根据大语言模型输出的变异操作,对测试用例中的gui组件进行变异,使得所述初始测试用例的运行记录tr(t)变异为变异运行记录

    10.基于大语言模型的移动软件适老缺陷检测系统,其特征在于,所述系统包括:


    技术总结
    本发明提供基于大语言模型的移动软件适老缺陷检测方法及系统,方法包括:利用深度优先搜索进行初始测试用例生成;执行生成的测试用例,并获取运行时信息;基于运动时信息进行提示词生成;基于大语言模型生成变异操作;对初始测试用例进行事件变异并执行;对初始测试用例进行组件变异并执行;对触发的适老缺陷进行自动识别。本发明解决了难以生成高效的测试用例来触发移动应用中的适老缺陷、难以对适老缺陷这一类问题进行自动化识别检测的技术问题。

    技术研发人员:李文杰,陈新,周菊,陈付龙
    受保护的技术使用者:安徽师范大学
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-43505.html

    最新回复(0)