AI时代,测试有必要入局吗?
AI时代,测试有必要入局吗?
蔡坨坨转载请注明出处❤️
作者:测试蔡坨坨
原文链接:caituotuo.top/29405672.html
你好,我是测试蔡坨坨。
今天打开ChatGPT时,发现它竟然自动升级到了GPT-4o
(o=omni 表示全能的意思),不仅支持文本输入,还能处理音频和图像,输出也可以是文本、音频或图像。这一模型的能力在多模态处理上实现了巨大飞跃,与前代GPT-4 Turbo在文本和代码处理上表现相当,同时在视觉感知方面达到了行业领先水平。相比于GPT-4 Turbo,GPT-4o在速度上也提升了一倍,成本减少了一半,同时处理速率提升了五倍。
官方目前没有开放语音和视频功能,但是文字版可以抢先体验了。虽然每天有使用次数的限制,免费用户大约每三小时可以发送约10条信息,plus用户可以发送80条信息,也能理解,白嫖的还要什么自行车啊。
ChatGPT刚开放的时候,我们也讨论过它,时隔今日,已经过去有约一年半时间了。(往期文章:)
随着大模型技术的不断发展,AI带来的热度已经持续有一段时间了。从ChatGPT、Midjourney到Sora,似乎总能给人类带来意想不到的惊喜。渗透到了各行各业,不断改变着我们的生活、工作、娱乐,甚至思维方式,当然也不乏一些割韭菜的。
面对这种趋势,作为测试工程师,我们又该何去何从?本篇我们就来浅浅地讨论一下这个新鲜事物(能力有限,不喜勿喷)。
What is AI?
在讨论测试同学是否有必要入局AI之前,我们先来简单思考一下什么是AI
?
AI, or Artificial Intelligence, is like teaching computers to think and act like humans.
人工智能,简单来说就是教会计算机像人类一样思考和行动
。设计者使机器变得足够智能,能够处理诸如识别面部或决定下一步该做什么等只有人类能做的任务。想象一下,你的电脑或机器人通过学习并自主做出决策为你执行任务,这就是人工智能的实践。
AI在软件测试中的应用与影响
那么,AI会给测试带来什么影响?关于这个问题也是众说纷纭,支持者认为AI在未来一定会颠覆测试的岗位性质,毕竟现在不管是大厂还是小厂都在布局AI,因此该观点也并不是空穴来风。而反对者则认为AI并没有那么强大,认为前者只是在制造焦虑,等热度过了也就销声匿迹,因为目前在测试领域也没有最佳实践。
其实,AI对测试领域的影响主要体现在两个方面:AI in Software Testing(测试智能化)和AI Testing(智能化测试)。
AI in Software Testing
测试智能化
指的是人工智能在软件测试中的应用。包括利用人工智能技术来改进测试流程、提高测试效率、增强测试覆盖范围等。在这种情况下,AI被视为一种工具或技术,用于增强传统的软件测试方法。
AI在这一领域的主要应用如下:
- 自动化测试用例生成:AI通过分析代码、需求文档等信息,自动生成相应的测试用例,减少人工编写的工作量。
- 测试数据生成:AI根据测试需求,自动生成符合要求的测试数据。
- 测试结果分析:AI对大量的测试结果进行分析,快速找出可能的错误和问题,提高测试效率和准确性。
- 缺陷预测和预防:AI通过对历史缺陷数据的分析,预测可能出现的缺陷,从而提前采取措施进行预防。
AI Testing
智能化测试
则是指使用人工智能技术本身来进行测试的过程。这种方法利用机器学习、自然语言处理等技术,使得测试过程变得更加智能化和自动化。AI Testing可以涵盖各种测试类型,包括功能测试、性能测试、安全测试等,主要特点是依赖于AI技术来执行测试任务。
简单概括,”AI in Software Testing”强调了人工智能在传统软件测试中的应用,而”AI Testing”则指的是利用人工智能技术本身来进行测试的方法。
目前,我们更多的是测试智能化,而智能化测试到现在为止还没有较为系统的理论出来,各个团队也都在按照自己的方式进行探索和试验。
AI Testing 面临的挑战
尽管AI在测试领域展现出巨大的潜力,但其应用也面临一些挑战,尤其是在智能化测试方面:
- 不确定性:AI产品的结果往往具有不确定性。例如,如果我们希望AI生成一段文章摘要,那么结果的预期值是什么?很难准确描述。
- 评价机制:结果的预期值很难描述,因此我们只能通过打分机制来评价AI的表现。然而一个人的评价可能存在偏差,所以我们常常需要引入群体评价机制,例如使用ChatGPT时的点赞和点踩机制,以及使用Midjourney时从多张生成的图片中选择几张再次生成的规则。然而,即使拥有这样的方法论,也难以验证其结果的可靠性和一致性。我们只是提出一些过程实践建议,而并非完整的质量管理流程。这就给智能化测试的价值带来了一定的模糊性。
- 测试集的影响:智能化测试的效果评价受测试集的影响很大。AI模型的性能往往依赖于用于训练和测试的样本数据质量。如果测试集不够全面或具有偏见,可能导致对模型性能的评价不准确,甚至误导后续的改进方向。
- 特征不确定性和穷举性挑战:传统的测试用例设计依赖于等价类和边界值分析,模型的特征可以近似理解为等价类中的类,但相对于传统测试场景,模型的有效特征更加不明确、不可知且不可穷举。这使得传统的用例设计理论在智能化测试中失去了用武之地,给智能化测试带来了极大的挑战。
- 行业特征的独特性:不同行业的模型特征通常是独特的,两个行业的测试集几乎没有复用的可能性。即使在相同的业务中,不同的场景也可能存在显著差异。这使得大范围应用的通用智能化测试暂时还很难实现。即使一些大公司可以自己训练大模型,但这个成本也是非常高的。
测试的AI产品相对于其他行业的AI产品有更高的准确率要求。例如,让ChatGPT生成一篇文案,即使偶尔跑题也无伤大雅;但测试的AI产品必须保持高准确率,不仅要确保自身的正确性,还要在各种复杂场景下表现稳定。因为测试工具的误差可能直接影响被测试产品的质量和用户体验。因此,智能化测试在后期仍需要大量人工干预,这表明AI目前只能作为辅助工具,带来一些效能提升,但距离完全取代人工还有很大距离。
测试工程师的未来
在AI时代,测试工程师是否有必要入局AI?答案是肯定的。
虽然AI技术在测试领域还在不断发展和完善,但它已经展现出巨大的潜力。随着AI产品化的加速,智能化测试未来很可能成为一个重要方向。鉴于AI的快速演进,不久的将来可能就会出现重大突破。早点接触总归不是什么坏事,说不定你就是那个第一个吃螃蟹的人。
这就要求测试工程师不断学习和掌握AI技术,以提高自身的竞争力,适应未来的发展需求。通过学习AI技术,可以更好地理解和应用测试智能化工具,提高测试效率和准确性。此外,掌握AI技术有助于测试工程师在智能化测试领域进行创新和探索,推动测试技术的发展。
尽管前路未知,但入局AI、迎接挑战,是测试工程师未来发展的必然选择。