jenkins를 통해 maven-surefire-plugin을 사용하면서 디버깅을 할수 있음. 

뿐만아니라 다른 피씨에서 수행되는 maven test를 디버깅 할때도 마찬가지.

1. 메이븐 옵션값에 아래 밑중친 부분 추가.

mvn test -DskipTests=false -Dmaven.surefire.debug

기본적으로 5005 port를 listen한다. 

2. test를 통해 surefire-plugin 이 싱행되면서 5005 port를 리스닝 하면서 멈춘다. 

3. 본인의 pc에서 이클립스를 통해 디버깅 하고 싶은 곳이 브레이크 포인트를 찍고 아래 설정대로 한다.

http://it-worx.blogspot.kr/2010/03/debug-maven-project-in-eclipse.html 에서 참조.

아래 port는 5005 바꾸고 host도 해당 원격지 주소를 넣는다. 디비그 하면.

멈췃던 원격 test가 실행되면서 이클립스에 찍은 브레이크 포인트에 걸리고 디버깅을 할 수 있다.

[debug.jpg]



Posted by 마법수정화살
,

원격 pc의 windows를 Mac 에서 RDC로 연결했는데 한영전환이 안된다.

그래서 해결책을 찾다가 keyboard type3로 바꾸면 된다고 하는데 

내 드라이버 목록에는 없다.. usb 키보드를 사용했음..

찾아보니 ps/2 키보드를 인식하면 나타난다는데..

보드에 ps/2 port가 없다..


ps/2 키보드를 구하고 ps/2 -> usb단자 를 구하려고 했지만 fail..(구하기 은근 힘들다.)

결국 키보드 매니아님의 도움으로 jwShiftSpaceKey 라는 프로그램을 설치해서 사용. 


아래는 예전에 virtual box에서 썼던 방법이다. 이방법으로 해도 잘됐을듯~

keyboard type3로 변경하는 레지스트리 (재시작 해야함.)

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"LayerDriver KOR"="KBD101C.DLL"
"OverrideKeyboardIdentifier"="PCAT_101AKEY"
"OverrideKeyboardType"=dword:00000008
"OverrideKeyboardSubtype"=dword:00000005
"LayerDriver JPN"="kbd101.dll"

'VirtualBox' 카테고리의 다른 글

VboxManage  (0) 2013.09.11
Posted by 마법수정화살
,

4장 테스트 설계 기법

ISTQB 2013. 9. 26. 22:12

테스트 설계 및 구현 프로세스

테스트 설계의 진행방식은 아래에 따라 달라짐

  • 테스트 조직 구성
  • 테스팅과 개발 프로세스의 성숙도
  • 시간적 제약
  • 참여 인원 등을 포함하는 테스트 정황

테스트 설계 기법의 종류

명세 기반 기법의 일반적인 특징
  • 해결할 문제를 명세하기 위해 공식적이나 비공식 적인 모델을 사용한다. 
  • 이러한 모델에서 테스트 케이스를 시스템 적으로 도출하는 것이 가능하다.
  • 커버리지를 측정할수 있으나 그 의미가 구조 기반 기법의 커버리지에 비해 제한적이다. (상태전이, 결정 테이블, 요구사항 커버리지) 

구조 기반 기법의 일반적인 특징

  • 코드와 개발 설계 등의 소프트 웨어 구현 정보를 기반으로 테스트 케이스를 도출한다.
  • 수행된 테스트 케이스를 바탕으로 테스트 커버리지를 측정할 수 있으며, 커버리지를 높이기 위해 추가로 테스트 케이스를 시스템 적으로 도출할 수 있다.  

경험 기반 기법의 일반적인 특징

  • 테스트 관련 인력의 지식이나 경험에서 테스트 케이스를 도출 한다.  

명세기반 기법 (블랙박스)

  • 동등 분할 
  • 경계값 분석
  • 결정 테이블 테스팅
  • 상태 전이 테스팅 
  • 유주케이스 테스팅 

동등 분할입력값/출력값 영역을 유한개의 상호 독립적입 집합으로 나누어 수학적인 등가 집합을 만든후 각 등가집합의 원소 중 대푯값 하나를 선탣하여 테스트 케이스를 작성하는것

  • 입력값 이외에 동등분할 적용 분야 : 출력값, 내부값, 시간관련값, 모듈간 인터페이스 파라미터
  • 모든 테스트 유형에서 적용 가능 

경계값 분석 : 동등분할의 결계부분에 해당되는 입력 값에서 결함이 발견될 확률이 경험적으로 높기 때문에 결함을 방지하기 위해 경계값까지 포함하여 테스트 하는 기법

  • 종종 동등 분할의 확장으로 여겨지며 동등 분할과 동일한 방식으로 커버리지를 보장
  • 모든 테스트 유형에서 적용가능

동등 분할, 경계값 분석의 한계

  • 일련의 동작에 대한 조합을 테스트 하기에는 적합하지 않다.
  • 입력 범위를 동등 분할하여 제한 하더라도 입력값 조합의 수가 테스트 가능한 수를 넘어서는 경우가 많다.
  • 입력 조합이 상호간에 독립적(의존성이 없는) 이라는 가정에서만 적합한 방법이다.
  • 출력이 입력 조건이나 변수들 사이의 관계에 따라 달라지는 경우, 입력 조건을 동등 분할 하는것이 매우 어려울수 있다. 

결정 테이블 테스팅

조건부 / 액션부 의 조합을 테스트 하도록함.

장점

  • 논리적으로 의존적인 가능한 모든 조건들의 조합을 생성함
  • 요구사항 등 테스트 베이시스의 문제점을 드러내게 하는 효과적인 테스트 케이스 생성 가능 

단점

  • 작성에 많은 노력과 시간이 소요될수 있음.
  • 복잡한 시스템은 표현하기 어려울수 있으며 작성시 논리적 실수 가능성 있음.

상태 전이 테스팅 

상태전이 다이어그램 : 상태 , 전이, 이벤트, 가드, 액션 으로 구성

  • 전형적인 상태의 순서를 커버하는 방식
  • 모든 상태를 커버하는 방식
  • 모든 상태 전이를 실행하는 방식
  • 특정한 상태 전이 순서를 실행하는 방식
  • 불가능한 상태 전이를 테스트 하는 방식

모델상의 결함

  • 초기 상태 누락
  • 전이 또는 액션의 누락
  • 가드를 전이 대신 상태에 표기함
  • 가드 중복 또는 불일치

구현상의 결함

  • 여분/누락/훼손 상태
  • 액션이 틀리거나 누락됨
  • 스니크 패스, 트랩도어

테스트 설계 절차

  1. 상태 - 이벤트 테이블 구성
  2. 전이 트리 구성
  3. 반응 테스트 구성
  4. 무반응 테스트 구성
  5. 가드 또는 조건 테스트 케이스 구성
  6. 테스트 프로시저 구성

유즈케이스 테스팅

  • 하나의 유즈케이스는 액터와 액터 사이의 상호작용을 표현
  • 각각의 유즈케이스는 성공적으로 수행하기 위한 전제조건을 갖고, 임무를 완수한후 후속조건을 가지면서 종료
  • 대개 기본흐름과 대체 흐름으로 구성

유즈케이스 도출 하는 절차

  1. 어떤 흐름을 테스트 할지 고려하여 테스트 시나리오 구성
  2. 유즈케이스 상세에서 테스트에 필수적인 상황 선택
  3. 유즈케이스 상세 내용을 입력값, 출력값, 상황 처리 등으로 분류하여 테스팅에 관려하는 상황을 선택
  4. 각각의 상황에 ID부여
  5. 각각의 상황에 가능한 값을 결정

구조기반 기법 (화이트 박스)

아래로 갈수록 강력하다. 

  • 구문 커버리지 : 테스트 스위트에 의해 실행된 구문이 몇 퍼센트인지 측정
  • 결정 커버리지 : 테스트 스위트에 의해 실행된 결정 포인트 내의 전체 조건이 최소한 한번은 참 그리고 거짓이 한번씩 선택 되었는지 측정하여 퍼센트로 표현 최소 개수는 2개 
  • 조건 커버리지 : 전체 조건식의 결과와 관계없이 각 개별 조건식이 참 한번, 거짓 한번을 모두 갖도록 개별 조건식을 조합하는 것
  • 조건/결정 커버리지 : 전체 조건식의 결과가 참 한번, 거짓 한번 을 갖도록 개별 조건식을 조합하는데 이때 각 개별 조건식도 참 과 거짓을 한번씩 모두 갖도록 조합하는것
  • 변경조건.결정 커버리지 : 각 개별조건식이 다른 개별 조건식에 무관하게 전체 조건식의 결과에 독립적으로 영향을 주도록 함
  • 다중 조건 커버리지 : 결정 포인트 내에 있는 모든 개별 조건식의 모든 가능한 논리적인 조합을 고려하여 100% 커버리지를 보장한다. 

경험 기반 기법

이전에 테스터가 다루었던 유사 어플리 케이션이나 기술에서의 경험, 직관, 테스터의 기술 능력으로 부터 테스트 케이스를 추출한다.

탐색적 테스팅

기본 설계 기법

고급 설계 기법

테스트 기법의 선택

소프트웨어 특성에 따른 테스팅


Posted by 마법수정화살
,