메트로놈 개발 기록

개인 개발 앱 테스트는 AI에 맡길 수 있습니까? 메트로놈에서의 검증 결과

개인 개발의 앱 테스트를 AI에 어디까지 맡길 수 있는지, 메트로놈 개발의 실례로 소개. 자동 테스트 109건의 합격, 화면 전환의 결함 발견, 96BPM의 녹음 해석과 사람이 최종 확인하는 범위를 정리합니다.

공개 업데이트
  • AI
  • 앱 테스트
  • 개인 개발
개인 개발 앱 테스트는 AI에 맡길 수 있습니까? 메트로놈 개발로 검증. AI의 실행과 사람의 최종 확인.

개인적으로 앱을 개발하는 경우 테스트에 충분한 시간을 확보하는 것은 쉽지 않습니다. 구현, 동작 확인, 결과 기록, 결함 조사를 혼자 진행할 필요가 있기 때문입니다.

메트로놈 앱의 개발에서 AI를 활용한 결과, 개인 개발이라면 AI를 테스트의 주 담당으로 할 수 있는이라고 평가하고 있습니다.

사람이 놓친 버그를 발견할 수 있었을 뿐만 아니라, 리듬의 정확도를 계산과 녹음 해석으로 확인하는 곳까지 진행되었습니다. 다만, 사양서나 결과의 최종 확인, 공개의 판단은 사람이 실시하고 있습니다.

AI에 맡긴 범위와 사람이 확인한 범위

이번 개발에서는 다음 단계에서 테스트를 실시했습니다.

테스트 단계사용한 빌드
지역개발 빌드
내부 테스트검증 빌드
클로즈 테스트프로덕션 빌드

이 기사에서 말하는 「AI를 활용한 테스트」에는, AI에 의한 단말 조작 외에 자동 테스트나 해석 처리를 사용한 검증도 포함됩니다. 모든 것을 AI의 화면 조작이나 육안 판정만으로 확인한 것은 아닙니다.

테스트 관점의 세탁, Excel 형식의 사양서 작성, 단말 조작, 합격 여부 판정, 스크린 샷 취득, 결함의 재현 확인은, 거의 AI에 맡겼습니다.

기본적인 흐름은 다음과 같습니다.

  1. AI가 테스트 관점을 씻어내고 Excel 형식의 테스트 사양을 작성합니다.
  2. AI 검토 후 사람이 사양서의 최종 버전을 확인합니다.
  3. AI가 검증 단말기에서 테스트를 실행하고 결과 및 스크린샷을 기록합니다.
  4. 테스트 결과와 증거를 비교하고 AI 검토 후 사람이 최종 확인
AI가 사양서를 작성하고 사람이 확인. AI가 단말기에서 실행·기록하고 AI 리뷰 후 사람이 결과를 최종 확인하는 흐름.
AI 실행과 사람의 최종 확인을 결합한 이번 테스트의 흐름.

증거는 테스트를 실행할 때 유효성 검사 기기에서 캡처한 스크린샷을 사용합니다. 생성 AI에 의한 화상의 생성·가공은 실시하지 않습니다.

묘화에 대해서는, AI의 보조를 받으면서 사람이 확인했습니다. AI가 실행을 담당하고 사람이 사양, 결과, 보이는 방법의 요소를 확인하는 분담입니다.

사람이 놓친 버그를 발견

AI가 발견한 문제 중 하나에 특정 조작을 하면 파기한 화면으로 전환할 수 있는 문제가 있었습니다.

구체적인 조작이나 화면 구성은 덮을 수 있습니다만, 본래는 도달할 수 없는 화면으로 돌아가 버리는 부정합입니다. 확인한 범위에서는 사용자에게 실해가 없었지만 화면 상태 관리에 문제가 있어 수정이 필요하다고 판단했습니다.

이 문제는 사람이 한 테스트에서 놓쳤습니다.

AI는 재현 절차까지 확인했습니다. 그 내용을 바탕으로 수정하고, AI에 의한 재테스트 후, 사람이 최종 확인하고 있습니다.

과거의 검증에서는, 10~12박의 버튼 표시가 개행되는 문제나, 통지가 입력·확정 조작을 덮는 UI의 문제도 발견해, 수정했습니다.

스스로 구현한 기능은, 상정한 조작을 중심으로 확인하기 쉽습니다. 이번 결과에서 AI는 작업을 대행할 뿐만 아니라 자신의 확인에서 누출된 문제를 따는 역할도 담당할 수 있는이라고 느꼈습니다.

리듬의 정확성을 계산 및 녹음으로 확인

메트로놈의 핵이 되는 것은, 설정한 템포로 정확하게 리듬을 새기는 것입니다. 그래서 계산상의 발음 위치와 실제로 나온 소리의 간격을 각각 확인했습니다.

내부 시계 계산 확인

소리를 생성하는 내부 시계에 대해서, 기대하는 발음 위치를 실장과는 다른 계산 방법으로 구해, 결과를 비교했습니다. 같은 계산 실수를 기대치에도 인계가 없기 때문입니다.

과거의 내부 시계 테스트에서는 다음 조건을 확인했습니다.

검증 대상조건
템포와 분할 수의 조합30・31・96・137・299・300 BPM × 분할수 1~4. 각각 10분 상당
장시간 계산137 BPM의 16분 음표로 30분 상당

이 범위에서 예상 발음 위치와의 오차가 1샘플 이내이며, 예정된 발음 위치에 중복이 없는 것을 확인했습니다.

「10분 상당」 「30분 상당」은 계산상의 검증 범위입니다. 같은 시간만 실기에서 소리를 계속해서 측정한 결과가 아닙니다.

스피커에서 나온 소리를 녹음하고 확인

내부 계산 외에도 96 BPM에서 약 1분 동안 실제 스피커 사운드를 마이크로 녹음하고 분석했습니다.

녹음 전후를 제외한 구간에서 88박을 검출하여 다음 결과를 얻었습니다.

품목측정 결과
설정 BPM96 BPM
추정 BPM95.998 BPM
평균 박동 간격625.011ms(이론값 625ms)
비트 간격의 표준 편차약 1.32ms
박동 간격 범위622〜628 ms

이 조건에서는 평균 템포가 약 96 BPM임을 확인할 수 있었습니다. 분석 구간에서 박자의 누락을 나타내는 긴 간격도 감지되지 않았습니다.

그러나 95.998 BPM은 해석상의 추정치이며, 그 자리수까지의 측정 정밀도를 보증하는 것은 아닙니다. 검출은 2ms 단위로, 녹음·해석계의 오차도 포함하기 때문에, 관측된 편차 모두가 앱 유래라고는 할 수 없습니다.

또, 이번 출력음의 측정은 96 BPM로 약 1분간입니다. 다른 템포에서의 출력음이나 장시간 재생에 의한 누적 어긋남은 미검증입니다.

귀로 듣고 '문제 없는 것 같다'고 판단할 뿐만 아니라 수치로 확인된 것은 특히 유용했습니다. AI 지원으로 측정 및 분석까지 진행된 것이 확인의 깊이로 이어지고 있습니다.

프로덕션 빌드에서 확인한 내용

이번 프로덕션 빌드에서는 자동 테스트 109건이 합격했습니다. 이 외에도 기기에서 다음 동작을 확인합니다.

  • 템포 변경
  • 화면 소등 중 재생 동작
  • 알림에서 중지
  • 재부팅 후 설정 유지

소등 중에도 음성 트랙이 동작하고, 취득 시점에 그 트랙의 버퍼 부족이 0인 것을 확인했습니다. 이 취득 결과는 재생 기간 전체에 소리가 끊어지지 않았을 때까지 보증하는 것은 아닙니다.

테스트 건수만으로 품질은 판단할 수 없지만, 자동 테스트, 단말 조작, 출력음의 해석을 조합하는 것으로, 다른 각도로부터 확인할 수 있었습니다.

맡기는 데 남는 과제

실행 환경 준비 및 유지 필요

복수의 에뮬레이터를 동시에 움직이는 경우, PC의 CPU나 메모리등이 제약이 됩니다. 실제 기기에서는 접속 방법이나 조작 툴의 대응 상황, 클라우드의 단말 환경에서는 비용도 검토 대상입니다.

또, 최초의 환경 구축에 가세해, 화면이나 사양의 변경에 맞추어 테스트를 갱신하는 수고도 있습니다.

기대 결과와 그림은 사람도 확인한다

예상 결과 자체가 잘못되면 많은 테스트를 실행해도 올바르게 평가할 수 없습니다. 개발과 테스트를 같은 AI에 맡기는 경우, 같은 사양 해석을 인계할 가능성에도 주의가 필요합니다.

그 때문에, 사양서와 결과의 최종 확인은 사람이 실시하고 있습니다. 실행할 수 없거나 판단할 수 없는 항목을 합격으로 혼동하지 않는 것도 중요합니다.

묘화의 불편이나 조작중의 위화감에는, 정지화만으로는 판단하기 어려운 것도 있습니다. 공개 전에 실제 기계를 만져 확인하는 공정은 남깁니다.

사양서나 화면도 외부에 전달하는 정보가 된다

AI 서비스에 전달하는 사양서나 스크린샷에서 미공개 기능이나 업무 내용이 전해지는 경우가 있습니다. 수탁 안건이나 이용자의 데이터를 취급할 경우에는 특히 주의가 필요합니다.

"학습에 사용되는지" "얼마나 저장되는지" "누가 액세스할 수 있는지"는 별도로 확인하여 이용하는 계약이나 설정이 안건의 조건에 맞는지 판단합니다. 더미 데이터나 테스트용 계정의 사용도, 도입시에 결정해 두고 싶은 점입니다.

개인 개발에서는 AI를 주 담당 할 수 있습니다.

「개인 사업주 레벨이라면, 앱의 테스트는 AI만으로 OK인가?」

이번 경험을 바탕으로 내 대답은 테스트 작업의 대부분은 맡겨진다. 그러나 최종 확인 및 공개 판단은 사람이 가진 입니다.

적어도, 내가 혼자서 하고 있던 동작 확인을 웃도는 성과는 나왔습니다. 놓친 버그가 발견되어 내부 계산에서 실제 출력음까지 검증할 수 있었기 때문입니다.

이것은 일반적인 엔지니어나 QA 엔지니어와의 우열을 나타내지는 않습니다. 내 자신의 테스트의 단맛과 혼자서 개발과 확인을 겸하는 한계를 AI로 보완했다는 경험입니다.

개인 사업에서는 제한된 시간 내에 여러 역할을 담당해야 합니다. AI에도 준비나 확인은 필요하지만 반복 실행, 기록, 결함 조사를 맡기면 자신은 중요한 판단에 시간을 사용할 수 있습니다.

한 명의 작업량을 확장하고 이전에 도착하지 않은 확인까지 진행할 수 있습니다. 메트로놈 개발에서 느낀 AI 테스트의 가장 가치입니다.

← 개발 블로그의 기사 일람에