출처 : www.qcforum.org

=============================================================================


Error Handling 하는 목적은 프로젝트에 최소한의 버그를 없애기 위함으로
QTP 적용 후 테스팅 툴에서 에러가 발생하면 정확한 결과값을 얻지 못하는 경우가 발생한다.

그래서, 보다 정확한 에러 핸들링을 통한 원하는 결과 값을 얻을 수 있도록
관련 QTP Error Handling 기법을 최소 5회에 걸쳐 제공하려고 한다.

1. 왜 Error Handling 을 사용해야 하는가?
Software의 중요품질 중 하나가 신뢰성이다. 해당 S/W은 모든 상황에서 잘 작동되어야 하며,
이 프로그램을 개발하기 위한 과정 동안에도 가능한 많은 오류를 제거하고 감지해야 하기 때문에
해당 프로그램을 테스트하고 실행하는 QTP 또한 S/W 개발프로그램이며, 관련 개발 프로세스에 따른
오류 프로세스 메커니즘으로 처리해야 한다.

2. Fault Tolerance(결함 허용성) 이란?
소프트웨어에 오류가 생기거나 정해진 상호작용 방식에 문제가 생겼을 때도 최소 정해 놓은 수준(명시된 성능수준)으로
동작하는 능력에 영향을 미치는 속성(ISO-9126 품질 특성 중 신뢰성의 상세 속성)

3. 처리 방법은?
- 에러를 감지해야 한다.(Error detection)
- 에러를 처리해야 한다.(Error handling)
- 에러 정보를 전파해야 한다.(Propagation of error information)
  Error 정보를 수집 분석하여 오류를 해결하고 담당자에게 보고한다.

4. 용어의 상관 관계
- Fault : 개발자의 실수나 의도에 의해 생성된 오류. 프로그램이나 문서에서 발견
            (프로그램의 설계 또는 구현상 오류나 실수)
- Error : 컴퓨터 작동을 방해하는 기계적,전기적 또는 전자적인 결함이나 프로그램을
            부호화하는 과정에서 일어나는 오류(기능 결함)
- Failure : 결함이 실행될 때 실패가 발생할 수 있음.
- Detector : 프로그램의 오류와 실패시 감지하여 오류처리 시스템으로 처리해주는 시스템
            (Error Handling System)
- Exception : 일반적인 정상적인 제어 흐름이 아닌 비정상적인 상태의 발생시 예외처리 기능
            예외처리를 높이기 위해서는 먼저, 프로그램 오류 및 실패를 정확히 알고 감지해야 한다.

          causes        causes
FAULT    => ERROR  => FAILURE
                       ^                 ^
        (detects)  ||                 || (detects)
                          DEFECTOR          =>    EXCEPTION
                                                  raises
   
5. QTP기반 Error Handling 가이드라인
- 모든 Action/Reusable Action/Function 을 가능한 예외적으로 어떻게 사용해야 할지 생각해야 한다.
- 비슷한 오류처리 부분을 모든 스크립트 개발자와 공유한다.
- 예견되어지는 상황과 예외적인 상황을 최소화한다.
- 개별적인 오류처리가 가능해야 한다.
- 오류처리시 일관성을 유지해야 한다.
- 중요한 예기치 않은 몇가지 오류처리를 제공해야 한다.(기본적인 오류 및 예외처리)


-#2 계속-
저작자 표시
Creative Commons License
Creative Commons License
Posted by _약한남자
QC 9.2의 Workflow 모듈에서 커스텀 필드를 추가/삭제후 저장하거나,
QC 9.2의 사이트 관리자에서 텍스트 서치 인덱스를 REBUILD 하거나 할때

아래와 같은 에러메시지가 난다면...

Failed to Update Project Text Indexes.

Messages:
Failed to Update Project Text Indexes;
Text search is not available for table TESTCYCL;

Stack Trace:
com.mercury.optane.core.CTdRuntimeException: Text search is not available for table TESTCYCL
at com.mercury.td.project.textsearch.QCProjectTextSearchConfig.getTablePrefix(QCProjectTextSearchConfig.java:102)


사이트 관리자에 접속한 후 아래의 쿼리를 날려보자..
SELECT COUNT(*) FROM SYSTEM_FIELD 
WHERE SF_TABLE_NAME = 'TESTCYCL' AND SF_IS_SEARCHABLE = 'Y'

이때 결과가 1 이상의 값이 나온다면.. 문제가 있는 것이다. 아래의 쿼리를 다시 날리자.. 얼릉..
UPDATE SYSTEM_FIELD
SET SF_IS_SEARCHABLE = 'N' WHERE SF_TABLE_NAME = 'TESTCYCL'


해결 완료...
위의 시스템 필드 값은 디폴트로 N 으로 설정되어있어야 하는데 알 수 없는 이유로 가끔 Y로 바뀌는 경우가 있다고 한다... 그래서 이를 바로 잡아주면 된다.
저작자 표시
Creative Commons License
Creative Commons License
Posted by _약한남자
태그 QC
<< PREV : [1] : [2] : [3] : [4] : [5] : ... [22] : NEXT >>

BLOG main image
qd
LoveIsEndless by _약한남자

공지사항

카테고리

qd (44)
일상 (3)
품질 (32)
개발 (9)
기타 (0)

최근에 받은 트랙백

글 보관함

달력

«   2009/07   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Total : 3,428
Today : 1 Yesterday : 5