Thief of Wealth
Published 2019. 12. 24. 14:45
소프트웨어 테스팅과 AI 개발/QA

출처: http://www.ciokorea.com/news/122475

 

과격한 혁명이 다가온다··· 소프트웨어 개발에 불어오는 AI 바람

뉴럴 네트워크(신경망)가 코드를 작성한다. 사람들은 주로 작업을 정의하고 데이터를 수집하며 사용자 인터페이스를 구현한다. 이미 이런 일을 벌어지는 시대다. 테슬라의 안드레이 카파시는 이를 ‘소프트웨어 2.0’의 시대로 부른다.그러나 최소한 아직은 뉴럴 네트워크가 모든 작업을 처리할 수 있는 것은 아니다. 전통적인 소프트웨어 개발이 맡아야 할 역할이 여전히 남아 있기는 하다. 하지만 인공지능(AI), 머신러닝(ML), 고급 분석(

www.ciokorea.com

 

요약: 

 

- 테스팅 부문

금융 서비스 같은 경우, 매일 수 조 달러의 거래가 처리된다. 

이런 어플리케이션에는 적절한 테스팅이 필요하다.

테스트케이스를 만드는 사람은 아주 세심하게 테스트 시나리오를 디자인할 방법을 숙고해야 하는데, 이 과정은 사람손으로 하기 때문에 오래걸리고 인건비도 많이들 것이다.

 

브라질에 TOTVS라는 회사는 이를 해결하기 위해서, AI를 사용하여 지능형 테스트 케이스 생성을 할 수 있는 기술력을 갖추었다.

이 기술은 기반이 되는 코드에 의지하는 대신, 사람처럼 화면을 조사해 입력필드와 버튼 등의 위치를 찾을 수 있다.

또 어플리케이션 스트레스 테스트를 하기 위한 표본 데이터 및 테스트 시나리오를 파악할 수 있다.

최근에는 단순한 영어를 이해하는 기능이 추가되었고, 테스트 대상을 알려주면 자동으로 테스트 케이스를 생성할 수 있다.

 

- 모니터링/배포 부문

소프트웨어가 QA를 통과해도, 의도한 것처럼 되지 않는 경우가 있다. 

문제가 발생하면 이전의 정상상태로 되돌린 후, 문제를 고치기위해 개발자에게 보낸다.

하지만 이러한 과정은 작성한 SW가 지나치게 복잡해지고, 트래픽이 증가함에 따라서, 한사람,한개팀이 배포한 모든 모니터링 시스템을 조사해서 좋다/아니다의 결정을 내리기 힘들어진다. 너무 많은 시간을 이에 소비하고 개선이 늦춰지는 문제점이 있다.

AI와 ML이 개발 측면에서 도움이 되는 가능성이 있으므로, 공통적인 패턴이 좋은지, 나쁜지 이해하는 것에 개발을 진행하고 있다.

 

- 보안 부문

코드 베이스에 수백 만 줄의 코드가 있다고 가정하자 이 수백 만줄의 코드를 검사하기 위해 엄청난 인력이 들 것이다.

깃허브에는 이러한 문제를 해결하기 위하여 머신러닝 기법으로, 개인키, 토큰, 비밀번호등을 실수로 commit할 경우 자동으로 취약점으로 인식하여 알려주는 서비스를 제공하고 있다.

 

- 발견 부문

깃허브는 개발자가 자연스럽게 함수를 발견하도록 도움을 주는 도구를 개발해서 자신이 의도한 함수를 AI가 찾아주는 기술을 구현해내었다.

 

- 분석 부문

AI를 기반으로한 정적분석(SW를 실행하지 않고 하는 분석)이 부상한다.

 

 

'개발 > QA' 카테고리의 다른 글

2. 결함(defect), Error, Fault, Failure 이란?  (0) 2020.07.03
1. SW품질이란?  (0) 2020.07.03
사이클로매틱 복잡도 (2) - 계산법  (0) 2019.12.24
Defection 과 Failure 차이  (0) 2019.12.24
OR / AND 커버리지 문제 (1)  (0) 2019.12.24
profile on loading

Loading...