응용 S/W 구현관리
인터페이스 구현검증
인터페이스가 정상적으로 문제없이 작동하는지 확인하는 작업
구현 검증을 위해선 인터페이스 단위기능과 시나리오 등을 기반으로 하는
통합 테스트가 필요
구현 검증도구(도구 / 기능)
xUnit
: JAVA, C++등 다양한 언어를 지원하는 단위 테스트 프레임워크
STAF
: 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
FitNesse
: 웹기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
NTAF
: FitNess의 협업 기능과 STAF의 재사용 및 확장성을 통합한 NAVER의 테스트 자동화 프레임워크
Selenium
: 다양한 브라우저 및 개발언어를 지원하는 웹 어플리케이션 테스트 프레임워크
watir
: Ruby를 사용하는 애플리케이션 테스트 프레임워크
인터페이스 구현감시
APM(Application Perfomance Management)
: 애플리케이션 성능 관리를 위해 접속자, 자원현황, 트랜잭션 수행내역,
장애진단 등 다양한 모니터링 기능을 제공하는도구
애플리케이션 성능관리도구를 통해 DB와 웹 어플리케이션의 트랜잭션 변수값,
호출함수, 로그 및 시스템 부하 등 종합적인 정보를 조회하고 분석
외부 시스템과 연결모듈이 서비스를 제공하는 동안 정상적으로 동작하는지 체크
소프트웨어 통합개발환경(IDE)
프로그램 개발에 필요한 편집기, 컴파일러, 디버거, 실행 등의 다양한 툴들을
하나의 인터페이스로 통합하여 제공하는 툴
IDE 툴
: 이클립스(Eclips), visual Studio, 안드로이드 스튜디오, IDEA, 엑스코드 등
IDE 예시
빌드도구
빌드(Build)
: 소스코드 파일을 컴파일 한 후 여러개의 모듈을 묶어 실행파일로 만드는 과정을 의미
도구
Ant: 아파치 S/W제단에서 개발한 S/W로 자바 프로젝트의 공식적인 빌드 도구
Maven : Ant의 대안으로 규칙이나 표준이 존재, 예외사항만 기록하면 됨
컴파일과 빌드를 동시에 수행
Gradle : 안드로이드 스튜디오의 공식적인 빌드도구로 채택된 S/W로
플러그인 설정시 JAVA, C/C++, Python등의 언어도 빌드 가능
Groovy언어 사용해서 만든 DSL을 스크립트 언어로 사용
Jenkins : 자바 기반의 오픈소스 형태로 가장 많이 사용되는 빌드 자동화도구
서버기반도구, 대부분의 형상관리 도구와 연동 가능, 여러대의
컴퓨터를 이용한 분산 빌드나 테스트 가능
소프트웨어 패키징 이란 ?
모듈별로 생성한 실행파일들으 묶어 배포용 설치파일을 만드는 것
★ 개발자 중심이 아닌 사용자 중심으로 작업이 이뤄짐
소스코드는 향후 관리를 고려하여 모듈화하여 패키징
사용자의 시스템 환경에 필요한 최소 환경을 정의
UI(화면 인터페이스)는 사용자가 눈으로 직접 확인할 수 있도록
시각적인 자료와 함께 제공하고 메뉴얼과 일치시켜 패키징
패키징 순서 구조
릴리즈 노트
★ 릴리즈 노트
: 개발 과정에서 정리된 배포(릴리즈)정보를 S/W 최종 사용자인 고객과 공유하기 위한 문서
릴리즈 노트를 통해 테스트 진행방법에 대한 결과와 S/W사양에 대한 개발팀의 정확한 준수 여부를 확인 가능
S/W에 포함된 전체기능, 서비스 내용, 개선사항 등을 사용자와 공유 가능
릴리즈 노트를 이용해 S/W버전 관리나 릴리즈 정보를 체계적으로 관리 가능
릴리즈노트 초기버전 작성 고려사항
정확하고 완전한 정보를 기반으로 개발팀에서 직접 현재 시제로 작성
신규소스, 빌드 등의 이력이 정확하게 관리되어 변경 또는
개성된 항목에 대한 이력 정보들도 작성되어야 함
중대한 오류가 발생하여 긴급하게 수정하는 경우는 릴리즈 버전을 출시하고
버그 번호를 포함한 모든 수정된 내용을 포함하여 릴리즈 노트를 작성해야 함
릴리즈 노트 항목
Header
: 릴리즈 노트 이름, S/W이름, 릴리즈 버전, 릴리즈 날짜, 릴리즈 노트날짜, 릴리즈 노트 버전 등
개요
: S/W 및 변경사항 전체에 대한 간략한 내용
목적
: 해당 릴리즈 버전에서의 새로운 기능, 수정된 기능의 목록과 릴리즈 노트 목적에 대한 간략한 개요
문제 요약
: 수정된 버그에 대한 간략한 설명 또는 릴리즈 추가 항목에 대한 요약
재현/항목
: 버그 발견에 대한 과정 설명
수정/개선내용
: 버그를 수정/개선한 내용을 간단히 설명
사용자 영향도
: 사용자가 다른 기능들을 사용하는데 있어서 해당 릴리즈 버전에서의
기능 변화가 미칠수 있는 영향에 대한 설명
S/W지원 영향도
: 해당 릴리즈 버전에서의 기능변화가 다른 응용프로그램들을 지원하는
프로세스에 미칠 수 있는 영향에 대한 설명
노트
: S/W, H/W 설치항목, 업그레이드, S/W 문서화에 대한 참고 항목
면책조항
: 회사 및 S/W와 관련하여 참조할 사항
연락처
: 사용자 지원 및 문의 응대를 위한 연락처 정보
릴리즈 노트 작성 순서
순서를 알아두자
문제 1
정답 : 모듈별로 생성한 실행파일을 하나로 묶어 배포용 설치파일을
만드는 작업으로 사용자 중심으로 작업을 진행한다
문제 2
정답 : 릴리즈 노트