● DBMS : 통합(중복X), 저장(접근가능), 운영(조직의 업무에 반드시 필요), 공용 데이터

 

● 디지털 저작권 관리(DRM)

 - 클리어링 하우스 : 저작권의 사용권한, 라이센스 발급, 결제 관리

 - 패키저 : 암호화하는 프로그램

 - DRM 컨트롤러 : 이용권한 통제하는 프로그램

 - 보안 컨테이너 : 콘텐츠를 안전하게 유통하기 위한 장치

 

● 개발 지원 도구

  - 빌드 도구

    Ant : XML기반

    Maven : XML기반, 의존성

    Gradle : Groovy기반, 안드로이드 스튜디오 공식 빌더도구, 태스크단위, 빌드 캐시기능으로 속도향상

    Jenkins : Java기반, GUI지원, 협업기능 지원

  - 기타 협업 도구

    프로젝트 및 일정관리 : 구글캘린더, 분더리스트, 트렐로, 지라, 플로우

    정보공유 및 커뮤니케이션 : 슬랙, 잔디, 태스크월드

    디자인 : 스케치, 제플린

    아이디어 공유 : 에버노트

 

● 애플리케이션 테스트 분류

 1. 프로그램 실행 여부

    정적 : 워크스루, 인스펙션, 코드 검사

    동적 : 블랙박스 테스트, 화이트박스 테스트

 2. 테스트 기반

    명세기반(테스트케이스) : 동등 분할, 경계 값 분석

    구조기반(논리흐름) : 구문 기반, 결정 기반, 조건 기반

    경험기반(테스터의 경험) : 에러 추정, 체크 리스트, 탐색적 테스팅

 3. 시각

    확인(Validation) : 사용자 시각, 사용자의 요구사항

    검증(Verification) : 개발자 시각, 명세서(기능)

 4.목적

    회복 : 복구

    안전 : 침입으로부터 보호

    강도 : 과부하시 정상 작동

    성능 : 실시간 성능, 효율성

    구조 : 논리적인 경로

    회귀 : 변경&수정시 결함X

    병행 : 결과비교

● 동적 테스트

 - 화이트박스 테스트 : 구조기반 테스트, 논리적 경로

    종류 - 기초 경로 검사(실행 경로) / 제어 구조 (조건 검사, 루프 검사, 데이터 흐름 검사)

    검증 기준 - 문장 검증(모든 구문) / 분기 검증(모든 조건문) / 조건 검증(T/F모두) / 분기&조건

   

 - 블랙박스 테스트 : 명세&경험기반 테스트, 기능(결과물)

    종류 - 동치 분할(입력자료 초점) / 경계값 분석 / 원인-효과 그래프 검사 / 오류 예측 검사(과거경험 or 확인자감각) / 비교 검사(여러버전)

 

● 애플리테이션 성능

 - 처리량, 응답 시간, 경과 시간, 자료 사용률

1. 성능 테스크 도구 : Jmeter, LoadUI, openSTA

2. 시스템 모니터 도구 : APM(스카우터, 제니퍼, Zabbix)

3. 소스 코드 품질 분석 도구 : pmd, cppcheck, SonarQube, checkstyle, ccm, cobertura => 정적 / Avalanche, Valgrind => 동적

 

● 인터페이스 구현 검증 : 통합 테스트

1. 인터페이스 구현 검증 도구 : JUnit/CppUnit/NUnit, STAF, FitNesse, NTAF, Selenium, watir

2. 인터페이스 구현 감시 도구 : APM(스카우터, 제니퍼, Zabbix)

 

● 결함 관리 도구 : Mantis, Trac, Redmine, Bugzilla

 

● SVN : 커밋실패시 롤백지원, 디렉토리파일 자유롭게 이동, 다양한 플러그인 API / 잦은 커밋이 리비전크게증가

git : SVN 이관기능 / 대용량 코드관리 힘듬, 한번에 diff보기 힘듬

 

 객체지향

- 객체 : 데이터(속성)+함수(메소드)를 묶어놓은 모듈

- 클래스 : 공통된(유사한) 속성과 연산을 갖는 객체의 집합

- 인스턴스 : 클래스에 속한 객체

- 메시지 : 객체간의 상호작용하는 수단, 객체에게 지시

 

- 캡슐화 : 데이터(속성)+함수(메소드)를 묶는 것, 정보은닉으로 오류파급 적음, 재사용

- 정보 은닉 : 다른 객체에게 자신의 정보를 숨기고 자신의 연산으로만 접근가능

- 추상화 : 가장 중요한 것을 중점으로 개략화 한것

- 상속성 : 하위클래스가 상위클래스의 속성+연산을 물려받는 것, 재사용

- 다형성 : 하나의 메시지에 대해 다양하게(각각 고유한 방법으로) 응답하는 능력

+ Recent posts