최종 정리 요약본 (오답노트 + 간단 개념 정리)
정보처리기사 기출문제
-
프로토콜을 구성하는 대표적인 세가지 요소 구문, 의미, 타이밍
-
128비트 암호화 해시 함수로 RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다. 1991년에 로널드 라이베스트(Ronald Rivest)가 예전에 쓰이던 MD4를 대체하기 위해 고안하였다. MD5
- 암호 알고리즘
대칭 키 암호화 알고리즘
-
DES Data Encryption Standard 블록 암호 기법을 사용하며 16단계의 파이스텔 네트워크(Feistel Network)를 거쳐 암호화를 수행한다. 블록의 단위는 64 비트로 평문을 64 비트 단위로 암호화를 수행하여 64 비트의 암호화 문서를 생성하며 키 길이는 64 비트지만 실제로는 패리티 비트가 8 비트 붙어있어서 실제 키 길이(=암호화 강도)는 56 비트이다.
-
SEED 한국인터넷진흥원(KISA)에서 1999년에 개발한 대칭키 암호화 알고리즘 DES나 AES같은 암호 알고리즘과 친척뻘 128비트의 평문을 암호화하며, 키 크기는 128비트이다. 총 16라운드에 걸쳐 암호화를 진행하며, Addition, XOR, bit-rotation등의 연산식을 사용하여 암호화를 수행한다.
-
AES Advanced Encryption Standard 고급 암호화 표준 암호화 키는 128, 192, 256의 세 가지 중 하나가 될 수 있으며, 각각 AES-128, AES-192, AES-256
-
ARIA ARIA는 경량 환경 및 하드웨어 구현을 위해 최적화된, Involutional SPN 구조를 갖는 범용 블록 암호 알고리즘입니다
-
IDEA(International Data Encryption Algorithm, IDEA) 스위스 .. PES(Proposed Encryption Standard)를 개량하여, 1991년에 제작된 블록 암호 알고리즘이다.
-
LFSR 스트림 암호 설계에서 가장 대중적으로 사용되는 키스트림 생성기는 선형 피드백 시프트 레지스터라는 이진 스트림 생성기이다.
비대칭 키 암호화 알고리즘
-
디피-헬만 암호 키를 교환하는 하나의 방법으로, 두 사람이 암호화되지 않은 통신망을 통해 공통의 비밀 키를 공유할 수 있도록 한다.
-
RSA(Rivest, Adi Shamir, Leonard Adleman) 사람이름 공개키 암호시스템의 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘으로 알려져 있다. 두 개의 키를 사용한다
-
ECC(ECC; Elliptic Curve Cryptography) 타원곡선을 기반으로 한 암호방식
-
ElGamal 타헤르 엘가말이 1985년에 고안한, 디피-헬먼 키 교환을 바탕으로 한 공개 키 암호 방식이다.
해시(Hash) 암호화 알고리즘
-
MD5 (Message-Digest algorithm 5) MD5(Message-Digest algorithm 5)는 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다
-
SHA-1 (Secure Hash Algorithm 1) 입력을 받고 메시지 다이제스트라는 160비트(20바이트) 해시값을 만드는 암호화 해시 함수로, 보통은 16진수 40자리로 렌더링된다.
-
SHA-256/384/512 256비트로 구성되며 64자리 문자열을 반환한다. SHA-256은 미국의 국립표준기술연구소(NIST; National Institute of Standards and Technology)에 의해 공표된 표준 해시 알고리즘인 SHA-2 계열 중 하나이며 블록체인에서 가장 많이 채택하여 사용하고 있다 그냥 뭐… 256/384/512 다 쓴다고 생각하면 됨.
-
HAS-160 HAS-160은 국내 표준 전자서명알고리즘인 KCDSA에 사용되는 160비트 암호학적 해시 함수입니다.
-
HAVAL
-
비선점형 스케줄링 hrn의 우선순위 계산식 (대기 시간 + 서비스 시간) / 서비스 시간
- 트랜잭션의 속성
- 원일독지
- 보안공격 패킷의 출발지 주소(Address)나 포트(port)를 임의로 변경하여 출발지와 목적지 주소(또는 포트)를 동일하게 함으로써, 공격 대상 컴퓨터의 실행 속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 랜드어택
- 보안공격의 종류
Dos공격
- syn 플러딩 서버의 동시 가용 사용자 수를 SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 함
- udp 플러딩 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답메세지를 생성하게 하여 지속해서 자원을 고갈 시킴
- 스머프/스머핑 출발지 주소를 공격 대상의 IP로 설정하여 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅하여 마비시킴
- 죽음의 핑 ICMP 패킷(Ping)을 정상적인 크기보다 아주 크게 만들어 전송시 다수 IP 단편화 발생 오버플로우 발생 정상 서비스 동작 못함
- 랜드어택 출발지 IP와 목적지 IP를 같은 패킷 주소로 만들어 보냄으로써 수신자가 자신에게 응답을 보내게 하여 시스템의 가용성 침해
- 티어드롭 IP 패킷의 재조합 과정에서 잘못된 Fragment Offset 정보로 인해 수신시스템이 문제를 발생하도록 함
- 봉크/보잉크
- 봉크 : 같은 시퀀스 번호를 계속 보냄
- 보잉크 : 일정한 간격으로 시퀀스 번호에 빈 공간 생성
DDos 공격
- 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트 공격
-
해커들이 취약한 인터넷 시스템에 대한 액세스가 이루어지면 침입한 시스템에 소프트웨어를 설치하고 이를 실행시켜 원격에서 공격
- 공격도구
- Trinoo
- 많은 소스로부터 통합된 UDP flood 서비스 거부 공격을 유발하는 데 사용되는 도구
- 몇개의 서버들과 많은 수의 클라이언트들로 이루어짐
- Tribe Flood Network (TFN)
- 많은 소스에서 하나 혹은 여러개의 목표 시스템에 대해 서비스 거부 공격 수행
- 공격자가 클라이언트 프로그램을 통해 공격 명령을 일련의 TFN 서버들에게 보냄으로써 이루어짐
- Stacheldraht - 분산 서비스 거부 에이전트 역할을 하는 Linux 미 Solaris 시스템용 멀웨어 도구
- Trinoo
DRDos공격
- 공격자는 출발지 IP를 공격대상 IP로 위조하여 다수의 반사 서버로 요청 정보를 전송, 공격 대상자는 반사 서버로부터 다량의 응답을 받아서 서비스 거부가 되는 공격
세션 하이재킹
- Victim과 Server 사이의 패킷을 스니핑하여 Sequence Number를 획득하고, 공격자는 데이터 전송 중인 Victim과 Server 사이를 비동기화 상태로 강제적으로 만들고, 스니핑하여 획득한 Client Sequence Number를 이용하여 공격하는 방식
애플리케이션 공격
- 공격기법
- HTTP GET 플러딩(Flooding)
- Slowloris(Slow HTTP Header DoS)
- RUDY(Slow HTTP POST DoS)
- Slow HTTP Read Dos
- Hulk Dos
- Hash DoS
네트워크 공격
- 공격기법
- 스니핑(Sniffing) : 도청 와이어샤크를 통해서 패킷을 까봄.
네트워크상에 흘러다니는 트래픽을 훔쳐보는 행위. 주로 자신에게 와야할 정보가 아닌 정보를 자신이 받도록 조작하는 행위
- 네트워크 스캐너(Scanner), 스니퍼(Sniffer)
- 패스워드 크래킹(Password Cracking) : 암호 해킹
- IP 스푸핑(Spoofing) : ip를 바꿔서 공격해서 공격자를 모르게 함.
- ARP 스푸핑(Spoofing) RARP (Reverse) : 근거리 통신망 하에서 주소 결정 프로토콜의 메세지를 사용하여 데이터 패킷을 중간에 가로채는 기법
- ICMP Redirect공격 :
- 트로이 목마(Trojan Horses)
- 스니핑(Sniffing) : 도청 와이어샤크를 통해서 패킷을 까봄.
네트워크상에 흘러다니는 트래픽을 훔쳐보는 행위. 주로 자신에게 와야할 정보가 아닌 정보를 자신이 받도록 조작하는 행위
- 어플리케이션 성능 측정 요소
- 처리량: 일정 시간 내에 애플리케이션이 처리하는 일의 양
- 응답시간: 애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간
- 경과시간: 애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 자원 사용률: 애플리케이션이 의뢰한 작업을 처리하는 동안의 CPU 사용량, 메모리 사용량, 네트워크 사용량 등
-
정규화란 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로, 의도적으로 정규화 원칙을 위배하는 행위
-
목표 복구시간(RTO) 백업 및 복구 솔루션은 ( 목표 복구시간 )와 복구 목표 시점(RPO) 기준을 충족할 수 있는 제품으로 선정해야 한다. ( 목표 복구시간 )는 “비상사태 또는 업무중단 시점으로부터 업무가 복구되어 다시 정상가동 될 때까지의 시간” 을 의미하고 복구 목표 시점(RPO)는 “업무 중단 시 각 업무에 필요한 데이터를 여러 백업 수단을 이용하여 복구할 수 있는 기준점”을 의미한다.
- 파이썬
- 소괄호 - 튜플
- 중괄호 - 딕셔너리,set
- 대괄호 - 리스트
update는 set 두개 통합 / set은 중복 불가 리스트는 중복 가능
AJAX의 긴 명칭은 (Asynchronous Javascript And XML)
- 네트워크 계층(network layer, 3계층)인 인터넷 프로토콜(IP)에서 ‘암호화’, ‘인증’, ‘키 관리’를 통해 보안성을 제공해 주는 표준화된 기술 IPSec
- IPSec(IP Security) IP계층에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 IP 보안 프로토콜
- SSL(Secure Socket Layer)/TLS(Transport Layer Security) 전송계층과 응용계층 사이에서 데이터 무결성 보장하는 보안 프로토콜
- S-HTTP(Secure Hypertext Transfer Protocol) 웹 상에서 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송
-
테스트 자동화 도구 애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위하여 사용하는 테스트 자동화 도구 유형은? 정적 분석 도구
1) 정적 분석 도구 애플리케이션을 실행하지 않고 분석함. 소스코드에 대한 코딩 표준, 코딩 스타일, 복잡도 등을 나타냄 소스코드에 대한 이해를 바탕으로 도구를 이용해서 분석하는 것임 2) 테스트 실행 도구 테스트를 위해 작성된 스크립트를 실행, 스크립트는 특정 데이터와 테스트 수행 방법을 포함하고 있음. 데이터 주도 접근 방식과 키워드 주도 접근방식으로 나뉨
- 데이터 주도 접근 방식 : 테스트 데이터를 스프레드 시트에 저장
- 키워드 주도 접근 방식 : 키워드와 데이터를 저장 3) 성능 테스트 도구 처리량, 응답시간, 경과시간, 자원 사용률에 대해 가상의 사용자를 생성, 테스트를 구행함으로써 성능 목표를 달성하였는지 확인함. 4) 테스트 통제 도구 테스트 관리 도구 형상 관리 도구 결함 추적/관리 도구
-
인덱스의 생성 문법 CREATE INDEX idx_name ON student(name); CREATE INDEX 인덱스 명칭 ON 테이블 (컬럼);
-
SOAP(Simple Object Access Protocol) HTTP 등의 프로토콜을 이용하여 XML 기반의 메시지를 교환하는 프로토콜로 Envelope-Header-Body 주요 3요소로 구성된다. RESTful 로 대체 됨
SOAP(책), UDDI(도서관), WSDL (찾아가는 매뉴얼)
-
SQL injection 웹 페이지의 입력값을 통해서 SQL명령어를 주입하여 오동작을 일으키는 해킹방법
-
직유학유 ㅇ 직관성: 누구나 쉽게 이해하고 사용할 수 있어야 한다. ㅇ 유효성 : 사용자의 목적을 정확하게 달성하여야 한다. ㅇ 학습성: 누구나 쉽게 배우고 익힐 수 있어야 한다. ㅇ 유연성: 사용자의 요구사항을 최대한 수용하며, 오류를 최소화하여야 한다.
-
Linked Open Data Linked data와 Open data의 합성어 URI(Uniform Resource Identifier)를 사용
-
TCP/IP에서 신뢰성없는 IP를 대신하여 송신측으로 네트워크의 IP 상태 및 에러 메시지를 전달해주는 프로토콜을 ( )이라 한다. ICMP
-
심리학자 톰 마릴은 컴퓨터가 메시지를 전달하고 메시지가 제대로 도착했는지 확인하며 도착하지 않았을 경우 메시지를 재전송하는 일련의 방법을 ‘기술적 은어’를 뜻하는 ( )이라는 용어로 정의하였다. ( )안에 들어갈 용어는? 프로토콜
-
커버리지 화이트 박스 테스트에 대하여
- 구문 커버리지/문장커버리지 : 프로그램 내의 모든 명령문을 적어도 한번 수행하는 커버리지, 조건문 결과와 관계 없이 구문 실행 개수로 계산
- 결정 커버리지/선택커버리지/분기커버리지 : 각 분기의 결정 포인트 내의 전체 조건식이 적어도 한번은 참과 거짓의 결과를 수행하는 테스트 커버리지
- 조건 커버리지 : 결정 포인트 내의 각 개별 조건식이 적어도 한 번은 참과 거짓의 결과가 되도록 수행하는 테스트 커버리지
- 조건/결정 커버리지 : 전체 조건식 뿐만 아니라 개별 조건식도 참 한번, 거짓 한번 결과가 되도록 수행
- 변경 조건/결정 커버리지 : 개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식에 독립적으로 영향을 주도록 함으로써 조건 결정 커버리지를 향상시킨 커버리지
- 다중 조건 커버리지 : 결정 조건 내 모든 개별 조건식의 모든 가능한 조합을 100% 보장하는 커버리지
- 기본경로 커버리지/경로커버리지 : 수행 가능한 모든 경로를 테스트 하는 기법
- 제어흐름 테스트 : 프로그램 제어 구조를 그래프 형태로 나타내어 내부 로직을 테스트하는 기법
- 데이터 흐름 테스트 : 제어 흐름 그래프에 데이터 사용현황을 추가한 그래프를 통해 테스트하는 기법
블랙박스 테스트 동등 분할, Equivalence Partitioning 경계값 분석, . Boundary Value Analysis 결정 테이블, 상태 전이, 유스케이스, 분류 트리, 페어와이즈, 원인-결과 그래프, Cause-effect Graph 비교
- 관계 대수
σ,π,⋈,÷ (연산자의 영어/한글이름)
- σ : select : 조건을 만족하는 튜플을 반환
- π : project : 주어진 속성들의 값으로만 구성된 튜플 반환
- ⋈ : join 공통 속성을 이용해 R과 S의 튜플들을 연결해 만들어진 튜플을 반환
- ÷ : division 어떤 릴레이션의 모든 튜플과 관련있는 튜플을 반환
일반 집합 연산자
- 합집합(Union, R ∪ S)
- 교집합(Intersection, R ∩ S)
- 차집합(Difference, R ─ S)
- 카디션 프로덕트(CARTENSIAN Product, R X S) : R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성
-
스키마 데이터베이스에서 스키마(Schema)에 대해 간략히 설명하시오. 데이터베이스의 전체적인 구조와 제약조건에 대한 명세로, 내부 스키마와 개념 스키마, 외부 스키마로 나뉜다.
- EAI의 유형
- Point to Point
- Message Bus
- Hub and Spoke
- Hybrid
-
생성자란 ? 클래스가 객체를 생성할 때, 자동으로 실행되어지는 특수한 종류의 메서드
-
다이어그램
- 데이터베이스 회복기법 데이터베이스의 회복(Recovery) 기법 중 Rollback 시 Redo, Undo가 모두 실행되는 트랜잭션 처리법으로 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법은 무엇인가? 즉시갱신 회복 기법(Immediate Update)
- 회복 기법 종류
- 로그 기반 회복 기법
- 지연 갱신 회복 기법 : 트랜잭션이 완료되기 전까지 데이터베이스에 기록하지 않는 기법
- 즉각 갱신 회복 기법 : 트랜잭션 수행 중 결과를 바로 디비에 반영하는 기법
- 체크 포인트 회복 기법 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원시키는 회복 기법
- 그림자 페이징 회복 기법 데이터베이스 트랜잭션 수행 시 복제본을 생성하여 데이터베이스 장애 시 이를 이용해 복구하는 기법
- 로그 기반 회복 기법
-
IP 패킷에서 외부의 공인 IP주소와 포트 주소에 해당하는 내부 IP주소를 재기록하여 라우터를 통해 네트워크 트래픽을 주고받는 기술을 무엇이라고 하는가? NAT(Network Address Translation)
-
오픈 소스 기반으로 한 분산 컴퓨팅 플랫폼으로, 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크로 구글, 야후 등에 적용한 기술은 무엇인가? 하둡
-
프로세스 상태 전이도 생성, 준비, 실행, 종료, 대기
- 테스트 오라클 종류
테스트 케이스의 예상 결과, 테스트 결과가 올바른지 판단하는 근거가 됨.
- 참 오라클 : 모든 테스트 케이스 입력값의 기대한 결과값에 대한 확인
- 샘플링 오라클 : 특정 몇몇 입력 값들에 대해서만 원하는 결과를 제공해 주는 오라클
- 휴리스틱 오라클 : 샘플링 오라클에 휴리스틱 입력값 더하여 처리-
- 일관성 검사 (일관된 오라클): 이전수행결과와 현재수행결과가 동일한지 검증
-
동등 분할 테스트/동치 분할 테스트/ 균등 분할 테스트/ 동치 클래스 분해 테스트 : 입력 데이터의 영역을 유사한 도메인 별로 유효값/ 무효값을 그룹핑하여 대푯값 테스트 케이스를 도출하여 테스트하는 기법
- char *p = “KOREA” printf(“%cn” , p+2);
위의 값은 M이다. 그 이유는 K의 다음다음 알파벳..
- 정보보안의 3요소
기밀성, 무결성, 가용성
- 기밀성(Confidentiality): 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단
- 무결성(Integrity): 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장
- 가용성(Availability): 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장
- 결합도/응집도 유형
- 내용 결합도 Content 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우
- 공통 결합도 Common 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용
- 외부 결합도 External 어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조
- 제어 결합도 Control 단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우
- 스탬프 결합도 Stamp 모듈 간의 인터페이스로 배열이나 오브젝트, 스트럭처 등이 전달되는 경우
- 자료 결합도 Data 모듈 간의 인터페이스로 값이 전달되는 경우
응집도 유형
- 우연적 응집도 Coincidental 모듈 내부의 각 구성요소가 연관 없음
- 논리적 응집도 Logical 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리
- 시간적 응집도 Temporal 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리
- 절차적 응집도 Procedual 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행
- 통신적/교환적 응집도 Communication 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있음
- 순차적 응집도 Sequencial 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용
- 기능적 응집도 Functional 모듈 내부의 모든 기능이 단일한 목적을 위해 수행됨
- 접근제어모델
- 강제적 접근제어 모델(Mandatory Access Control, MAC) 미리 정해진 정책과 보안 등급에 의거하여 주체(Subject)에게 허용된 접근 권한과 객체(Object)에 부여된 허용 등급을 비교하여 접근을 제어하는 방법이다. (회원등급에 따른 접근하는 네이버 게시판)
- 임의적 접근제어 모델(Discretionary Access Control, DAC) 접근을 사용자나 그룹의 신분을 기준으로 제한하는 방법이다. (권한을 줄 수 있음 유닉스 디렉토리 시스템)
- 역할 기반 접근제어 모델 (Role Based Access Control, RBAC) 권한을 사용자 개인이 아닌 역할 그룹에 부여하고, 사용자에게 역할을 할당하여 접근 제어를 하는 방식이다.
- 속성기반 접근제어 모델 (Attribute Based Access Control : ABAC) 객체와 주체의 속성에 대한 조건을 기술하여 접근 제어를 하는 방식이다
- 데이터 모델, 표시요소 개체 데이터 모델에서는 ( A ) 을/를 이용하여 실제 데이터를 처리하는 작업에 대한 명세를 나타내는데 논리 데이터 모델에서는 ( B ) 을/를 어떻게 나타낼 것인지 표현한다. ( C ) 은/는 데이터 무결성 유지를 위한 데이터베이스의 보편적 방법으로 릴레이션의 특정 칼럼에 설정하는 제약을 의미하며, 개체무결성과 참조 무결성 등이 있다.
- 연산: 데이터 베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세
- 구조: 개체 타입과 개체 타입간의 관계, 데이터 구조 및 정적 성질을 표현하는 요소
- 제약조건: 데이터 무결성 유지를 위한 DB의 보편적 방법
- IPC란 IPC = 프로세스 간 통신 프로세스들끼리 서로 데이터를 주고받는 행위 또는 그에 대한 방법을 뜻한다.
공유메모리, 소켓, 세마포어, 메세지 큐 등 프로세스 간 통신하는 기술을 무엇이라고 하는지 쓰시오.
- 테스트 레벨
- 단위 테스트
- 통합 테스트
- 시스템 테스트
- 인수 테스트
( A ) 은/는 개별 모듈, 서브루틴이 정상적으로 실행되는지 확인 ( B ) 은/는 인터페이스 간 시스템이 정상적으로 실행되는지 확인
A : 단위 테스트 B : 통합 테스트 임 전체 테스트 : 시스템 테스트 이고 사용자에게 전달하며 하는 테스트가 인수 테스트임.
- ( A ) 요구사항은 시스템이 제공하는 기능, 서비스에 대한 요구사항이다. ( B ) 요구사항은 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항이다.
A: 기능적 B: 비기능적
-
물리 네트워크(MAC) 주소에 해당하는 IP 주소를 알려주는 프로토콜로 역순 주소 결정 프로토콜을 무엇이라고 하는지 쓰시오. RARP
-
네트워크 장치를 필요로하지 않고 네트워크 토폴로지가 동적으로 변화되는 특징이 있으며 응용 분야로는 긴급 구조, 긴급 회의, 전쟁터에서의 군사 네트워크에 활용되는 네트워크는? 애드혹 네트워크
- 트랜잭션
- 원자성 트랜잭션을 구성하는 연산 전체가 모두 정상적으로 실행되거나 취소되어야 하는 성질
- 일관성 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 수행 완료 후의 상태가 같아야 하는 성질
- 격리성=고립성 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다.
- 영속성 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터 베이스에 저장되어야 한다.
- 정규화 단계
- 1정규형(1NF): 원자값으로 구성
- 2정규형(2NF): 부분 함수 종속 제거
- 3정규형(3NF): 이행함수 종속 제거(A→B, B→C ⇒ A→C 분리)
- 보이스-코드 정규형(BCNF): 결정자 후보 키가 아닌 함수 종속 제거
- 4정규형(4NF): 다치(다중 값) 종속 제거
- 5정규형(5NF): 조인 종속 제거
-
파이썬의 range를 for 문에서 쓰면 마지막은 실행이 안됨. 파이썬에서 요소를 확장해준다는 의미를 가지고 있으며, 모든 항목을 하나의 요소로 추가 extend 파이썬의 True/False 앞이 대문자
-
패킷 교환방식 (1) 목적지 호스트와 미리 연결한 후, 통신하는 연결형 교환 방식 가상회선방식 (2) 헤더에 붙어서 개별적으로 전달하는 비연결형 교환 방식 데이터 그램 방식
- 병행제어 기법의 종류
- 로킹 : 다중 트랜잭션의 환경에서 트랜잭션의 순차적 진행을 위해 잠금을 거는 것임
- 데이터 베이스, 파일,레코드 등이 로킹 단위가 될 수 있음
- 로킹 단위가 작아지면 데이터베이스 공유도가 증가
- 로킹 단위가 작아지면 로킹 오베헤드가 증가
- 한꺼번에 로킹할 수 있는 객체의 크기를 로킹 단위라고 함.
- 낙관적 검증 : 트랜잭션이 어떠한 검증도 수행하지 않고 일단 수행하고, 종료 시 검증을 수행하여 데이터베이스에 반영함. (마지막에 검증한다가 핵심)
- 타임 스탬프 순서 : 트랜잭션이 일거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 타임 스탬프를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법
- 다중버전 동시성 제어 : 트랜잭션의 타임스탬프와 접근하려는 데이터의 타임스탬프를 비교하여 직렬 가능성이 보장되는 적절한 버전을 선택하여 접근하도록 하는 기법
- 로킹 : 다중 트랜잭션의 환경에서 트랜잭션의 순차적 진행을 위해 잠금을 거는 것임
- UML 다이어그램
- Structural UML Diagram(구조적 다이어그램) #
- Class Diagram(클래스 다이어그램) : 각 클래스의 속성(Attribute)과 행위(Behavior)를 기재한다.
- Object Diagram(객체 다이어그램) :
- Package Diagram(패키지 다이어그램) :
- Component Diagram(컴포넌트 다이어그램) :
- Composite Structure Diagram(복합 구조 다이어그램) :
- Deployment Diagram(배치 다이어그램) :
- Profile Diagram(프로필 다이어그램) :
- Behavioral UML Diagram(행위 다이어그램) #
- Usecase Diagram(유스케이스 다이어그램) : 컴퓨터 시스템과 사용자가 상호작용
- State Diagram(상태 다이어그램) :
- Activity Diagram(활동 다이어그램) :
- Sequence Diagram(시퀀스 다이어그램) : 동적인 면을 나타내는 대표적인 다이어그램이다. 시스템이 실행 시 생성되고 소멸하는 객체를 표기하고 객체들 사이에 주고받는 메시지를 나타내게 된다.
- Communication Diagram(통신 다이어그램) :
- Timing Diagram(타이밍 다이어그램) :
- Interaction Overview Diagram(상호작용 개요 다이어그램) :
- Structural UML Diagram(구조적 다이어그램) #
- 디자인 패턴
생성
- Builder 객체를 구현하는 방법과 생성하는 방법을 분리하였다
- Prototype 패턴 프로토타입을 만들어서 복제를 용이하게 만든 것임
- Factory Method 부모에는 전체적인 영역의 클래스를 정의하고 객체를 만들어주는 클래스는 하위(자식)클래스에서 만들어줌.
- Abstract Factory 추상 팩토리 패턴은 팩토리 패턴에서 생길 수 있는 단점을 보완하기 위해 나왔다
- Singleton 최초 한번만 인스턴스를 만들고 그 인스턴스를 가지고 공유해서 사용하겠다.
구조
- Bridge “구현(implementation)으로부터 추상(abstraction) 레이어를 분리하여 이 둘이 서로 독립적으로 변화할 수 있도록 한다.”
- Decorator 어떤 객체에 책임(기능)을 동적으로 추가하는 패턴
- Facade 서브시스템들의 공통적인 기능을 정의하는 단순화된 상위 수준의 인터페이스를 정의하는 패턴이다
- Flyweight 인스턴스를 가능한 한 공유해서 사용함으로써 메모리를 절약하는 패턴 ‘공유(Sharing)’를 통하여 대량의 객체들을 효과적으로 지원하는 방법
- Proxy Proxy는 우리말로 대리자, 대변인 이라는 뜻입니다 해당 객체를 대행(대리, proxy)하는 객체를 통해 대상객체에 접근하는 방식을 사용하면 해당 객체가 메모리에 존재하지 않아도 기본적인 정보를 참조하거나 설정할 수 있고 또한 실제 객체의 기능이 반드시 필요한 시점까지 객체의 생성을 미룰 수 있습니다.
- Composite 컴포지트 패턴(Composite pattern)이란 객체들의 관계를 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴으로, 사용자가 단일 객체와 복합 객체 모두 동일하게 다루도록 한다.
- Adapter 한 클래스의 인터페이스를 클라이언트에서 사용하고자하는 다른 인터페이스로 변환한다.어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다.
행위
- Mediator 모든 클래스간의 복잡한 로직(상호작용)을 캡슐화하여 하나의 클래스에 위임하여 처리하는 패턴 M:N의 관계에서 M:1의 관계로 복잡도를 떨어뜨려 유지 보수 및 재사용의 확장성에 유리한 패턴
- Interpreter 구글 번역기 !
- Iterator 컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 수 있는 방법을 제공한다.
- Template Method 알고리즘의 구조를 메소드에 정의하고, 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴이다.
- Observer 어떤 ‘이벤트’ 가 일어나는 것을 감시하는 패턴
- Visitor 비지터 패턴은 방문자와 방문 공간을 분리하여, 방문 공간이 방문자를 맞이할 때, 이후에 대한 행동을 방문자에게 위임하는 패턴이다.
- Command 실행될 기능을 캡슐화함으로써 주어진 여러 기능을 실행할 수 있는 재사용성이 높은 클래스를 설계하는 패턴이다.
- Strategy 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있게 하는 디자인 패턴
- Memento 메멘토 패턴은 객체의 상태 정보를 저장하고 사용자의 필요에 의하여 원하는 시점의 데이터를 복원 할 수 있는 패턴을 의미합니다.
- Chain of Responsibility 어떤 사람에게 요구 사항이 온다고 하였을 때, 그 사람이 바로 그것을 처리할 수 있으면 처리한다. 처리할 수 없다면 그 요구를 ‘다음 사람’으로 전달한다. 이후 계속적으로 반복하는 것이 Chain of Responsibility 패턴이다.
-
객체 지향 추상화 (association) is-member-of 연관화 링크 개념과 유사 (classification) is-instance-of 분류화 객체 및 클래스의 인스턴스를 표현 (aggregation) is-part-of 집단화 상향식, 단일 상속, 복합 객체(composite object) 표현에 유용 (generalization)is-a 특수화, 일반화 하향식, 다중 상속, 복잡한 객체 표현에 유용
- OSI 7 Layer
- 물리계층(Physical Layer)
- 단지 데이터 전달의 역할을 할 뿐이라 알고리즘, 오류제어 기능이 없음
- 데이터링크 계층(Data-Link Layer)
- 물리적인 연결을 통하여 인접한 두 장치 간의 신뢰성 있는 정보 전송을 담당 (mac 주소 통한 통신)
- 오류나 재전송하는 기능이 존재
- 단위 : Frame
- 네트워크 계층(Network Layer)
- 중계노드
- 라우팅 기능 (최적 경로설정)
- 컴퓨터 주소갖고 있음 (ip)
- 단위 : 패킷
- 전송 계층 (Transport)
- 종단간 신뢰성, 정확한 데이터 전달
- 오류검출/복구/흐름제어/중복검사
- 포트번호를 사용 (TCP, UDP)
- 단위 : segment
- 세션 계층 (Session)
- 통신 장치 간 상호작용 및 동기화를 제공
- 연결 세션에서 데이터 교환과 에러 발생 시의 복구를 관리
- 표현 계층(Presentation Layer)
- 데이터를 어떻게 표현할지 정하는 역할을 하는 계층
- 세가지의 기능
- 송신자에서 온 데이터를 해석하기 위한 응용계층 데이터 부호화, 변화
- 수신자에서 데이터의 압축을 풀수 있는 방식으로 된 데이터 압축
- 데이터의 암호화와 복호화 (MIME 인코딩이나 암호화 등의 동작이 표현계층에서 이루어짐. EBCDIC로 인코딩된 파일을 ASCII 로 인코딩된 파일로 바꿔주는 것이 한가지 예임) - 응용 계층(Application Layer) - 사용자와 가장 밀접한 계층으로 인터페이스 역할 - 응용 프로세스 간의 정보 교환을 담당 ex) 전자메일, 인터넷, 동영상 플레이어 등
- 물리계층(Physical Layer)
- AAA
- 인증(Authentication)
- 인가 및 권한부여(Authorization)
- 회계 및 계정관리(Accounting)
-
워터링 홀
-
데이터 베이스 키의 속성
- 임시 키 무결성 프로토콜
2020년 4회는 다시 풀어보자!
데일리 기출
- 프로세스 관련 용어 운영체제가 프로세스 관리 위해 필요한 자료 담고 있는 자료구조 프로세스 식별자, 프로세스 상태, 프로그램 카운트, 레지스터 저장 영역, 프로세서 스케줄링 정보, 계정 정보, 입출력 상태 정보 등으로 구성
: PCB
- 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론으로 임베디드 소프트웨어를 작성하는 데 유용한 방법론이다.
Product Line Development(제품계열 개발방법론)
-
인터페이스 감시 도구로 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공한다. 스카우터(SCOUTER)
-
IPSec은 IP 계층(3계층)에서 메시지 Checksum을 활용한 데이터 인증과 비연결형 무결성을 보장해주는 프로토콜인 ( ① )와/과 암호화 알고리즘을 활용한 캡슐화 기반 페이로드 기밀성을 제공하는 프로토콜인 ( ② )을/를 이용하여 양 종단 간(End Point) 구간에 보안 서비스를 제공한다. ① AH(Authentication Header) = 인증헤더 ② ESP(Encapsulating Security Payload) = 암호화
( ① )은/는 어떤 제품이나 컴퓨터 시스템, 암호시스템 혹은 알고리즘에서 정상적인 인증 절차를 우회하는 기법이다.
( ② )은/는 시스템 침입 후 침입 사실을 숨긴 채 차후의 침입을 위한 백도어, 트로이 목마 설치, 원격 접근, 내부 사용 흔적 삭제, 관리자 권한 획득 등 주로 불법적인 해킹에 사용되는 기능을 제공하는 프로그램의 모음이다.
① Backdoor ② Rootkit
- 1980년대 중반 MIT의 Athena 프로젝트의 일환으로 개발된 ( ① )은/는 클라이언트/서버 모델에서 동작하며 대칭키 암호기법에 바탕을 둔 프로토콜이다. ( ① )은/는 “티켓”(ticket)을 기반으로 동작하는 컴퓨터 네트워크 인증 암호화 프로토콜로서 비보안 네트워크에서 통신하는 노드가 보안 방식으로 다른 노드에 대해 식별할 수 있게 허용한다.
( ② )은/는 한 번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 솔루션이다.
① 커버로스(Kerberos) ② SSO(Single Sign On)
- 기능 모델링 : DFD
원으로 표시한 것은 Process임
- 동그라미 프로세스
- 화살표 데이터 흐름
- 평행직선 두개 데이터 저장소
- 네모 외부 엔티티
- ( ① )은/는 장애나 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축하기 위한 분석이다. ( ② )은/는 조직의 최고 경영층이 주요 지원 서비스의 중단으로 인한 업무의 영향에 대해 허용할 수 있는 최대의 시간을 의미한다.
① BIA(Business Impact Analysis) ② MTD(Maximum Tolerable Downtime)
- ( ① )은/는 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점되는 알고리즘이다. ( ② )은/는 대기 중인 프로세스 중 현재 응답률(Response Ratio)이 가장 높은 것을 선택하는 방법으로 긴 작업과 짧은 작업 간의 불평등을 완화하여 기아 현상을 방지하는 알고리즘이다.
① SRT(Shortest Remaining Time First)② HRN(Highest Response Ratio Next)
- ( ① )은/는 악의적인 해커가 불특정 웹 서버와 웹 페이지에 악성 스크립트를 설치하고, 불특정 사용자 접속 시 사용자 동의 없이 실행되어 의도된 서버(멀웨어 서버)로 연결하여 감염시키는 공격기법이다. ( ① )은/는 사용자가 특정 웹사이트에 접속하였을 때(이메일 메세지에 포함된 사이트 주소를 클릭하는 경우 포함), 사용자도 모르게, 악성 SW가 사용자의 디바이스(PC나 스마트폰)에 download 되도록 하는 해킹기법이라고 할 수 있다. ( ② )은/는 특정인에 대한 표적 공격을 목적으로 특정인이 잘 방문하는 웹 사이트에 악성코드를 심거나 악성코드를 배포하는 URL로 자동으로 유인하여 감염시키는 공격기법이다.
① 드라이브 바이 다운로드(Drive By Download)② 워터링홀(Watering Hole)
- ( ① )은/는 하드 디스크와 같은 데이터 저장 장치를 호스트 버스 어댑터에 직접 연결하는 방식이다. ( ② )은/는 저장 장치와 서버를 직접 연결하는 것이 아니라 네트워크를 통해 스토리지에 접속하고, 파일 단위로 관리하는 방식이다.
① DAS(Direct Attached Storage) ② NAS (Network Attached Storage) SAN(Storage Area Network) : 서버와 스토리지를 저장 장치 전용 네트워크로 상호 구성하여 고가용성, 고성능, 융통성, 확장성을 보장하고 데이터를 블록(Block) 단위로 관리하는 기술
- ( ① )은/는 사용자 계정을 탈취해서 공격하는 유형 중 하나로, 다른 곳에서 유출된 아이디와 비밀번호 등의 로그인 정보를 다른 웹 사이트나 앱에 무작위로 대입해 로그인이 이루어지면 타인의 정보를 유출시키는 기법이다. ( ② )은/는 컴퓨터의 소프트웨어나 하드웨어 및 컴퓨터 관련 전자 제품의 버그, 보안 취약점 등 설계상 결함을 이용해 공격자의 의도된 동작을 수행하도록 만들어진 절차나 일련의 명령, 스크립트, 프로그램을 사용한 공격 행위이다.
① 크리덴셜 스터핑(Credential Stuffing)② 익스플로잇(Exploit)
13. ( ① )은/는 애플리케이션 성능 측정 지표 중 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간을 말한다. ( ② )은/는 소스 코드 품질분석 도구 중 동적 분석 도구로 자동화된 메모리 및 스레드 결함 발견 분석 도구이다.
ⓒ Turnaround Time, ⓖ Valgrind
- 스루풋(throughput) 또는 처리율(處理率)은 통신에서 네트워크 상의 어떤 노드나 터미널로부터 또 다른 터미널로 전달되는 단위 시간당 디지털 데이터 전송으로 처리하는 양을 말한다.
- 응답 시간(영어: response time)이란 공학에서 시스템이나 실행단위에 입력이 주어지고 나서 반응하기까지 걸린 시간을 말한다.
- PMD란 자바를 위한 정적 분석 도구이다.
- Cppcheck는 C, C++ 프로그래밍 언어용 정적 코드 분석 도구이다.
- 체크스타일은 프로그래머가 자바코드를 작성할 때 일반적으로 지켜야 하는 코딩 표준을 잘 준수할 수 있도록 지원하는 유틸이다
-
인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션은? vpn
-
데이터를 사람이 쉽게 읽을 수 있는 형태로 표현하기 위해 사용하는 데이터 직렬화 양식이다. YAML(YAML Ain’t Markup Language)
실기 예상문제
- 관계대수와 관계 해석
- 관계 대수 : 관계형DB에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어
- 관계해석 : 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어
- 객체지향 5가지 원칙
- SRP (Single Responsibility Principle) : 단일 책임 원칙 하나의 클래스는 하나의 책임만 가져야한다.
- OCP (Open-Closed Principle) : 개방 폐쇄 원칙 높은 응집도와 낮은 결합도
- LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 객체는 프로그램의 정확성을 깨지 않으면서 하위 타입의 인스턴스로 바꿀수 있어야 한다.
- ISP (Interface Segragation Principle) : 인터페이스 분리 원칙 범용 인터페이스 하나보다는 특정 클라이언트를 위한 여러 개의 인터페이스 분리가 더 좋다고 한다
- DIP (Dependency Inversion Principle) : 의존관계 역전 원칙 프로그래머는 구체화가 아니라 추상화에 의존해야 한다고 한다.
- 테스트 목적에 따른 분류
- 회복테스트 : 시스템에 고의로 실패를 유도하고 시스템의 정상적 복귀 여부를 테스트함.
- 안전 테스트 : 불법적인 소프트웨어가 접근하여 시스템을 파괴하지 못하도록 보안적인 결함을 미리 점검함.
- 성능 테스트 : 이벤트에 시스템이 응답하는 시간, 특정 시간 내에 처리하는 업무량 반응하는 속도 등을 측정 성능 테스트의 상세 유형
- 부하 테스트 : 시스템에 부하를 계속 증가시키면서 임계점을 찾는 테스트
- 강도 테스트 : 처리 능력 이상의 부하를 가하여 비정상적인 상황에서의 처리 테스트
- 스파이크 테스트 : 짧은 시간에 사용자가 몰릴 때 시스템의 반응 측정 테스트
- 내구성 테스트 : 오랜시간 동안 시스템에 높은 부하를 가하여 시스템 반응 테스트 - 구조 테스트 : 시스템의 논리 경로, 소스코드의 복잡도를 평가 - 회귀 테스트 : 오류를 제거하거나 수정한 시스템에서 그로 인한 새로운 오류가 없는지 반복해서 테스트하는 기법 - 병행 테스트 : 변경된 시스템과 기존 시스템에 동일한 데이터를 입력 후 결과를 비교하는 테스트 기법
- 라우팅 프로토콜
- BGP : 서로 다른 자율 시스템의 라우터 간에 라우팅 정보를 교환하는 데 사용되는 외부 게이트웨이 프로토콜로, 대형 사업자 간의 상호 라우팅에 사용되며, 경로 벡터 라우팅 프로토콜로 분류되는 프로토콜 (22년 2회 실기 기출)
- EGP 서로 다른 자율 시스템을 연결하는 데 사용되는 라우팅 프로토콜 (22년 2회 실기 기출)
- IGP 자율 시스템 내의 게이트웨이 간에 라우팅 테이블 정보를 교환하는 데 사용되는 라우팅 프로토콜 유형 (22년 2회 실기 기출)
- RIP 최단 경로 탐색을 위해서 거리 벡터 방식인 Bellman-Ford 알고리즘을 사용하고, 최대 홉수를 15로 제한한 현재 가장 널리 사용되는 라우팅 프로토콜 (22년 3회 필기 기출)
- OSPF 링크 상태(Link State) 알고리즘을 채용하여 규모가 크고 복잡한 TCP/IP 네트워크에서 ( 1 )의 단점을 개선한 프로토콜로, 발생한 변경정보에 대해 ( 1 )보다 빠르게 업데이트 하며, 자세한 제어가 가능하고, 관리 정보의 트래픽을 줄일 수 있어 토폴로지에 대한 정보가 전체 라우터에 동일하게 유지되는 라우팅 프로토콜 (20년 3회, 22년 2회 실기 기출)
- IGRP ( 1 ) 의 문제점 개선을 위해 시스코(Cisco)에서 개발한 통신규약으로 ( 1 )보다 대규모로 복잡한 통신망에서의 운용을 상정한 규격으로 되어 있으며, 거리 벡터 라우팅 알고리즘을 채용하여 목적 통신망까지의 경로는 지연, 회선의 대역폭, 신뢰성 및 부하를 고려해서 결정하는 라우팅 프로토콜
-
Fan in , Fan out 어떤 모듈을 제어하는 수 : Fan in 어떤 모듈의 제어를 받는 수 : Fan out
-
맵리듀스(MapReduce) 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년에 발표한 소프트웨어 프레임워크 (20년 4회 필기 기출)
-
보안 사항 1) 컴퓨터 시스템의 비정상적인 사용, 오용 등을 실시간으로 탐지하는 시스템 IDS(침임 탐지 시스템) 2) 방화벽과 침임 탐지 시스템을 결합한 것으로, 비정상적인 트래픽을 능동적으로 차단하고 격리하는 등의 방어 조치를 취하는 보안 솔루션 IPS(침입 방지 시스템) 3) 내부 정보의 외부 유출을 방지하는 보안 솔루션으로, 사내 직원이 사용하는 PC와 네트워크상의 모든 정보를 검색하고 사용자 행위를 탐지 통제해 사전 유출 방지 DLP(데이터 유출 방지)
-
REST HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 정보 전달 방식
-
인터페이스 구현 검증 도구
- xUnit 다양한 언어를 지원하는 단위 테스트 프레임워크
- STAF 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- FitNesse 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크
- NTAF FitNesse의 장점과 STAF의 장점 결합
- Selenium 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
- watir Ruby 기반 웹 어플리케이션 테스트 프레임워크