hljs.initHighlightingOnLoad();

♾️ Computer Science

블랙박스 테스트란 소프트웨어가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 테스트입니다. 소프트웨어 내부 구조나 작동 원리를 모르는 상태에서 동작을 검사하는 방식으로, 기능테스트라고도 하며, 입력값과 출력값만 확인하는 테스트 입니다. 즉, 사용자가 소프트웨어 또는 제품에 대한 요구사항과 결과물이 일치하는 지 확인하기 위한 사용자 관점의 테스트 기법입니다. 1️⃣ 동등 분할 테스트 Equvialence Partitioning Testing = 동치 분할 테스트, 균등 분할 테스트, 동치 클래스 분해 테스트 입력 데이터의 영역을 유사한 도메인 별 유효값, 무효값을 그룹핑하여 대푯값을 TC로 도출하는 테스트 기법 테스트 예상 값을 설정해 놓고, 테스트 결과가 그 값과 비교해서 일치하..
💡 팩토리 메서드란 객체 생성을 공장 클래스로 캡슐화 처리하여 대신 생성하게 하는 생성 디자인 패턴입니다. 자식 클래스들이 팩토리 메서드를 오버라이딩 해 생성될 객체들의 유형을 변경할 수 있도록 하는 패턴입니다. 즉, Client에서 직접 new 연산자로 객체를 생성하지 않고, 제품 객체들을 도맡아 생성하는 공장 클래스를 만들고, 이를 상속하는 공장 클래스 메서드에서 여러가지 제품 객체 생성을 각각 책임지는 것입니다. 팩토리 메소드 패턴은 객체를 만들어내는 공장(Factory 객체)을 만드는 패턴입니다. 어떤 클래스의 인스턴스를 만들지는 미리 정의한 공장 서브 클래스에서 결정합니다. 💡 팩토리 메서드 기본 구조 공장 객체와 제품 객체 간 느슨한 결합 구조로 이루어 집니다. 이와 같은 구조는 객체 간의 결..
💡 비지터 패턴이란 방문자와 방문 공간을 분리해, 방문 공간이 방문자를 맞이할 때 이후 행동을 방문자에게 위임하는 패턴 알고리즘들을 그들이 작동하는 객체로부터 분리(캡슐화) 할 수 있도록 하는 행동 디자인 패턴입니다. "나는 동물원에 간다. 나는 ~를 한다" '나'라는 객체가 '동물원' 이라는 객체를 입력받은 후 동물원에서 무언가 한다는 건 일반적인 OOP 추상화입니다. 반면 비지터 패턴은 "동물원에 내가 갔다. 내가 ~를 하게 한다" '동물원' 이라는 객체가 '나'라는 객체를 입력 받은 후, '나'라는 객체의 행동을 호출하는 것입니다. 이 때 동물원에 대한 정보를 파라미터로 넘겨줍니다. 즉, 사용자는 방문자의 입장이 아니라 방문 공간의 입장에서 먼저 생각해보게 됩니다. 예를 들어 동물원에 있는 사자, ..
💡 옵저버 패턴이란 옵저버들이 관찰하고 있는 대상자의 상태 변화가 있을 때마다 대상자는 직접 목록의 관찰자들에게 통지하고, 관찰자들은 알림을 받아 조치를 취하는 행동 패턴 즉, 어떤 객체의 상태가 변할 때 그와 연관된 객체들에게 알림을 보내는 디자인 패턴입니다. 쉽게 이해하자면 유튜브나 스팸 메일로 비유할 수 있습니다. 유튜브 채널은 발행자(Subject)가 되고, 유튜브 구독자는 관찰자(Observer)가 되는 구조입니다. 만약 시청자에게 채널 정보를 전달한다면 시청자가 시간을 낭비하던지, 채널 주인이 알림을 원하지 않는 고객들에게 전달하며 자원을 낭비하게 될 것입니다. 구독자들은 해당 채널을 구독함으로써 채널에 어떠한 변화가 생기면 바로 연락을 받고 탐지하게 됩니다. 반면, 구독을 해지하거나 하지 않..
💡 브릿지 패턴이란 큰 클래스 또는 밀접하게 관련된 클래스들의 집합을 두 개의 개별 계층 구조(추상화 및 구현)로 나눈 후 각각 독립적으로 개발할 수 있도록 하는 구조 디자인 패턴입니다. 브릿지 패턴은 상속에서 객체의 합성으로 전환하여 위 문제를 해결합니다. 즉, 차원 중 하나를 별도의 클래스 계층 구조로 추출하여 원래 클래스들이 한 클래스 내에서 모든 상태와 행동들을 갖는 대신 새 계층 구조의 객체를 참조하도록 하는 것입니다. 여기서 모양 클래스는 색상 객체들 중 하나를 가리키는 참조 필드를 받습니다. 이제 모양은 연결된 색상 객체에 모든 색상 관련 작업을 위임할 수 있습니다. 이 참조는 이제부터 모양 및 색상 클래스들 사이의 Bridge(다리) 역할을 하게 됩니다. 이제 새 색상들을 추가할 때 모양 ..
nerowiki
'♾️ Computer Science' 카테고리의 글 목록 (3 Page)