IT 시스템 및 애플리케이션 지원 | 소프트웨어 테스트 및 자동화

프로젝트

이 포트폴리오는 시스템을 지원하고 진단하는 방법, 낯선 소프트웨어를 테스트하는 방법, 데이터 작업, 실용적인 애플리케이션 개발을 보여줍니다. 진행 중인 작업과 계획된 배포, 아직 공개되지 않은 사례 연구는 명확히 표시합니다.

홈 요약으로 돌아가기

주요 프로젝트

주요 프로젝트

ServiceFlow - API 문제 진단 실습

주문 처리를 바탕으로 SQL 문제를 진단하고 결제 오류 처리와 API 회귀 테스트를 연습하는 FastAPI 애플리케이션입니다.

완료 공개 저장소 · 진단 및 수정 기록
문제
주문 보고서에서 쿼리가 반복되고, 결제가 실패해도 주문이 결제 완료로 표시될 수 있으며, 잘못된 주문 항목으로 합계 금액이 틀어질 수 있습니다.
접근 방식
요청 로그, 서비스 코드, SQL 실행 계획을 살펴 원인을 찾았습니다. 인덱스와 집계 쿼리를 적용하고 결제 및 데이터 검증 처리를 수정한 뒤 pytest로 확인했습니다.
결과
인덱스와 집계 쿼리를 적용해 로컬 서비스 계층 시간의 중앙값을 90.26 ms에서 2.11 ms로 줄였습니다(42.8배). 생성한 SQLite 데이터는 고객 500명, 주문 2,000건, 항목 5,966개입니다.
  • Python
  • FastAPI
  • SQLAlchemy
  • SQLite
  • SQL diagnostics
  • pytest
  • GitHub Actions

로컬 생성 데이터 · 모의 결함 · 호스팅 데모 없음.

DispatchGuard - 현장 배차 안정성

현장 배차에서 실제로 문제가 되기 쉬운 중복 배정 경쟁, 자격 확인, 오프라인 작업, 충돌 해결을 QA 관점에서 다뤘습니다.

완료 v1.0 완료 · v1.1 보강 검증 소스 비공개 · 사례와 선별한 검증 자료 공개
문제
배차 담당자가 작업을 배정하는 순간 다른 배정이 함께 처리될 수 있고, 기술자가 다시 연결될 때 오래된 오프라인 작업이 올라올 수도 있습니다. 평범해 보이는 흐름이 두 경우 모두 깨질 수 있습니다.
접근 방식
배정 중복 방지를 데이터베이스에서 강제하고, 동기화에는 멱등성과 명확한 충돌 규칙을 적용했습니다. 동시 배정, 오프라인 재시도, 뉴질랜드 서머타임 경계도 테스트했습니다.
결과
완료한 범위에는 문제 재현, 수정, 회귀 테스트, ADR, RCA가 함께 남아 있습니다. 배포는 비공개 tailnet에서 검증했으며 공개 운영 서비스로 표현하지 않습니다.
  • TypeScript
  • PostgreSQL
  • Playwright
  • PWA / offline sync
  • Concurrency testing
  • NZ DST testing
  • GitHub Actions

소스 저장소는 비공개이며, 사례 설명과 결함 기록, 선별한 테스트 근거는 공개합니다.

Saleor QA - 외부 테스트 프레임워크

고정된 Saleor 3.23 환경을 GraphQL API와 브라우저 흐름에서 검증했으며, 테스트 대상의 소스 코드는 수정하지 않았습니다.

완료 리스크 기반 QA · main 브랜치 CI 통과 소스 비공개 · 사례와 선별한 검증 자료 공개
문제
낯선 시스템을 테스트할 때는 실제 제품 동작과 테스트 프레임워크의 결함, 환경 문제, 검증되지 않은 가정을 구분해야 합니다.
접근 방식
pytest, Playwright, axe, Allure에 리스크 기반 테스트 계획, 추적성, 통제된 테스트 데이터, 계층 간 검증, 별도 시각 회귀 흐름을 결합했습니다.
결과
기능 테스트 세트는 30개 통과와 2개 strict-xfail 회귀 표시를 기록합니다. 보고서 4건은 결함 또는 후보 이슈로 구분하며 Saleor 업스트림이 확인한 버그로 쓰지 않습니다.
  • Playwright
  • pytest
  • GraphQL
  • axe-core
  • Allure
  • Visual regression
  • Docker

소스 저장소는 비공개이며, 사례 설명과 테스트 계획, 선별한 검증 자료는 공개합니다.

추가 프로젝트

Subscriptly - 반복 지출 관리

구독, 월세, 보험처럼 반복되는 지출을 관리하는 iOS 앱으로, 갱신일, 환율, 금액 반올림, 백업과 복구처럼 틀리기 쉬운 부분을 정확히 다룹니다.

진행 중 내부 TestFlight · 개발 중 소스 비공개 · 사례와 선별한 검증 자료 공개

문제

반복 결제는 단순해 보이지만, 월 경계를 넘는 갱신일과 환율 변화, 금액이나 기록을 바꾸지 않는 백업 복구가 곧 데이터 정확성 문제로 이어집니다.

접근 방식

SwiftUI 제품 계층과 공유 Kotlin 도메인 코어를 분리했습니다. 금액은 최소 화폐 단위로, 청구일은 시간대 없는 달력 날짜로 다루며 백업·복구·충돌 경로도 명시적으로 설계했습니다.

결과

앱은 내부 TestFlight로 배포하며 Swift와 Kotlin 릴리스 테스트를 갖추고 있습니다. 공개 출시와 남은 실기기 검증은 완료된 것으로 표현하지 않습니다.

  • SwiftUI
  • SwiftData
  • CloudKit
  • Kotlin Multiplatform
  • Exact-money rules
  • Backup and recovery
  • TestFlight

소스 저장소는 비공개이며, 사례 설명과 선별한 릴리스 검증 자료는 공개합니다.

PlanPilot - 검토 후 실행하는 iOS 플래너

막연한 목표를 실행 가능한 계획으로 바꾸고, 캘린더에 넣기 전에 단계와 시간, 제약 조건을 점검하는 iOS 앱입니다.

공개 베타 외부 TestFlight 베타 · 개발 중 소스 비공개 · 사례와 선별한 검증 자료 공개

문제

플래너가 무엇을 추론했고 어떤 가정을 했는지, 일정과 어디서 충돌할 수 있는지 사용자가 보기 전에 캘린더 일정이나 알림을 만들어서는 안 됩니다.

접근 방식

저장 전 검토, 계획 검증, 로컬 우선 저장, 선택형 캘린더·알림 쓰기를 구현했습니다. 온디바이스, 클라우드, 오프라인 플래너가 같은 계약을 사용합니다.

결과

iPhone 앱은 공개 TestFlight 링크로 체험할 수 있습니다. 아직 베타이며 App Store 출시나 사용자 도입, 운영 환경 사용을 주장하지 않습니다.

  • SwiftUI
  • SwiftData
  • EventKit
  • UserNotifications
  • App Intents
  • Local-first planning
  • TestFlight

소스 저장소는 비공개이며, 공개 베타 링크와 사례 설명, 선별한 릴리스 검증 자료는 공개합니다.

현재 개발 중

ReleaseLens - 추적 가능한 QA 워크스페이스

개발 중 소스 저장소는 비공개이며 아직 개발 중입니다. 현재 아키텍처와 실행 근거는 요청 시 설명할 수 있습니다.

현재 버전은 요구사항과 테스트 케이스를 연결하고 워크스페이스에서 Playwright를 실행하면서 상태, 실행 시간, 오류, 스크린샷, trace를 보존합니다. 직접 만든 JobTrack 테스트 대상에는 결함 5개를 의도적으로 넣었고, 6개의 예상 실패 검사로 이를 확인합니다.

다음 단계는 결함 관리와 릴리스 준비 규칙입니다. AI 보조 분석, 감사 로그, 클라우드 배포는 아직 계획 단계이며 완료된 기능으로 소개하지 않습니다.

현재 작업 문의

보조 기술 노트

웹사이트와 공개 API 아키텍처 노트는 프로젝트 목록과 분리해, 채용 검토에서 포트폴리오 근거를 먼저 볼 수 있게 했습니다.