[엘리스 QA 트랙] 버그

황인철·2025년 2월 9일

엘리스 QA트랙

목록 보기
7/18

1. 버그
: 소프트웨어가 의도와 다르게 동작하거나 오류를 일으키는 현상

2. 오류(Error)
: 코드 실행 중 발생하는 문제

3. 결함(Defect)
: 코드의 설계나 논리적 문제

4. 버그 발생의 주요 원인

  1. 코딩 실수: 사람이 작성한 코드는 종종 작은 실수로 인해 큰 문제를 발생시킴
  2. 요구사항 미스매치 : 요구사항이 정확히 전달되지 않으면 버그가 발생
  3. 복잡한 시스템 : 하나의 테이블 변경이 여러 다른 테이블에 영향을 미쳐 오류 발생

5. 버그가 만드는 사용자 불만

  1. 사용자는 시스템이 안정적이고 기대에 부합하길 원함
  2. 사용자 기대를 충족하지 못하게 만들어 불만을 유발함

6. 버그로 인한 매출 손실

  • 결제 오류, 상품 정보 오류 등은 직접적으로 매출 손실로 이어집니다

7. 브랜드 신뢰의 하락

  • 계발 단계 버그 발생
  • 부정적 리뷰 증가
  • 신규 고객의 감소

8. 버그는 연쇄적으로 문제를 일으킨다

  • 하나의 버그가 다른 문제를 유발하며, 시스템 전반에 영향을 미침
  • 해결을 위한 비용과 시간이 필요함

9. 사용자의 만족도를 보장하는 QA

  1. QA는 사용자가 제품을 문제 없이 사용할 수 있도록 하는 것

10. QA는 제품 개발의 방향을 제시한다

  1. QA는 테스트 결과를 통해 프로세스를 개선
  2. 반복적인 실수를 줄이고 개발 효율성을 높힘

11. QA는 조직의 연결고리

  1. QA는 개발팀과 운영팀 간의 가교 역할을 합니다
  2. 문제를 분석하고 해결책을 제안하며 모든 팀이 같은 목표를 향해 협력하도록 조력자의 역할을 한다

12. QA의 주요 역할

  1. 품질 보증 : QA는 제품이 안정적으로 작동하도록 품질을 보증합니다
  1. 문제 탐지 : QA는 다양한 테스트를 통해 SW의 문제를 탐지합니다
  1. 테스트 설계 : 효율적인 테스트 설계는 QA의 중요한 업무중 하나입니다
  1. 요구 사항 전달 : QA는 명확한 요구사항을 개발팀에게 전달합니다
  1. 테스트 결과 문서화 : QA는 테스트 결과를 문서화하여 개발팀과 공유합니다
  1. 개발프로세스 개선 : QA는 반복적으로 발생하는 문제를 분석하여, 개발 프로세스를 개선합니다
  1. 사용자 관점 대변 : QA는 사용자 관점에서 문제를 발견하고 해결합니다
  1. 버그 예방 : QA는 사전에 문제를 발견하여, 출시 후 발생할 문제를 예방합니다

13. 버그 리포팅
: 문제를 개발팀에게 전달하는 핵심 과정

14. 잘못된 리포팅으로 인한 문제

  1. 문제 해결 지연
  2. 개발팀의 불필요한 시간 낭비
  3. 추가 비용 발생

15. 나쁜 리포트, 문제를 더 복잡하게 만들 수 있음

  1. 불명확한 제목 : 문제를 제대로 요약하지 못함
  2. 재현 단계 누락 : 개발자가 문제를 재현할 수 없음
  3. 기대 결과와 실제 결과 구분이 없음
  4. 스크린샨 등 추가 자료 누락

16. 기능 버그의 유형

  1. 입력 오류
  • 사용자 입력이 올바르게 처리되지 않음
  1. 프로세스 오류
  • 여러 단계로 이루어진 기능이 중간에서 끊김
  1. 계산 오류
  • SW가 수치를 잘못 계산하여 잘못된 결과를 반환하는 문제
  • 주로 금융, 통계, 이자 계산, 할인 적용 등에서 치명적
  1. UI/UX 버그
  • SW의 화면 구성(UI)과 사용자 경험 (UX)에 영향을 주는 문제
  • 기능에는 문제가 없지만, 사용자가 불편함을 느낌

4-1. UI/UX 버그는 왜 생길까?
1. 반응형 디자인 오류 : 모바일/태블릿/PC 화면 크기에 따라 달라짐
2. 사용자 테스트 부족 : 실제 사용자가 불편한지 확인하지 않음
3. 디자인 가이드 미준수 : 버튼 크기, 글자 크기 등의 표준을 따르지않음

17. 성능 버그의 유형

  1. 속도 지연
  • 사용자가 버튼을 클릭했을 떄 응답이 느리거나 멈추는현상
  • 주로 서버, DB, 코드 최적화 부족 등이 원인
  1. 서버 과부하
  • 사용자가 많아질수록 응답 속도가 느려지거나 서버가 다운되는 현상
  • 트래픽 증가 시 서버가 처리할 수 있는 한계를 초과할 때 발생

18. 성능 테스트

  1. SW가 다양한 환경에서 얼마나 안정적으로 실행되는지 평가하는 과정
  2. 응답 속도, 처리 속도, 메모리 사용량 등을 테스트하여 성능 버그를 찾아냄

19. 대표적인 성능 테스트 유형

  1. 부하 테스트 : 동시 접속 시 속도가 어떻게 변하는지 확인
  2. 스트레스 테스트 : 극한의 조건에서도 시스템이 견딜 수 있는지 확인
  3. 반응 속도 테스트 : 사용자의 요청에 대한 응답 시간을 측정

20. 코드 최적화를 통한 성능 개선 방법

  1. 불필요한 연산 줄이기 -> 코드에서 반복되는 계산 최소화
  2. DB 쿼리 최적화 -> 불필요한 호출 제거
  3. 이미지 및 리소스 최적화 -> 웹 페이지 로딩 속도를 빠르게 하기 위해 압축된 이미지 사용

21. 성능 버그 예방

  1. 정기적인 성능 모니터링 -> 서버 부하, 응답 속도 체크
  2. 트래픽 증가 대비 서버 확장 준비 -> 클라우드 환경에서 자동 확장 적용
  3. 배포 전 성능 테스트 필수 진행 -> 실사용 환경과 유사한 조건에서 성능 검증

22. 보안 버그

  1. 시스템이 사용자의 정보나 데이터 보호에 실패하는 문제
  2. 권한 없는 접근, 데이터 유출, 악성 코드 실행 등이 포함됨

23. 데이터 암호화 오류

  1. 중요한 정보가 암호화되지 않고 저장되는 문제

24. XSS(크로스 사이트 스크립팅)

  1. 공격자가 악성 스크립트를 웹 사이트에 삽입하여 사용자 정보 탈취
  2. 로그인 정보 유출, 피싱 공격이 가능

25. CSRF(사이트 간 요청 위조)

  1. 사용자가 모르는 사이 공격자가 특정 요청을 실행하도록 유도
  2. 비밀번호 변경, 계좌 이체 등 무단 요청 실행

26. SQL Injection(인젝션)공격

  1. 공격자가 입력창을 이용해 DB에 직접 명령어를 입력하는 방식
  2. 데이터 유출, 관리자 계정 탈취가 가능

27. 패킷 스니핑(Packet Sniffing)

  1. 해커가 네트워크에서 주고받는 데이터를 몰래 훔쳐보는 공격
  2. 로그인 정보, 신용카드 번호가 탈취될 수 있음

28. 보안 사고 발생 시 대응

  1. 사고 감지 및 초기 대응 -> 이상 징후 감지 후 즉시 차단
  2. 원인 분석 및 복구 -> 해킹 경로 및 피해 분석 후 패치 적용
  3. 보안 강화 및 재발 방지 대책 마련 -> 추가 보안 정책 적용
  4. 표준 기술 사용 -> HTML, CSS, JavaScript 최신 표준을 준수
  5. 반응형 디자인 적용 -> 다양한 해상도에서 UI가 정상적으로 보이도록 개발
  6. OS/브라우저별 예외 처리 -> 환경에 따라 다르게 동작해야 하는 부분을 고려

29. 완벽한 테스트가 불가능 한 이유

  1. 테스트 환경과 실제 환경의 차이
  2. 사용자 데이터 및 트래픽 증가
  3. 예기지 못한 사용자의 행동
profile
열심히하는QA가되고싶어요

0개의 댓글