Software Engineering

[소프트웨어공학] 제5장 소프트웨어 테스트

iseop 2023. 5. 15. 21:29   인쇄용 버전

1. 단원 요약

  • 소프트웨어 테스트: 결함을 찾기 위한 목적으로 프로그램을 실행하는 것으로, 품질보증 활동이다.
    • 결함 테스트: 코드를 확인(verify)하여 결함을 찾는 것
    • 검증 테스트: 시스템을 검증(validate)하는 것
  • SW 테스트 원칙
    • 테스트 케이스 구성 요소: 입력, 예상결과, 실행조건, 절차, 목적
    • 자가 테스트 금지
    • 테스트 후반부에서도 소홀히 하지 말 것
    • 모든 경우를 고려할 것
    • 테스트 케이스를 재사용할 것
    • 오류가 발견된 곳에서 추가 오류가 존재할 가능성이 높다.
  • 테스트 작업 절차
    • Test Case 설계➡️Test Data 준비➡️Test 실행➡️결과 비교➡️보고서 작성
    • 테스트 작업 우선순위
      • 개별 모듈 테스트 < 전체 시스템 테스트
      • 새 기능 테스트 < 오래된 기능 테스트
      • 예외적 상황 테스트 < 일반적 상황 테스트
  • 단계별 테스트
    • 단위 테스트: 개별 모듈 테스트, driver와 stub 활용
    • 통합 테스트
      • 주로 블랙박스 테스트 수행
      • 통합 방식
        • 빅 뱅 통합: 한꺼번에 통합 
        • 점증적 통합
          • 상향식 통합: 밑에서 위로
          • 하향식 통합: 위에서 밑으로
          • 샌드위치 통합: 혼합
      • 회귀 테스트: 코드 수정으로 인한 오류 발생 여부를 확인하기 위함
    • 시스템 테스트(Release Test, Acceptance Test)
      • 블랙박스 테스트 수행
  • 화이트박스 테스트: 프로그램의 제어 흐름을 기반으로 한다.
    • 테스트 케이스 선정 기준
      • 문장 검증 기준: 모든 문장 한 번 이상 실행
      • 분기 검증 기준: 분기가 존재하는 경우, 모든 경우의 문장을 한 번 이상 실행
      • 조건 검증 기준: 모든 분기에서 조건식을 구성하는 단일조건들의 참/거짓을 한 번 이상 수행한다.
        • 따라서 분기 검증 기준을 충족하지 못할 수도 있다.
      • 조건/분기 검증 기준: 두 기준을 모두 충족하도록 한다.
      • 수정된 조건/분기 검증 기준
      • 복수 조건 검증 기준: 잘 모르겠습니다.
      • 경로 검증 기준: 존재하는 모든 경로를 테스트한다. 사실상 불가능하다.
      • 기본 경로 테스트: 시작 노드에서 종료 노드까지 선형 독립적(linearly independent)인 경로를 테스트한다.

https://rfriend.tistory.com/163

  • 블랙박스 테스트: 요구사항 명세서(SRS)를 기반으로 한다.
    • 완전 테스트
    • 랜덤 테스트
    • 동치 분할
    • 경계값 분석
    • 원인-결과 그래프
  • 시스템 테스트/비기능성 테스트
    • 성능 테스트
      • 부하 테스트: 성능 요인을 변화시키면서 테스트
      • 스트레스 테스트: 설계 한도를 벗어난 요구를 테스트
    • 보안성 테스트
      • 가용성, 무결성, 기밀성

 

 

2. 연습문제 요약

  • 조건 검증 기준은 분기 검증 기준을 만족할 수 없을 수도 있다.