-
블랙박스 테스트 VS 화이트박스 테스트 + 페이징정보처리기사/개념 2024. 5. 19. 20:33
▤ 목차
✔ 블랙박스 테스트(Black Box Test)
⌨ 개념
소프트웨어가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 기능적 테스트(Function Testing)를 말한다.
사용자의 요구사항 명세를 보며 테스트하고 주로 구현된 기능을 테스트한다.
내부 동작 확인 안하고 진행하는 테스트이다.
💻 종류(비오원동경)
✨ 비교 검사 (Comparison Testing)
- 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기법이다.
- 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기법
✨ 오류 예측 검사 (Error Guessing)
- 확인자의 감각이나 과거의 경험으로 테스트하는 기법이다.
- 다른 블랙 박스 테스트 기법으로 찾아낼 수 없는 오류를 찾아내는 보충 검사 기법이다.( 데이터 확인 검사)
✨ 원인-효과 그래프 검사 (Cause-Effect Graphing Testing)
- 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법이다.
✨ 동치 분할 검사 (Equivalence Partitioning Testing)
- 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 기법이다.
- 동등 분할 기법이라고도 한다.
✨ 경계값 분석 (Boundary Value Analysis)
- 입력 자료에만 치중한 동치 분할 기법을 보완하기 위한 기법이다.
- 입력 조건의 경계값에서 오류가 발생될 확률이 높다는 점을 이용하여 입력 조건의 경계값을 테스트 케이스로 선정하는 기법이다.
✔ 화이트박스 테스트(White Box Test)
⌨ 개념
- 소프트웨어 내부 구조와 동작을 분석하여 테스트를 수행하는 방법을 말한다.
- 논리적인 경로, 조건 분기, 루프 등을 검증하여 프로그램의 완전성과 정확성을 확인한다.
- 주로 소프트웨어 개발자나 테스트 엔지니어가 수행한다.
- 구조적 테스트(Structural Testing)이라고 불린다.
💻 기법 종류
- 경로 분석(Path Testing) : 실행가능한 경로 식별 / 명령문, 결정, 조건 커버리지와 같은 서브 기준을 사용하여 테스트의 완전성을 평가한다.
- 조건/ 결정 테스트(Decision Testing) : 조건문을 테스트하는 기법 / 참과 거짓의 모든 조합에 대해 테스트 케이스를 작성한다. 논리적 오류와 잘못된 조건을 찾아내고, 테스트 커버리지를 향상시킨다.
- 루프 테스트(Loop Testing) : 반복문 테스트를 한다. 종료 조건, 반복 횟수, 반복동안 발생 가능한 오류 등을 고려한 테이스 케이스를 설계한다.
👏 문제
반복조건은 화이트 박스 기법이다.
✔ 페이징
페이징은 컴퓨터 시스템에서 메모리를 관리하는 기법 중 하나이다.
가상 메모리를 물리적인 메모리로 매핑하는 과정을 나타낸다.
🔶개념
- 페이징은 프로그램이 실행될 때 필요한 페이지들을 물리적인 메모리에 적재하는 과정을 말한다.
- 가상 메모리를 일정한 크기의 페이지로 분할하고 물리 메모리에도 동일한 크기의 페이지 프레임을 할당하여 사용한다.
- 페이징을 프로세스의 논리적 주소 공간을 페이지로 나눠 물리 메모리의 프레임에 매핑하는 방식으로 동작한다.
- 페이징 기법을 통해 물리적 메모리는 연속적으로 할당되어 존재할 필요가 없다.
- 비연속적 메모리를 연속적 메모리처럼 만들 수 있다.
🔶 페이지 테이블 (page Table)
- 페이지 테이블은 가상 메모리의 페이지와 물리 메모리의 프레임 간의 매핑 정보를 저장하는 자료구조이다.
- 각각의 프로세스마다 별도의 페이지 테이블이 존재하며 가상 주소를 물리 주소로 변환하는데 사용된다.
- 페이지 테이블은 일반적으로 배열이나 트리 구조로 구현된다.
- 주소 변환을 위해 사용된다.
🔶 페이지 교체 알고리즘 (Page Replacement Algorithm)
- 페이징 기법을 사용할때, 물리 메모리에 공간이 부족할 경우 페이지 교체가 필요하다.
- 페이지 교체 알고리즘은 어떤 페이지를 교체할지 결정하는 방법을 의미한다.
- 대표적인 페이지 교체 알고리즘으로는 FIFO, LRU(Least Recently Used), LFU(Least Frequently Used)등이 있다.
🔸페이징 크기에 따른 장단점
페이징 크기가 작아질 경우 페이징 크기가 커질 경우 장점 - 내부 단편화가 감소
-페이지 교체 오버헤드 감- 페이지 테이블크기 감소
- 외부 단편화 감소단점 - 페이지 테이블 크기 증가
: 페이지 테이블은 페이지당 하나의 항목을 가진다.
즉, 메모리 사용량이 증가할 수 있다.
- 외부 단편화 증가
: 작은 페이지 크기는
외부 단편화를 더 많이 발생시킬 수 있다.- 내부 단편화 증가
-페이지 교체 오버헤드 증가
: 큰 페이지 크기를 사용하면 페이지 교체할때
입출력이 더 많이 발생할 수 있다.
- 페이지 교체 시간 증가🔶 장단점
장점
- 프로세스를 동적으로 메모리에 할당하여 메모리 활용도를 향상시킨다.
- 외부 단편화를 해결하고 다중 프로그래밍 환경에서 메모리 공유를 가능하게 한다.단점
- 페이지 테이블의 관리가 필요하다.
- 페이지 부재가 발생할 경우 추가적인 오버헤드가 발생한다.
- 페이지 교체 알고리즘의 선택에 따라 성능이 달라질 수 있다.'정보처리기사 > 개념' 카테고리의 다른 글
네트워크 기초 : 7계층, 프로토콜, IP (2) 2024.05.19 소프트웨어 개발 방법론 테일러링 (0) 2024.05.18 이진 트리 운행법 (Preorder, Inorder, Postorder) (0) 2024.05.14 5과목 정보시스템 구축관리) 소프트웨어 비용 산정 (0) 2024.05.14 서비스 지향 아키텍처(SOA) (0) 2024.05.14