本技术提供了一种应用程序测试方法和装置,可以应用于计算机技术领域。该方法包括:基于待测试应用程序的当前应用页面的程序源码,确定程序源码中的至少一个入口点信息;利用大语言模型对至少一个入口点信息进行分析,确定与至少一个入口点信息各自对应的至少一个可操作项各自的操作响应结果;基于至少一个操作响应结果,从至少一个可操作项中确定目标可操作项;模拟触发目标可操作项以运行与目标可操作项对应的入口点信息,使得待测试应用程序出现状态更改;重复执行上述操作,直至跳转至最后一应用页面,基于多个目标可操作项和跳转关系,确定测试路径;以及基于测试路径,对待测试应用程序进行测试,确定待测试应用程序的测试结果。
背景技术
在当前互联网环境中,Web应用已成为一种重要的网络服务,其在各个行业的广泛应用对社会发展产生了深远的影响。然而,Web应用在扩展应用范围的同时,也引发了越来越多的安全问题。特别是随着跨平台框架的普及,Web应用的安全风险已不仅限于传统浏览器内的使用场景,还涉及到桌面、移动设备等多种应用环境,并可能对软件、应用程序乃至其他应用平台等形成威胁。Web应用的复杂性、多样化的开发语言和框架,给现有安全检测方法带来了很大挑战。其中,跨站脚本攻击(Cross Site Scripting, XSS)是Web应用中一种常见且危害严重的安全漏洞,相关技术中,为了应对XSS攻击,通常采用黑盒的漏洞检测方法对应用进行检测。
在实施本发明的过程中,发现现有技术至少存在以下问题,由于黑盒测试缺乏对Web应用的具体了解,通常需通过爬虫技术对Web应用进行建模,通过检测Web页面中的URL、表单等输入字段,来发现应用中的潜在攻击面,现有黑盒测试方法在覆盖复杂Web应用时往往存在不足,尤其是其主要使用的随机导航和广度优先等策略难以深入检测Web应用内部功能,导致测试覆盖率低,测试效果差。
实现思路