[정보처리 산업기사 필기] 테스트 및 배포 01
Updated:
개발 지원 도구(2022-02-21)
- 통합 개발 환경 (IDE: Integrated Development Environment)
- 통합 개발 환경은 개발에 필요한 환경, 즉 편집기(Editor), 컴파일러 (Compiler), 디버거(Debugger) 등의 다양한 툴을 하나의 인터페이스로 통합 하여 제공하는 환경을 말함
- 통합 개발 환경 도구는 통합 개발 환경을 제공하는 소프트웨어를 의미함
- 통합 개발 환경 도구는 코드를 실행하거나 테스트할 때 오류가 발생한 부분을 시각화하므로 수정이 용이함
통합 개발 환경 도구의 종류
- 이클립스(Eclipse)
- 개발사 : Eclipse Foundation, IBM
- 플랫폼 : 크로스 플랫폼
- 운영체제 : Windows ,Linux , MacOS 등
- 지원 언어 : JAVA, C, C++, PHP, JSP 등
- 비주얼 스튜디오(Visual Studio)
- 개발사 : Microsoft
- 플랫폼 : Win32, Win64
- 운영체제 : Windows
- 지원 언어 : Basic, C, C++, C#, .NET
- 엑스 코드(Xcode)
- 개발사 : Apple
- 플랫폼 : Mac , iPhone
- 운영체제 : MacOS, IOS
- 지원 언어 : C, C++ , C#, Java, AppleScript 등
- 안드로이드 스튜디오(Android Studio)
- 개발사 : Google
- 플랫폼 : Android
- 운영체제 : Windows, Linux,MacOS
- 지원 언어 : Java, C, C++
- IDEA
개발사 : JetBrains
- 플랫폼 : 크로스 플랫폼
- 운영체제 : Windows, Linux,MacOS
- 지원 언어 : Java, JSP, XML, Go, Kotlin, PHP등
빌드 도구
- 빌드는 소스 코드 파일들을 컴퓨터에서 실행할 수 있는 제품 소프트웨어로 변환하는 과정 또는 결과물을 말함
- 빌드 도구는 전처리(Preprocessing), 컴파일(Compile) 등의 작업을 수행함
대표적인 빌드 도구
- Ant(Another Neat Tool)
- Maven
- Gradle
기타 협업 도구
- 협업 도구는 개발에 참여하는 사람들이 서로 다른 작업환경에서 원활히 프로젝트를 수행할 수 있도록 도와주는 도구
- 협업 소프트웨어, 그룹웨어(Groupware) 등으로도 불림
- 일정 관리, 업무흐름 관리, 정보 공유, 커뮤니케이션 등의 업무 보조 도구가 포함됨
애플리케이션 테스트
- 애플리케이션 테스트는 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차
- 애플리케이션 테스트는 개발된 소프트웨어가 고객의 욕사항을 만족시키는지 확인(Validation)하고 소프트웨어가 기능을 정확히 수행하는지 검증(Verification)함
애플리케이션 테스트의 기본 원리
- 완벽한 테스트 불가능
- 소프트웨어의 잠재적인 결함을 줄일 수 있지만 소프트웨어에 결함이 없다고 증명할 수는 없음
- 파레토 법칙(Pareto Principle)
- 애플리케이션의 20%에 해당하는 코드에서 전체 결함의 80%가 발견된 다는 법칙
- 살충제 패러독스(Pesticide Paradox)
- 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견 되지 않는 현상
- 테스팅은 정황(Context) 의존
- 소프트웨어의 특징, 테스트 환경, 테스터의 역량 등 정황(Context)에 따라 테스트 결과가 달라질 수 있으므로, 정황에 따라 테스트를 다르게 수행해야함
- 오류-부재의 궤변(Absence of Erros Fallacy)
- 소프트웨어의 결함을 모두 제거해도 사용자의 요구사항을 만족시키지 못하면 해당 소프트웨어는 품질이 높다고 말할 수 없는 것
- 테스트와 위험은 반비례
- 테스트를 많이 하면 할수록 미래에 발생할 위험을 줄일 수 있음
- 테스트의 점진적 확대
- 테스트는 작은 부분에서 시작하여 점점 확대하며 진행해야함
- 테스트의 별도 팀 수행
- 테스트는 개발자와 관계없는 별도의 팀에서 수행해야 함
애플리케이션 테스트의 분류
프로그램 실행 여부에 따른 테스트
- 정적 테스트
- 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트
- 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도, 남은 결함 등을 발견 하기 위해 사용함
- 종류 : 워크 스루, 인스펙션 , 코드 검사 등
- 동적 테스트
- 프로그램을 실행하여 오류를 찾는 테스트
- 소프트웨어 개발의 모든 단계에서 테스트를 수행함
- 종류 : 블랙박스 테스트, 화이트박스 테스트
테스트 기반(Test Bases)에 따른 테스트
- 명세 기반 테스트
- 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하고 잇는지 확인하는 테스트
- 종류 : 동등 분할, 경계 값 분석 등
- 구조 기반 테스트
- 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트
- 종류 : 구문 기반, 결정 기반, 조건 기반 등
- 경험 기반 테스트
- 유사 소프트웨어나 기술 등에 대한 테스터의 경험을 기반으로 수행하는 테스트
- 상ㅇ자의 요구사항에 대한 명세가 불충분하거나 테스트 시간에 제약이 있는 경우 수행하면 효과적임
- 종류 : 에러 추정, 체크 리스트, 탐색적 테스팅
시각에 따른 테스트
- 검증(Verification) 테스트
- 개발자의 시각에서 제품의 생산 과정을 테스트하는 것
- 제품이 명세서대로 완성됐는지를 테스트함
- 확인(Validation) 테스트
- 사용자의 시각에서 생산된 제품의 결과를 테스트하는 것
- 사용자가 요구한대로 제품이 완성됐는지, 제품이 정상적으로 동작하는지를 테스트함
목적에 따른 테스트
- 회복(Recovery) 테스트
- 시스템에 여러가지 결함을 주어 실패하도록 한 후 올바르게 복구되는지를 확인하는 테스트
- 안전(Security) 테스트
- 시스템에 설치된 시스템 보호 도구가 불법적인 침입으로부터 시스템을 보호 할 수 있는지를 확인하는 테스트
- 강도(Stress) 테스트
- 시스템에 과도한 정보량이나 빈도 등을 부과하여 과부하 시에도 소프트웨어가 정상적으로 실행되는지를 확인하는 테스트
- 성능(Performance) 테스트
- 소프트웨어의 실시간 성능이나 전체적인 효율성을 진단하는 테스트로, 소프트웨어의 응답시간, 처리량 등을 테스트
- 구조(Structure) 테스트
- 소프트웨어 내부의 논리적인 경로, 소스 코드의 복잡도 등을 평가하는 테스트
- 회귀(Regression) 테스트
- 소프트웨어의 변경 또는 수정된 코드에 새로운 결함이 없음을 확인하는 테스트
- 병행(Parallel) 테스트
- 변경된 소프트웨어와 기존 소프트웨어에 동일한 데이터를 입력 하여 결과를 비교하는 테스트
테스트 기법에 따른 애플리케이션 테스트 - A
화이트박스 테스트(White Box Test)
- 화이트박스 테스트는 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법임
- 모듈 안의 작동을 직접 관찰함
- 원시 코드(모듈)의 모든 문장을 한 번 이상 실행함으로써 수행됨
화이트 박스 테스트의 종류
- 기초 경로 검사(Base Path Testing)
- 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법
- 대표적인 화이트박스 테스트 기법임
- 제어 구조 검사(Control Structure Testing)
- 조건 검사(Condition Testing) : 프로그램 모듈 내에 있는 논리적 조건을 테스트하는 테스트 케이스 설계 기법
- 루프 검사(Loop Testing) : 프로그램의 반복(Loop) 구조에 초점을 맞춰 실시하는 테스트 케이스 설계 기법
- 데이터 흐름 검사(Data Flow Testing) : 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞춰 실시하는 테스트 케이스 설계 기법
화이트 박스 테스트의 검증 기준
- 문장 검증 기준(Statement Coverage)
- 소스 코드의 모든 구문이 한 번 이상 수행되도록 테스트 케이스를 설계함
- 분기 검증 기준(Branch Coverage)
- 소스코드의 모든 조건문이 한 번 이상 수행되도록 테스트 케이스를 설계함
- 조건 검증 기준(Condition Coverage)
- 소스 코드의 모든 조건문에 대해 조건이 True인 경우와 False인 경우가 한 번 이상 수행되도록 테스트 케이스를 설계함
- 분기/조건 기준(Branch/Condition Coverage)
- 소스 코드의 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 True인 경우와 False 인 경우가 한 번 이상 수행되도록 테스트 케이스를 설계함
블랙박스 테스트(Black Box Test)
- 블랙박스 테스트는 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트로, 기능 테스트라고도 함
- 사용자의 요구사항 명세를 보면서 테스트함
- 주로 구현된 기능을 테스트함
- 소프트웨어 인터페이스를 통해 실시됨
블랙박스 테스트의 종류
- 동치 분할 검사(Equivalence Partitioning Testing, 동치 클래스 분해)
- 프로그램의 입력 조건에 타당한 입력 자료와 타당하지 않은 입력 자료의 개수를 균등하게 하여 테스트 케이스를 정하고, 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 기법
- 동등 분할 기법이라고도 함
- 경계값 분석(Boundary Value Analysis)
- 입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용하여 입력 조건의 경계값을 테스트 케이스로 선정하여 검사하는 기법
- 원인-효과 그래프 검사(Cause-Effect Graphing Testing)
- 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법
- 오류 예측 검사(Error Guessing)
- 과거의 경험이나 확인자의 감각으로 테스트 하는 기법
- 비교 검사(Comparison Testing)
- 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기법
개발 단계에 따른 애플리케이션 테스트 - A
개발 단계에 따른 애플리케이션 테스트
- 소프트웨어의 개발 단계에 따라 단위 테스트, 통합테스트, 시스템 테스트, 인수 테스트로 분류됨 이렇게 분류된 것을 테스트 레벨이라고 함
- 애플리케이션 테스트와 소프트웨어 개발 단계를 연결하여 표현한 것을 V-모델 이라고 함
- 소프트웨어 개발단계
- 요구사항(Requirements) -> 분석(Specification) -> 설계(Design) -> 구현(Code)
- 테스트 단계
- 단위 테스트(Unit Testing) -> 통합 테스트(Integraion Testing) -> 시스템 테스트(System Testing) -> 인수 테스트(Acceptance Testing)
단위 테스트(Unit Test)
- 단위 테스트는 코딩 직후 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트 하는 것
- 인터페이스, 외부적 I/O, 자료 구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등을 검사함
- 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행함
- 구조 기반 테스트와 명세 기반 테스트로 나뉘지만 주로 구조 기반 테스트를 시행함
통합 테스트(Integration Test)
- 통합 테스트는 단위 테스트가 완료된 모듈들을 결합하여 하나의 시스템으로 완성시키는 과정에서의 테스트를 의미함
- 모듈 간 또는 통합된 컴포넌트 간의 상호 작용 오류를 검사함
시스템 테스트(System Test)
- 시스템 테스트는 개발된 소프트웨어가 해당 컴퓨터 시스템에서 완벽하게 수행되는가를 점검하는 테스트
- 기능적 요구사항과 비기능적 요구사항으로 구분하여 각각을 만족하는지 테스트함
인수 테스트(Acceptance Test)
- 인수 테스트는 개발한 소프트웨어가 사용자의 요구사항을 충족하는지에 중점을 두고 테스트하는 방법임
- 인수 테스트는 개발한 소프트웨어를 사용자가 직접 테스트함
- 인수 테스트는 다음과 같이 6가지의 종류로 구분해서 테스트함
인수 테스트의 종류
- 사용자 인수 테스트
- 사용자가 시스템 사용의 적절성 여부를 확인함
- 운영상의 인수 테스트
- 시스템 관리자가 시스템 인수 시 수행하는 테스트 기법
- 계약 인수 테스트
- 계약상의 인수/검수 조건을 준수하는지 여부를 확인함
- 규정 인수 테스트
- 소프트웨어가 정부 지침, 법규, 규정 등 규정에 맞게 개발 되었는지 확인함
- 알파 테스트
- 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법
- 테스트는 통제된 환경에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 기록함
- 베타 테스트
- 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트 기법
- 실업무를 가지고 사용자가 직접 테스트
통합테스트(Integration Test)
- 통합 테스트는 단위 테스트가 끝난 모듈을 통합하는 과정에서 발생하는 오류 및 결함을 찾는 테스트 기법
- 종류
- 비 점진적 통합방식
- 단계적으로 통합하는 절차 없이 모든 모듈이 미리 결합되어 있는 프로그램 전체를 테스트하는 방법
- 종류 : 빅뱅 통합 테스트 방식
- 점진적 통합 방식
- 모듈 단위로 단계적으로 통합하면서 테스트하는 방법
- 종류 : 하향식 통합 테스트, 상향식 통합 테스트, 혼합식 통합 테스트
하향식 통합 테스트(Top Down Integration Test)
- 하향식 통합 테스트는 프로그램의 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법
- 깊이 우선 통합법이나 넓이 우선 통합법을 사용함
하향식 통합 테스트 절차
- 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁(Stub)으로 대체함
- 깊이 우선 또는 넓이 우선 등의 통합 방식에 따라 하위 모듈인 스텁들이 한 번에 하나씩 실제 모듈로 교체됨
- 모듈이 통합될 때마다 테스트를 실시함
- 새로운 오류가 발생하지 않음을 보증하기 위해 회귀 테스트를 실시함
상향식 통합 테스트(Bottom Up Integration Test)
- 상향식 통합 테스트는 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 기법
상향식 통합 테스트 절차
- 하위 모듈들을 클러스터(Cluster)로 결합함
- 상위 모듈에서 데이터의 입,출력을 확인하기 위해 더미 모듈인 드라이버(Driver)를 작성함
- 통합된 클러스터 단위로 테스트 함
- 테스트가 완료되면 클러스터는 프로그램 구조의 상위로 이동하여 결합하고 드라이버는 실제 모듈로 대체됨
혼합식 통합 테스트
- 혼합식 통합 테스트는 하위 수준에서는 상향식 통합, 상위 수준에서는 하향식 통합을 사용하여 최적의 테스트를 지원하는 방식임
- 샌드위치(Sandwich)식 통합 테스트 방법이라고도 함
회귀 테스팅(Regression Testing)
- 회귀 테스트는 통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트
- 이미 테스트된 프로그램의 테스팅을 반복하는 것
- 회귀 테스트는 수정한 모듈이나 컴포넌트가 다른 부분에 영향을 미치는지, 오류가 생기지 않았는지 테스트하여 새로운 오류가 발생하지 않음을 보증하기 위해 반복 테스트함
사용자 인터페이스 - A
사용자 인터페이스(UI, User Interface)
- 사용자 인터페이스는 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어를 의미함
- 사용자 인터페이스의 세 가지 분야
- 정보 제공과 전달을 위한 물리적 제어에 관한 분야
- 콘텐츠의 상세적인 표현과 전체적인 구성에 관한 분야
- 모든 사용자가 편리하고 간편하게 사용하도록 하는 기능에 관한 분야
사용자 인터페이스의 구분
- CLI(Command Line Interface)
- 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스
- GUI(Graphical User Interface)
- 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스
- NUI(Natural User Interface)
- 사용자의 말이나 행동으로 기기를 조작하는 인터페이스
사용자 인터페이스의 기본 원칙
- 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야함
- 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함
- 학습성 : 누구나 쉽게 배우고 익힐 수 있어야함
- 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야함
소프트웨어 버전 등록 - A
소프트웨어 패키징의 형상관리
- 형상관리(SCM: Software Configuration Management)는 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동이다.
- 형상 관리는 소프트웨어 개발의 전 단계에 적용되는 활동이며, 유지보수 단계에서도 수행된다.
- 형상 관리는 소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적으로 한다.
형상 관리 기능
- 형상 식별
- 버전 제어
- 형상 통제
- 형상 감사
- 형상 기록
소프트웨어의 버전 등록 관련 주요 기능
- 저장소(Repository)
- 가져오기(Import)
- 체크아웃(Check-Out)
- 체크인(Check-In)
- 커밋(Commit)
- 동기화(Update)
소프트웨어 버전 등록 과정
- 가져오기(Import)
- 인출(Check-out)
- 예치(Commit)
- 동기화(Update)
- 차이(Diff)
소프트웨어 버전 관리 도구 - B
공유 폴더 방식
- 공유 폴더 방식은 버전 관리 자료가 지역 컴퓨터의 공유 폴더에 저장되어 관리 되는 방식이다.
- 파일을 잘못 복사하거나 다른 위치로 복사하는 것에 대비하기 위해 파일의 변경 사항을 데이터베이스에 기록하여 관리한다.
- 종류 : SCCS, RCS, PVCS, QVCS 등
클라이언트/서버 방식
- 클라이언트/서버 방식은 버전 관리 자료가 서버에 저장되어 관리 되는 방식이다.
- 모든 버전 관리는 서버에서 수행된다.
- 서버에 문제가 생기면 서버가 복구되기 전까지 다른 개발자와의 협업 및 버전 관리 작업은 중단된다.
- 종류 : CVS, SVN, CVSNT, Clear Case, CMVC, Perforce 등
분산 저장소 방식
- 분산 저장소 방식은 버전 관리 자료가 하나의 원격 저장소와 분산된 개발자 PC의 지역 저장소에 함께 저장되어 관리되는 방식이다.
- 지역 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 지역 저장소의 자료를 이용하여 작업할 수 있다.
- 종류 : Git, GNU arch, DCVS, Bazaar, Mercurial, Team Ware, Bitkeeper, Plastic SCM 등
Subversion(서브버전, SVN)
- Subversion은 CVS를 개선한 것으로, 아파치 소프트웨어 재단에서 2000년에 발표하였다.
- 클라이언트/서버 구조로, 서버(저장소, Repository)에는 최신 버전의 파일들과 변경 사항이 관리된다.
- 소스가 오픈되어 있어 무료로 사용할 수 있다.
- CVS의 단점이었던 파일이나 디렉터리의 이름 변경, 이동 등이 가능하다
- Subversion의 주요 명령어
- add, commit, update, checkout, lock/unlock, import, export, info, diff, merge
Git(깃)
- Git은 리누스 토발즈(Linus Torvalds)가 2005년 리눅스 커널 개발에 사용할 관리 도구로 개발한 이후 주니오 하마노(Junio Hanmano)에 의해 유지 보수 되고 있다.
- Git은 분산 버전 관리 시스템으로 2개의 저장소, 즉 지역 저장소와 원격 저장소*가 존재한다.
- 버전 관리가 지역 저장소에서 진행되므로 버전 관리가 신속하게 처리되고, 원격 저장소나 네트워크에 문제가 있어도 작업이 가능하다.
- Git의 중 명령어
- add, commit, branch, checkout, merge, init, remote add, push, fetch, clone, fork
네트워크 관련 신기술 -B (2022-02-24)
네트워크 관련 신기술
- IoT(Internet of Things, 사물 인터넷)
- 정보 통신 기술을 기반으로 실세계와 가상 세계의 다양한 사물들을 인터넷으로 서로 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술
- M2M(Machine to Machine, 사물 통신)
- 무선 통신을 이용한 기계와 기계 사이의 통신
- 변압기 원격 감시, 전기, 가스 등의 원격 검침, 무선 신용카드 조회기, 무선 보안 단말기, 버스 운행 시스템, 위치 추적 시스템, 시설물 관리 등을 무선으로 통합하여 상호 작용하는 통신
- 모바일 컴퓨팅(Mobile Computing)
- 휴대형 기기로 이동하면서 자유로이 네트워크에 접속하여 업무를 처리할 수 있는 환경
- 클라우드 컴퓨팅(Cloud Computing)
- 각종 컴퓨팅 자원을 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷을 통해 컴퓨터 작업을 수행할 수 있는 가상화된 환경
- 그리드 컴퓨팅(Grid Computing)
- 지리적으로 분산되어 있는 컴퓨터를 초고속 인터넷망으로 연결하여 공유함으로써 하나의 고성능 컴퓨터처럼 활용하는 기술
- 모바일 클라우드 컴퓨팅(MCC; Mobile Cloud Computing)
- 소비자와 소비자의 파트너가 클라우드 서비스를 이용하여 모바일 기기로 클라우드 컴퓨팅 인프라를 구성하여 여러가지 정보와 자원을 공유하는 ICT 기술
- 인터클라우드 컴퓨팅(Inter-Cloud Computing)
- 각기 다른 클라우드 서비스를 연동하거나 컴퓨팅 자원의 동적 할당이 가능하도록 여러 클라우드 서비스 제공자들이 제공하는 클라우드 서비스나 자원을 연결하는 기술
- 메시 네트워크(Mesh Network)
- 차세대 이동통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술
- 대규모 디바이스의 네트워크 생성에 최적화 되어 있음
- 와이선(Wi-SUN)
- 스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷(IoT)서비스를 위한 저전력 장거리(LPWA: Low-Power Wide Area) 통신 기술
- NDN(Named Data Networking)
- 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술
- 클라이언트와 서버가 패킷의 헤더에 내장되어 있는 주소 정보를 이용하여 연결되던 기존의 IP(Internet Protocol) 망을 대체할 새로운 인터넷 아키텍처로 떠오르고 있음
- NGN(Next Generation Network, 차세대 통신망)
- ITU-T에서 개발하고 있는 유선망 기반의 차세대 통신망
- 유선망뿐만 아니라 이동 사용자를 목표로 하며, 이동통신에서 제공하는 완전한 이동성(Full Mobility) 제공을 목표로 개발되고 있음
Leave a comment