오라클 운영중인 테이블에 Update/Delete/Insert를 대량으로 해야하는 상황이 있는데, Lock 현상을 피하기 위하여 데이터를 PK Level로 Loop Commit 형태로 작업하게 될때 사용하는 스크립트이다.

 가능하다면 대량작업은 정기점검시점에 서비스 사용이 없을때 인덱스까지 정리한뒤 대량의 데이터 변경 작업을 CTAS로 한뒤, 테이블 교체 및 인덱스를 재생성하여 테이블을 깨끗하게 재생성하는 방향으로 작업되는 것이 가장 좋은거 같다.

 PL/SQL 형태와 Merge into 구문으로 작성된 내역으로 대상 테이블과 조건사항만 변경하여 사용이 가능한 상태이다.

 

[1안]

DECLARE 

    CNT NUMBER;
    
    CURSOR C IS
        SELECT  *
        FROM    EMP  
        WHERE   UP.EMP_DATE = TO_DATE('SYSDATE-1','YYYYMMDDHH24MISS');

BEGIN
    CNT := 0;
    
    FOR CUR IN C LOOP

        DELETE  FROM EMP UP
        WHERE   UP.EMPNO = CUR.EMPNO;

        CNT := CNT + 1;
        
        IF (MOD(CNT, 100) = 0) THEN 
            COMMIT;
        END IF;            

    END LOOP;
    
END;
/

[2안]

MERGE
INTO EMP SI 
USING (
          SELECT  *
          FROM    EMP   UP
          WHERE   UP.EMP_DATE = TO_DATE('SYSDATE-1','YYYYMMDDHH24MISS')
        ) TGT
ON ( SI.EMPNO = TGT.EMPNO )

WHEN  MATCHED THEN 
UPDATE
SET     SI.SAL = '0'

DELETE  WHERE 1 = 1 ;

 

# Oracle running table Loop Commit task script

# Script de tarea de confirmación de bucle de tabla en ejecución de Oracle

# オラクル運営しているテーブルLoop Commitジョブスクリプト

# Oracle रनिंग टेबल लूप कमिट स्क्रिप्ट

# Oracle运行表Loop Commit任务脚本

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,
   

1. Oracle Engine,OCR,VOTE 백업 수행

 

1) ocr/vote 백업

백업수행: $ORACLE_HOME/bin/ocrconfig -manualbackup
백업위치확인: $ORACLE_HOME/bin/ocrconfig -showbackup

2) oracle, oragrid 엔진 백업
/oracle, /oragrid 영역 전체를 tar로 묶음

[디렉토리 권한에 문제 발생시]

1) oragrid

# chown -R oragrid:dba $GRID_HOME
# chmod -R 755 $GRID_HOME
-- 이후 정상적인 퍼미션으로 변경
# cd <GRID_HOME>/crs/install/
# ./rootcrs.pl -init

2) oracle

# chown -R oracle:dba $ORACLE_HOME
# chmod -R 755 $ORACLE_HOME
-- 이후 정상적인 퍼미션으로 변경
a) relink all 수행 (oracle user)
$ relink all

3) oraInventory

# chown -R oragrid:dba $oraInventory_home
# $oraInventory_home/orainstRoot.sh

 

2. Oracle Engine,OCR,VOTE 복구 수행

 

0) grid / oracle / oraInventory 압축 해제 

tar xvfp <grid_home> 
tar xvfp <oracle_home> 
tar xvfp <oraInventory>

1) shared volume 확인 (oragrid user)

# $ORACLE_HOME/bin/cluvfyrac.sh comp ssa -n testdb1,testdb2 -s /dev/rhdisksys1

# $ORACLE_HOME/bin/cluvfyrac.sh comp ssa -n testdb1,testdb2 -s /dev/rhdisksys2

2. crs exclusive mode로 open (root user)

# $CRS_HOME/bin/crsctl start crs -excl -nocrs

3. ocr/vote diskgroup 생성 (oragrid user)

$ sqlplus / as sysasm
SQL> alter system set asm_diskstring='/dev/*sys*' scope=memory sid='*';
SQL> create diskgroup ASM_CRS external redundancy disk '/dev/rhdisksys1','/dev/rhdisksys2' attribute COMPATIBLE.ASM' = '11.2';
SQL> exit;

4. crs restore (root user)

# cd $GRID_HOME/cdata/<cluster name>/
# ocrconfig -restore <backup_20190610_111155.ocr>

5. vote disk 재생성 (1번 노드 / root)

# crsctl replace votedisk +ASM_CRS

6. asm spfile 재생성 (1번노드 / asm user)

 - ASM 경로 변경이 없다면 제외해도 됌

[init+ASM1.ora 파일]

*._disable_rebalance_compact=TRUE
*._enable_shared_pool_durations=FALSE 

+ASM2.asm_diskgroups='ASM_REDO','ASM_DATA','ASM_ARCH' #Manual Dismount
+ASM1.asm_diskgroups='ASM_REDO','ASM_DATA','ASM_ARCH' #Manual Dismount
*.diagnostic_dest='/oracle_log'
+ASM1.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testdb1-vip)(PORT=1521))))'
+ASM2.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testdb2-vip)(PORT=1521))))'
*.memory_target=0
*.pga_aggregate_target=419430400
*.sga_max_size=4G
*.sga_target=4294967296*._disable_rebalance_compact=TRUE
*._enable_shared_pool_durations=FALSE
+ASM2.asm_diskgroups='ASM_REDO','ASM_DATA','ASM_ARCH' #Manual Dismount
+ASM1.asm_diskgroups='ASM_REDO','ASM_DATA','ASM_ARCH' #Manual Dismount
*.diagnostic_dest='/oracle_log'
+ASM1.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testdb1-vip)(PORT=1521))))'
+ASM2.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testdb2-vip)(PORT=1521))))'
*.memory_target=0
*.pga_aggregate_target=419430400
*.sga_max_size=4G
*.sga_target=4294967296

$ sqlplus / as sysasm
SQL> create spfile='+ASM_CRS' from pfile='/ora_backup/init+ASM1.ora';

7. crs 재기동 (1번노드 / root)
# crsctl stop crs -f
-- 올리는건 1/2번 노드 양쪽에서 수행
# crsctl start crs

-- 검증
# crsctl check cluster -all
# crsctl query css votedisk

 

# Oracle 11G RAC Engine Backup/Recovery

# Copia de seguridad / recuperación de Oracle 11G RAC Engine

# Oracle 11G RAC引擎备份/恢复

# Oracle 11G RAC Engineバックアップ/リカバリ

# Oracle 11G RAC इंजन बैकअप / रिकवरी

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,
   

1. 대량 데이터 변경 세션에 대하여 KILL 수행 상황 (Oracle)

 - 오라클 DB에서 Insert/Update/Delete 작업을 대량으로 수행하던 도중에 세션을 정리해야하는 상황에서 commit을 할수 없어 session kill을 수행했을 때 해당 오브젝트에 대하여 Rollback이 발생되면서 wait이 걸려 세션이 증가하는 상황이 발생할때가 존재 한다. 이때 해당 세션의 Rollback 상태를 모니터링 해야할때가 존재한다.

- 큰 트랜잭션을 kill 했을 경우 복구하는 과정에서 wait for a undo record 이벤트와 PX Deq: Txn Recovery Start 이벤트가 동시에 대량으로 발생 (FAST_START_PARALLEL_ROLLBACK 파라미터가 TRUE일 경우)

- PARALLEL_ROLLBACK이 과도할 경우에 UNDO SEGMENT 부족현상이 발생될 수 있음

- 조회: select state, count(*) from V$FAST_START_SERVERS group by state;

 

1) INSERT/UPDATE/DELETE 하던 세션이 너무 오래걸려서 SESSION KILL 수행

alter system kill session 'sid,seiral#' immediate;

2) SESSION KILL 수행후, 트렌젝션 모니터링시에 ROLLBACK이 오래걸려서 아래와 같이 SPID로 KILL -9 수행

select     'kill -9 ' || spid
from      v$process
where addr in (select paddr from v$session where status='KILLED' and type != 'BACKGROUND')


2. ROLLBACK 모니터링 방법

 

1) V$SESSION 으로 wait for a undo record 이벤트 모니터링 가능

2) V$FAST_START_TRANSACTIONS 뷰로 예측 (.GV$FAST_START_TRANSACTIONS)

SELECT
         usn
       , state
       , undoblockstotal "Total"
       , undoblocksdone "Done"
       , undoblockstotal-undoblocksdone "ToDo"
       , DECODE(cputime,0,'unknown',SYSDATE+(((undoblockstotal-undoblocksdone) / (undoblocksdone / cputime)) / 86400)) "Finish at" 
FROM     v$fast_start_transactions;


[진행중]
       USN STATE                 Total       Done       ToDo Finish at
---------- ---------------- ---------- ---------- ---------- -------------------
      1109 RECOVERING          2269489      31317    2238172 2016/06/21 00:06:03


[완료]
       USN STATE                 Total       Done       ToDo Finish at
---------- ---------------- ---------- ---------- ---------- -------------------
      1109 RECOVERED             32874      32874          0 2016/06/21 00:24:21

3) x$ktuxe 뷰로 세션단위 진행사항 예측

SELECT
         ktuxeusn
       , to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') "Time"
       , ktuxesiz, ktuxesta
FROM     x$ktuxe
WHERE    ktuxecfl = 'DEAD';
  KTUXEUSN Time                  KTUXESIZ KTUXESTA
---------- ------------------- ---------- --------------
 
      1109 2016/06/20 23:07:22    1800231 ACTIVE
 

# How to monitor ROLLBACK after performing bulk data change session KILL

# Cómo monitorear ROLLBACK después de realizar KILL de sesión de cambio de datos masivos

# 大量のデータを変更セッションKILL実行後、ROLLBACK監視方法

# 执行批量数据更改会话KILL后如何监视ROLLBACK

# थोक डेटा परिवर्तन सत्र KILL करने के बाद ROLLBACK की निगरानी कैसे करें

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,
   

 IT가 지속적으로 개발되고 사용이 많아지면서 개인의 정보와 데이터들이 인터넷 상에 노출되어 이슈들이 많이 발생되고 있는 시대인데 악의적으로 해킹하여 이익을 창출하는 사람들이 늘어 나고있다. V3나 알약으로 개인의 PC를 많은 사람들이 보호하고 있으나 생각보다 방어가 안되는 부분들이 많다.

 인터넷에서 검색을 통하여 많은 페이지를 전환하면서 발생되는 클릭으로 인하여 나도 모르게 내 PC에 악성 코드들이 생성되고 이를 기반으로 개인정보가 유출되어 피해를 본다면 어디서 부터 이것을 해결해야하는지 혼란스러운 상황이 될수 있기 때문에 PC를 사용 전/후로 보안 SW를 통하여 현재 PC 상태를 점검하고 사용하는 것이 습관화 되어야 한다고 생각이 든다.

 무료로 진화하는 바이러스 환경에서 꾸준히 업데이트를 통하여 악성코드를 정리해주는 SW중에서 가장 간단하고 악성코드 제거를 잘 찾아서 처리해주는 MalwareZero을 소개하려한다.

 

MalwareZero 무료 악성코드 제거 도구(멀웨어 제로 킷)

  MalwareZero은 별도로 설치할 필요도 없이 아래 공식 사이트에서 다운로드 받아서 알집을 풀어 Start.exe 파일을 수행하면 바로 바이러스 확인 및 악성 코드 제거가 진행된다.

 알집 형태로 배포가 되기 때문에 다운로드한지 오래된 MalwareZero 실행내역은 제거하고 항상 새로 받아서 사용해야한다.

malzero.xyz/

무로 내려받기를 누르면 간단하게 다운로드 받을수 있다.

 

실행 파일을 수행할때 반드시 관리자 권한으로 실행해야 동작한다.

 

실행시키면 위와 같이 창이 뜨면서 기다리면 작업이 시작된다.

 

프로그램이 끝날때까지는 PC를 건들지 않는 것이 좋다.

 

문제가 없으면 위와 같이 초로색이 뜨는데 문제가 발생되면 빨간색으로 뜨면서 문제의 바이러스를 제거한다.

 

MalwareZero 상세한 바이러스 체크 리스트는 아래와 같다.

Malware Zero Report File

-- 경고 --

   데이터베이스는 자동으로 갱신되지 않기 때문에, 필요할 때마다 새로 내려받아 검사하시기 바랍니다.

-- 알림 --

   도구 사용 후, 아래 사항 반드시 확인

   ① 악성코드 제거에 실패했을 경우, 안전 모드에서 검사를 진행하거나 재부팅 후 재검사 진행
   ② 메모리를 활용하는 악성코드에 감염되었을 경우, 검사 후 반드시 재부팅 진행
   ③ 웹 브라우저에서 악성 광고 창이 계속 생성될 경우, 임시 파일 제거 / 시작 & 검색 페이지 설정 및 부가 & 확장 프로그램 점검 / 웹 브라우저 재설치
   ④ 한글 입력 불가 및 특정 프로그램(예: Classic Shell)이 정상 실행되지 않을 경우 재부팅 진행
   ⑤ 사용 후 도구가 삭제되지 않을 경우, 재부팅 후 삭제 진행

   반복 진단, 미진단, 오진, 오동작, 그 외 버그 등 문제 발생 시 아래 사항 확인

 ① 동봉되어 있는 <3. 문제 해결> 문서를 참고하여 문제 해결   
 ② 반복 진단, 미진단 시 악성코드 분석 요청 : malzero.xyz/support/analysis
③ 오진, 오동작, 그 외 버그 신고 : malzero.virus@gmail.com


   ※ 자기 자신부터 보안 실천 ! ! ! <5. 악성코드 감염 예방> 문서 참고

-- 검사 정보 --

   데이터베이스 버전 : 2020. 12. 21. V01

   운영체제(OS) : Microsoft Windows [Version 6.1.7601], x64
   검사 환경 : 표준
   검사 일시 : 2020-12-23 13:53:09.78

   검역소 폴더 : C:\Quarantine_MZ

-- 사용자 계정 컨트롤(UAC) --

   ★ 안전 ★ 사용자 계정 컨트롤(UAC) 기능이 활성화되어 있습니다.

-- 상세 보고 --

   ■ 필수 시스템 파일 존재 유/무 확인 :
   문제점이 발견되지 않음

   ■ 악성 및 유해 가능 자동 실행 라이브러리(AppInit_DLLs) 값 확인 :
   문제점이 발견되지 않음

   ■ 악성 및 유해 가능 자동 실행 라이브러리(AppInit_DLLs, 32bit) 값 확인 :
   문제점이 발견되지 않음

   ■ 악성 및 유해 가능 서비스 제거 :
   발견되지 않음

   ■ 필수 시스템 파일 상태 확인 - 1차 :
   문제점이 발견되지 않음

   ■ 초기화 대상 프로세스 자동 실행 레지스트리 확인 :
   문제점이 발견되지 않음

   ■ 악성 및 유해 가능 또는 불필요한 유휴 파일 전송 작업 제거 :
   발견되지 않음

   ■ 악성 및 유해 가능 파일 제거 :
   발견되지 않음

   ■ 악성 및 유해 가능 폴더 제거 :
   발견되지 않음

   ■ 악성 호스트 파일 제거 :
   발견되지 않음

   ■ 네트워크 DNS 주소 상태 확인 - 1차 :
   문제점이 발견되지 않음

   ■ 소켓 프로토콜 상태 확인 :
   문제점이 발견되지 않음

   ■ 악성 및 유해 가능 <HKEY_CLASSES_ROOT> 레지스트리 제거 :
   발견되지 않음

   ■ 악성 및 유해 가능 <HKEY_CURRENT_USER> 레지스트리 제거 :
   발견되지 않음

   ■ 악성 및 유해 가능 <HKEY_LOCAL_MACHINE> 레지스트리 제거 :
   발견되지 않음

   ■ 악성 및 유해 가능 <HKEY_USERS> 레지스트리 제거 :
   발견되지 않음

   ■ 악성 및 유해 가능 BHO(Browser Helper Object) 제거 :
   발견되지 않음

   ■ 악성 및 유해 가능 방화벽 규칙 제거 :
   발견되지 않음

   ■ 악성 및 유해 가능 브라우저 확장 기능 제거 :
   발견되지 않음

   ■ 웹 브라우저 - 마이크로소프트 인터넷 익스플로러 악성 시작 및 검색 페이지 확인 :
   발견되지 않음

   ■ 웹 브라우저 - 모질라 파이어폭스 악성 시작 및 검색 페이지 확인 :
   발견되지 않음

   ■ 웹 브라우저 - 구글 크롬 악성 시작 및 검색 페이지 확인 :
   발견되지 않음

   ■ 웹 브라우저 - 마이크로소프트 엣지 악성 시작 및 검색 페이지 확인 :
   발견되지 않음

   ■ 초기화 대상 웹 브라우저 바로 가기 확인 :
   문제점이 발견되지 않음

   ■ 초기화 대상 서비스 및 레지스트리 확인 :
   문제점이 발견되지 않음

   ■ 악성 및 유해 가능 프로그램 설치 정보 레지스트리 제거 :
   발견되지 않음

   ■ 악성 및 유해 가능 시작 프로그램 레지스트리 제거 :
   발견되지 않음

   ■ 악성 운영체제 관리 도구 항목 제거 :
   발견되지 않음

   ■ 운영체제 관리 도구 리포지토리 확인 :
   문제점이 발견되지 않음

   ■ 네트워크 DNS 주소 상태 확인 - 2차 :
   문제점이 발견되지 않음

   ■ 필수 시스템 파일 상태 확인 - 2차 :
   문제점이 발견되지 않음


 

#MalwareZero Free Malware Removal Tool

#Herramienta de eliminación de malware gratuito MalwareZero

#MalwareZero無料マルウェアの削除ツール

#MalwareZero免费恶意软件删除工具

#मालवेयरजेरो फ्री मालवेयर रिमूवल टूल

 

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

1. CI(Continuous Integration )의 개요

 1-1. CI(Continuous Integration )의 정의

  - 여러 명으로 구성된 팀이 작업한 것을 자주 통합 하는 것을 가리키는 소프트웨어 개발 프랙티스 

  - 매번 이루어지는 통합은 자동화된 빌드와 테스트를 통하여 통합 에러가 없는지 가능한 빨리 검증되며 통합 시에 발생하는 문제도 조기 발견되어 단위코드의 품질을 향상시킴

 

 1-2. CI(Continuous Integration )의 특징

  - 소스코드 일관성 유지

  - 소스코드 자동빌드

  - 빌드 과정에서의 자동화 테스트(기능/비기능)

  - 일일 체크아웃과 빌드를 통한 코드 무결성 유지

 

2. CI(Continuous Integration)의 구성도, 구성요소, 주요프로세스

 2-1. CI(Continuous Integration)의 구성도

 

 

 2-2. CI(Continuous Integration)의 구성요소

구성요소 내용
버전관리 저장소  - 모든 프로젝트 파일의 중앙 저장소가 있어 팀원들의 작업을 전부 동기화 공간 제공
지속적인 통합서버 (CI 시스템 )  - 컴파일 , 테스트 , 릴리즈 , 디플로이 , 결과보고 등의 작업을 통합적으로 자동 화 해주는 SW
빌드 스크립트 - 자동화된 절차를 위한 셀 스크립트 ( 또는 배치파일 ) 을 작성
PM Tool - 빌드 결과를 모니터링 하거나 자동적으로 피드백을 받을 수 있는 관리도구 로 의사소통도구 ( 이메일 , 문자 메시지 ), 빌드 모니터등
자동화된 테스트 - 결과를 스스로 확인하는 자동화된 테스트

 

 2-3. CI(Continuous Integration)의 주요 프로세스

'1. IT Story > Basic Studies' 카테고리의 다른 글

CAP(Consistency, Availability, Partitioning) 이론  (0) 2020.12.24
데이터 품질관리의 Data Profiling  (0) 2020.12.24
MMDB(Main Memory Data Base)  (0) 2020.12.24
DB 샤딩(Sharding)  (0) 2020.12.24
테스트자동화  (0) 2019.09.22
V&V(Verification & Validation)  (0) 2019.09.20
빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

1. 테스트자동화의 개요

 1-1. 테스트자동화의 정의

  - 소프트웨어 개발 시 포함되는 다양한 테스트 과정을 하드웨어 혹은 소프트웨어적으로 자동화 도구를 사용하여 반복성, 일관성 및 생산성을 향상시키는 테스트 기법

 

 1-2. 테스트자동화의 특징

구분 설명
추적성 부여 설계부터 실행까지 전반적인 테스트 활동에 추적성, ALM과 연계
비용 감소 인적/물적 자원 절감
재사용성 강화 Repository 운영, 테스트케이스/테스트오라클의 재사용
품질 향상 반복테스트, 회귀테스트, 성능/강도 테스트 주기적 시행

 

2. 테스트자동화의 자동화도구, 상세 도구

 2-1. 테스트자동화의 자동화 도구 

 

 2-2. 테스트자동화의 상세 도구

자동화 도구 설명
테스트 관리도구 테스트 계획수립, 요구사항 및 버그 추적관리 등을 지원 하는 도구
설계도구

명세기반 테스트 설계도구 : SW에 대한 명세부터 테스트 프로시저, 테스트 데이터, 테스트 드라이버 등을 생성하는 도구

구조(코드)기반 테스트 설계도구 : 소스 코드로부터 테스트 프로시저, 테스트 데이터, 테스트 드라이버, 테스트 스텁 등을 생성하는 도구

정적 분석도구

코드 분석 도구: 원시 코드의 문법적 적합성을 자동으로 평가하여 잘못된 문장을 표기

구조 검사 도구: 원시 코드의 그래프를 생성하여 논리 흐름을 보여주고 구조적인 결함이 있는지 체크

데이터 분석 도구: 원시코드에 정의된 데이터구조, 데이터선언, 컴포넌트 인터페이스를 검사, 잘못된 링크나 데이터 정의의 충돌, 잘못된 데이터의 사용 등을 발견

순서 검사 도구: 이벤트의 순서체크, 잘못된 순서로 코딩 되어 있다면 이벤트를 지적

동적 분석도구 프로그램이 수행되는 동안 이벤트의 상태 파악을 위해 특정한 변수나 조건의 스냅샷(Snapshot) 생성
커버리지 측정 도구 주어진 테스트케이스에 의해서 프로그램이 얼마나 많이, 얼마나 자세히 테스트 되었는지 평가하는 도구
테스트 수행 도구

자료흐름도 : 원시 프로그램을 입력 받아 Parsing 후 자료흐름도를 작성 define-use 관계 찾으려는 변수에 영향을 주는 요소들을 모아 테스트 경로를 구동시키는 입력 값들을 찾아냄

기능테스트 : 주어진 기능을 구동시키는 모든 가능한 상태를 파악하여 이에 대한 입력을 작성

입력 도메인 분석 : 원시코드의 내부를 참조하지 않고 입력 변수가 가질 수 있는 값의 도메인 분석

랜덤 테스트 : 입력 값을 무작위로 추출, 시스템의 신뢰성 분석에 사용

 

'1. IT Story > Basic Studies' 카테고리의 다른 글

데이터 품질관리의 Data Profiling  (0) 2020.12.24
MMDB(Main Memory Data Base)  (0) 2020.12.24
DB 샤딩(Sharding)  (0) 2020.12.24
CI(Continuous Integration)  (0) 2019.11.21
V&V(Verification & Validation)  (0) 2019.09.20
빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
인메모리컴퓨팅  (0) 2019.09.16
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

1. V&V(Verification & Validation)의 개요

 1-1. V&V(Verification & Validation)의 정의

  - 개발 단계별 산출물의 단계 초기에 설정된 조건의 만족 여부(Verification)와 구현된 S/W가 사용자 요구사항 및 기대치를 만족하는지(Validation) 검증 및 확인하는 활동

 

 1-2. V&V(Verification & Validation)의 특징

특징 설명
테스트 레벨 각 레벨은 서로 독립적, 각각의 계획, 전략, 기법, 주체가 있음
조기 테스팅의 중요성 정적 테스팅(리뷰형태)으로 리스크 및 비용 절감
결함예방 차원의 테스팅 결함 발견 및 수정비용 저렴
Verification 각 개발 단계의 산출물이 이전 단계의 요구사항 및 조건에 부합하는지 검증. 제품을 올바르게 만들고 있는가를 검증
Validation 제품이나 제품 컴포넌트가 고객의 요구사항을 충족 시키는지 확인. 올바른 제품을 만들었는지를 확인

 

2. V&V(Verification & Validation)의 개념도, 테스트 기법

 2-1. V&V(Verification & Validation)의 개념도

 2-2. V&V(Verification & Validation) 테스트 기법

구분 기법 내용
검증
(Verification)
점검
(Inspection)
- 소프트웨어 설계와 코드에 대한 오류를 찾아, 개발 초기에 결함을 제거함으로써 품질개선과 비용을 절검하는 기법
워크스루
(Walkthrough)
- 설계서나 프로그램의 오류를 탁상에서 발견하기 위한 회의로서 상세 설계서나 프로그램 설계서는 처음부터 프로그램논리나 부호화의 내용까지를 대상으로 탈락이나 모순의 여부를 심의
동료 검토
(Buddy Checks)
- 관리자의 참가 없이 동료와 기술리더가 디자인과 코드를 검토
확인
(Validation)
단위테스트
(Unit Test)
- 개별적으로 테스트 할 수 있는 소프트웨어 기능만을 따로 분리하여 기능을 테스트
- White box 테스트 중심, 모듈레벨 테스트, Driver/Stub
통합테스트
(Integration Test)
- 소프트웨어 컴포넌트간의 상호작용을 테스트하는 프로세스
- Big-Bang : 한꺼번에 테스트
- To-Down: 상위 모듈 테스트 시 다수의 하위 Stub 필요
- Bottom-up : 하위 모듈 호출하는 테스트 드라이버 필요
- Sandwich Test: 상 하향식 통합을 결합 (권장)
시스템테스트
(System Test)
- 통합 모듈에 대한 시스템 테스트
- 신뢰성, 견고성, 성능, 안전성 등의 비기능적 요구사항
인수테스트
(Acceptance Test)
- 시스템이 요구사항을 만족시키는지 고객들이 시스템 수행 결과를 테스트
- 알파 테스트: 개발자 환경에서 사용자가 수행
- 베타 테스트: 일정수의 사용자가 테스트 후 피드백
- 감마 테스트: 베타버전 배포 이후 다수 사용자 대상
설치 테스트 - 시스템 설치 시 수행, H/W체계, S/W 연결성 등 테스트

 

'1. IT Story > Basic Studies' 카테고리의 다른 글

MMDB(Main Memory Data Base)  (0) 2020.12.24
DB 샤딩(Sharding)  (0) 2020.12.24
CI(Continuous Integration)  (0) 2019.11.21
테스트자동화  (0) 2019.09.22
빅데이터(Big Data)  (0) 2019.09.19
3D프린팅  (0) 2019.09.17
인메모리컴퓨팅  (0) 2019.09.16
WoT(Web of Things)  (0) 2019.09.08
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

1. 빅데이터의 개요

 1-1. 빅데이터의 정의

   - 대량의 흩어진 데이터를 수집, 저장, 발굴, 분석 하여 2차 데이터로 만들어 내고 이를 비즈니스화 하는 일련의 과정

 

 1-2. 빅데이터의 특성

   - 데이터의 규모가 방대하고(Volume), 데이터의 종류가 다양하며(Variety), 데이터 처리 및 분석을 적시에 해결해야 하는(Velocity) 특성을 가지고 있음

 

2. 빅데이터의 분석 플랫폼, 관리기술

 2-1. 빅데이터의 분석 플랫폼

 

 2-2. 빅데이터의 관리기술

기술 구분 설명 필요 기술
원본 데이터 저장 - 대용량 분산 파일 저장
- 로그 기반 데이터 포함
- Hadoop File System
- MapReduce
구조적 데이터 저장 - 대용량 분산 데이터 저장소
- DBMS의 처리 한계 대체 기술
-NoSQL, HBase
-Cassandra, MongoDB
배치 분산 병렬 처리 - 분산 데이터 처리 기술
- 결과 그래프 분석 기술
- MapReduce (Hadoop)
- Pregel, GlodenORB
데이터 스트리밍 프로세싱 - 스트리밍 데이터 프로세싱 기술 - Streaming DBMS
- DW Appliance
데이터 마이닝 - 빅 데이터의 패턴 분석 및
고객 분석을 위한 알고리즘
- 군집화, 분류화
- 기계학습(Neural Net)
데이터 분석 알고리즘 - 데이터 분석을 위한 세부 기술
- Social Network Anaylsys
- Clique 분석
- Centrality 분석
분산처리 기술 - 관리 기술, 분산 큐 기술
- 분산 캐시 기능
- ZooKeeper, kafka
- Memcached, Redis

 

'1. IT Story > Basic Studies' 카테고리의 다른 글

DB 샤딩(Sharding)  (0) 2020.12.24
CI(Continuous Integration)  (0) 2019.11.21
테스트자동화  (0) 2019.09.22
V&V(Verification & Validation)  (0) 2019.09.20
3D프린팅  (0) 2019.09.17
인메모리컴퓨팅  (0) 2019.09.16
WoT(Web of Things)  (0) 2019.09.08
oneM2M  (0) 2019.09.07
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,