1. 애플리케이션 테스트 개념 - 잠재되어 있는 결함을 찾아내는 행위, 절차 - 개발된 소프트웨어가 요구사항을 만족하는지 확인(Validation)하고 기능을 정확히 수행하는지 검증(Verification)한다 - 테스트 전에 소프트웨어 유형을 분류하고 특성을 정리해서 테스트 사항 정리 소프트웨어 분류 1. 상용 소프트웨어 : 보통의 사용자들이 공통적으로 필요로 하는 기능을 제공한다. 1-1 산업 범용 소프트웨어 - 시스템 소프트웨어 : 하드웨어 전체를 제어하고 운영하는 소프트웨어로, 운영체제, 데이터 관리, 스토리지 소프트웨어, 소프트웨어 공학 도구, 가상화 소프트웨어, 시스템 보안 소프트웨어로 구분 - 미들웨어 : 운영체제와 해당 운영체제에 의해 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서..
Study
1. 빌드 자동화 도구의 개념 - 빌드란 소스 코드 파일들을 컴파일한 후 여러 개의 모듈을 묶어 실행 파일로 만드는 과정 - 애자일 환경에서는 하나의 작업이 마무리될 때마다 모듈들이 지속적으로 통합(CI)되는데 이런 환경에서는 빌드 자동화 도구가 유용 2. Jenkins - 자바 기반의 오픈 소스 형태로, 가장 많이 사용되는 빌드 자동화 도구 - 대부분의 형상 관리 도구와 연동이 가능 - 친숙한 Web GUI를 제공 - 여러 대의 컴퓨터를 이용한 분산 빌드나 테스트가 가능 3. Gradle - Groovy를 기반으로 한 오픈 소스 형태의 자동화 도구로, 안드로이드 앱 개발 환경에서 사용 됨 - 플러그인 설정으로 자바, 파이썬, C/C++도 빌드 가능 - Groovy로 만든 DSL(Domain Specif..
1. 공유 폴더 방식 - 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식 - 개발이 완료된 파일을 약속된 공유 폴더에 매일 복사한다 - 담당자는 파일을 자기 PC로 복사해서 컴파일로 이상 유무를 확인한다 - 오류가 확인되면, 해당 파일을 등록한 개발자에게 수정 의뢰 - 이상이 없다면 다음날 각 개발자들이 동작 여부를 다시 확인 - 파일의 변경 사항을 데이터베이스에 기록 관리 - 종류 : SCCS, RCS, PVCS, QVCS 2. 클라이언트/서버 방식 - 버전 관리 자료가 중앙 시스템(서버)에 저장되어 관리되는 방식 - 서버 자료를 개발자별로 자신의 피씨로 복사하여 작업한 후 변경된 내용을 서버에 반영 - 모든 버전 관리는 서버에서 수행 - 하나의 파일을 서로 다른 개발자가 작업할 경우 경고 메시지를 ..
1. 소프트웨어 패키징 형상 관리 - 형상 관리 (SCM: Software Configuration Management)는 변경 사항을 관리하기 위해 만들어진 활동 - 변경의 원인을 알아내고 제어하며, 잘 변경되고 있는지 확인하는 작업 - 개발의 전 단계에 적용되는 활동이며, 유지보수 단계에서도 수행된다. - 개발 전체 비용을 줄이고, 방해 요인이 최소화도록 보증하는 목적 - 소스 코드 뿐 아니라 프로젝트 게획, 분석서, 설계서, 프로그램, 테스트 케이스 등 포함 - 가시성과 추적성을 보장받음 - git, cvs, subversion 등 2. 형상 관리의 중요성 - 지속적인 소프트웨어의 변경 사항을 체계적으로 추적하고 통제 가능 - 무절제한 변경을 방지 가능 - 버그나 수정 사항을 추적 가능 - 진행 정..
1. 소프트웨어 사용자 매뉴얼 개요 - 사용자가 소프트웨어를 사용하는 과정에서 필요한 내용을 문서로 기록한 설명서 - 소프트웨어에 필요한 절차, 환경 등을 포함해 작성 - 배포 후 발생될 수 있는 오류에 대한 패치나 기능에 대한 업그레이트를 위한 매뉴얼 버전 관리 - 개별적으로 동작이 가능한 컴포넌트 단위로 매뉴얼 작성 - 컴포넌트 명세서와 컴포넌트 구현 설계서를 토대로 작성 -> 컴포넌트 명세서 - 컴포넌트의 개요 및 내부 클래스의 동작, 외부와의 통신 명세 등을 정의 함 -> 컴포넌트 구현 설계서 - 구현에 필요한 컴포넌트 구조도, 컴포넌트 목록, 인터페이스 명세로 구성 2. 서문 - 문서 이력, 사용자 매뉴얼의 주석, 기록 보관을 위해 필요한 내용을 기술 - 사용자 매뉴얼의 주석 : 주의 사항과 참..
1. 소프웨어 설치 매뉴얼 개요 - 개발 초기에서부터 적용된 기준이나 사용자가 소프트웨어를 설치하는 과정에 필요한 내용을 기록한 설명서 - 사용자 기준으로 작성 - 시작부터 완료까지 전 과정을 설명 - 설치 과정에서 나오는 오류 메시지, 예외를 별도로 설명 - 목차 및 개요, 서문, 기본 사항 등이 기본적을 포함 - 목차에는 전체 설치 과정을 순서대로 요약 하고 페이지 표시 - 개요에는 설치 매뉴얼의 주요 특징, 구성, 설치 방법, 순서 등 설명 2. 서문 - 문서 이력, 설치 매뉴얼 주석, 설치 도구 구성, 설치 환경 등을 기술 - 설치 매뉴얼 주석 : 주의 사항과 참고 사항을 기술 - 주의 사항 : 설치할 때 사용자가 반드시 알아야 하는 내용 - 참고 사항 : 설치에 영향을 미칠 수 있는 환경이나 상..

1. 저작권 개요 - 저작권이란 창작자가 가지는 배타적 독점적 권리로 타인의 침해를 받지 않을 고유한 권한이다 2. 디지털 저작권 관리 개요 - 저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 디지털 콘텐츠를 관리 및 보호하는 기술 - 원본이 아날로그인 경우 디지털로 변환 후 DRM 패키징 수행 - 크기가 작은 경우 실시간으로 패키징을 수행 - 크기 큰 경우 미리 패키징을 수행 후 배포 - 패키징을 수행하면 콘텐츠에는 암호화된 전자서명과 라이선스 정보가 클리어링 하우스(Clearing House)에 등록된다 -> 디지털 저작권 라이선스 중개 및 발급을 수행하는 곳 - 종량제 방식을 적용한 소프트웨어의 경우 클리어링 하우스를 통해 서비스의 실제 사용량을 측정받고 요금 부과 3. 디지..
1. 릴리즈 노트 개요 - 개발 과정에서 정리된 릴리즈 정보를 최종 사용자와 공유하기 위한 문서 - 테스트 결과와 스프트웨어 사양에 대한 개발팀의 정확한 준수 여부를 확인 가능 - 소프트웨어 전체 기능, 서비스의 내용, 개선 사항 등을 사용자와 공유할 수 있다 - 스프트웨어의 버전 관리 가능 - 소프트웨어 출시 후 개선된 작업이 있을 때마다 관련 내용을 릴리즈 노트에 제공 2. 릴리즈 노트 추기 버전 작성 시 고려사항 - 정확하고 완전한 정보를 기반으로 개발팀에서 현재 시제로 작성 - 신규 소스, 빌드 등의 이력이 정확하게 관리되어 변경 또는 개선된 항목에 대한 이력 정보들도 작성되어야 한다 - 표준 형식은 없지만 일반적으로 머릿말, 개요, 목적, 문제 요약, 재현 항목, 수정/개선 내용, 사용자 영향도..