软件测试前景会被ai取代吗

人工智能 , 意见 , 软件工程 (Artificial Intelligence, Opinion, Software Engineering)

Artificial Intelligence (AI), has been transforming multiple sectors of industries and impacting several aspects of our daily life. Mostly AI has acted prominently in the fields of automating manual processes. And therefore, we will be investigating how AI has affected the realm of software testing, automated testing in particular.

人工智能(AI)一直在改变行业的各个领域,并影响到我们日常生活的各个方面。 大多数情况下,人工智能在手动流程自动化领域中发挥了突出作用。 因此,我们将研究AI如何影响软件测试领域,尤其是自动化测试领域。

什么是软件测试? (What is software testing?)

Software testing is the process of assessing the performance of a program developed to check whether it is developed as per the client’s requirements and to find out whether there are faults and improve them before it is deemed ready for use.

软件测试是评估所开发程序的性能的过程,以检查该程序是否根据客户要求进行开发,并找出是否存在故障并在认为可以使用之前对其进行改进。

现有挑战 (The existing challenge)

Each time developers add new code, new tests must be carried out and it is the responsibility of the QAs to spend significant time on ensuring that new code does not break the existing codebase. Regression testing cycles are extremely time-consuming when undertaken manually and can burden QAs to a large extent.

每次开发人员添加新代码时,都必须执行新测试,并且质量保证机构有责任花费大量时间来确保新代码不会破坏现有代码库。 手动执行回归测试周期非常耗时,并且可能给QA造成很大的负担。

Traditional QA methods involve checking off a list of tasks that ensure the software is working the way it is meant to. In the beginning, when only a few features have to be tested, this is a feasible task. But as features increase, QAs face difficulty in meeting deadlines while also performing comprehensive tests. The more complex an application, the more difficult it is to make sure it receives full test coverage.

传统的质量检查方法涉及检查任务列表,以确保软件按预期方式工作。 刚开始时,仅需测试一些功能,这是一个可行的任务。 但是随着功能的增加,QA在完成最后期限的同时还要执行全面的测试也面临着困难。 应用程序越复杂,确保其获得完整的测试覆盖范围就越困难。

However, with the surfacing of AI, it has become possible to streamline the testing process. Given that, due to competition, new software and product launches must be accelerated since extended deadlines are not really an option. Thus, there is no option but to test smarter rather than harder.

但是,随着AI的出现,简化测试过程成为可能。 鉴于这种情况,由于竞争的缘故,必须延长新软件和产品的发布时间,因为延长期限并不是真正的选择。 因此,别无选择,只能测试得更聪明而不是更难。

人工智能如何克服这些挑战 (How AI can overcome these challenges)

The application of AI in software testing tools is focused on making the Software Development Life Cycle(SDLC) easier. Through the application of reasoning, problem-solving, and machine learning, AI can be used to help automate and reduce the amount of mundane and tedious tasks in the development and testing stages.

AI在软件测试工具中的应用着重于使软件开发生命周期(SDLC)更容易。 通过推理,问题解决和机器学习的应用,可以在开发和测试阶段使用AI来帮助自动化和减少平凡而繁琐的任务。

For example, consider that you are running a test automation framework to test a project of yours. Most of the time you don’t know which tests to run, so you run all of them or some predetermined set. So what if an AI-enabled bot can review the current state of test status, recent code changes, code coverage, and other metrics, decide which tests to run, and then run them? Such software can effectively replace the developer/tester in the decision-making process.

例如,假设您正在运行一个测试自动化框架来测试您自己的项目。 大多数情况下,您不知道要运行哪些测试,因此您可以运行所有测试或预定的测试集。 那么,如果启用了AI的机器人可以查看测试状态的当前状态,最近的代码更改,代码覆盖率和其他指标,确定要运行的测试,然后再运行它们,该怎么办? 这样的软件可以在决策过程中有效地替代开发人员/测试人员。

AI and machine learning apply reasoning and problem solving to automate and improve testing. AI in software testing helps reduce time-consuming manual testing, so teams can focus on more complex tasks, like creating innovative new features. Some of the ways that AI can optimize the software testing process are as follows:

人工智能和机器学习应用推理和问题解决方案来自动化和改进测试。 软件测试中的AI有助于减少耗时的手动测试,因此团队可以专注于更复杂的任务,例如创建创新的新功能。 AI可以优化软件测试过程的一些方法如下:

  • Enhanced Accuracy — Traditional testing still requires human resources and let’s just admit that even the most experienced QA engineers are prone to making mistakes. The testers lose the focus on software QA and overlook some important defects because of extensive data. And that`s where the AI and machine learning technologies come into the scene. They teach systems to learn source analysis and apply knowledge in the future. In such a way, the AI tester comes up with more accurate results with each and every repetition. Thus, the use of AI technologies for data analysis eliminates human error probability.

    增强精度 — 传统测试仍然需要人力资源,我们只能承认,即使是最有经验的质量检查工程师也容易犯错误。 测试人员失去了对软件质量保证的关注,并且由于数据量大而忽略了一些重要的缺陷。 这就是AI和机器学习技术应运而生的地方。 他们教系统学习源分析并在将来应用知识。 通过这种方式,AI测试器在每次重复中都能得出更准确的结果。 因此,使用AI技术进行数据分析可消除人为错误的可能性。

  • Accelerating Timelines — Instead of having to go through thousands of lines of code, as manual testers have to do, AI can quickly sort through log files, scan code in seconds and detect errors in much lesser time. By incorporating AI into repetitive tests, QA engineers can focus on testing new features or pay particular attention to important parts of the software.

    加快时间线 — AI无需像手工测试人员那样去处理成千上万的代码,而AI可以快速分类日志文件,在几秒钟内扫描代码,并在更短的时间内检测到错误。 通过将AI纳入重复测试中,质量检查工程师可以专注于测试新功能或特别注意软件的重要部分。

  • Better Automation — AI program can evolve with changes in the code. They can adapt and learn to identify new functions. When AI bots identify a modification to the code, they can be programmed to decide if it is a new feature or some defect emerging from changes to the code.

    更好的自动化 -AI程序可以随着代码的更改而发展。 他们可以适应并学习识别新功能。 当AI机器人识别出对代码的修改后,可以对它们进行编程,以决定这是一个新功能还是代码更改中出现的某些缺陷。

  • Properly understood client requirements — In the process of software development, being able to understand what the client exactly wants is of paramount importance. By using AI, it is possible to examine similar websites and apps to determine what contributes to success among the target audience. AI can help to study a large number of competing products to identify their strengths. By achieving a proper understanding of what the client wants, they can create test cases to ensure that the product does not break when it comes to achieving those particular goals.

    正确理解客户需求 -在软件开发过程中,最重要的是能够了解客户的实际需求。 通过使用AI,可以检查类似的网站和应用程序,以确定哪些因素有助于目标受众的成功。 人工智能可以帮助研究大量竞争产品以确定其优势。 通过正确理解客户的需求,他们可以创建测试用例,以确保产品在实现这些特定目标时不会损坏。

基于AI的软件测试的当前状态 (The current state of AI-based software testing)

The current state of the practice uses autonomous and intelligent agents, referred to as “test bots” to automate activities such as application discovery, modelling, test generation, and failure detection. A combination of machine learning techniques is used to implement test bots. These include but are not limited to decision tree learning, neural networks, and reinforcement learning.

该实践的当前状态使用称为“测试机器人”的自主和智能代理来自动化诸如应用程序发现,建模,测试生成和故障检测之类的活动。 结合了机器学习技术来实现测试机器人。 这些包括但不限于决策树学习,神经网络和强化学习。

Machine learning allows the test bots to be robust and act under conditions of uncertainty, unlike traditional test automation tools and frameworks. Examples of AI-driven testing approaches that have formed over the last decade include:

与传统的测试自动化工具和框架不同,机器学习使测试bot变得强大并且可以在不确定的条件下运行。 在过去十年中形成的AI驱动测试方法的示例包括:

  • Differential testing — Comparing application versions, classifying the differences, and learning from the feedback of the classification.

    差异测试 —比较应用程序版本,对差异进行分类并从分类的反馈中学习。

  • Visual testing — Leveraging image-based learning and screen comparisons to test the look and feel of an application.

    视觉测试 -利用基于图像的学习和屏幕比较来测试应用程序的外观。

  • Declarative testing — Specifying the intent of a test in a natural or domain-specific language, and having the system figure out how to carry out the test.

    声明式测试 —以自然语言或特定于领域的语言指定测试的意图,并让系统确定如何进行测试。

  • Self-healing automation — Auto-correcting element selection in tests when the UI changes.

    自我修复自动化 —当UI更改时,在测试中自动更正元素选择。

Since 2014, there has been a spike in the number of vendors offering AI-driven testing services. The majority of these tool vendors are start-up companies targeting system-level testing of mobile applications, and the subject is generating some much-needed buzz in the industry. The easiest way to observe the power of AI is the usage of various tools and frameworks. Here are some of the most popular AI-driven testing tools:

自2014年以来,提供AI驱动的测试服务的供应商数量激增。 这些工具供应商中的大多数是针对移动应用程序系统级测试的初创公司,这个话题正在业界引起一些急需的关注。 观察AI功能最简单的方法是使用各种工具和框架。 以下是一些最受欢迎的AI驱动的测试工具:

PerfectoPerfecto

AI会偷走您的软件测试工作吗? (Will AI steal your software testing job?)

The currently most popular opinion regarding this question is that AI won’t replace you, but will assist you in your QA testing job. The main justification behind this opinion is that the use of AI in software development is still in its infancy, and the level of autonomy is much lower than seen in more evolved areas such as self-driving systems which are still being dominated by the humans themselves. But it is definite that the next step of AI aiding the humans is letting AI handle the whole process themselves. It’s just a matter of time.

关于此问题的当前最受欢迎的观点是,人工智能不会取代您,但会帮助您进行质量检查测试。 这种观点背后的主要理由是,人工智能在软件开发中的使用仍处于起步阶段,并且自主水平远低于更先进的领域,例如自动驾驶系统,该领域仍由人类自己主导。 。 但是可以肯定的是,AI协助人类的下一步就是让AI自己处理整个过程。 这只是时间问题。

But as we all know it, the growth of technology, particularly AI and machine learning is exponential, and since, it is not easy to predict future AI capabilities. Therefore the due date of AI taking over your testing job may be sooner than expected! Be ready!

但是众所周知,技术的增长,尤其是AI和机器学习是指数级的,因此,预测未来的AI功能并不容易。 因此,AI接管测试工作的截止日期可能比预期的要早! 准备好了!

Thank you for your valuable time reading this article. Stay safe!

感谢您宝贵的时间阅读本文。 注意安全!

资源资源 (Resources)

翻译自: https://medium.com/towards-artificial-intelligence/software-testers-may-soon-be-replaced-by-ai-programs-c7455b078145

软件测试前景会被ai取代吗


http://www.taodudu.cc/news/show-1874148.html

相关文章:

  • ansys电力变压器模型_最佳变压器模型的超参数优化
  • 一年成为ai算法工程师_我作为一名数据科学研究员所学到的东西在一年内成为了AI领导者...
  • openai-gpt_为什么GPT-3感觉像是编程
  • 医疗中的ai_医疗保健中自主AI的障碍
  • uber大数据_Uber创建了深度神经网络以为其他深度神经网络生成训练数据
  • http 响应消息解码_响应生成所需的解码策略
  • 永久删除谷歌浏览器缩略图_“暮光之城”如何永久破坏了Google图片搜索
  • 从头实现linux操作系统_从头开始实现您的第一个人工神经元
  • 语音通话视频通话前端_无需互联网即可进行数十亿视频通话
  • 优先体验重播matlab_如何为深度Q网络实施优先体验重播
  • 人工智能ai以算法为基础_为公司采用人工智能做准备
  • ieee浮点数与常规浮点数_浮点数如何工作
  • 模型压缩_模型压缩:
  • pytorch ocr_使用PyTorch解决CAPTCHA(不使用OCR)
  • pd4ml_您应该在本周(7月4日)阅读有趣的AI / ML文章
  • aws搭建深度学习gpu_选择合适的GPU进行AWS深度学习
  • 证明神经网络的通用逼近定理_在您理解通用逼近定理之前,您不会理解神经网络。...
  • ai智能时代教育内容的改变_人工智能正在改变我们的评论方式
  • 通用大数据架构-_通用做法-第4部分
  • 香草 jboss 工具_使用Tensorflow创建香草神经网络
  • 机器学习 深度学习 ai_人工智能,机器学习和深度学习。 真正的区别是什么?...
  • 锁 公平 非公平_推荐引擎也需要公平!
  • 创建dqn的深度神经网络_深度Q网络(DQN)-II
  • kafka topic:1_Topic️主题建模:超越令牌输出
  • dask 于数据分析_利用Dask ML框架进行欺诈检测-端到端数据分析
  • x射线计算机断层成像_医疗保健中的深度学习-X射线成像(第4部分-类不平衡问题)...
  • r-cnn 行人检测_了解用于对象检测的快速R-CNN和快速R-CNN。
  • 语义分割空间上下文关系_多尺度空间注意的语义分割
  • 自我监督学习和无监督学习_弱和自我监督的学习-第2部分
  • 深度之眼 alexnet_AlexNet带给了深度学习的世界

软件测试前景会被ai取代吗_软件测试人员可能很快会被AI程序取代相关推荐

  1. ai边缘平滑_华为P40的多帧曝光AI智能处理,逆光也能无法阻挡你的美

    获得一张吸引关注度的精美照片不是一件容易的事,光影变化的精彩瞬间和优秀的人像摄影总是能吸引到更多的目光,对摄影技术和硬件设备都有着更高的要求.对我们大多数非摄影专业的普通人来说,想要在不同的光线下都能 ...

  2. 教ai玩游戏_简单解释:DeepMind如何教AI玩视频游戏

    教ai玩游戏 by Aman Agarwal 通过阿曼·阿加瓦尔(Aman Agarwal) 简单解释:DeepMind如何教AI玩视频游戏 (Explained Simply: How DeepMi ...

  3. 软件测试面试python一般会问什么问题_软件测试面试一定会问到的面试问题

    原标题:软件测试面试一定会问到的面试问题 软件测试面试官会如何刁难你和都会问到什么问题? 我剖析下面试不同的岗位问的问题,不同岗位问的肯定是不一样的,那么我先从初级开始 分为三个等级,就是初级怎么去面 ...

  4. AI洞观 | AI寒冬将至?大咖们呼吁重启AI

    https://blog.csdn.net/McIl9G4065Q/article/details/83067212 2018-10-15 在所有的炒作中,人工智能被发现很难驾驭,AI承诺的前景在很大 ...

  5. 【AI绘画】探索艺术与技术的融合:AI绘画的新前景

    AI绘画的新前景 1.AI绘画是把双刃剑 2.AI绘画的应用场景 3.AI绘画的技术 4.结语 随着人工智能(AI)技术的快速发展,AI绘画成为了艺术创作领域中备受关注的话题.传统的艺术创作方式受到了 ...

  6. ai与虚拟现实_将AI推向现实世界

    ai与虚拟现实 If you fit one of these profiles, this article is for you: 如果您适合这些配置文件之一,那么本文适合您: ● You are ...

  7. semiplannar 什么是_图像识别VPU——易用的嵌入式AI支持深度学习平台介绍

    公司玩了大半年的嵌入式AI平台,现在产品进入量产模式,也接触了很多嵌入式方案,有了一些心得体会,本人不才,在这里介绍一下一款简单易用的嵌入式AI方案--Movidius Myriad 2 VPU(MA ...

  8. 工厂制造业ai人工智能应用_人工智能与金融服务业转型的未来

    工厂制造业ai人工智能应用 As artificial intelligence is becoming core to traditional financial services organiza ...

  9. ai换脸明显_为什么我们应该真正害怕AI:对明显和非明显危险的分析

    ai换脸明显 In my previous story, I talked about the possible dangers of future technologies. While I'm h ...

  10. ai项目实施_公司在实施AI时必须避免的6个最大陷阱

    ai项目实施 The age of AI is upon us and many companies begin to start their AI journey and reap the full ...

最新文章

  1. 前端教程分享:十行代码实现title滚动显示
  2. 面试题56: 数组中数字出现的次数
  3. 【Python】Matplotlib绘制散点图
  4. mysql最大述_MySQL优化(1):Mysql简述
  5. SylixOS 内存管理源代码分析--vmmMalloc.c
  6. Windows操作系统双因素身份认证解决方案
  7. 字节教育开辟新业务线,推出“闪电搜题”App可拍题和自习
  8. 测试工程师进阶之测试用例发散思维(一)
  9. GF系列卫星分辨率介绍
  10. 金色传说:SAP-FICO-参考加权因素维护执行成本中心分配 KSV5/KSV3报错GA603:系统错误:集01018000D06表CCSS读出错
  11. P1931 套利-SPFA最长路与环的判断
  12. 机器视觉(12)浅说机器视觉系统概述及其国内外的现状
  13. 0422-团队项目开发
  14. 由学生学号查询该学生对应的课表--查询函数
  15. linux内核-进程的调度与切换
  16. 众筹网站项目第四天之异步请求的分页查询和模糊条件查询(2)
  17. 系统项目验收测试报告怎么做,2021最新测试报告收费情况
  18. msi计算机内存不足,修复:Microsoft Excel内存不足错误
  19. NVIDIA安培架构下MIG技术分析
  20. 平台建设规划的三种思路——互联网平台建设

热门文章

  1. [Fatal Error] :3:13: Open quote is expected for attribute {1} associated with an element type i...
  2. [转载] 全本张广泰——第九回 出世见师兄 广泰走江湖
  3. 用HTML5的DOCTYPE标签兼容各版本IE浏览器的方法技术
  4. 中国iOS和Android设备激活量将超美国
  5. C语言中指针的数据类型小结
  6. ubuntu的文件路径
  7. python文件下载学习
  8. 181231每日一句
  9. ATITIT db perf enhs 数据库性能优化 目录 第一章 Cache类 1 第一节 查询cache 1 第二节 Update cache 2 第三节 内存表机制 零时表 2 第四节 雾
  10. Atitit golang开发环境搭建 目录 1. 编辑helo.go 1 1.1. 调试编译 1 2. Ide选择liteide 2 3. 问题解决 2 4. 附录 2 4.1. Go语言标准库常