분류 전체보기 681

[ISTQB 실러버스] 2장: 소프트웨어 개발수명주기(SDLC)와 테스팅

2.1. 소프트웨어 개발수명주기(SDLC)에서의 테스팅SDLC는 소프트웨어 개발 과정의 단계와 활동을 정의하는 모델이다. 대표적인 예로는 폭포수 모델, V모델 같은 순차적 모델, 나선형 모델 같은 반복적 모델, 그리고 점진적 개발 모델 등이 있다. 각 SDLC 모델에 따라 테스트 활동의 시기와 방법이 달라지기 때문에, 테스트 전략도 이에 맞게 조정되어야 한다.2.1.1. 소프트웨어 개발수명주기(SDLC)가 테스팅에 미치는 영향선택한 SDLC 모델은 다음 요소에 영향을 준다.테스트 활동의 범위와 시기테스트 문서화 수준테스트 기법과 테스트 접근 방식테스트 자동화 범위테스터의 역할과 책임예를 들어 순차적 개발 모델에서는 개발 후반에 실행 코드가 나오기 때문에 동적 테스트는 후반에 집중되는 경향이 있다. 2...

QA 2026.03.10

[ISTQB 실러버스] 1장: 테스팅의 기초

실러버스 1장 핵심 요약 GOGO ~ 테스팅이란 무엇인가?소프트웨어 테스팅은 결함을 발견하고 소프트웨어의 품질을 평가하여 장애 위험을 줄이기 위한 활동이다.테스트 대상이 되는 소프트웨어 산출물을 테스트 대상(Test Object) 이라고 한다.테스팅에 대한 핵심 개념테스팅은 단순히 프로그램을 실행하는 것만 의미하지 않는다.요구사항을 충족하는지 확인(Verification) 과사용자의 실제 필요를 만족하는지 확인(Validation) 을 모두 포함한다.테스팅은 두 가지 방식으로 수행된다.동적 테스팅: 소프트웨어를 실행하여 테스트정적 테스팅: 실행하지 않고 리뷰나 정적 분석으로 검토또한 테스트 계획, 관리, 모니터링 등 관리 활동도 포함된다. 소프트웨어 테스팅은 결함을 발견하고 품질을 평가하기 위해 수행하..

QA 2026.03.09

[MySQL] 재귀 쿼리 (RECURSIVE CTE)

재귀 쿼리는 자기 자신을 참조하여 쿼리를 실행하는 것이다.영어로 Recursive CTE이다. CTE란?Common Table Expression의 약자WITH 문을 사용하여 만든 임시 테이블하나의 쿼리문 범위 내에서만 존재하며, 여러번 참조될 수 있는 일회성 테이블재사용이 필요한 서브 쿼리를 간결하게 표현할 때 유용 [CTE 기본 구조]WITH CTE_이름 AS ( -- CTE 내부의 쿼리 정의 SELECT ...)SELECT * FROM CTE_이름   재귀적(Recursive) CTERecursive CTE(재귀 공통 테이블 표현식)는 재귀적으로 데이터를 처리할 수 있는 CTE의 확장 버전주로 계층적 데이터(예: 조직 구조, 트리 구조)를 탐색하거나, 반복적인 계산이 필요한 경우에 사용 ..

DB 2024.12.17

[Linux] 소프트웨어 관리 명령어 정리(파일 압축, RPM, YUM)

파일 압축과 풀기 tar(Tape ARchiver)tar [파일과 디렉터리들] … : 하나의 파일로 묶기tar tvf [test.tar]: 묶여 있는 파일 미리보기tar xvf [test.tar] -C /tmp : test.tar를 /tmp에 풀기x: 파일 풀어줌, C: 풀릴 위치 지정rm -rf test.tar: tar 파일 제거star 명령어: 복사/이동 시 보안 콘텍스트 유지되게 원래 속성 유지GNU zipgzip [/root/install.log]: 파일 압축gzip -d [/root/install.log.gz]: 압축 파일 풀기gzip -r [/root]: 해당 디렉터리의 모든 파일/디렉터리 각각 압축 bzip2: gzip 보다 압축률 좋음   RPM RedHat Package Manager: ..

DEVOPS/LINUX 2024.07.30

[Linux] 관리자 명령어 - 파일시스템 보안

파일시스템 보안 명령어 정리 chroot: 어느 디렉터리를 가상의 최상위 / 디렉터리로 만들어 cd .. 했을 때 더이상 상위 디렉터리로 이동 못하게chcon: 파일 B의 보안설정이 파일 A의 보안설정과 동일하게 설정되도록chattr: 속성 변경+i : 파일 속성 변경, 추가, 삭제 등 불가lsattr: 속성 보기SetUID: 파일의 소유자 권한으로 파일을 실행chmod 명령어 뒤에 4xxx를 붙이면 설정됨setGID: 파일을 소유한 그룹의 권한으로 파일을 실행sticky bit: 이 비트가 설정된 디렉토리는 공용 디렉토리가 되지만, 파일을 소유한 사용자만 그 파일을 삭제하거나 수정할 수 있음IPC(Inter-Process Communication): 서로 다른 프로세스 간에 데이터를 주고받거나 통신을 ..

DEVOPS/LINUX 2024.07.30

[MySQL] 프로시저, 이벤트 스케줄러 만들기

프로시저란?어떠한 동작을 일괄 처리하기 위한 쿼리문의 집합으로, MySQL에서의 메서드라고 보면 된다. 함수처럼 매개변수를 받고 그에 따라 결과를 나타내는 것이 가능하다.SQL 명령의 묶음으로, 프로시저로 묶인 SQL 문 질의들은 처리될 때 하나의 쿼리로 해석된다.  프로시저 사용법DELIMITER //CREATE PROCEDURE 프로시저명(매개변수)BEGIN SQL 문1; SQL 문2;END//DELIMITER ; "DELIMITER //" 을 선언해서 기존 구분 문자인 ";" 에서 "//"로 바꿔준다.CREATE PROCEDURE로 프로시저를 등록한다.프로시저 등록을 마친 후 "DELIMITER ;"을 통해 다시 구분 문자를 ";"으로 바꿔준다. call 프로시..

DB 2024.06.01

[JAVA] 자바 메모리 구조와 static

자바 메모리 구조 메서드 영역: 클래스 정보 보관스택 영역: 실제 프로그램이 실행되는 영역힙 영역: 객체(인스턴스가 생성되는 영역) (new 키워드) 메서드 영역클래스 정보를 보관하는 영역 클래스 정보 - 클래스, 메서드 등의 실행 코드 static 영역 - static 변수 보관상수 풀 - 상수 관리 스택 영역실제 프로그램이 실행되는 영역 지역 변수, 중간 연산 결과, 메서드 호출 정보 등 힙 영역인스턴스가 생성되는 영역 객체 배열가비지 컬렉션이 이뤄지는 영역  같은 클래스에서 생성된 객체여도 인스턴스 내부 변수 값은 다를 수 있지만 메서드는 공통된 영역을 공유한다.따라서 메서드는 메서드 영역에서 공통으로 관리되고 실행된다. 멤버 변수(필드)의 종류 인스턴스 변수static이 붙지 않은 멤버 변수인스턴..

BACK/JAVA 2024.05.16

[Spring] AOP를 이용한 Request 로깅

AOP 개념에 관한 이전 포스팅https://yeoncoding.tistory.com/732 [Spring] AOP란Spring AOP 관점 지향 프로그래밍(AOP-Aspect Oriented Programming) AOP는 관점을 기준으로 묶어 개발하는 방식을 말한다. 관점(aspect)이란, 어떤 기능을 구현할 때 그 기능을 핵심 기능과 부가 기능으로 구분yeoncoding.tistory.com  AOP(Aspect-Oriented Programming)를 이용하여 HTTP 요청과 응답을 로깅했습니다. package contest.collectingbox.global.config;import jakarta.servlet.http.HttpServletRequest;import lombok.extern...

BACK/SPRING 2024.05.05

[Spring] @ExceptionHandler를 사용해 예외 처리하기

스프링은 API 예외 처리 문제를 해결하기 위해 @ExceptionHandler를 사용한 편리한 예외 처리 기능을 제공한다. 다음은 진행하고 있는 프로젝트에 @ExceptionHandler를 적용한 코드이다. @Getter @AllArgsConstructor public enum ErrorCode { // 400 NOT_SELECTED_TAG(BAD_REQUEST, "수거함 태그는 반드시 한 개 이상 설정해야 합니다."); // 404 // 409 // 500 private final HttpStatus httpStatus; private final String message; } enum 클래스를 만들어 상태 코드와 메세지를 담은 열거형을 정의한다. @Getter public class Collecti..

BACK/SPRING 2024.04.18

[JPA] 객체지향 쿼리 언어 JPQL 기본 문법

기본 문법과 쿼리 API TypedQuery, QueryMember member = new Member();member.setUsername("member1");member.setAge(10);em.persist(member);TypedQuery query1 = em.createQuery("select m from Member m", Member.class);TypedQuery query2 = em.createQuery("select m.username from Member m", String.class);Query query3 = em.createQuery("select m.username, m.age from Member m"); // 타입 정보를 받을 수 없을 때  결과 조회 APIMember si..

BACK/JPA 2024.04.08
반응형