文本

人类测试AI的指南

测试AI是什么意思? 如果您查看电子邮件中的垃圾邮件检测功能,该功能有时会起作用,但很少会起作用。 即使您将邮件标记为非垃圾邮件,一段时间后,某些邮件也会再次出现在垃圾邮件中。 您可以将其归类为机器学习失败?

亚马逊推荐与您的购买有关的书籍。 其中一些是有道理的。 其他人没有。 希望算法会随着时间的推移而学习并变得更好。 错误的建议是否是算法的失败? 难道不期望建议会随着时间的推移而学习和改进吗? 那么,失败实际上不是失败吗?

测试AI到底意味着什么?

您是否测试了算法“学习”和改进的方式? 您可以使用真实世界的数据进行测试。 您正在测试数学吗? 你可以测试数学吗?

什么是“ AI”?

提供AI(人工智能)的简洁定义可能会很麻烦。 下面的引用对于本文而言是足够好的上下文(摘自《人类机器智能指南》)。

AI涉及使计算机能够执行通常需要人类智能的所有事情,包括推理,理解语言,导航视觉世界和操纵对象。 机器学习是AI的一个子领域,它使机器能够从经验中学习(逐步提高其在特定任务上的性能),这是智能所有其他方面的基础。 如果机器人在各种任务上都和人类一样好,但却无法学习,它将很快落伍。 因此,机器学习可以说是AI最重要的方面之一。

在本文的其余部分,我将使用“ AI软件”一词​​。 在大多数情况下,我描述的问题是使用机器智能解决的。 这些算法使用历史数据来识别模式。 带有允许中奖彩票的文本的电子邮件可能是垃圾邮件。

验证你的假设

算法和开发人员做出的选择具有现实意义。 推荐引擎在Amazon上的作用是什么? 购买时,推荐引擎将显示相关项目。 要测试推荐引擎,您可以验证推荐项目的相关性。 这本身就是一个非常具有挑战性的问题。 但是,推荐引擎具有更广泛的作用。

推荐引擎的期望是它们保证晦涩的标题将变得流行。 作为测试者,您将如何验证该假设? 您可以使用没有建议的对照组来验证您的假设。 然后将实际用户与对照组进行比较。 用户是否购买了更多的推荐商品(与对照组相比)?

您可以考虑其他因素吗? 购买行为在所有产品上如何变化? 您能看一下市场份额以及绝对销售额吗? 推荐可以购买产品吗? 还是购买相同类型产品的相同用户? 当书籍没有足够的购买记录时,推荐引擎将如何工作? 您还有很多其他问题可以提出进一步的实验。

算法对用户行为的影响

算法会影响人们在现实世界中的行为。 对于社交媒体应用程序,这似乎很明显。 您如何衡量算法对社交媒体应用的影响?

您可以调整算法以显示不同的选择集。 然后评估用户行为。 在一项研究中,向Facebook用户展示了更多艰辛的新闻。 这些选民的投票率更高。

您可以更改显示给用户的建议以及对照组。 然后评估用户行为。 在另一项研究中,向Facebook用户显示了更多正面和负面帖子。 用户的后续帖子反映了他们的新闻源的情感。

作为软件测试人员,最好将重点放在测试AI的策略或个人如何测试AI算法的帐户上。

什么是测试AI?

测试从观察或想法开始。 然后,您可以通过进行实验来验证您的想法。

Facebook研究人员有一个假设,即社交媒体帖子会影响用户行为。

一位软件开发人员注意到,企业没有获得良好的SEO排名。

用户抱怨说他的电子邮件突然将邮件标记为垃圾邮件。

这些观察之后进行实验。

测试AI的方法可能与测试其他软件没有什么不同。 测试计算器时,我想知道它是否假设数字是以特定格式输入的。 是否接受不带前导零(0)的“ .03”? 如果没有,那有关系吗? 我可以测试不同的选项来推断计算器的功能。

这并不意味着在您作为测试人员的角色中测试AI是直接的,甚至是可能的。 测试人员或开发人员可能不属于与用户进行测试的团队。 另一方面,在较小的团队中,任何团队成员都可以提出问题。 他们可能是与用户一起审核实验的小组的一部分。

意外的后果

当使用复杂算法时,尤其是那些使用现实世界数据的算法,您需要考虑副作用或意外后果。

现在,一个众所周知的问题是,在搜索引擎上使用自动完成功能时,系统会提示用户常见的偏见。 输入“妇女应”,可能会显示“妇女应待在家里”之类的建议。 搜索引擎的自动完成功能不仅会提供有害的建议,还会将用户定向到这些网站。 自动完成的意外结果是,可能会将用户引导到发出有害消息的站点。 搜索引擎上的自动完成等看似无害的增强功能可能会影响人们的态度,并可能影响整个社会。 (顺便说一句,您如何设计系统来解决此问题?)

在设计自动完成或类似系统时,更大的挑战是如何区分色情和性爱等概念? 您的算法是否理解概念之间的区别,或者它们仅仅是单词?

在某些社交媒体网站上,您会收到有关冒犯性语言的警报。 您如何处理可能包含冒犯性词语的名称或位置? 处理该问题的一种方法是在警告用户时忽略专有名词,这本身可能是一个挑战。 如果您允许使用专有名词,您将如何处理滥用系统的尝试?

诸如Facebook和Linkedin等社交媒体网站创建了热门话题和提要。 您如何处理Feed中的“假新闻”? 您是否质疑新闻来源的信誉? 您是否质疑有人可以篡改您的数据?

公平地说,许多问题可能不在开发团队或软件测试人员的权限范围内。 但是,本文应提供有关您是否可以影响决策的问题的想法。

真实数据

使用AI解决的问题通常会使用大量实际数据。 现实世界中的数据会有其怪癖,而这些怪癖在实验室中很难预料到。 您只能模拟一个Facebook feed(这并不意味着您什么也不做,或者没有强大的替代方法)。

使用AI解决的问题通常使用社交数据-与人们生活有关的信息。 Facebook和类似的应用程序使用朋友的详细信息,活动和用户互动以及与社交团体有关的信息。 其他系统也会影响业务,例如自动交易,金融网站上的社交订阅源,书籍推荐或搜索引擎排名。 广告系统会影响消费者的行为。

如果是自动完成功能,则在搜索引擎中,您需要处理已加载的主题,例如种族,性别,宗教信仰。 您还需要考虑要误导易受骗用户的人们。 图像识别不仅与像素有关,而且与人及其性别,种族和位置有关。

无法使用现实世界的数据是测试AI软件的主要挑战。

测试AI的问题

本书中有关测试AI的一些最重要的见解包括:

但是,我们通常不会整体地评估算法,更不用说衡量算法了,而要考虑它们单独或整体改变用户决策的所有方式。

继续使用一种或两种技术标准对大多数其他算法进行狭窄的评估,而没有考虑使社会科学家彻夜难眠的各种指标,例如公平性,责任感,安全性和隐私性。 即使程序员的每一个步骤都经过精心设计,也可能导致意想不到的后果。

当我增加对测试的理解时,这些就是我的见解:

测试的开始是我们要提出的问题。 问题可能来自探索,实验或用户面临的问题。

一般而言,您将需要有创造力,而不是遵循一个过程来提出正确的问题。

您问的问题比谁问或何时问更重要。

提出问题比导致您提出问题的原因更重要-无论是使用工具还是进行思想实验。

我在本文中描述的示例是确定的,即有一个明确的假设,然后进行了实验。 测试(和思考)的实际过程更加灵活和情境。 实验的结果导致更多的问题和更多的实验。 您可能还会调查多个问题。 您可以像用户一样使用该软件来发现更多问题。 测试的总体目的是要不断了解软件,以便发现未知的风险。

对于这样的文章,没有什么大的启示。 我没有专注于特定技术。 我也没有答应一种可以解释一切的理论。 如果我们提出问题或有疑问,我不会为测试人员或开发人员测试基于AI的软件感到自满。 好的测试将需要准备以及能力。 发现问题还需要对AI及其相关算法有深入的了解。

测试AI的问题不是错误或疏忽。 挑战是意想不到的后果。 问题在于算法设计的选择及其对现实世界和用户的影响。 测试AI的更广泛的问题是没有意识到我们需要提出问题并保持学习。 测试其他任何软件都是同样的问题。 就像一般的软件一样,可能要解决的问题似乎并不明显。

author

石头 磊哥 seven 随便叫

company

thoughtworks(离职了。。。。)

大家好,本人不才,目前依旧混迹于thoughtworks,做着一名看起来像全栈的QA,兴趣爱好前端,目前是thoughtworks 西安QA社区的leader,如果有兴趣分享话题,或者想加入tw,可以找我

roles

QA(营生) dev(front-end dev 兴趣爱好)

联系方式

如果想转载或者高薪挖我 请直接联系我 哈哈

wechat:

qileiwangnan

email:

qileilove@gmail.com