AI时代,测试需要入局吗?

转载请注明出处❤️

作者:测试蔡坨坨

原文链接:caituotuo.top/639f9ec3.html


你好,我是测试蔡坨坨。

在大模型关注度愈发火热的当下,AI带来的热度已经持续有一段时间了。从ChatGPT、Midjourney到Sora,似乎它总能给人类带来意想不到的惊喜。它已经渗透到了各行各业,改变着我们的生活、工作、娱乐,甚至思维方式。不仅是各大公司和科研机构的专利,也是普通人可以利用的强大工具(当然也衍生出不少割韭菜的,从卖账号、付费社群到卖课,层出不穷)。

所以,本篇就来浅浅地(能力有限,不喜勿喷)讨论一下这个新鲜事物。

What is AI

在讨论测试同学是否有必要入局AI之前,我们先来简单思考一下什么是AI

AI, or Artificial Intelligence, is like teaching computers to think and act like humans.

人工智能,简单来说就是教会计算机像人类一样思考和行动。设计者使机器变得足够智能,能够处理诸如识别面部或决定下一步该做什么等只有人类能做的任务。想象一下,你的电脑或机器人通过学习并自主做出决策为你执行任务,这就是人工智能的实践。

AI in Software Testing & AI Testing

那么,AI会给测试带来什么影响?关于这个问题也是众说纷纭,支持者认为AI在未来一定会颠覆测试的岗位性质,毕竟现在不管是大厂还是小厂都在布局AI,因此该观点也并不是空穴来风。而反对者则认为AI并没有那么强大,认为前者只是在制造焦虑,等热度过了也就销声匿迹,确实目前在测试领域也没有最佳实践。

其实,AI对测试的影响主要体现在两个方面:AI in Software Testing(测试智能化)和AI Testing(智能化测试)。

“AI in Software Testing”指的是人工智能在软件测试中的应用。这包括利用人工智能技术来改进测试流程、提高测试效率、增强测试覆盖范围等。在这种情况下,AI被视为一种工具或技术,用于增强传统的软件测试方法。

而”AI Testing”则是指使用人工智能技术本身来进行测试的过程。这种方法利用机器学习、自然语言处理等技术,使得测试过程变得更加智能化和自动化。AI Testing可以涵盖各种测试类型,包括功能测试、性能测试、安全测试等,但其主要特点是依赖于AI技术来执行测试任务。

简而言之,”AI in Software Testing”强调了人工智能在传统软件测试中的应用,而”AI Testing”则指的是利用人工智能技术本身来进行测试的方法。

测试智能化(AI在软件测试中的应用)主要体现在以下几个方面:

  • 自动化测试用例生成:AI通过分析代码、需求文档等信息,自动生成相应的测试用例,从而减少人工编写的工作量。
  • 测试数据生成:AI根据测试需求,自动生成符合要求的测试数据,避免因数据不足或不准确而导致测试不全面。
  • 测试结果分析:AI对大量的测试结果进行分析,快速找出可能的错误和问题,提高测试效率和准确性。
  • 缺陷预测和预防:AI通过对历史缺陷数据的分析,预测可能出现的缺陷,从而提前采取措施进行预防。

目前,我们更多的是测试智能化,而后者到现在为止还没有较为系统的理论出来,各个团队都在按照自己的方式进行探索和试验。

AI产品有一个显著的特点,那就是不确定性。举栗来说,假如我们希望AI为我们生成一段文章摘要,那么这个结果的预期值是什么?我们很难准确地描述。

因此,我们只能通过打分的机制来主观评价其表现。然而,一个人的评价可能存在偏差,因此我们需要引入群体评价机制。在使用ChatGPT时,点赞和点踩的机制,以及在使用Midjourney时,从多张生成的图片中选择几张再次生成的规则,都是群体评价机制的应用。但是,即使我们拥有这么一套方法论,也很难验证其结果。换句话说,我们只是提出一些过程实践建议,而并非完整的质量管理流程。这就给智能化测试的价值带来了一定的模糊性。