너무 과대포장된 AI가 너무 흥미진진해요!

WBOY
풀어 주다: 2023-04-11 17:34:03
앞으로
903명이 탐색했습니다.

저자 | 머시 혼다

플래너 윤자오

지난해 말, 하룻밤 사이에 인공지능이 다시 인기를 끌었습니다. 먼저 DALL-E 2의 생성된 이미지는 생생했고, 우주 비행사'가 눈길을 끌었다. Unforgettable에 이어 텍스트 생성 이미지를 생성하는 공개 저작권이 있는 그림 AI인 Stable Diffusion과 마지막 '왕 폭탄': 데뷔의 정점에 있던 ChatGPT가 OpenAI에서 많은 수익을 얻었습니다. 얼굴. 춘제 기간에도 인터넷상에서는 인공지능의 물결이 절정에 이르러 자신의 일자리를 뺏어갈까 봐 '위험하다'고 한탄하는 사람들이 많았다. 하지만, 현실은 정말 이렇을까요? AI는 컴퓨터 응용 소프트웨어의 르네상스를 가져올 것인가? 이 기사에서는 AI가 도구화되는 3단계를 설명하기 위해 특정 현장 응용 프로그램을 예로 들어 AI가 완전히 자율적으로 발전해서는 안 되며, 발전할 수 없는 몇 가지 이유를 설명합니다. 아울러 저자는 실제 AI 캐릭터는 어떤 모습이어야 하는지도 공유했다. 우리는 경계해야 하지만 당황해서는 안 됩니다.

“인공지능을 통해 배송 시간이 몇 분에서 몇 초로 단축됩니다!” “공급자와 고객은 저렴하고 사용자 친화적인 경험의 시대로 돌아갈 것이며, 컴퓨터 응용 소프트웨어는 르네상스 시대를 열 것입니다”

불행히도 저렴한 저장 공간, 높은 처리 속도, 쉽게 사용할 수 있는 AI 훈련 장비, 인터넷은 이러한 약속을 과장된 과대광고로 바꾸어 놓았습니다.

소프트웨어 테스팅을 예로 들어보겠습니다. "소프트웨어 테스팅에 인공 지능 적용"을 검색하면 시스템은 잠재 구매자에게 약속된 일련의 "마법의" 솔루션을 반환합니다. 많은 솔루션은 육체 노동을 줄이고 품질을 개선하며 비용을 절감할 수 있는 방법을 제공합니다. 조금 이상한 점은 일부 제조업체가 자사의 AI 솔루션이 소프트웨어 테스트 문제를 완벽하게 해결할 수 있다고 약속한다는 것입니다. 그리고 표현은 훨씬 더 충격적입니다. 소프트웨어 테스트의 "성배"라는 아이디어는 이렇게 표현하는 것입니다. 어려움과 걱정으로부터 사람들을 제거합니다. 소프트웨어 개발 주기에서 벗어나 테스트 주기를 더 짧고, 더 효과적이고, 더 간단하게 만듭니다.

AI가 정말 강력한 '성배'로 변신할 수 있을까요? 게다가 AI가 인간을 완전히 대체하도록 해야 할까요? 이제 이러한 거의 터무니없는 과대광고를 중단할 때입니다.

1. 실제 진실

현실 세계에서는 소프트웨어 개발 과정에서 인간을 제외하는 것이 훨씬 더 복잡하고 어렵습니다. 워터폴, 신속한 애플리케이션 개발, DevOps, Agile 및 기타 방법론을 사용하더라도 사람은 자신이 만드는 소프트웨어의 경계와 잠재력을 정의하기 때문에 소프트웨어 개발의 중심에 남아 있습니다. 소프트웨어 테스팅에서는 비즈니스 요구 사항이 불분명하고 끊임없이 변화하는 경우가 많기 때문에 "목표"도 항상 변합니다. 사용자는 유용성의 변화를 요구하고 심지어 소프트웨어 변경으로 가능한 것에 대한 개발자의 기대도 요구합니다.

소프트웨어 테스트(품질 보증이라는 용어 포함)의 원래 표준과 방법은 제조 제품 테스트 분야에서 나왔습니다. 이 경우 제품은 잘 정의되어 있고 테스트는 더 기계적이지만 소프트웨어의 특성은 유연하고 자주 변경됩니다. 소프트웨어 테스팅은 품질 보증에 대한 이러한 균일한 기계 접근 방식에 적합하지 않습니다.

현대 소프트웨어 개발에는 개발자가 예측할 수 없고 알 수 없는 것들이 많이 있습니다. 예를 들어, 소프트웨어의 첫 번째 반복 이후 사용자 경험(UX) 기대치가 변경되었을 수 있습니다. 구체적인 예는 다음과 같습니다. 사람들은 더 빠른 화면 로드 시간이나 더 빠른 스크롤 요구 사항에 대해 더 높은 기대를 갖고 있습니다. 사용자는 더 이상 인기가 없기 때문에 화면을 길게 스크롤하는 것을 원하지 않습니다.

여러 가지 이유로 인공지능은 제작자조차도 예측할 수 없는 것을 스스로 예측하거나 테스트할 수 없습니다. 따라서 소프트웨어 테스팅 분야에서는 진정한 자율 인공지능을 갖는 것이 불가능하다. 소프트웨어 테스트 "터미네이터"를 만드는 것은 마케터와 잠재 구매자의 관심을 끌 수 있지만 그러한 배포는 신기루가 될 것입니다. 대신, 소프트웨어 테스트 자율성은 AI와 인간이 함께 일하는 맥락에서 더 의미가 있습니다.

2. AI는 세 가지 성숙 단계를 거쳐야 합니다.

소프트웨어 테스트 AI 개발은 기본적으로 세 가지 성숙 단계로 구분됩니다.

    운영 단계(Operational)
  • 절차적 단계(Process)
  • 체계적 단계(Systemic)

현재 인공지능을 기반으로 한 소프트웨어 테스팅의 대부분은 운영 단계에 있습니다. 가장 기본적인 운영 테스트에는 테스터가 수백 번 수행하는 루틴을 모방하는 스크립트를 만드는 작업이 포함됩니다. 이 예의 "AI"는 스마트함과는 거리가 멀고 스크립트 생성, 반복 실행 및 결과 저장을 단축하는 데 도움이 될 수 있습니다.

절차적 AI는 운영 AI의 보다 성숙한 버전이며, 테스터는 테스트 생성을 위해 절차적 AI를 사용합니다. 다른 용도에는 테스트 적용 범위 분석 및 권장 사항, 결함 근본 원인 분석 및 노력 추정, 테스트 환경 최적화가 포함될 수 있습니다. 프로세스 AI는 패턴과 사용량을 기반으로 합성 데이터 생성을 촉진할 수도 있습니다.

절차적 AI의 이점은 분명합니다. 즉, 테스트 실행 전략을 설정할 때 테스터가 감수하는 일부 위험을 상쇄하고 방지할 수 있는 추가 "눈" 쌍을 제공한다는 것입니다. 실제 애플리케이션에서 절차적 AI를 사용하면 수정된 코드를 더 쉽게 테스트할 수 있습니다.

  • 수동 테스트에서는 테스터가 코드 변경 시 의도하지 않은 결과를 찾기 위해 전체 애플리케이션을 다시 테스트하는 경우가 많습니다.
  • 반면 절차적 AI는 전체 애플리케이션을 대규모로 다시 테스트하는 대신 단일 단위(또는 영향을 미치는 제한된 영역)에 대한 테스트를 권장할 수 있습니다.

이 수준의 AI에서는 개발 시간과 비용 측면에서 분명한 이점이 있습니다.

그러나 초점이 세 번째 단계인 체계적 AI로 전환되면 그림이 흐릿해집니다. 미래는 단지 미끄러운 비탈과 보상 없는 약속이 될 수 있기 때문입니다.

3. 신뢰할 수 없는 체계적인 AI

체계적인(또는 완전히 자율적인) AI 테스트는 불가능합니다(적어도 현재는 불가능합니다). 그 이유 중 하나는 AI에 많은 훈련이 필요하기 때문입니다. 테스터는 프로세스 AI가 소프트웨어 품질을 적절하게 보장하는 단위 테스트를 제안할 것이라고 확신할 수 있습니다. 그러나 시스템 AI를 사용하면 테스터는 소프트웨어가 모든 요구 사항을 충족할 것이라는 높은 수준의 확신을 가질 수 없습니다.

이 수준의 AI가 진정으로 자율적이라면 상상할 수 있는 모든 요구 사항, 심지어 인간이 상상할 수 없는 요구 사항도 테스트해야 합니다. 그런 다음 자율 AI의 가정과 결론을 검토해야 합니다. 이러한 가정이 올바른지 확인하려면 매우 신뢰할 만한 증거를 제공하기 위해 많은 시간과 노력이 필요합니다.

자율적인 소프트웨어 테스트는 결코 완전히 실현될 수 없습니다. 왜냐하면 사람들이 그것을 신뢰하지 않을 것이기 때문이며, 이는 완전한 자율성을 달성한다는 목표와 전제를 상실하는 것과 같습니다.

4. 인공지능에는 훈련이 필요합니다

완전히 자율적인 인공지능은 신화이지만, 소프트웨어 품질에 대한 인간의 노력을 지원하고 확장하는 인공지능은 추구할 가치가 있는 목표입니다. 이 경우 인간은 AI를 지원할 수 있습니다. 테스터는 AI와 AI가 의존하는 끊임없이 진화하는 훈련 세트를 감독, 수정 및 교육하는 데 여전히 인내심을 가져야 합니다. 문제는 테스트 소프트웨어의 다양한 버그에 위험을 할당하면서 AI를 훈련시키는 방법입니다. 이 교육은 지속적으로 이루어져야 하며 테스트 영역에만 국한되어서는 안 됩니다. 자율주행차 제조사들은 길을 건너는 사람과 자전거를 타는 사람을 구별하기 위해 인공지능을 훈련시킨다.

테스터는 AI 기능에 대한 자신감을 구축하기 위해 과거 데이터를 바탕으로 AI 소프트웨어를 교육하고 테스트해야 합니다. 동시에 테스트에서 진정한 자율 AI는 개발자 지침과 사용자 지침 등 과거 데이터를 기반으로 할 수 없는 미래 조건을 예측해야 합니다. 대신 트레이너는 자신의 편견에 기반한 데이터 세트를 기반으로 AI를 훈련하는 경향이 있습니다. 이러한 편견은 인공 지능 탐색의 가능성을 제한합니다. 마치 시각 장애인이 말이 확실성을 위해 정해진 길에서 벗어나는 것을 막는 것과 같습니다. AI가 편향적으로 나타날수록 신뢰도는 떨어집니다. AI가 훈련할 수 있는 최고의 방법은 위험 확률을 처리하고 궁극적으로 인간이 평가할 위험 완화 전략을 도출하는 것입니다.

5. 위험 완화 조치

결국 소프트웨어 테스팅은 테스터의 성취감과 자신감에 관한 것입니다. 개발자와 사용자에게 문제를 일으킬 수 있는 코드 변경은 물론 초기 구현의 가능한 결과를 측정하고 평가합니다. 그러나 소프트웨어 테스트를 통해 애플리케이션 충돌 가능성을 모두 조사했다고 해도 신뢰성이 100%일 수는 없다는 점은 부인할 수 없습니다. 수동으로 수행하든 자동으로 수행하든 모든 소프트웨어 테스팅에는 위험 요소가 있습니다.

테스터는 코드가 문제를 일으킬 가능성을 기준으로 테스트 범위를 결정해야 합니다. 또한 위험 분석을 사용하여 적용 범위 외부에 집중해야 하는 영역을 결정해야 합니다. AI가 사용자 활동 체인의 어느 시점에서든 소프트웨어 오류의 상대적 확률을 결정하고 표시하더라도 테스터는 여전히 계산을 수동으로 확인해야 합니다.

인공 지능은 역사적 편차의 영향을 받는 소프트웨어 연속성의 가능성을 제공합니다. 그러나 AI 위험 평가와 위험 감소 방안에 대해서는 아직 신뢰도가 높지 않습니다.

AI 지원 소프트웨어 테스트 도구는 테스터가 실제적인 결과를 생성하는 동시에 테스터의 육체 노동을 덜어주기 위해 실용적이고 효과적이어야 합니다.

소프트웨어 테스트에서 AI의 가장 흥미로운(그리고 잠재적으로 파괴적인) 배포는 AI 개발 성숙도의 두 번째 수준인 절차적 AI에 있습니다. Katalon의 한 연구원은 “소프트웨어 테스트에 적용되는 AI의 가장 큰 실제 활용은 자율 테스트 생성의 첫 번째 단계인 프로세스 수준에서 이루어질 것입니다. 이때는 내가 직접 만들 수 있는 자동화된 테스트를 만들 수 있게 될 것입니다. , 나에게도 도움이 될 수 있습니다. "

자율적이고 자기 주도적인 인공 지능, 소프트웨어 테스트 프로세스에서 인간의 참여를 모두 대체하는 것 등은 모두 과대 광고입니다. AI가 인간의 노력을 증대 및 보완하고 테스트 시간을 단축할 것으로 기대하는 것이 더 현실적이고 바람직합니다.

참조 링크: https://dzone.com/articles/ai-in-software-testing-the-hype-the-facts-the-pote

위 내용은 너무 과대포장된 AI가 너무 흥미진진해요!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿