Facebook软件测试新招:用AI模拟多用户行为,接入真实后端代码

Facebook软件测试新招:用AI模拟多用户行为,接入真实后端代码

智东西(公众号:zhidxcom)

编 | 温淑

智东西1月14日消息,近日,Facebook公司研究团队设计出一款用户社区网络模拟器,可以模拟真实用户在平台中的交互行为,比如模拟恶意用户试图骗取目标用户的照片、敏感信息等。

通过一系列模拟结果,研究人员可以及时发现和解决漏洞,维护系统安全,提升用户体验。

这项研究已经发表在Facebook Research网站上,论文题目为《WES:真实设施中基于Agent的用户交互仿真(WES:Agent-based User Interaction Simulation on Real Infrastructure)》。

论文链接:http://trans.zhiyunwenxian.cn:8080/web/pdftrans.html

Facebook软件测试新招:用AI模拟多用户行为,接入真实后端代码
一、更真实的软件测试方法:WES技术,多代理模拟用户交互

在推出产品更新之前,软件公司要进行大量的测试。传统的测试方法是推出测试版本,观察单个用户的使用情况,以此检查用户体验、产品响应情况等。这些方法能满足正常体量公司的测试需求,但对于脸书这样拥有25亿用户的巨头来说就不够了。

据统计,Facebook平台上25%的问题是在用户交互的时候出现的,在单个用户使用时很难暴露出来。

为了解决这一问题,Facebook研究人员利用网络模拟技术(WES,Web-Enabled Simulation),设计出一个虚拟的用户社区WW,让WW直接与Facebook平台进行交互。

WES是一种基于多代理方法模仿用户行为的技术,可以同时模拟成百上千个用户在不同场景下的行为,有助于工程师在部署更新时发现和解决漏洞。

把WES比做一个游戏,代理就像是游戏中的不同玩家。代理各自以不同“玩法”模拟用户行为,比如从基于规则的系统中直接获取行为模式、通过学习获取行为模式、在受到示例监督的情况下模拟,在不受监督的深度学习环境下模拟等等。

WES模型有以下4个特点:

1、训练机器人,培养行为偏好

最简单的情况下,机器人只能探索软件平台,从预定义的一组操作和观察中随机选择。经过训练后,它们可以表现出不同的行为偏好。更智能的机器人会调用算法或机器学习模型做决策。研究人员也可以对机器人建模,使它们协同完成某个任务。

2、机器人与真实用户之间有隔离

机器人程序必须适当地与真实用户隔离,以免其与真实用户之间发生意外交互。这种隔离可以通过平台的“沙盒(sandbox)”副本实现,也可以通过约束实现,比如部署平台自己的隐私机制。

Facebook软件测试新招:用AI模拟多用户行为,接入真实后端代码

WES系统的基础设施。真用户与机器人在同一个平台上,但它们之间有一个概念上的隔离层

3、可通过自动机制为未来版本提前建模

在推出新的隐私机制之前,WES可被用于测试用户对新机制的反应。可以调整机器人与底层平台的交互机制,为即将推出的机制建模。

该模型不需要实现所有的细节,通过设定参数还可以进行A/B测试,为工程师探索未来版本提供了一种灵活的方法。

4、模拟社交测试,反映社交错误

机器人进行交互能反映出潜在的社交错误。为了使这些社交错误更容易被找到,研究人员会进行分层测试。

二、(半)自动探索平台,还能反馈最佳方案

利用WES技术,研究人员搭建了能(半)自动探索Facebook平台的WW模型。

系统设计上,WW由两个总体子系统构成,分别是通用框架类(general framework classes)和每个用例类(per-use-case classes)。前者是仿真平台的核心,对每个用例保持不变;后者会对每个用例进行定制。

Facebook软件测试新招:用AI模拟多用户行为,接入真实后端代码

系统设计

采用强化学习算法(Reinforcement Learning)训练机器人的模拟行为,使其拥有不同行为偏好。

Facebook软件测试新招:用AI模拟多用户行为,接入真实后端代码

强化学习

为了避免机器人与真实用户发生交互,研究人员直接调用了Facebook后端代码。WW模型与底层平台被设计为各自独立,平台不受WW模型的控制。

也就是说,研究人员可以修复WW模型发现的漏洞,但WW本身无法修改平台代码。

另外,平台拥有更高的权限。WW不能决定平台的行为,但平台可以选择终止模拟,或为不同的模拟分配不同的资源。数据库中心的社交图也在不断变化。

当模拟场景结束后,WW模型会自动调整不同的参数,比如机器人的隐私设置或对他们行为的约束。每次调整后,WW会评估哪种参数组合能到达最理想的社区行为,然后向开发者推荐最佳版本。

三、更有效暴露安全问题

测试时发现和修补漏洞这一步做得越好,更新后软件的安全度就越高。相比于传统的单元测试或端到端测试,用WW模型发现漏洞的可操作性更高。

首先,WW是与真实用户相互隔离的。研究人员可以训练它来执行潜在的隐私侵犯行为,而不用担心真实用户受到影响。

其次,WW与Facebook的真实后端代码进行交互,暴露出的漏洞很可能也会对真实用户造成威胁。

另外,WW发现不良行为后,还能利用自动机制设计方法设计解决方法,为研究人员提供参考。

因此,可以说WW为开发人员提供了一种在新的抽象级别上进行测试的选择。

Facebook软件测试新招:用AI模拟多用户行为,接入真实后端代码
结语:WW模型能发现更多漏洞,提升平台安全性

脸书研究人员设计的用户社区网络模拟器可以更有效地发现软件的漏洞,有较好的可靠性、完整性和隐私性。

在论文中,研究人员还列出了一系列留待解决的问题,表示将进行更深一步的研究。通过未来的改进,WW模型的性能还将提高,为用户带来更好的使用体验。

文章来源:MIT Technology Review,Facebook Research

版权声明:本文源自 网络, 于,由 楠木轩 整理发布,共 2194 字。

转载请注明: Facebook软件测试新招:用AI模拟多用户行为,接入真实后端代码 - 楠木轩