SW 테스트 자동화

TRACE32
Admin (토론 | 기여) 사용자의 2018년 1월 17일 (수) 15:17 판

이동: 둘러보기, 검색

기능 소개

  본 페이지에서는 SW 프로그램을 테스트하는 여러 방법 중, 실제 타겟 프로세서에서 SW 테스트를 진행하는 방법에 대해 설명한다.

실제 타겟에서의 SW 테스트를 위해서는 "코드가 다운로드된 타겟" 과 "HW 디버깅 장비 TRACE32" 가 필요하다.

 이 때, HW 디버깅 장비는 원하는 프로그램 위치에서 타겟 코어의 동작을 멈춘 후 입력 값을 변경하고, 연산이 완료된 출력 값을

가져오는 역할을 수행한다. 특히 TRACE32 는 수많은 테스트케이스를 수행하는데 있어서 개발자가 직접 수동/반복적으로 테스트

해야 했던 일을 자동화하여 많은 시간과 비용을 줄여 줄 수있다.

또한 기존의 많은 테스트에서는 별도의 테스트 Harness를 만들어 주는 등 추가적인 코드 삽입이 필요하지만

TRACE32 를 사용하는 해당 기능은 별도의 추가 삽입되는 코드 없이 테스트가 가능하다.

아래 기능의 사용 방법을 확인

 

 

 

기능 구성 및 사용법

해당 기능을 사용하기 위해서는 먼저 아래와 같은 파일들이 필요하다.

스크립트 요청은 [ trace32.com 홈페이지 메인 - 기술지원 요청]  에서 정보를 요청하면 담당 기술지원을 통해 지원받을 수 있다.

 

기능 실행방법 : 명령어 실행

   DODECRYPT "hancommdsktj" TRACE32_SW_TEST

최초 위의 명령어를 수행하면, 아래와 같은 TEST tool UI 창이 열린다.

Search (메인창 1번 버튼)  기존의 SW테스트 케이스를 불러오기

Create (메인창 2번 버튼) SW 테스트에 사용할 케이스를 새로 생성

   해당 버튼을 누르면 아래와 같이 테스트 대상 및 input 테스트 케이스를 만들 수 있는 기능이 실행된다.

 

  1) Start Address: 테스트유닛의 시작점으로 테스트케이스의 Input과 Pre-Condtion을 이 시점에서 대입

     END Addresss: 테스트유닛을 실행시킨 뒤 그에 대한 결과값을 확인하는 주소

     만약 끝주소를 입력하지 않은 경우에는 자동으로 Start Address심볼의 Exit 주소를 찾아 대체됨

  2) 테스트시 옵션 설정

  • TEST MODE : 테스트방식을 결정합니다

          - CALL 모드 : 함수 단위 테스트시 함수 호출을 TRACE32가 대신 실행

                          테스트 대상이 반복적으로 호출되지 않더라도 이 모드를 이용하면 빠르게 자동화하여 테스트 가능

          - BREAK 모드 : start Address/ End Address 시점에 Breakpoint를 잡고 타겟 수행을 멈추어 테스트하는 방식

                           테스트유닛을 실행시키기 위해서는 타겟이 그 코드를 실제 수행해야함

  • FLASH Download : 테스트 시작시 지정한 ELF 이미지를 타겟 flash 에 write 
  • Debug Option : 테스트중 FAIL이 발생하면 그 시점에 타겟을 멈춤

문제가 발생한 테스트케이스를 디버깅하여 FAIL의 원인을 찾는데 활용

  • RUNTIME Test : 각 테스트케이스별 실행시간을 측정

- Timer Register Address : 타이밍 측정에 사용할 내부 타이머 레지스터 주소

- Timer 1 Tick Time : Timer 1 tick 당 시간 정보

- MAX Timer Value : 16bit or 32bit 선택, Max Timer 값 지정

  • Step Num :  매개변수 값을 입력 할 프로그램 시점을 맞추기 위해 진입점 도달 후 Step횟수를 설정

  3) 설정이 완료되어 DONE 버튼을 누르면 테스트 케이스를 작성하기 위한 csv파일 포맷 파일이 생성되고 엑셀과 연동되어 파일이 오픈  

    

     위의 빨간 네모 안의 영역에 테스트 케이스를 작성한다.

     <TYPE 정보>

     INP : Parameter, 매개변수

     PRE : Pre-Condition, 전역변수

     OUT : Return, Output-Value, 리턴값, 전역변수 결과값

     ^ : Floating Format (심볼 앞에 마킹)

 

  4) 테스트 케이스 작성 후 저장하면 최초 메인창에서 Testcase File 경로에 대한 정보가 아래와 같이 자동으로 추가 된다.

  사용자가 원하는 테스트케이스를 수동으로 만들어서 아래 리스트에 추가할 수 있다.

 

 

  5) 위의 Start test 를 클릭하여 테스트를 자동으로 실행하고, 완료 후 저장된 Result 결과 파일이 자동으로 저장 된다.

사용자가 입력한 테스트 케이스에 대해 실제 output 변수 값을 파일로 저장하고, 기대 값과 일치 여부를 Pass/Fail 로 나타내 준다.

또한 각 테스트 케이스가 수행된 시간의 정보를 같이 생성하여 저장한다.