본문 바로가기

배우고 싶은 강좌를 찾아보세요.

추천 강좌

    다국어 설정

    관련 묶음강좌
    • 클라우드 기반 소프트웨어 엔지니어링

      소프트웨어 개발 생애 주기 전반의 기술을 이해하고, 산업 현장에 적용가능한 클라우드 기반 소프트웨어 개발 방법론을 습득할 수 있는 강좌이다.

      총 주차 40 강좌 수 5
    강좌소개

    강좌 소개

    수업내용/목표

    소프트웨어 테스팅에 필요한 기본적인 이론 지식을 습득하고, 다양한 소프트웨어 특성에 맞는 테스팅 기술을 식별할 수 있다. 또한, 소프트웨어 개발에 필수적인 테스팅 방법을 적절하게 활용할 수 있다. 본 강좌는 소프트웨어에 관심이 있고, 소프트웨어 개발이 가능한 수강생들에게 유익한 강좌가 될 것이다.

    강좌 운영 계획

     

    강의계획서
    주차 주차명 주차별 학습목표 차시명
    1 테스팅의 기본 개념 소프트웨어 테스팅의 기본 개념을 습득할 수 있다. 1-1. 소프트웨어 품질
    1-2. 에러, 결함, 실패
    1-3. 완벽한 테스팅의 불가능성
    1-4. 테스팅 자동화 기술 소개 1
    1-5. 테스팅 자동화 기술 소개 2
    1-6. 테스팅 불가능 프로그램
    2 블랙박스 테스팅 블랙박스 테스팅의 기본 원리인 파티션 기법, 경계값 분석 기법, 조합 테스팅을 습득할 수 있다. 2-1. 블랙박스 테스팅의 기본
    2-2. 등가 파티션
    2-3. 등가 파티션 예제
    2-4. 경계값 분석
    2-5. 조합 테스팅
    2-6. 조합 테스팅과 제약조건
    3 프로그램 구조 분기 제어, 데이터 흐름 등 프로그램 구조 분석의 기본 개념을 습득할 수 있다.. 3-1. 제어 흐름 그래프
    3-2. 테스트 적합도 개념
    3-3. 구조 커버리지
    3-4. 고급 커버리지 개념
    3-5. 데이터 흐름
    3-6. 데이터 흐름 커버리지
    4 로직 및 뮤테이션 커버리지 대상 SW 소스코드를 효과적으로 테스트하기 위한 커버리지 기반 테스팅 기술을 익힐 수 있다. 4-1. 다양한 로직 커버리지
    4-2. MC/DC 커버리지
    4-3. 다양한 로직 커버리지 간 상호 관계
    4-4. 뮤테이션 커버리지
    4-5. 뮤테이션 연산자
    4-6. RIPR 버그 검출 프로세스 모델을 통한 여러 테스트 커버리지 기술 비교
    5 소스코드 기반 테스트 케이스 자동생성 복잡한 SW 소스코드를 대상으로 높은 커버리지를 달성할 수 있는 테스트 케이스 자동생성 기술을 적용할 수 있다. 5-1. SW의 높은 복잡도에 대한 이해 및 예제
    5-2. Concolic (CONCrete + symbOLIC) 테스팅 소개
    5-3. C 프로그램 대상 Concolic 테스팅 도구 CROWN 소개
    5-4. Concolic 테스팅 통한 테스트 실사례
    6 랜덤 테스팅 랜덤 테스팅 및 적응형 랜덤 테스팅의 개념을 이해하고 및 실습 사례를 적용할 수 있다. 6-1. 랜덤 테스팅의 기본
    6-2. 랜덤 테스팅 고급 기술
    6-3. Randoop 적용
    6-4. 적응형 랜덤 테스팅 기본
    6-5. 적응형 랜덤 테스팅의 한계
    6-6. 프로퍼티 테스팅
    7 회귀 테스팅 계속적으로 변화하는 프로그램을 효율적으로 테스트하기 위한 테스트 스위트 최적화 기법을 활용할 수 있다. 7-1. 회귀 오류
    7-2. Retest-All 접근법
    7-3. 테스트 스위트 최소화
    7-4. 테스트 케이스 선택
    7-5. 테스트 케이스 우선순위화
    7-6. 연속적 통합과 회귀테스팅
    8 결함 위치 식별 디버깅 효율을 높이기 위해 결함의 위치를 추정하는 다양한 기법을 적용할 수 있다. 8-1. 델타 디버깅: 이진검색
    8-2. 델타 디버깅: 재귀버전
    8-3. 정보 추출 기반 결함 위치 식별
    8-4. 스펙트럼 기반 결함 위치 식별
    8-5. SBFL 성능 분석
    8-6. 기계학습 기반 결함 위치 식별
    기말시험

     

    강좌운영팀 소개

    교수자

    유신 교수
    유신 교수
    현) KAIST 전산학과 교수
    PhD in Computer Science, King’s College London, 2009
    E-mail: shin.yoo@kaist.ac.kr
    김문주 교수
    김문주 교수
    현) KAIST 전산학과 교수
    PhD, Univ of Pennsylvania, 2001
    E-mail: moonzoo@cs.kaist.ac.kr

    강좌지원팀

    윤주연
    KAIST 전산학부 석사과정
    E-mail: greenmon@kaist.ac.kr

    강좌 수강 정보

    이수/평가정보

    이수/평가정보
    과제명 퀴즈 토론 중간고사 기말고사
    반영비율 60% 0% 0% 40%

    ※ 퀴즈 60%와 기말고사 40%로 퀴즈와 기말고사를 다 푸시고 총 60% 이상 점수 획득 시, 이수증을 발급받을 수 있습니다. 주차별로 퀴즈가 제공되며, 기말고사는 1번의 기회만 제공되니 유의하시기 바랍니다.

    강좌 수준 및 선수요건

    이 강좌는 유익한 내용이 다수 포함되어 있습니다. 강좌 수준은 전공 기초정도이며, 앞서 "소프트웨어 공학 : 왜, 무엇을, 어떻게?" 강좌와 "클라우드 서비스 아키텍처" 강좌를 선수로 듣고 수강하시면 훨씬 도움이 되실 것입니다.

    교재 및 참고문헌

    이 강좌는 여러가지 참고자료가 많이 있습니다.

    자주 묻는 질문

    강좌 교재가 따로 있나요?

    강의 교안을 교재로 제공합니다.

    미리보기

    분야 공학 (컴퓨터 · 통신)

    난이도 전공기초

    운영기관 한국과학기술원

    이수증 미발급

    주차 8 주

    학습인정시간 32시간 00분 (10시간 37분)

    수강신청기간 21.02.15 ~ 21.04.25

    강좌운영기간 21.03.01 ~ 21.05.02

    전화번호 042-350-6061

    자막언어 -

    강좌언어 한국어(ko)

    추천강좌
    같은기관강좌