# 微软的office365给软件测试带来的变革


微软今天发布了集成了 GPT-4 模型的 office 套件，从演示视频看，大概可以做这样一些事情

- 输入指令自动做表
- 输入指令写邮件
- 输入指定自动做 ppt，而且一做就是好多页，挺震撼的

稍微了解了一下原理，大概流程是

- 用户发送 prompt 到 office
- office 获得用户授权访问用户的核心数据（email，聊天记录，会议信息，日程，联系人列表等）
- office 整合用户信息修改 prompt
- office 将修改后的 prompt 发送到语言模型
- office 拿到语言模型的返回，并结合用户数据进行信息整合
- office 拿到整合后的信息和 app 的命令列表，进行自动化和信息展示

从原理可以看出 office 基本上把语言模型，目前也就是 GPT-4 当成了黑盒，这样应用软件层面其实不需要了解太多模型的细节和实现，只需要把模型当成语言理解器，内容生成器就好了。语言模型只负责理解用户的 prompt 和生成内容，office 负责整合数据，调整 prompt，以及我们今天讨论的话题，执行 ui 自动化。

### 未来办公软件的形态

未来办公软件有很大概率会跟 AI 结合起来，他们大概会是

- 有自己的主要形态和业务领域，比如邮件客户端，文字处理软件客户端，也就是有 UI，有交互，有一些逻辑，跟现在的办公软件差不多
- 有 AI 辅助的能力，可以接受用户的 prompt 并进行修改和吟唱，然后调用大语言模型
- 有完善的 UI 自动化能力，根据大语言模型返回的内容自动化的进行操作，并展现给用户

所以简单来说，未来的办公软件将会调用 AI，并执行自动化。

### 那么未来的软件都会有 ui 自动化的接口

这个结论是水到渠成了，有 ui 自动化接口，那么就需要做 ui 自动化测试。所以对于一些泛化的办公软件开发团队来说，测试人员不仅要负责传统的功能测试，还需要调用 ui 自动化接口，保证接口的正确性，甚至是 ui 自动化的测试代码都可以成为大语言模型的无监督学习物料。

### 更泛化的办公软件实现

也许未来会出现更加泛化办公软件或者是办公流程软件，可能包含这些部分

- 结构化的用户以及组织数据，也就是用户的私有数据
- 用户 prompt 的预处理单元，负责接收用户 prompt 并 join 用户私有数据，形成新的输入给语言模型的 prompt
- 大语言模型
- 指令执行 hub，接收各种 command，然后调用接口或者是 ui 自动化接口帮助人类进行工作

举个例子，未来可能会直接跟语音助手说：帮我预定一下 10 点的线上会议，邀请 xx 项目所有的相关人员参加，讨论一下 xxx 议题。这时候新的办公流程软件就可以直接调用语言模型进行内容理解和生成，拿到生成的内容后调用会议预定系统的 api 以及邮件或者 im 系统 api，发送会邀和预定时间段。

### 未来软件测试行为的变革

未来的测试保障工作可能就会变成

- 面向 AI 也就是大语言模型的测试，join 用户私有数据之后的 prompt 是否合理，是否有助于 AI 生成正确的内容？是否有足够的上下文帮助 AI 进行内容的生成？
- 面向 API 的测试，UI 自动化 API 和后端 API 是否可以正确的工作？
- 面向数据的测试。用户数据的安全性和完整性是否可以保障？AI 生成的内容里是不是有一些核心内容需要加入到用户的核心数据中去？
- 点来点去。不是所有人都会使用 AI 助手，也不是所有情况下都需要使用 AI，保障软件基本的 GUI 基本功能也是非常必要的

