본문으로 건너뛰기
중급약 35분

크로스플랫폼 자동화 도구 선택 가이드 — Appium·경량 GUI 라이브러리·Robot Framework, API 도구 계층, 언어 로드맵, RPA와 오픈소스

레슨 5의 도구 지도를 모바일·데스크톱·네트워크까지 넓힌다. Appium으로 모바일과 Windows·macOS 데스크톱을 한 표준으로 묶는 법과 드라이버 유지보수 상태, PyAutoGUI·SikuliX 같은 파이썬 경량 GUI 라이브러리와 Robot Framework 엔터프라이즈 조합의 자리, Postman류·Charles/Fiddler·Wireshark/tcpdump로 나뉘는 API·네트워크 도구 세 계층과 매뉴얼 테스터의 학습 우선순위, Python·TypeScript·Java 세 갈래 언어 로드맵, 그리고 UiPath 같은 RPA가 시스템 호환성은 강하지만 QA 자동화의 주류가 되지 못하는 이유를 판단 기준으로 정리한다.

  • #도구선택
  • #Appium
  • #데스크톱자동화
  • #RobotFramework
  • #네트워크도구
  • #학습로드맵
  • #RPA

개념

레슨 5의 지도를 넓히는 이유

레슨 5에서 스테이지 4의 도구들을 네 가지 판단 기준 — 무엇을 하려는가, 어느 계층인가, 접근성 정보가 있는가, 누가 유지보수하는가 — 으로 묶었다. 실무에서는 그 지도 밖의 질문이 곧바로 나온다.

  • "웹은 Playwright로 하는데, 같은 팀이 모바일 앱과 Windows 설치형 프로그램 도 자동화해야 한다. 도구를 몇 개나 써야 하나?"
  • "API는 Postman으로 보는데, 앱이 실제로 뭘 보내는지 는 어떻게 보나? Wireshark까지 배워야 하나?"
  • "자동화를 처음 배우는데 Python, TypeScript, Java 중 무엇 부터?"
  • "회사에 UiPath 라이선스가 있는데 그걸로 테스트 자동화 하면 안 되나?"

이 레슨은 이 네 질문에 대한 판단 기준을 준다. 도구는 계속 바뀌므로, 레슨 5에서처럼 도구 이름보다 선택 기준 에 집중하고, 도구의 현재 상태(유지보수 여부)는 참고 자료의 1차 출처로 주기적으로 확인한다.

질문 1 — 모바일과 데스크톱을 함께 자동화해야 할 때

세 갈래의 선택지가 있다.

갈래대표원리강점약점
표준 통합Appium (+ 플랫폼별 드라이버)WebDriver 프로토콜로 각 OS의 자동화 프레임워크를 감싼다모바일·데스크톱을 같은 API·같은 언어·같은 CI 로드라이버마다 성숙도·유지보수 상태가 다르다
경량 GUI 라이브러리PyAutoGUI, SikuliX화면 좌표·이미지 인식으로 마우스·키보드를 조작설치가 쉽고 접근성 정보가 없는 화면 에서도 동작해상도·테마·화면 배율에 취약, 요소 속성을 읽지 못함
엔터프라이즈 조합Robot Framework (+ 라이브러리)키워드 기반 테스트 위에 웹·모바일·데스크톱·API 라이브러리를 조합비개발자도 읽는 테스트, 보고서, 여러 기술을 한 실행기로키워드 계층이 두꺼워지면 디버깅이 어렵고, 결국 파이썬 라이브러리 작성 역량이 필요

Appium — 모바일과 데스크톱을 하나의 표준으로

모듈 13 레슨 7에서 Appium을 모바일 자동화로 봤다. Appium의 구조는 서버 + 플랫폼별 드라이버 이고, 드라이버를 바꾸면 같은 클라이언트 코드 스타일로 다른 플랫폼을 자동화할 수 있다.

플랫폼드라이버밑에서 쓰는 것상태 확인 포인트
AndroidUiAutomator2 드라이버Google UiAutomator활발
iOSXCUITest 드라이버Apple XCTest활발
Windows 데스크톱Windows 드라이버Microsoft WinAppDriver 서버WinAppDriver 서버는 2022년 이후 유지보수되지 않고, Appium 쪽 Node.js 드라이버만 유지된다. 대안으로 NovaWindows 같은 커뮤니티 드라이버가 나왔다
macOS 데스크톱Mac2 드라이버Apple XCTestAppium 조직이 유지, 릴리스가 이어지고 있다
# 같은 스타일의 코드로 모바일과 데스크톱을 다룬다 — Appium Python 클라이언트
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.options.windows import WindowsOptions
from appium.webdriver.common.appiumby import AppiumBy
 
# Android 앱
android = webdriver.Remote("http://127.0.0.1:4723", options=UiAutomator2Options().load_capabilities({
    "platformName": "Android",
    "appium:app": "/builds/app-release.apk",
}))
android.find_element(AppiumBy.ACCESSIBILITY_ID, "login_button").click()
 
# Windows 데스크톱 앱 — 드라이버와 capability 만 바뀐다
windows = webdriver.Remote("http://127.0.0.1:4723", options=WindowsOptions().load_capabilities({
    "platformName": "Windows",
    "appium:app": r"C:\Program Files\Acme\Acme.exe",
}))
windows.find_element(AppiumBy.ACCESSIBILITY_ID, "LoginButton").click()

Appium을 표준으로 고를 때의 판단: 모바일 자동화가 이미 Appium이고 데스크톱 앱이 접근성 정보(UI Automation·Accessibility API)를 제대로 노출 한다면, 같은 팀·같은 언어·같은 CI로 묶는 이득이 크다. 반대로 Windows 쪽 비중이 크고 장기 운영해야 한다면, WinAppDriver 서버의 유지보수 중단을 도구 선정 위험으로 명시 하고 대안 드라이버나 다른 도구를 함께 평가한다. "표준이니까 안전하다"가 아니라 "표준의 어느 부품이 살아 있는가" 를 본다.

파이썬 경량 GUI 라이브러리 — PyAutoGUI, SikuliX

모듈 15 레슨 3의 이미지·좌표 기반 자동화가 코드로 구현된 형태다.

# PyAutoGUI — 좌표·이미지 기반. 요소 속성을 읽지 못한다
import pyautogui
 
pyautogui.FAILSAFE = True                      # 마우스를 화면 모서리로 밀면 중단 — 필수 안전장치
button = pyautogui.locateCenterOnScreen("img/save_button.png", confidence=0.9)   # confidence 는 OpenCV 필요
if button is None:
    raise AssertionError("저장 버튼 이미지를 찾지 못함 — 해상도·테마·배율 확인")
pyautogui.click(button)
pyautogui.write("report-2026-09.xlsx", interval=0.05)
pyautogui.press("enter")
도구성격현재 상태 확인 포인트
PyAutoGUI마우스·키보드·스크린샷·간단한 이미지 매칭을 파이썬으로원 저장소의 릴리스가 오래 멈춰 있고, 포크가 개발을 이어가려는 움직임이 있다
SikuliX이미지 인식(OpenCV)과 OCR 중심 자동화, 스크립트 IDE원 개발자가 개발을 멈추고 OculiX 로 관리가 이관되었다는 공지가 있다

두 도구의 공통된 자리는 "다른 방법이 없을 때" 다. 접근성 정보가 없는 레거시 화면, 원격 데스크톱·가상화 화면, 게임·캔버스 기반 UI. 레슨 3의 안정성 위계(접근성 기반 → 이미지 → 좌표)를 기억하자. 경량 라이브러리는 설치가 쉬워 첫 자동화로 고르기 쉽지만, 해상도·테마·화면 배율이 바뀌면 전부 깨지므로 회귀 스위트의 주력으로 쓰기 어렵다. 유지보수 상태도 주기적으로 확인해야 하는 도구들이다.

엔터프라이즈 조합 — Robot Framework

Robot Framework는 키워드 기반 테스트 실행기다. 모듈 11 레슨 6의 키워드 주도 프레임워크를 오픈소스로 구현한 대표 사례이고, 7.x 계열로 활발히 릴리스되고 있다. 핵심은 라이브러리 조합 이다.

대상라이브러리 (예)
웹SeleniumLibrary, Browser 라이브러리(Playwright 기반)
모바일AppiumLibrary
데스크톱·RPARPA Framework 계열 라이브러리
APIRequestsLibrary
DBDatabaseLibrary
*** Settings ***
Library    Browser
Library    RequestsLibrary
 
*** Test Cases ***
주문 생성 후 웹에서 주문 상세 확인
    ${resp}=    POST    ${API}/orders    json={"sku": "SKU-QA-001", "qty": 1}    expected_status=201
    ${order_id}=    Set Variable    ${resp.json()}[orderId]
    New Page    ${WEB}/orders/${order_id}
    Get Text    h1    ==    주문 ${order_id}

조합을 고를 때의 판단: 테스트를 읽는 사람이 개발자만이 아니고(현업·감사·수동 테스터), 웹·모바일·데스크톱·API가 한 보고서 로 나와야 하며, 조직에 파이썬 라이브러리를 작성할 사람이 있을 때 강하다. 키워드만으로 모든 것을 해결하려 하면 키워드가 수백 개로 불어나 디버깅이 어려워진다. 복잡한 로직은 파이썬 라이브러리로, 시나리오는 키워드로 나누는 것이 운영의 핵심이다.

판단 요약

데스크톱·모바일 자동화 대상이 있다
  ├─ 앱이 접근성 정보를 노출한다
  │    ├─ 모바일 자동화가 이미 Appium → Appium 드라이버로 통합 (Windows 드라이버 유지보수 위험 평가 포함)
  │    └─ 비개발자 가독성·통합 보고서가 중요 → Robot Framework + 해당 라이브러리
  └─ 접근성 정보가 없다 (레거시·원격 화면·캔버스)
       └─ 이미지·좌표 기반 (SikuliX·PyAutoGUI 계열) — 범위를 최소화하고, 레슨 3 안정성 위계를 따른다

질문 2 — API·네트워크 도구는 어디까지 알아야 하나

API·네트워크 도구는 보는 범위 가 다른 세 계층으로 나뉜다. 모듈 12 레슨 2(Postman), 모듈 19 레슨 4(Charles·mitmproxy), 레슨 5(Wireshark·tcpdump)에서 각각 실습했다. 여기서는 언제 어느 계층이 필요한가 로 묶는다.

계층대표 도구보는 것할 수 있는 것못 하는 것
1. API 클라이언트Postman, Insomnia, Bruno 류내가 보낸 요청과 그 응답의도한 요청을 만들어 보내고 응답 확인·단언·컬렉션 자동화앱이 실제로 보내는 요청은 안 보인다
2. HTTP(S) 프록시Charles, Fiddler, mitmproxy기기·브라우저·앱이 주고받는 전체 HTTP(S) 트래픽모바일 앱 트래픽 확인, 요청·응답 중간 조작(브레이크포인트·Map Local·Rewrite), 네트워크 스로틀링HTTP가 아닌 프로토콜, TCP·TLS 연결 수준 문제
3. 패킷 분석Wireshark, tcpdump네트워크 패킷 레벨 전체MQTT·WebSocket 프레임·gRPC 같은 비HTTP·저수준 확인, 연결 재설정·재전송·TLS 핸드셰이크 실패, 서버 측 tcpdump 캡처암호화된 내용은 키 없이 해독 불가, 학습 비용이 크다

같은 "결제 요청이 실패한다"는 문제가 계층마다 다르게 보인다.

1계층 (Postman)     : 같은 요청을 직접 보내면 200 성공 → "서버는 정상"
2계층 (Charles)     : 앱이 보낸 요청을 보니 amount 필드가 문자열 "10,000" → 앱의 요청 형식 결함 발견
                      응답을 Rewrite 로 500 으로 바꿔 앱의 오류 처리 화면도 확인
3계층 (Wireshark)   : 요청이 서버에 도달하기 전 TLS 핸드셰이크에서 연결 재설정 → 프록시·인증서·네트워크 장비 문제

도구 상태도 한 가지 짚자. Fiddler는 Windows 전용 Fiddler Classic 과 크로스플랫폼 Fiddler Everywhere 로 나뉘어 있고, Classic은 활발히 개발되지 않으며 상업적 사용 조건이 바뀌었다. mitmproxy는 11 버전부터 HTTP/3를 폭넓게 지원한다. 조직에서 표준 도구를 정할 때 라이선스와 지원 프로토콜을 확인한다.

매뉴얼 테스터의 학습 우선순위

수동 테스트 경력자가 기술 역량을 넓힐 때 가장 흔한 질문이 "무엇부터"다. 권장 순서는 Postman → Charles/Fiddler → Wireshark/tcpdump 다.

순서도구이유투자 대비 효과
1PostmanAPI 요청·응답 구조, 상태 코드, 인증 헤더 개념을 가장 빨리 익힌다. 결함 리포트에 재현 가능한 요청 을 붙일 수 있게 된다매우 큼 — 거의 모든 서비스에서 바로 쓴다
2Charles/Fiddler앱이 실제로 무엇을 보내는지 본다. 모바일 앱 검증, 서버 없이 예외 상황 만들기, 느린 네트워크 재현큼 — 모바일·웹 서비스라면 결함 원인 파악 속도가 달라진다
3Wireshark/tcpdump프록시로 보이지 않는 연결·프로토콜 문제도메인에 따라 다름

Wireshark는 급하지 않을 수 있다. 일반 웹·모바일 서비스 QA에서는 1·2계층으로 대부분의 문제를 좁힐 수 있고, 연결 수준 문제는 인프라·네트워크 담당과 협업하는 편이 효율적이다. 반대로 모빌리티·IoT·실시간 서비스(차량 통신, 센서 기기, MQTT 기반 메시징, 게임·스트리밍, WebSocket 중심 서비스)라면 3계층이 일찍 필요하다. 모듈 19 레슨 5의 "어디까지가 QA의 일인가"와 같은 판단이다.

질문 3 — 언어 선택 로드맵

"어떤 언어가 가장 좋은가"에는 답이 없다. 어떤 조직에서 어떤 도구로 일할 것인가 에 따라 출발점이 갈린다. 세 갈래로 정리한다.

                  ┌─ Python 시작 ─── Selenium / Appium 입문 ─── pytest 체계 ─── Playwright(Python)로 확장
                  │   (데이터·ML 조직, 모바일·데스크톱 혼합, Robot Framework 조직)
자동화 첫 언어 ────┼─ TypeScript 시작 ─ Playwright 중심 ─── API 테스트(Playwright request) ─── 프런트엔드 컴포넌트 테스트
                  │   (웹 서비스 스타트업·프런트엔드 비중이 큰 조직)
                  └─ Java 시작 ─────── Selenium + TestNG/JUnit ─── REST Assured ─── 대형 회귀 스위트·Appium(Java)
                      (대기업·금융·SI, 개발 스택이 Java 인 대형 회귀 조직)
갈래시작하기 좋은 사람강점주의
Python프로그래밍이 처음, 모바일·데스크톱·데이터 검증을 함께 할 사람문법이 쉽고 Appium·Robot Framework·PyAutoGUI·데이터 도구와 연결이 넓다웹 프런트엔드 조직에서는 개발팀과 언어가 달라 협업이 약해질 수 있다
TypeScript웹 서비스 조직, 프런트엔드 개발자와 같은 저장소에서 일할 사람Playwright의 1차 지원 언어, 개발팀과 코드·리뷰·CI 공유타입 시스템과 비동기(async/await)에 초반 학습 비용
Java대기업·금융·SI, 백엔드가 Java인 조직대형 회귀 스위트 운영 경험·도구 생태계가 두텁고, 채용 공고가 많다코드량이 많고 시작이 무겁다

판단 기준은 셋이다. ① 들어가려는 조직의 개발 스택 (개발팀과 같은 언어면 코드 리뷰·유지보수를 함께 할 수 있다), ② 주력 도구의 1차 지원 언어, ③ 두 번째 언어로 넘어가기 쉬운가. 어느 갈래로 시작해도 모듈 11~13의 개념(피라미드·POM·대기 전략·플래키 대응)은 그대로 옮겨 간다. 언어보다 개념이 오래간다.

질문 4 — RPA로 테스트 자동화를 하면 안 되나

레슨 1에서 RPA와 QA 자동화의 목적 이 다르다는 것을 봤다. 이번에는 도구 특성 으로 비교한다. UiPath 같은 RPA 플랫폼과 Selenium·Playwright·Appium 같은 개발자용 오픈소스를 나란히 놓으면 이렇다.

기준RPA (UiPath 등)개발자용 오픈소스 (Selenium·Playwright·Appium)
시스템 호환성최강 — 웹·데스크톱·SAP·메인프레임 터미널·Citrix·이미지 인식까지 한 도구로도구별로 대상이 나뉜다 (웹은 Playwright, 모바일은 Appium …)
실행 속도사람의 조작을 흉내 내는 구조라 상대적으로 느림, 로봇 기동 오버헤드브라우저 프로토콜 직접 제어, 병렬 실행에 최적화
UI 변화 취약성화면 기록 기반 셀렉터·이미지 인식이 UI 변경에 약함역할·테스트 ID 기반 로케이터 설계로 유지보수 가능 (모듈 13 레슨 3)
CI/CD 연동오케스트레이터·로봇 라이선스·실행 머신 구성이 필요, 파이프라인에 넣기 무거움컨테이너에서 바로 실행, PR마다 돌리기 쉬움
버전 관리·리뷰워크플로 파일 비교·코드 리뷰가 어렵다일반 코드로 Git·PR 리뷰
비용로봇·개발 도구·오케스트레이터 라이선스 비용도구 무료, 인력·인프라 비용
작성자비개발자·현업이 만들기 쉬움코드 작성 역량 필요

그래서 RPA는 QA 자동화의 주류로 쓰이지 않는다. QA 자동화의 핵심 요구 — 매 변경마다 빠르게, 병렬로, CI에서, 코드로 리뷰하며 — 에 도구 구조가 맞지 않기 때문이다. 대신 RPA가 합리적인 자리 는 분명히 있다.

  • 개발자용 도구로 접근할 수 없는 시스템이 섞인 종단 업무 흐름(SAP → 메인프레임 터미널 → 웹 포털)의 인수 시험
  • 이미 RPA 플랫폼·라이선스·운영 조직이 있는 기업에서 업무 자동화 로봇 자체를 검증 하는 일(레슨 1)
  • RPA 벤더가 테스트 전용 제품군을 함께 제공하는 경우, 그 조직의 표준을 따르는 선택

"회사에 UiPath 라이선스가 있다"는 이유만으로 웹 회귀 스위트를 RPA로 짜면, 몇 달 뒤 실행 시간·유지보수·CI 연동에서 비용이 드러난다. 레슨 5의 판단 기준 4(누가 만들고 유지보수하는가)와 함께 실행 빈도 를 기준에 넣는다. 매 PR마다 돌아야 하면 오픈소스, 분기마다 한 번 도는 종단 인수 시나리오면 RPA도 선택지다.

실무에서 왜 필요한가

도구 선택은 한 번 잘못하면 몇 년 동안 비용을 낸다. 수백 개의 테스트를 쓴 뒤에 도구를 바꾸는 것은 새로 쓰는 것과 비슷한 일이기 때문이다(모듈 22 레슨 12의 "이사 비용"). 그런데 도구 선택 회의는 대개 데모 인상과 "다른 회사가 쓰더라"로 결정된다.

이 레슨의 판단 기준 — 표준의 어느 부품이 살아 있는가, 어느 계층까지 봐야 하는가, 조직의 개발 스택과 맞는가, 실행 빈도와 CI 구조에 맞는가 — 을 말할 수 있는 QA는 도구 선택 회의에서 근거를 제시하는 사람이 된다. 매뉴얼 테스터에게는 막연한 "자동화 공부"를 순서가 있는 학습 계획 으로 바꿔 주고, 시니어에게는 도구 도입 제안서(자동화 전환 트랙의 공백)의 뼈대가 된다.

실습 과제

과제 1 — 도구 선정 체크리스트 작성 (20분)

아래 상황 중 하나를 골라, 본문 기준으로 도구 선정 체크리스트 를 채우고 결론을 쓴다.

상황 A: 웹 서비스(React) + Android/iOS 앱 + 영업점용 Windows 설치형 프로그램(WPF). QA 4명, 그중 2명은 수동 테스트 경력만 있음
상황 B: 스마트 도어락 제조사. 모바일 앱 + 기기(MQTT) + 관리자 웹. 앱과 기기 연동 결함이 잦음
상황 C: 금융사 차세대. 웹 채널 + 메인프레임 터미널 화면 + SAP 회계. 분기별 종단 인수 시나리오 200개
[도구 선정 체크리스트]
[ ] 자동화 대상 플랫폼 목록과 각 플랫폼의 접근성 정보 노출 여부를 확인했다
[ ] 후보 도구·드라이버의 최근 릴리스와 유지보수 상태를 1차 출처에서 확인했다
[ ] 조직의 개발 스택과 자동화 언어가 맞는지 확인했다
[ ] 실행 빈도(PR마다 / 매일 / 분기)와 CI 연동 방식을 정했다
[ ] 테스트를 읽고 유지보수할 사람(개발자 / QA / 현업)을 정했다
[ ] API·네트워크 검증이 몇 계층까지 필요한지 정했다 (Postman / 프록시 / 패킷)
[ ] 라이선스 비용과 오픈소스 인력 비용을 비교했다
[ ] 선택하지 않은 도구와 그 이유를 기록했다

과제 2 — 개인 학습 로드맵 (15분)

본인(또는 수동 테스트 경력 3년인 가상의 동료)에 대해, 들어가려는 조직 유형을 정하고 언어 갈래 하나와 API·네트워크 도구 학습 순서를 골라 12주 학습 계획 을 주 단위로 쓴다. Wireshark를 계획에 넣었다면 도메인상 이유를, 뺐다면 언제 넣을지를 적는다.

과제 3 — 계층별 원인 좁히기 (15분)

"모바일 앱에서 채팅 메시지가 가끔 늦게 도착한다"는 제보를 받았다. Postman·Charles·Wireshark 각 계층에서 무엇을 확인하고 어떤 결과가 나오면 다음 계층으로 넘어갈지 순서도로 쓴다. 채팅이 WebSocket 기반이라는 점을 반영한다.

자가 체크리스트

  • 모바일·데스크톱 자동화의 세 갈래(Appium 표준 통합, 경량 GUI 라이브러리, Robot Framework 조합)의 원리와 장단점을 말할 수 있다
  • Appium의 Windows 드라이버가 WinAppDriver 서버에 의존하고 그 서버의 유지보수가 멈췄다는 점을 도구 선정 위험으로 설명할 수 있다
  • Mac2 드라이버가 XCTest 기반이라는 점과 플랫폼별 드라이버 구조를 안다
  • PyAutoGUI·SikuliX가 필요한 상황과 회귀 스위트 주력으로 쓰기 어려운 이유를 설명할 수 있다
  • Robot Framework를 쓸 때 복잡한 로직과 시나리오를 어디에 두어야 하는지 안다
  • Postman류·Charles/Fiddler·Wireshark/tcpdump가 보는 범위와 할 수 있는 일을 계층으로 구분할 수 있다
  • 매뉴얼 테스터의 학습 순서와 Wireshark가 일찍 필요한 도메인을 말할 수 있다
  • Python·TypeScript·Java 세 갈래 로드맵과 언어 선택 판단 기준 세 가지를 설명할 수 있다
  • RPA가 시스템 호환성은 강하지만 QA 자동화 주류가 아닌 이유를 속도·UI 취약성·CI/CD·비용으로 설명하고, RPA가 합리적인 자리를 말할 수 있다

흔한 실수

"표준이니까 안전하다"로 드라이버를 고른다. 표준의 어느 부품이 유지보수되고 있는지 확인한다.

설치가 쉬운 좌표·이미지 도구로 회귀 스위트를 만든다. 해상도·배율 변경 한 번에 전부 깨진다.

Robot Framework 키워드로 모든 로직을 짠다. 복잡한 로직은 파이썬 라이브러리로 뺀다.

Postman에서 성공했으니 서버는 정상이라고 결론 낸다. 앱이 실제로 보낸 요청은 프록시로 봐야 보인다.

모든 매뉴얼 테스터에게 Wireshark부터 권한다. 도메인에 따라 우선순위가 다르다.

"가장 인기 있는 언어"로 시작한다. 들어가려는 조직의 개발 스택과 주력 도구가 먼저다.

라이선스가 있다는 이유로 RPA로 PR 회귀를 짠다. 실행 빈도와 CI 구조가 맞지 않는다.

참고 자료

낯선 말 풀이

이 레슨에 나온 약어입니다. 본문에서도 처음 나올 때 점선으로 표시해 두었습니다 (제목과 링크 글자는 그대로 둡니다).

API — 응용 프로그램 인터페이스
프로그램끼리 주고받는 창구. 사람이 화면 버튼을 누르는 대신, 프로그램이 정해진 주소로 요청을 보내 답을 받는다.
OS — 운영체제
기기를 돌리는 바탕 프로그램 — 윈도우, 맥, 안드로이드 같은 것.
CI — 지속적 통합
코드를 올릴 때마다 자동으로 합쳐서 빌드하고 시험까지 돌리는 방식.
GUI — 그래픽 사용자 인터페이스
글자만 있는 화면이 아니라 그림·버튼·창으로 조작하는 화면. 보통 말하는 "화면"이 이것이다.
UI — 사용자 인터페이스
사람이 직접 보고 누르는 부분 — 화면, 버튼, 입력창.
IDE — 통합 개발 환경
코드를 쓰고 돌려 보고 오류를 찾는 일을 한 창에서 하게 해 주는 프로그램.
RPA — 업무 자동화 로봇
사람이 화면에서 반복하던 조작을 그대로 대신해 주는 도구.
DB — 데이터베이스
데이터를 넣어 두고 꺼내 쓰는 저장소. 보통 표 여러 개가 서로 연결된 형태다.
HTTP — 하이퍼텍스트 전송 규약
웹에서 요청과 응답을 주고받는 약속. "무엇을 달라"고 보내면 "여기 있다" 또는 "그런 건 없다"가 돌아온다.
TCP — 전송 제어 규약
데이터를 빠뜨리지 않고 순서대로 보내는 약속. 웹도 이 위에서 돌아간다.
TLS — 전송 계층 보안
통신을 암호로 감싸는 기술 그 자체. 웹에서 쓰면 주소가 https로 시작한다.
QA — 품질보증
만든 것이 쓸 만한지 확인하고, 애초에 덜 망가지게 만드는 방법을 정하는 일. "테스트"는 그 일의 일부다.

이 레슨에 나온 나머지 7개를 포함해 용어집 전체 보기