제 6회 소프트웨어공학 단기전문가강좌

한국정보과학회 소프트웨어공학 소사이어티

제6회 소프트웨어공학 단기전문가강좌

2017년 7월 19일 – 21일, 서강대학교

행사개요

  • 주제: 소프트웨어 시험
  • 일시: 2017.07.19 (수) – 21(금)
  • 장소: 서강대학교 바오로관 201호
  • 주최: 한국정보과학회
  • 주관: 한국정보과학회 소프트웨어공학 소사이어티
  • 등록: ~ 2017.07.18 (별도의 현장등록은 없습니다.)

모시는글

한국정보과학회 소프트웨어공학 소사이어티는 매년 여름마다 단기전문가강좌를 개최하고 있습니다. 금년에는 소프트웨어 개발 공정에서 소프트웨어 시험이 갖는 높은 중요성을 고려하여, 소프트웨어 시험을 강좌 주제로 준비하였습니다. Bill Gates가 마이크로소프트는 테스팅 회사라고 말했을 정도로 개발과정에 소프트웨어 시험이 차지하는 비중이 높습니다. 또한 소프트웨어 시험은 개발 공정에서 최종적으로 소프트웨어의 신뢰성과 품질을 책임지는 활동입니다. 이번 단기전문가강좌의 강사로 모신 부산대학교 채흥석 교수님과 한성대학교 정인상 교수님께서는 소프트웨어 시험 분야를 오랫동안 연구하고 강의해 오신 이 분야 최고의 전문가로, 소프트웨어 시험의 이론 및 방법론, 관련 도구 등을 알기 쉽게 소개해 주실 것입니다. 소프트웨어 시험의 실무에 대하여 강의를 해 주실 TTA 소프트웨어시험인증연구소의 정성룡 팀장님은 오랫동안 소프트웨어 시험 업무를 직접 수행하며 소프트웨어 시험 교육도 해 오셨기 때문에 실무적인 관점에서 소프트웨어 시험을 잘 조명해 주실 것입니다. 이번 단기 전문가 강좌가 소프트웨어 시험을 체계적으로 공부하고 싶은 대학생들 뿐 아니라 소프트웨어 시험을 업무로 수행하는 개발자 분들에게도 매우 유익한 기회가 될 것으로 확신합니다. 많은 참여와 관심을 부탁 드립니다.

2017년 7월 4일 한국정보과학회 소프트웨어공학 소사이어티 회장 강 성 원


강사 및 과목 개요

 

강사: 채 흥 석 교수 (부산대학교)

소프트웨어 시험은 소프트웨어의 품질을 확인하고 개선하기 위한 핵심적인 활용으로서 자동차, 무기체계, 의료 등과 같이 높은 수준의 품질이 요구되는 시스템에서는 소프트웨어 시험의 절차와 수행 수준에 대한 표준을 요구하기도 한다.

본 단기 강좌에서는 고품질 소프트웨어를 개발하기 위하여 기본적으로 수행하는 소프트웨어 시험에 대한 기본 지식으로써 소프트웨어 시험의 기본 개념, 소프트웨어 시험의 유형, 그리고 소프트웨어 시험을 수행하는 프로세스를 소개한다.

또한 명세 기반의 테스트케이스 설계 기법으로서 동등분할, 경계값 분석, 결정표, 유스케이스, 상태 전이 등의 기법을 소개한다. 그리고 코드 메트릭, 코딩 표준 등 대표적인 정적 분석 기법을 소개한다.

학습 목표

  1. 소프트웨어 시험의 기본 개념과 프로세스를 익힌다.
  2. 다양한 명세 기반 시험 설계 능력을 배양한다.
  3. 코딩 표준, 메트릭 등 정적 분석 방법을 배운다.
강사: 정 인 상 교수 (한성대학교)

소프트웨어 대표적인 시험 방법인 화이트박스 테스트 방법으로 알려져 있는 코드 기반 테스트 방법에 대해 소개한다. 이 강좌에서는 코드 기반 테스트와 명세기반 테스트와의 관계를 명확히 하여 코드 기반 테스트로 얻을 수 있는 이점에 대해 설명한다. 또한 테스트 적합성 평가를 위해 코드 기반 커버리지 개념을 소개하고 커버리지 측정도구인 JaCoCo를 활용하여 실습을 수행한다. 이 강좌에서는 코드 커버리지로 블록 커버리지, 분기 커버리지, MCDC 등을 소개하고 이들을 서로 비교한다. 또한 이 강좌에서는 소프트웨어 테스트에 대한 이해를 높이기 위해 단위 테스트 프레임워크인 JUnit과 모의 객체 생성 프레임 워크인 Mockito를 소개하고 간단한 예제를 통해 이를 활용하는 실습을 우선 수행한다.

학습 목표

  1. 코드 기반 테스트 개념을 이해한다.
  2. 실제 테스트 코드를 작성하는 실력을 배양한다.
  3. 코드 기반 커버리지 개념을 이해한다.
  4. 모의 객체의 필요성 및 테스트에 이용하는 방법을 배운다.

참고 문헌

오픈소스 소프트웨어로 실습하는 소프트웨어공학, 생능출판사, 2017, 정인상.

준비물

  • 수강생들은 Java에 대한 약간의 지식과 노트북을 지참
  • 노트북에는 Mars 버전 이상의 이클립스가 설치되어있어야 하며 메이븐 Java 프로젝트를 생성하여 실행할 수 있도록 준비가 요구됨.

 

강사: 정 성 룡 팀장 (TTA 소프트웨어시험인증연구소)

산업계에서는 개발자와 구매자 사이에서 소프트웨어 품질 및 성능을 확인하고 증명하기 위해 시험인증제도를 활용한다. 소프트웨어 품질 인증(GS인증), 소프트웨어 품질성능 평가시험(BMT) 등 신뢰도가 높은 시험의 경우 제3자 공인시험기관을 통해 시험결과의 객관성과 공정성을 확보한다.

본 단기 강좌에서는 소프트웨어 품질 인증(GS인증)의 이해를 위해 품질시험 및 품질특성, GS인증 시험 절차 및 사례 등을 소개한다. 그리고 소프트웨어 품질성능 평가시험(BMT)의 이해를 위해 동종 SW간 품질 및 성능을 비교평가하기 위한 방법으로써 성능시험, BMT 절차 및 사례 등을 소개한다.

또한, 일반적인 시스템 통합(SI) 사업에서의 시험의 이해를 위해 기능요소/비기능요소 요구사항 분석, SI 테스트 프로세스 및 산출물을 소개한다.

학습 목표

  1. 산업계에서 통용되는 실제 시험 사례를 통해 실전 감각을 배양한다.
  2. GS 인증, BMT, SI테스트 등 각종 시험 방법 및 절차를 이해한다.

 


프로그램

7/19 (수) 강사: 채 흥 석 교수 (부산대학교)
09:00 – 10:00 소프트웨어 시험 기본 개념
10:00 – 11:00 소프트웨어 시험 유형
11:00 – 12:00 소프트웨어 시험 프로세스
12:00 – 13:00 중식
13:00 – 14:00 정적 분석 – 메트릭, 코딩 표준
14:00 – 15:00 명세 기반 시험 – 동등분할, 경계값 분석
15:00 – 16:00 명세 기반 시험 – 페어와이즈, 결정표
16:00 – 17:00 명세 기반 시험 – 유스케이스 시험
17:00 – 18:00 명세 기반 시험 – 상태 전이 시험
7/20 (목) 강사: 정 인 상 교수 (한성대학교)
09:00 – 10:00 코드 기반 테스트 개요
10:00 – 12:00 JUnit
12:00 – 13:00 중식
13:00 – 14:00 Mockito
14:00 – 15:00 블록 커버리지
15:00 – 16:00 분기 커버리지
16:00 – 17:00 JaCoCo를 이용한 커버리지 측정
17:00 – 18:00 MCDC
7/21 (금) 강사: 정 성 룡 팀장 (TTA)
09:00 – 10:00 GS인증 개요 및 사례
10:00 – 11:00 BMT 개요 및 사례
11:00 – 12:00 SI 시험 개요 및 사례
12:00 – 12:30 수료식

 

 


참가등록

  • 등록인원/등록비
등록인원 등록비
선착순 30명 학생 40만원 / 일반 50만원
  • 참가자격: 소프트웨어 시험에 관심있는 분
  • 등록방법: 사전등록 – 온라인 등록 사이트 연결 (현장등록은 별도로 없습니다)                                                       (별도의 세금계산서 발행하지 않음)
  • 등록기간: ~2017. 07. 18
  • 제공자료: 강의자료 배포, 한국정보과학회 소프트웨어공학 소사이어티 인증 수료증 발급
  • 기타: 중식 및 다과 제공

프로그램 문의: 소프트웨어공학 소사이어티 학술분과위원장 이관우 교수(kwlee@hansung.ac.kr)

사전등록 문의: 한국정보과학회 오다름 사원 Tel. 070-4800-4012 (dareum89@kiise.or.kr)

 


오시는길

서강대학교 바오로관 201호 (주소: 04107 서울특별시 마포구 백범로 35 (신수동) 서강대학교)