정처기, 20230411

cptkuk91·2023년 4월 11일
0

EIP

목록 보기
7/20

앱 테스트

  • Validation: 확인, 사용자(고객)
  • Verification: 검증, 개발자
  1. 고객 요구사항에 맞게 만들어졌는가? → Validation
  2. 프로그램 생산성이 높은지 점검한다. → Validation
  3. 사용자 입장! → Validation
  4. 명세서에 맞게 만들어졌는가? → Verification

테스트 필요성

  • 오류 발견, 예방
  • 개발 초기부터 테스트를 계속해야 한다.
  • 작은 부분에서 시작해 점차 확대한다.

목적에 따른 테스트

  • 회귀: 수정된 코드가 결함없이 작동하는가?
  • 회복: 결함 테스트 후 바르게 복구됐는가?

화이트박스

  • 모듈 내부 작동을 자세히 관찰한다.

블랙박스

  • 소프트웨어 기능이 의도대로 작동하는지 테스트
  1. 동치분할검사: 입력값이 유효한 값인지 검사
  2. 경계값 분석: 경계 부분에서 오류가 발생하는지 초점을 두어 검사
  3. 원인-효과 그래프 검사: 복잡한 문제를 단순화하여 해결 방안을 모색

테스트 순서

단위 테스트(최소, 모듈) → 통합 테스트 → 시스템 테스트 → 인수 테스트

알파 테스트와 베타 테스트

  • 알파 테스트: 개발자 + 사용자 (개발자가 제약, 제어하는 환경에서 사용자가 테스트)
  • 베타 테스트: 사용자 Only 테스트

하향식 테스트

  • 깊이 우선법, 넓이 우선 통합법
  • 테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있다.
  • Stub

상향식 테스트

  • 클러스터
  • Driver

테스트 진행

  • 요구사항 분석 단계(테스트 초기)부터 오류를 발견하는게 좋다.
    테스트 계획 → 테스트 분석 → 테스트 케이스 설계 → 테스트 실행 → 결과 분석

테스트 오라클

  1. 참 오라클
  2. 추정 오라클
  3. 샘플링 오라클
  4. 일관성 검사
  • 테스트 시나리오는 여러개의 시나리오로 분리하여 작성해야 한다.
  • 테스트는 전체 과정을 자동화 할 수 없다.
  • 결함도가 높으면 우선순위가 높아진다.
  • 결함에이징: 특정 결함 상태로 지속되는 시간측정

앱 성능 평가

  1. 처리량
  2. 응답 시간
  3. 경과 시간
  4. 자원 사용률

코드 품질 분석에서 정적 분석 도구와 동적 분석 도구는

  • 정적: 코딩 표준, 스타일, 복잡도, 모델 의존성, 불일치성
  • 동적: 메모리 누수, 스레드 결함
  1. 모델 의존성: 모델의 구조, 규칙, 제약 조건에 대한 분석과 검증이라 정적
  2. 불일치성: 모델에 정의되지 않은 경우 모델의 불일치성이 발생할 수 있어 정적
  3. 스레드 결함: 2개 이상의 스레드가 공유 자원에 동시에 접근 예상 못한 결과 야기, 2개 이상의 스레드가 서로 무한정 기다리는 상황으로 프로그램 중지, 동기화 문제(공유 자원의 일관성 유지를 못하게 됨)

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글