본문 바로가기

분류 전체보기51

화이트박스 테스트의 검증 기준 (커버리지) 화이트박스 테스트 (White Box Test)화이트박스 테스트는 모듈의 코드를 열어서 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법이다. 이와 반대로 블랙박스 테스트는 코드를 보지 않고 프로그램의 구조와 상관 없이 각 기능들이 작동하는지만 확인하는 테스트이다.  화이트박스 테스트 종류1. 기초 경로 검사2. 제어 구조 검사 - 조건 검사 - 루프 검사 - 데이터 흐름 검사  화이트박스 테스트 검증 기준 (커버리지)문장(구문) 검증 기준코드의 모든 문장이 최소 한번은 수행되도록 구성하는 검증 기준분기(결정) 검증 기준코드의 조건식(전체)이 참/거짓인 경우가 한 번 이상 수행되도록 구성조건 검증 기준전체 조건식과 상관없이 개별 조건이 참/거짓인 경우가 한.. 2024. 4. 24.
[AI 생성 글] 이스라엘 - 이란 갈등 이 글은 2024년 4월 19일 Copilot에 [ 현재 이스라엘과 이란 사이의 갈등을 블로그 형식으로 소개하는 글을 적어줘] 라고 적어서 나온 답변이다. 이스라엘과 이란 갈등: 현재 상황과 전망 중동 지역의 정세는 늘 세계의 큰 관심사 중 하나입니다. 특히 이스라엘과 이란 사이의 갈등은 그 강도가 날로 심화되고 있으며, 최근 이스라엘의 공습으로 인해 두 나라 사이의 긴장은 최고조에 달했습니다. 1. 최근 갈등의 배경 이스라엘과 이란의 갈등은 수십 년에 걸친 역사를 가지고 있으며, 이 두 국가는 각각 서로를 위협하는 존재로 인식하고 있습니다. 최근 이스라엘의 공습은 시리아 다마스쿠스에 위치한 이란의 컨설테이트를 타격했고, 이 공습으로 이란의 중요 군사 지휘관인 모하마드 레자 자헤디를 포함한 여러 인물이 .. 2024. 4. 19.
디자인 패턴 디자인 패턴디자인 패턴은 각 모듈의 세분화된 역할이나 모듈들 간 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제이다.GoF유형에 따라 생성 패턴(5), 구조 패턴(7), 행위 패턴(11)으로 구분된다. 생성 패턴객체의 생성과 참조 과정을 캡슐화하여 객체가 생성되거나 변경되어도 프로그램의 구조에 영향을 크게 받지 않도록 한다.추상 팩토리Abstract Factory- 구체적인 클래스에 의존하지 않고 인터페이스를 통해 서로 연관, 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현함- 연관 서브 클래스를 묶어 한꺼번에 교체 가능함빌더Builder- 작게 분리된 인스턴스를 건축하듯 조합하여 객체를 생성함- 객체의 .. 2024. 4. 18.
관계대수, 관계해석 관계대수 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는가를 기술하는 절차적인 언어 구분 기호 이름 설명 순수관계 연산자 σ 셀렉션 selection 릴레이션에서 주어진 조건을 만족하는 튜플을 결과로 나타내는 연산 π 프로젝션 projection 릴레이션에서 주어진 속성들의 값을 추출하여 새 릴레이션을 만드는 연산 ⋈ 조인 join 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산 ÷ 디비전 division 릴레이션 A, B가 있을 때 릴레이션 B의 조건에 맞는 것들만 릴레이션 A에서 분리하여 프로젝션을 하는 연산 일반집합 연산자 ∪ 합집합 union 두 릴레이션의 합집합 (중복 튜플은 제거) ∩ 교집합 intersect 두 릴레이션의 교.. 2024. 4. 16.
[Spring MVC] Ajax로 게시판 만들기 일반적인 스프링 게시판은 @GetMapping 그리고 ModelAttribute로 리스트와 페이징을 처리한다. 그래서 게시글을 검색하거나 목록 페이징를 넘기면 웹페이지가 새로 로딩된다. 하지만 Ajax방식으로 페이징을 처리하면 새 로딩 없이 게시글 목록을 갱신할 수 있다. View에서 Ajax 넘겨주는 function 작성 우선 Controller에서 게시판 리스트를 처음 출력해주는 부분은 기존과 동일하게 Get방식으로 만든다. @Autowired private NoticeService service; @GetMapping("/notice/list") public String viewList(Model model, @SessionAttribute(name = "loginMember", required =.. 2024. 4. 10.
[MyBatis] mapper.xml의 parameterType에 인자 2개 넣기 parameterType MyBatis에서 SQL문에 들어가는 인자의 데이터 형태를 반드시 명시해 줘야 하며, 이는 parameterType로 설정한다. 숫자면 int, 문자면 String 등 을 명시해야 Spring이 제대로 작동한다. 만약 여러 개의 인자를 넣고 싶다면, 해당 인자들의 집합을 Java 객체 클래스로 따로 선언하여 사용하는 것이 효율적이다. 예를 들어 회원정보를 저장할 때 Member객체를 생성하여 insert문에 보내주면 된다. INSERT INTO MEMBER ( mNO, ID, PASSWORD, ROLE, NAME, STATUS, ENROLL_DATE, MODIFY_DATE ) VALUES( 0, #{id}, #{password}, DEFAULT, #{name}, DEFAULT, .. 2024. 4. 9.
Spring MVC Project 회원가입 프로세스 회원가입 프로세스 예시 1. Client가 View에서 회원가입 요청 Client에서 View의 JSP페이지에 회원가입 양식을 작성하게 제출 버튼을 누르게 되면, 해당 Form의 데이터가 전송되어 회원가입 요청이 전달된다. 해당 예시에서 JSP파일의 코드를 보면, 로 설계했기에 "member/enroll"로 "post"방식으로 요청이 간다. input코드들의 name에 따라 데이터가 변수이름을 갖고 전달이 되는데, 아이디는 name="id", 비밀번호는 name="password", 이름은 name="name"의 변수명을 가지게 된다. 버튼은 button type="submit" 으로 타입을 제출로 설정했기에 누르면 입력된 데이터로 요청을 제출하는 기능을 가진다. 아이디 비밀번호 이름 Create an .. 2024. 4. 4.
Spring MVC Project 로그인 프로세스 로그인 프로세스 예시 1. Client가 View에서 아이디-비밀번호 제출 사용자가 아이디와 비밀번호를 제출하게 되면, 해당 제출 form의 데이터가 전송된다. 이 때 요청에 포함된 데이터로는 아이디, 비밀번호, form의 action 그리고 method가 있다. 이번 예시에서는 다음과 같은 from이 사용되어, "/login"으로 post방식으로 아이디와 비밀번호 데이터를 보내게 된다. 이에 "/login"의 post방식이 매핑된 controller부분으로 요청이 전해지게 된다. 2. Controller로 요청 전달 이번 예시에서 controller.java가 다음과 같은 처리를 하도록 코딩되었다. @PostMapping("/login") // POST임을 알리는 어노테이션 public String l.. 2024. 4. 3.
Spring MVC Project의 구조 Spring Framework (Spring MVC Project) 구조 스프링 프레임워크 프로젝트(Maven)을 만들 때 사용되는 구조를 간단하게 표현하면 다음 그림과 같다. Client 요청을 처리하는 프로세스 Client가 URL로 View에 접근하여 정보를 요청 View -> Dispatcher로 요청 전달 -> HandlerMapping 해당 요청을 매핑한 Controller가 있는지 검색 -> Controller로 요청 전달, 처리할 것을 요구 Controller에서 요청을 처리. 처리과정에서 DB접근이 필요하다면 -> Service의 메소드 호출 Service -> Mapper의 메소드 호출, 매핑된 테이블/컬럼/속성/SQL구문에 접근 Mapper -> DB로 SQL구문 실행 DB -> Ma.. 2024. 4. 2.