IT/IT 지식

알아두면 좋은 IT 지식 11 - 테스트 케이스, 테스트 시나리오, 테스트 오라클

new1life 2022. 7. 13. 17:51

테스트 케이스

구현된 소프트웨어가 사용자의 요구사항을 정확하게 지켜서 만든 것인지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서입니다.

테스트 시나리오

테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합을 말합니다.


테스트 오라클

테스트의 결과가 참인지 거짓인지를 판단하기 위해서, 미리 정해 둔 참값을 입력하여 비교하는 기법 및 활동입니다.

종류에는 참 테스트 오라클, 샘플링 테스트 오라클, 휴리스틱 테스트 오라클, 일관성 검사가 있습니다.

 

빌드 자동화 도구
빌드를 포함하여 테스트도 하고, 배포를 자동화할 수 있게 도와주는 도구입니다.

Ant, Make, Maven, Gradle, Jenkins 등이 있습니다.

Jenkins
JAVA 기반의 오픈소스 형태로, 서블릿 컨테이너에서 실행되는 서버 기반 도구입니다. 친숙하게 Web GUI 제공하며, 분산 빌드나 테스트가 가능합니다.


Gradle

Groovy를 기반으로 한 오픈 소스 형태이며, 안드로이드 앱 개발 환경에서 사용합니다. 실시할 처리 명령들을 모아서 태스크(Task)로 만들고, 태스크 단위로 실행합니다.

 

클린 코드 작성 원칙
가독성 : 누구라고 코드를 쉽게 읽을 수 있도록 작성한다는 원칙입니다. 코드 작성 시 이해하기 쉬운 용어를 사용하거나 들여 쓰기 기능 등을 사용해서 읽기 좋게 하는 것입니다.
단순성 : 코드를 간단하게 작성하라는 것입니다. 한 번에 한 가지씩 처리하도록 코드를 작성하고, 클래스, 메서드, 함수 등을 최소 단위로 분리합니다.
의존성 배제 : 코드가 다른 모듈에 미치는 영향을 최소화하고, 코드가 바뀌더라도 다른 부분에 영향이 없도록 작성해야 합니다.
중복성 최소화 : 코드의 중복을 최소화합니다. 중복된 코드는 삭제하고 공통된 코드를 사용합니다.
추상화 : 상위(부모, 슈퍼) 클래스, 메서드, 함수에서는 간단하게 애플리케이션의 특성을 담아내고, 상세 내용은 하위(자식, 서브) 클래스에서 구현하는 것을 말합니다.

 

데이터 모델

현실 세계의 정보를 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델을 말합니다.

데이터 모델 구성요소는 논리적 데이터 구조, 연산, 제약 조건이 있습니다.
데이터 모델 절차는 개념적 데이터 모델 -> 논리적 데이터 모델 -> 물리적 데이터 모델입니다.

 

php 연산자

@  : 에러 제어 연산자
< > : 관계 연산자
=== : 관계 연산자

 

DAS(Direct Attached Storage)

하드디스크와 같은 데이터 저장장치를 직접 연결하는 방식, 저장장치와 호스트 사이에 네트워크 없이, 직접 연결하는 방식으로 구성된 것을 말합니다. NAS(Network Attached Storage)는 서버와 저장장치가 네트워크로 연결된 저장장치를 말합니다.

 

SREM(Software Requirements Engineering Methodology)

TRW우주 국방 시스템 그룹에 의해 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발한 것으로, RSL과 REVS를 사용하는 자동화 도구입니다.


PSL/PSA

미시간 대학에서 개발한 것으로 PSL과 PSA를 사용하는 자동화 도구입니다.

 

HIPO(Hierarchy Input Process Output)

하향식 소프트웨어 개발을 위한 문서화 도구입니다.

 

SADT(Structure Analysis and Design Technique)

Soft Tech에서 만든 것으로 구조적 요구 분석을 위해 블록 다이어그램을 적용한 자동화 도구입니다.

 

접근통제 기술 - MAC/ DAC/ RBAC
MAC:강제 (Mandatory) 접근통제
접근통제 권한은 시스템이 지정하고, 주체와 객체의 등급을 비교하여 권한을 부여합니다.
DAC:임의 (Discretionary) 접근통제
접근통제 권한은 데이터 소유자가 지정 및 제어하고, 데이터에 접근하는 사용자의 신원에 따라 권한을 부여합니다.
또한, 부여된 권한을 또 다른 사용자에게 허가하는 것이 가능합니다.
RBAC:역할 기반 (Role Based) 접근통제
접근통제 권한은 중앙 관리자가 지정하고, 사용자의 역할에 따라 권한을 줍니다. 임의 + 강제 접근통제의 단점을 보완한 것입니다. 다중 프로그래밍 환경에 최적화.

 

CBD

컴포넌트 기반 개발을 말합니다. 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 다시 조립하여 새로운 응용 프로그램을 만드는 소프트웨어 개발 방법론입니다. 기존에 있었던 것들을 활용해서 만들기 때문에 생산성 향상, 확장성 용이, 재사용의 특징이 있습니다.

 

소프트웨어 정의 데이터 센터
데이터 센터의 모든 자원을 가상화합니다. 다양한 소프트웨어 정의 기술이 사용되며, 유연하게 제어하는 것이 가능하고, 비용도 절감하고 특히 운영이 간편합니다.

컴퓨팅, 네트워킹, 스토리지, 관리 등을 모두 소프트웨어로 정의하고, 하드웨어와 독립적입니다. 사람의 개입 없이 소프트웨어 조작만으로 자동으로 제어하고 관리합니다.

 

NS(Nassi-Schneiderman) chart

논리의 기술에 중점을 둔 도형식 표현 방법입니다. 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현한다.

직사각형을 포개어 가면서 논리적인 제어구조로 흐름을 표현하고, 조건이 여러 개 있는 곳의 처리를 시각적으로 정확하게 식별하는 것에 적합하다.