160729: 96회차
Programming
2016. 7. 29. 11:12
종료하기 전 티스토리 네이버 로그아웃 할 것
1. 툴
동일
추가시:
2. 폴더
동일
추가시:
3. 사용할 사이트
동일
추가시:
4. 공부하는 것
0801 - 오전: 파이썬 교육 시작
0808 ~ 0809: no-sql 시작
해야할 포트폴리오: 오라클 작업 내용 / 스프링 기반 작업 내용 ( 작품집 )
[27] 개발자 테스트
[01] 개발자 테스트
![](http://lectureblue.pe.kr/ckstorage/images/ncs_ojt/29/1.jpg)
▶ 학습 목표
요구사항대로 응용소프트웨어가 구현되었는지를 검증하기 위해서 테스트
케이스를 작성하고, 통합테스트를 수행하여 결함을 발견하고 결함을
조치할 수 있다.
케이스를 작성하고, 통합테스트를 수행하여 결함을 발견하고 결함을
조치할 수 있다.
1. 코드 관련 개발시에 많이 사용되는 단위 테스트 툴은 JUNIT 입니다.
2. 소프트웨어 테스트에 대한 개요
1) 테스팅은 일반적으로 작업이 끝난 후, 처음에 요구된 것과 현재 상태의
차이를 발견하기 위해 수행하는 활동이다.
차이를 발견하기 위해 수행하는 활동이다.
2) 제품이 만들어지고 난 후 기능이 정상적으로 작동하는지 테스트하는
활동을 말한다.
활동을 말한다.
3) 테스팅은 동작과 성능, 안정성을 사용자가 요구하는 수준을 맞추었는지
테스트하는 활동을 말한다.
테스트하는 활동을 말한다.
4) 테스팅은 결함을 발견하는 작업이며 디버깅은 발견된 결함을 수정하는
작업을 말한다.
작업을 말한다.
3. 테스트의 필요성
1) 소프트웨어가 올바르게 동작하지 않는 경우 다양한 문제가 발생하며,
이로 인한 피해는 금전적인 손실이 발생한다.
이로 인한 피해는 금전적인 손실이 발생한다.
2) 버그있는 소프트웨어는 시간의 낭비, 비즈니스 이미지 손상, 그리고
부상이나 사망에 이르는 심각한 문제가 발생 할 수 있다.
부상이나 사망에 이르는 심각한 문제가 발생 할 수 있다.
3) 코드에 결함이존재하면 작동해야할 상황을 판단하기 어려워져 보안상에
문제가 발생할 수 있다.
문제가 발생할 수 있다.
4) 결함은 인간이 오류를 범하기 쉽기 때문에 발생하며, 시간적인 압박,
복잡한 코드, 기반 환경의 복잡성으로 발생할 수 있다.
복잡한 코드, 기반 환경의 복잡성으로 발생할 수 있다.
4. 테스팅의 분류
1) 프로그램의 기능이 정상적으로 작동하는지에 중심을둔 테스트 기법은
블랙박스 기법이다.
블랙박스 기법이다.
2) 프로그램의 원시 프로그램 소스가 지정된 규칙을 지켰는지에 중심을둔
테스트 기법은 화이트박스 기법이다.
테스트 기법은 화이트박스 기법이다.
![](http://lectureblue.pe.kr/ckstorage/images/ncs_ojt/29/1.jpg)
3) 동적 테스트팅이란 실제 구현된 시스템을 실행하여 테스트하는 것을
말한다.
말한다.
4) 정적 테스팅은 실제 시스템이 구현되기전에 요구사항 정의서, 설계서,
소스코드등의 개발 산출물을 테스는하는 것을 말한다.
소스코드등의 개발 산출물을 테스는하는 것을 말한다.
5. 정적 분석 도구를 통해 발견되는 전형적인 결함
1) 정의되지 않은 값으로 변수 참조
2) 사용되지 않는 변수
3) 사용되지 않는 죽은 코드
4) 코딩 표준 위반
5) 보안 취약성
6. 통합 테스팅에 대한 개요
1) 백본(Backbone) 방식은 가장 중요하고 리스크가 높은 모듈로 초기
통합을 구성한다.
통합을 구성한다.
2) 빅뱅(Big Bang) 방식은 모든 테스트 모듈을 동시에 통합한다.
3) 상향식(Bottom Up) 방식은 최하위 모듈부터 점진적으로 모듈을 통합하며
테스트한다.
테스트한다.
4) 하향식(Top Down) 방식은 최상위 모듈부터 통합해가면서 테스트한다.
7. 통합 테스팅 방식에 대한 장점의 비교
1) 백본(Backbone) 방식은 결함 격리 쉬움, 리스크(위험도)가 높은 결함을 조기에 발견 할 수 있다.
2) 빅뱅(Big Bang) 방식은 단시간 테스트가 가능하다.
3) 상향식(Bottom Up) 방식은 결함 격리가 쉽고 하위 모듈 테스트가 가능
하다.
하다.
4) 하향식(Top Down) 방식은 결함 격리가 쉽고 설계상의 결함을 조기에
발견할 수 있다.
발견할 수 있다.
** 통합테스트 수행 방법 분류
![](http://lectureblue.pe.kr/ckstorage/images/ncs_ojt/29/2.jpg)
![](http://lectureblue.pe.kr/ckstorage/images/ncs_ojt/29/2.jpg)
8. 대부분의 SI 프로젝트에서 통합테스트 수행 방법은 수행 절차의 간편함과 효율적인 시간 사용을 위해서 Big Bang 방법을 사용한다.
9. 개발자 통합 테스트 절차
① 테스트 계획을 점검한다.
② 통합테스트를 위한 테스트 환경을 구축한다.
③ 각 기능별 시스템 간 연결 테스트를 수행한다.
④ 테스트시 발생된 문제는 수정하여 반영한다.
⑤ 테스트 완료 결과를 보고한다.
10. 결함의 분류
1) 요구사항 미준수등 기획시 유입되는 결함.
2) 설계 표준 미준수등 설계시 유입되는 결함.
3) 코딩 표준 미준수등 코딩시 유입되는 결함.
4) 팀간 의사소통 부족으로 인한 테스트 부족으로 유입되는 결함.
5. 수업
진도:
hw:
6. 할것
'Programming' 카테고리의 다른 글
160802: 98회차 (0) | 2016.08.03 |
---|---|
160801: 97회차 (0) | 2016.08.01 |
160728: 95회차 (0) | 2016.07.28 |
160727: 94회차 (0) | 2016.07.27 |
160726: 93회차 (0) | 2016.07.26 |