요구사항 유형
2021년 1차
문제. 다음은 요구사항의 분류에 대한 설명이다. 괄호 ( ) 안에 들어갈 요구사항의 유형에 대해서 쓰시오.
( 1. ) 요구사항은 시스템이 제공하는 기능, 서비스에 대한 요구사항이다.
( 2. ) 요구사항은 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항이다.
정답
1. 기능적
2. 비기능적
관련 내용
요구사항 유형
기능적 요구사항 | 실제 시스템 수행에 필요한 기능 관련 요구사항 ex. 금융 -> 조회/인출/입금/송금 등 |
비기능적 요구사항 | 성능, 보안, 품질, 안정성 등 실제 수행에 보조적인 요구사항 ex. 모든 화면이 3초 이내에 사용자에게 보여야한다. |
객체지향 분석 모델
2021년 2회차
문제. 럼바우 데이터 모델링에 관한 설명으로써, 보기에 해당하는 답안을 작성하시오
(1) 입력값이 출력값일 때 ex) 자료 흐름도(DFD)
(2) 시간에 따라 변하는 것 ex) 상태 다이어그램(상태도)
(3) 객체들 간의 관계를 정의 ex) ER다이어그램(ERD)
정답
1. 객체
2. 동적
3. 기능
관련 내용
객체지향 분석 모델
Booch | 미시적, 거시적 개발 프로세스를 모두 사용 | |
Jacobson | Use Case를 사용 | |
Coad-Yourdon | E-R 다이어그램 사용 | |
Wirfs-Brock | 분석과 설계 구분 없으며 고객 명세서 평가 후 설계 작업까지 연속 수행 | |
Rumbaugh | 가장 일반적인 사용, 객체/동적/기능 모델로 구문 | |
객체 모델링 | 객체 다이어그램 | |
동적 모델링 | 상태 다이어그램 | |
기능 모델링 | 자료 흐름도(DFD) |
객체지향 설계 5대 원칙 (SOLID)
2022년 2회차
문제. 다음은 SOLID 원칙에 관한 내용이다. 괄호안에 알맞는 단어를 보기에서 고르시오.
( ) 은/는 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다.
( ) 은/는 큰 덩어리의 인터페이스들을 구체적이고 작은 단위들로 분리시킴으로써 클라이언트들이 꼭 필요한 메서드들만 이용할 수 있게 한다.
예를 들어 하나의 복합기에 프린터와 복사기, 팩스 메서드가 있는데 이 세가지 메서드는 같은 파일에 존재하므로 프린터 로직만 바뀌어도 복사기와 팩스도 재컴파일을 해야한다.
그러므로 ( ) 을/를 적용하여 로직이 바뀌어도 다른 메서드는 영향을 받지 않도록 해야한다.
정답
ISP
관련 내용
객체지향 설계 5대 원칙 (SOLID)
단일 책임 원칙 | SRP | 모든 클래스/객체는 하나의 책임만 완전한 캡슐화 |
개방 폐쇄의 원칙 | OCP | 확장은 Open, 수정은 Close |
리스코프 교체 원칙 | LSP | 상위 클래스의 행동 규약을 하위 클래스가 위반하면 안된다 |
인터페이스 분리 원칙 | ISP | 클라이언트가 비사용 메서드에 의존하지 않아야한다. |
의존성 역전 원칙 | DIP | 의존 관계 수립 시 변화하기 어려운 것에 의존해야한다. |
결합도
2024년 2회차
문제. 아래는 소프트웨어 설계에 대한 내용이다. 내용을 읽고 괄호안에 알맞는 답을 작성하시오.
어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해, 제어를 통신하거나 제어 요소를 전달하는 결합도이다.
한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계된 경우에 발생한다.
( ) Coupling
정답
Control (제어)
2021년 3회차
문제. 다음은 Coupling에 대한 설명이다. 설명에 대한 Coupling 종류를 영문으로 작성하시오.
어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어 신호를 이용하여 통신하는 경우의 결합도
하위 모듈에서 상위 모듈로 제어 신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도 현상이 발생
정답
Control (제어)
2021년 1회차
문제. 다음은 결합도에 대한 설명이다. 빈칸에 들어갈 알맞은 용어를 보기에서 찾아 기호로 쓰시오.
( 1. ) 은/는 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
( 2. ) 은/는 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
( 3. ) 은/는 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도
[ 보기 ]
자료 결합도 / 스탬프 결합도 / 제어 결합도 / 공통 결합도 / 내용 결합도 / 외부 결합도
정답
1. 내용 결합도
2. 스탬프 결합도
3. 공통 결합도
관련 내용
결합도
결합도 ▼ → 품질 ▲
내게 공부하라고 하지 마요 제가 스트레스 받자나요
결합도 ▲ 결합도 ▼ |
내용 | 한 모듈이 다른 모듈의 내부 기능 및 자료를 직접 참조/수정 |
공통/공유 | 공유되는 공통 데이터를 여러 모듈이 사용 | |
외부 | 한 모듈에서 선언한 데이터를 외부의 다른 모듈에서 참조 | |
제어 | 한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계 | |
스탬프 | 두 모듈이 동일한 자료 구조(배열, 오브젝트)를 조회 | |
자료 | 모듈 간의 인터페이스가 자료 요소로만 구성 |
응집도
2024년 2차
문제. 아래 내용을 확인하고 보기에서 알맞는 답을 고르시오.
실행 순서가 밀접한 관계를 갖는 기능을 모아 모듈로 구성한다.
한 모듈 내부의 한 기능 요소에 의한 출력 자료가 다음 기능 원소의 입력 자료로서 제공되는 형태이다.
[보기]
ㄱ. 기능적(functional) ㄴ. 우연적(Coincidental) ㄷ. 통신적(Communication) ㄹ. 절차적(Procedural) ㅁ. 시간적(Temporal) ㅂ. 순차적(sequential) ㅅ. 논리적(Logical)
정답
ㅂ
2024년 1차
문제. 다음은 응집도와 관련해서 보기에서 응집도가 높은 순으로 나열하시오.
[보기]
ㄱ. 기능 ㄴ. 교환 ㄷ. 우연 ㄹ. 시간
정답
ㄱ, ㄴ, ㄹ, ㄷ
2021년 2차
문제. 응집도 문제로써, 각 번호에 해당하는 응집도를 쓰시오.
1. 입출력 간 연관성은 없으나, 순서에 따라 수행되는 것
2. 동일한 입력과 출력 사용
3. 하나의 기능에 모두 기어하고 밀접하게 연관되어 있는 것 (그룹화)
정답
1. 절차적
2. 통신적
3. 기능적
관련 내용
응집도
응집도 ▲ → 품질 ▲
우리 논 시절 통닭 순살 기가막혔는데
응집도 ▼ 응집도 ▲ |
우연적 | 각 요소들이 서로 관련 없는 요소로만 구성 |
논리적 | 유사한 성격의 처리 요소들로 하나의 모듈이 형성 | |
시간적 | 특정 시간 내 처리되는 기능을 모아 하나의 모듈로 작성 | |
절차적 | 모듈 내 구성 요소들이 다수 관련 기능을 순차적으로 수행 | |
통신적 | 동일한 입/출력을 사용하여 서로 다른 기능을 수행 | |
순차적 | 모듈 내 출력 데이터를 다음 활동의 입력 데이터로 사용 | |
기능적 | 모듈 내부의 모든 기능 요소가 단일 문제와 연관되어 수행 |
디자인 패턴
2024년 3회차
문제. 다음은 GoF 디자인 패턴과 관련된 문제이다. 괄호안에 알맞는 용어를 작성하시오.
( ) 패턴은 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴이다.
( ) 패턴은 객체들 간의 통신 방법을 정의하고 알고리즘을 캡슐화하여 객체 간의 결합도를 낮춘다.
( ) 패턴은 Chain of Responsibility나 Command 또는 Observer 패턴이 있다.
정답
1. 구조
2. 생성
3. 행위
2024년 2회차
문제. 아래는 디자인 패턴에 관한 설명이다. 아래 설명을 읽고 보기에서 알맞는 용어를 작성하시오.
컬렉션 객체의 내부 구조를 노출하지 않고 순차적으로 접근할 수 있게 하는 패턴이다.
이 패턴은 객체의 내부 표현 방식에 독립적으로 요소에 접근할 수 있도록 해준다
반복 프로세스를 캡슐화하여 클라이언트 코드에서는 컬렉션의 구체적인 구현에 종속되지 않도록 한다.
[보기]
생성패턴 - Singleton, Factory Method, Abstract Factory
구조패턴 - Adapter, Bridge, Composite
행위패턴 - Iterator, Visitor, Observer
정답
Iterator
2024년 1회차
문제. 다음 아래의 내용을 보고 알맞는 용어를 작성하시오.
구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴이다.
연관성이 있는 객체 군이 여러개 있을 경우 이들을 묶어 추상화하고, 어떤 구체적인 상황이 주어지면 팩토리 객체에서 집합으로 묶은 객체 군을 구현화 하는 생성 패턴이다
관련성 있는 여러 종류의 객체를 일관된 방식으로 생성하는 경우에 유용하다.
kit라고도 불린다.
정답
Abstract Factory
2023년 2회차
문제. 다음은 디자인 패턴에 관한 문제이다. 보기에서 알맞는 답을 작성하시오.
( 1 ) 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다.
주로 공통된 객체를 여러개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용한다.
( 2 ) 호스트 객체의 내부 상태에 접근할 수 있는 방법을 제공하여 호스트 객체에 연산을 추가할 수 있도록 한다.
이 패턴은 보통 합성 구조의 원소들과 상호 작용하는 데 사용되며, 기존 코드를 변경하지 않고 새로운 기능을 추가하는 방법이다.
[보기]
생성패턴 - Singleton, Factory Method, Builder
구조패턴 - Adapter, Bridge, Decorator
행위패턴 - Observer, Strategy, Visitor
정답
1. Singleton
2. Visitor
2023년 1회차
문제. 다음은 디자인 패턴에 관한 설명이다. 설명에 내용에 알맞는 답을 고르시오.
- 다른 무언가와 이어지는 인터페이스 역할을 하는 클래스를 의미한다.
- 실제 객체를 호출하면 행위를 중간에 가로채서 다른 동작을 수행하는 객체로 변경한다.
- 객체를 정교하게 제어해야 하거나 객체 참조가 필요한 경우 사용한다.
- 분리된 객체를 위임함으로써 대리 작업을 중간 단계에 삽입할 수도 있으며 분리된 객체를 동적으로 연결함으로써 객체의 실행 시점을 관리할 수도 있다.
정답
proxy
2022년 3회차
문제. 다음은 디자인 패턴에 대한 설명이다. 괄호안에 알맞는 답을 작성하시오.
( 1 )은/는 기능을 처리하는 클래스와 구현을 담당하는 추상 클래스로 구별한다.
구현뿐 아니라 추상화도 독립적 변경이 필요할 때 브리지 패턴을 사용한다.
기존 시스템에 부수적인 새로운 기능들을 지속적으로 추가할 때 사용하면 유용하며,
새로운 인터페이스를 정의하여 기존 프로그램의 변경 없이 기능을 확장할 수 있다.
( 2 )은/는 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달해주는 패턴이다.
일대다 관계를 가지며, 주로 분산된 시스템 간에 이벤트를 생성·발행(Publish)하고, 이를 수신(Subscribe)해야 할 때 이용한다.
정답
1. Bridge
2. Observer
2021년 3회차
문제. 다음 중, 설명에 대한 괄호 ( ) 안에 들어갈 알맞는 보기를 고르시오
( ) 패턴은 객체지향 디자인 패턴이다.
( )는 부모(상위) 클래스에 알려지지 않은 구체 클래스를 생성하는 패턴이며,
자식(하위) 클래스가 어떤 객체를 생성할지를 결정하도록 하는 패턴이기도 하다.
부모(상위) 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로도 사용한다.
정답
Factory method
2021년 2회차
문제. 괄호 ( ) 안에 알맞는 단어를 쓰시오.
디자인 패턴 중에서 ( )패턴은 반복적으로 사용되는 객체들의 상호작용을 패턴화 한 것으로, 클래스나 객체들이 상호작용하는 방법이다. 알고리즘의 패턴에는 Interpreter, Observer, Command 가 있다.
정답
행위
관련 내용
디자인 패턴(GoF)
서브 시스템에 속하는 컴포넌트들과 그 관계를 설계하기 위한 참조 모델
객체 지향 프로그래밍 설계 시 자주 발생하는 문제에 대한 반복적 해결 방법
생성 패턴 | Abstract Factory | 구체적인 클래스에 의존하지 않고, 서로 연관되거나 의존적인 객체들이 조합된 인터페이스 제공 - interface |
Builder | 객체 생성 단계를 캡슐화/분리하여 객체를 조립하여 생성 -Lombok @Builder |
|
Factory Method | 상위 클래스에서 객체 생성 인터페이스를 정의하지만, 인터페이스를 만드는 클래스는 서브 클래스에서 결정하도록 분리 |
|
Prototype | 원본/원형 객체를 복제하는 방식으로 객체를 생성 - new | |
Singleton | 클래스에서 하나의 객체만 생성 가능하며, 해당 객체를 어디서든 참조할 수 있지만 여러 프로세스가 동시에 참조는 불가 | |
구조 패턴 | Adaptor | 비호환 인터페이스에 호환성 부여하도록 변환 |
Bridge | 구현부에서 추상층을 분리 후 독립적으로 변형/확장 가능 | |
Composite | 트리 구조로 부분/전체 계층 표현, 복합/단일 객체를 구분없이 사용 | |
Decorator | 상속 사용없이 객체 간 결합을 통해 객체 기능을 동적으로 추가/확장 | |
Facade | 상위에 인터페이스 구성하여 서브 클래스의 기능을 복잡하게 표현하지 않고 단순한 인터페이스로 구현 | |
Flyweight | 인터페이스를 공유하여 메모리 절약(클래스 경량화) | |
Proxy | 접근이 힘든 객체를 연결하는 인터페이스 역할 (대리 객체 수행) | |
행위 패턴 | Chain of Responsibilty |
처리 가능한 객체가 둘 이상 존재하여 한 객체 내 처리 불가 시 다음 객체로 이관 |
Command | 요청 명령어들을 추상/구체 클래스로 분리 후 단순화/캡슐화 | |
Interpreter | 언어에 문법 표현 정의 | |
Iterator | 접근이 빈번한 객체에 대해 동일 인터페이스 사용 | |
Mediator | 객체들간 복잡한 상호작용을 캡슐화하여 객체로 정의 후 중재 | |
Memento | 객체를 이전의 특정 시점의 상태로 저장하고 복원 (캡슐화 유지) | |
Observer | 한 객체 상태 변화 시 상속되어 있는 객체들에 변화 전달 | |
State | 객체의 상태에 따라 동일한 동작을 다르게 처리 | |
Strategy | 동일 계열 알고리즘을 개별적으로 캡슐화하여 상호 교환 | |
Template Method |
여러 클래스에서 공통 사용 메서드를 상위 클래스에서 정의하고, 하위 클래스마다 다르게 구현해야하는 세부 사항을 개별 구현 |
|
Visitor | 각 클래스 데이터 구조로부터 처리/연산 기능을 분리하여 별도의 클래스를 만들고, 해당 클래스 메서드가 각 클래스를 돌아다니며 특정 작업을 수행 → 객체 구조 변경 X / 새로운 연산 기능만 추가 |
생명주기 V-모델
2023년 2차
문제. 다음 설명에 대한 알맞는 답을 작성하시오.
1.
하향식 테스트 시 상위 모듈은 존재하나 하위 모듈이 없는 경우의 테스트를 위해 임시 제공되는 모듈이다.
특별한 목적의 소프트웨어를 구현하는 것으로 컴포넌트를 개발하거나 테스트할 때 사용된다.
서버-클라이언트 구조에서 서버만 구현된 상태로 테스트를 해보고 싶을때 단순히 값만 넘겨주는 가상의 클라이언트를 만들어서 테스트 할 수 있다.
2.
상향식 테스트 시 상위 모듈 없이 하위 모듈이 존재할 때 하위 모듈 구동 시 자료 입출력을 제어하기 위한 제어 모듈(소프트웨어)이다.
서버-클라이언트 구조에서 클라이언트만 구현된 상태로 테스트를 해보고 싶을때 접속 인증 등의 간단한 기능만 하는 가상의 서버를 만들어서 테스트 할 수 있다.
정답
1. 스텁
2. 드라이버
2022년 2차
문제. 다음 설명에 대한 괄호안에 알맞는 단어를 작성하시오.
1. ( ) 테스트는 하드웨어나 소프트웨어의 개발 단계에서 상용화하기 전에 실시하는 제품 검사 작업. 제품의 결함 여부, 제품으로서의 가치 등을 평가하기 위해 실시한다. 선발된 잠재 고객으로 하여금 일정 기간 무료로 사용하게 한 후에 나타난 여러 가지 오류를 수정, 보완한다. 공식적인 제품으로 발매하기 이전에 최종적으로 실시하는 검사 작업이다.
2. ( ) 테스트는 새로운 제품 개발 과정에서 이루어지는 첫 번째 테스트. 즉, 시제품이 운영되는 동안의 신제품 연구와 개발 과정 단계에서 초기 작동의 결과를 평가하는 수단이며 개발 회사 내부에서 이루어지는 테스트로서 단위 테스트, 구성 테스트, 시스템 테스트 등을 포함한다.
정답
1. 베타
2. 알파
2022년 1차
다음은 V모델에서의 테스트 단계에 대한 설명으로 괄호안에 들어갈 답을 작성하시오.
모듈 설계 <-> ( 1 )
아키텍처 설계 <-> ( 2 )
요구 분석 <-> ( 3 )
요구사항 <-> ( 4 )
정답
1. 단위 테스트
2. 통합 테스트
3. 시스템 테스트
4. 인수 테스트
2021년 3차
문제. 다음은 소프트웨어 통합 테스트에 대한 설명이다. 괄호 ( ) 안에 들어갈 알맞는 답을 작성하시오.
( 1. ) 방식은 이름에서도 알 수 있듯이, 하위 모듈부터 시작하여 상위 모듈로 테스트를 진행하는 방식이며, 이 방식을 사용하기 위해서는 ( 2. )가 필요하다.
( 2. )는 이미 존재하는 하위 모듈과 존재하지 않은 상위 모듈에 대한 인터페이스 역할을 한다.
정답
1. 상향식
2. 테스트 드라이버
2021년 2차
문제. 다음 괄호 안에 알맞은 답안을 작성하시오.
테스트 하네스의 도구 구성 요소 중, 상향식 테스트시, 상위 모듈 역할을 대신하는 테스트 드라이버와 하향식 테스트 시, 하위 모듈 역할을 대신하는 테스트 ( ) 이 있다.
정답
스텁
2021년 1차
다음은 테스트 종류에 대한 설명이다. 빈칸에 들어갈 알맞은 용어를 보기에서 찾아 기호로 쓰시오.
( 1. ) 은/는 개별 모듈, 서브루틴이 정상적으로 실행되는지 확인
( 2. ) 은/는 인터페이스 간 시스템이 정상적으로 실행되는지 확인
[보기] : 시스템 테스트 / 인수 테스트 / 알파 테스트 / 단위 테스트 / 통합 테스트 / 회귀 테스트
정답
1. 단위 테스트
2. 통합 테스트
관련 내용
개발 단계에 따른 애플리케이션 테스트
단위 테스트 | 최소 단위(모듈/컴포넌트) 기반 테스트 | |
통합 테스트 | 하향식 | 깊이 우선 / 넓이 우선 스텁(Stub) |
상향식 | 클러스터(Cluster)와 드라이버(Driver) 사용 | |
시스템 테스트 | 기능적 및 비기능적 테스트 구분 | |
인수 테스트 | 알파 테스트 | 사용자가 개발자와 함께 확인 |
베타 테스트 | 개발자 없이 여러 명의 사용자가 검증 |

개발 단계에 따른 애플리케이션 테스트
2022년 2회차
문제. 다음 설명에 알맞는 테스트 용어를 보기에서 골라 작성하시오.
오류를 제거하거나 수정한 시스템이나 시스템 컴포넌트 또는 프로그램이 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지를 확인하는 일종의 반복 시험이다.
반복적인 시험이 필요한 이유는 오류가 제거·수정되는 상당수의 시스템이 의도치 않았던 오동작이나 새로운 형태의 오류를 일으키기 때문이다.
결국, 수정·변경된 시스템이나 시스템 컴포넌트 또는 프로그램이 명세된 요구 사항을 충족시키는지를 확인하는 시험의 한 형태이다.
정답
Regression
2022년 1차
문제. 다음은 분석도구에 대한 설명으로 보기에 알맞는 답을 작성하시오.
1. 소스 코드의 실행 없이, 코드의 의미를 분석해 결함을 찾아내는 원시적 코드 분석 기법
2. 소스 코드를 실행하여 프로그램 동작이나 반응을 추적하고 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석
정답
1. 정적(static)
2. 동적(dynamic)
관련 내용
애플리케이션 테스트 분류
1. 프로그램 실행 여부
정적 테스트 | 프로그램 실행 X / 명세서, 소스코드만 분석 ex. 동료 검토, 워크 스루, 인스펙션, 코드검사 |
동적 테스트 | 프로그램 실행 후 오류 검사 ex. 화이트/블랙 테스트 |
2. 테스트 기반 테스트
명세 기반 | ex. 동등 분할 / 경계값 분석 (블랙박스) |
구조 기반 | SW 내부 구조 흐름에 따라 ex. 구문 기반 / 결정 기반 / 조건 기반 (화이트 박스) |
경험 기반 | 테스터의 경험을 기반으로 수행 ex. 에러 추정, 체크 리스트, 탐색적 테스팅 |
3. 목적 기반 테스트
회복(Recoery) | 인위적 결험 부여 후 정상으로 회복되는 과정 확인 |
안전(Security) | 외부 불법 침입으로 부터 시스템을 보호할 수 있는지 확인 |
강도(Stress) | 과부하 시 SW 정상 구동 여부 확인 |
성능 | 실시간 성능 및 전체적인 효율성 진단 (응답 시간, 업무 처리량) |
구조 | SW 내부 논리적 경로 및 소스 코드 복잡도 평가 |
회귀(Regression) | 변경 또는 수정된 코드에 새로운 결함이 없음을 확인 |
병행 | 변경 및 기존 SW에 동일한 데이터 입력 후 결과 비교 |
4. 시각(관점) 기반 테스트
검증 | 개발자의 시각에서 제품의 생산 과정 테스트 ex. 단위 / 통합 / 시스템 테스트 |
확인 | 사용자의 시각에서 생산된 제품의 결과 테스트 ex. 인수 테스트 (알파 / 베타) |
블랙박스 테스트
2023년 3차
문제. 다음 설명에 알맞는 답을 보기에서 골라 작성하시오.
시스템이나 시스템 구성요소(component) 또는 소프트웨어 프로그램의 입력값과 출력값이 특정 그룹으로 분류되며, 분류된 그룹내의 값들이 시스템에 의해 동일하게 취급된다는 특성을 이용하여 시험하는 기법
유사한 입력값들이 시스템을 거치면서 유사한 답변이 나온다는 것을 가정하여 테스트
하나의 값은 그 분할 내 모든 값을 대표하는 것으로 간주하는 기법
모든 입력값을 시험할 필요가 없게 하여 시험을 효율적으로 수행하도록 지원
일반적으로 경계값 분석기법(boundary value analysis)과 함께 테스트 케이스 도출하는데 사용
[보기]
ㄱ.Equivalence Partitioning ㄴ.Statement Coverage ㄷ.Boundary Value Analy ㄹ.Branch Coverage
ㅁ.Error Guessing ㅂ.Condition Coverage ㅅ.Cause Effect Graph
정답
ㄱ
2022년 1차
문제. 다음 보기 중에서 블랙박스 테스트 기법을 3가지 골라 작성하시오.
ㄱ.Casuse-Decision Graph ㄴ.Decision Coverage ㄷ.Boundary Value Analysis
ㄹ.Equivalence Partitioning ㅁ.Statement coverage ㅂ.Cause-Effect Graph
ㅅ.Base Path Testing ㅇ.Base Path Coverage ㅈ.Boundary Division Analysis
정답
ㄷ, ㄹ, ㅂ
2021년 3차
다음 중, 설명에 대한 괄호 ( ) 안에 들어갈 알맞는 보기를 고르시오.
( ) 통해 요구사항 명세를 입력 조건과 출력 조건 간의 논리적 관계로 표현하고,
이를 기반으로 테스트케이스를 도출한다.
( )의 ‘원인(causes)’은 입력 조건을 의미하고 ‘결과(effects)’는 입력 조건의 결과를 의미하며,
원인과 결과 간의 논리적 관계를 AND, OR, NOT 같은 boolean 연산자를 사용하여 표현한다.
정답
원인-효과 그래프
2021년 1차
문제. 다음은 블랙박스 기법에 대한 예제이다. 블랙박스 기법 두 가지를 쓰시오.
1. 0 <= x <= 10이면 -1 0 10 11 검사
2. 입력 데이터의 영역을 유사한 도메인별로 유횻값 / 무횻값을 그룹핑하여 나누어서 검사
정답
1. 경계값 분석
2. 동등 분할 테스트
관련 내용
블랙박스 테스트 - ★ 기능 테스트
블랙박스 테스트 종류
동치 분할 검사 Equivalence Partition |
입력 조건에 타당한 입력 자료와 타당하지 않은 입력 자료의 개수를 균등하게 진행 |
경계값 검사 Boundary Value |
입력 조건의 경계값을 테스트 케이스로 선정 |
원인-효과 그래프 검사 Cause-Effect Graphing |
입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석 후 효용성이 높은 테스트 케이스 선정 |
오류 예측 검사 Error Guessing |
과거 경험이나 확인자의 감각으로 테스트 진행 |
비교 검사 Comparison |
여러 버전의 프로그램에 동일한 결과가 출력되는지 확인 |
화이트박스 테스트
2024년 3차
문제. 다음은 테스트 커버리지에 대한 문제이다. 아래 내용에 알맞는 답을 보기에서 골라 작성하시오.
1. 테스트를 통해 프로그램의 모든 문장을 최소한 한 번씩 실행했는지를 측정
2. 프로그램 내의 모든 분기(조건문)의 각 분기를 최소한 한 번씩 실행했는지를 측정
3. 복합 조건 내의 각 개별 조건이 참과 거짓으로 평가되는 경우를 모두 테스트했는지를 측정
[보기]
ㄱ. 조건 ㄴ. 경로 ㄷ. 결정 ㄹ. 분기 ㅁ.함수 ㅂ. 문장 ㅅ. 루프
정답
1. ㅂ
2. ㄹ
3. ㄱ
2024년 1차
문제. 아래는 애플리케이션 테스트 관리에 대한 내용이다. 설명하는 답을 보기에서 골라 작성하시오.
1. 모든 분기와 조건의 조합을 고려하나 모든 조합을 테스트하는 대신에 테스트가 필요한 중요한 조합을 찾아내는데에 중점을 둔다.
2. 특정 조건을 수행할 때 다른 조건과는 상관없이 전체 결과에 영향을 미치는 조건만을 테스트한다.
3. 각각의 파라미터는 적어도 한 번은 최종 결과에 영향을 주어야 한다.
[보기]
ㄱ. 구문 커버리지 ㄴ. 결정 커버리지 ㄷ. 조건 커버리지 ㄹ. 변경 조건/결정 커버리지 ㅁ.다중 조건 커버리지 ㅂ.경로 커버리지 ㅅ.조건/결정 커버리지
정답
ㄹ
2021년 2차
문제. 화이트박스 테스트 검중 중에, 각 번호에 해당하는 단어 선택해주시오.
1. 최소 한번은 모든 문장 수행
2. 결정(Decision) 검증기준이라고도 하며, 조건별 참 / 거짓
3. 2번과 달리 전체 조건식을 무시하며, 조건 상관없이 개별 조건 참 / 거짓
정답
1. 구문 커버리지
2. 결정 커버리지
3. 조건 커버리지
관련 내용
화이트박스 테스트
모듈 안의 내용 직접 볼수 있으며, 내부의 논리적인 모든 경로를 테스트 - ★ 논리적 경로 점검
검증 기준 커버리지
구문 커버리지 Statement |
모든 명령문을 적어도 한 번 수행 |
결정(분기) 커버리지 Branch |
전체 결정문이 적어도 한 번은 참/거짓 결과 수행 |
조건 커버리지 Condition |
결정 명령문 내의 각 개별 조건식이 적어도 한 번은 참/거짓 결과 수행 |
조건/결정 커버리지 Condition/Decision |
전체 조건식뿐만 아니라 개별 조건식도 참 한 번 이상, 거짓 한 번 이상 결과 수행 |
변경 조건/결정 커버리지 MC/DC |
각 개별 조건식이 독립적으로 전체 조건식의 결과에 영향 |
다중 조건 커버리지 Multiple Condition |
결정 포인트 내 모든 개별 조건식의 모든 가능한 논리적 조합을 고려하여 100% 커버리지 보장 |
화이트 박스 테스트 종류
기초 경로 검사 Base Path Testing |
동적 테스트 |
제어 구조 검사 Control Structure Testing |
조건 검사 |
루프 검사 | |
자료 흐름 검사 |
형상 관리
2022년 3차
문제. 다음 보기 중, 형상 관리 항목을 3가지 고르시오.
ㄱ.ATM ㄴ. CVS ㄷ. OLAP ㄹ. DDOS ㅁ. SVN ㅂ. Cyber Kill Chain ㅅ. OLTP ㅇ GIT
정답
ㄴ, ㅁ, ㅇ
관련 내용
소프트웨어 형상 관리 (SCM : Software Configuration Management)
개발 과정에서 SW 변경사항을 관리하기 위해 인련의 활동
★ 형상 관리 도구
CVS | 서버/클라이언트 구성, 다수의 인원이 동시 버전 관리 가능 |
SVN | CVS 개선 툴 / 모든 개발은 trunk 디텍터리에서 수행 |
Git | 서버(원격) 저장소와 개발자(지역) 저장소가 독립적 |
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사, 실기 요약 정리 (6. 기타 용어) (0) | 2025.03.26 |
---|---|
정보처리기사, 실기 요약 정리 (5. 정보보안) (0) | 2025.03.26 |
정보처리기사, 실기 요약 정리 (4. 네트워크) (1) | 2025.03.26 |
정보처리기사, 실기 요약 정리 (3. 운영체제) (0) | 2025.03.20 |
정보처리기사, 실기 요약 정리 (2. 데이터베이스) (0) | 2025.03.20 |