1 |
1
테스트 장치가 스마트 컨트랙트(smart contract)의 코드를 입력받는 단계;상기 테스트 장치가 상기 코드에 포함된 함수 각각에 대하여 상기 함수의 시작 지점과 종료 지점에 상기 함수에서 사용하는 변수 항목의 값을 출력하는 로그 생성 코드를 삽입하는 단계;상기 테스트 장치가 상기 스마트 컨트랙트의 실행 과정에서 상기 로그 생성 코드가 출력하는 로그(log)를 획득하는 단계;상기 테스트 장치가 상기 로그를 이용하여 테스트 데이터를 결정하는 단계; 및상기 테스트 장치가 상기 테스트 데이터를 기준으로 설계 모델의 결과와 상기 스마트 컨트랙트의 실행 결과를 비교하여 상기 스마트 컨트랙트를 테스트하는 단계를 포함하되,상기 테스트 데이터는 트랜잭션 전 데이터 및 트랜잭션 후 데이터로 구분되고,상기 테스트 데이터를 결정하는 단계에서, 상기 테스트 장치는 (i) 상기 변수 항목 중 변경되지 않는 항목은 상기 로그에서 처음 나타나는 값을 각각 상기 트랜잭션 전 데이터 및 상기 트랜잭션 후 데이터로 결정하고, (ii) 상기 변수 항목 중 변경되는 항목은 상기 로그에서 처음 나타나는 값을 상기 트랜잭션 전 데이터로 결정하고, 상기 로그에서 가장 마지막에 나타나는 값을 상기 트랜잭션 후 데이터로 결정하고,상기 테스트하는 단계에서, 상기 테스트 장치는 상기 트랜잭션 전 데이터를 상기 설계 모델에 입력하여 출력되는 시뮬레이션 결과와 상기 트랜잭션 후 데이터를 비교하여 상기 스마트 컨트랙트를 테스트하는 블록체인 기반 분산 애플리케이션 테스트 방법
|
2 |
2
제1항에 있어서,상기 변수 항목은 스마트 컨트랙트 상태 변수 값, 트랜잭션 송신 계정 이더량, 컨트랙트 계정 이더량, 트랜잭션 해시, 트랜잭션 입력 값, 트랜잭션 송신 계정 및 컨트랙트 계정을 포함하는 블록체인 기반 분산 애플리케이션 테스트 방법
|
3 |
3
삭제
|
4 |
4
삭제
|
5 |
5
제1항에 있어서,상기 변경되지 않은 항목은 트랜잭션 해시, 트랜잭션 입력 값, 트랜잭션 송신 계정 및 컨트랙트 계정을 포함하고,상기 변경되는 항목은 트랜잭션 송신 계정 이더량, 컨트랙트 이더량 및 스마트 컨트랙트 상태 변수 값을 포함하는 블록체인 기반 분산 애플리케이션 테스트 방법
|
6 |
6
삭제
|
7 |
7
스마트 컨트랙트(smart contract)의 코드를 입력받는 입력장치;로그 생성 프로그램, 로그 분석 프로그램 및 스마트 컨트랙트의 시뮬레이션 프로그램을 저장하는 저장장치;스마트 컨트랙트를 블록체인 네트워크에 전송하고, 상기 블록체인 네트워크로부터 스마트 컨트랙트의 로그(log)를 수신하는 통신장치; 및상기 로그 생성 프로그램을 이용하여 상기 코드에 포함된 함수 각각에 대하여 상기 함수의 시작 지점과 종료 지점에 상기 함수에서 사용하는 변수 항목의 값을 출력하는 로그 생성 코드를 삽입하고, 상기 로그 분석 프로그램을 이용하여 상기 스마트 컨트랙트의 실행 과정에서 상기 로그 생성 코드가 출력하는 로그를 이용하여 테스트 데이터를 결정하고, 상기 테스트 데이터를 기준으로 시뮬레이션 프로그램의 결과와 상기 블록체인 네트워크에서의 상기 스마트 컨트랙트의 실행 결과를 비교하여 상기 스마트 컨트랙트를 테스트하는 연산장치를 포함하되,상기 테스트 데이터는 트랜잭션 전 데이터 및 트랜잭션 후 데이터로 구분되고,상기 연산 장치는 상기 변수 항목 중 변경되지 않는 항목은 상기 로그에서 처음 나타나는 값을 각각 상기 트랜잭션 전 데이터 및 상기 트랜잭션 후 데이터로 결정하고,상기 변수 항목 중 변경되는 항목은 상기 로그에서 처음 나타나는 값을 상기 트랜잭션 전 데이터로 결정하고, 상기 로그에서 가장 마지막에 나타나는 값을 상기 트랜잭션 후 데이터로 결정하고상기 연산 장치는 상기 트랜잭션 전 데이터를 상기 시뮬레이션 프로그램에 입력하여 출력되는 시뮬레이션 결과와 상기 트랜잭션 후 데이터를 비교하여 상기 스마트 컨트랙트를 테스트하는 블록체인 기반 분산 애플리케이션 테스트 장치
|
8 |
8
제7항에 있어서,상기 변수 항목은 스마트 컨트랙트 상태 변수 값, 트랜잭션 송신 계정 이더량, 컨트랙트 계정 이더량, 트랜잭션 해시, 트랜잭션 입력 값, 트랜잭션 송신 계정 및 컨트랙트 계정을 포함하는 블록체인 기반 분산 애플리케이션 테스트 장치
|
9 |
9
삭제
|
10 |
10
삭제
|
11 |
11
제7항에 있어서,상기 변경되지 않은 항목은 트랜잭션 해시, 트랜잭션 입력 값, 트랜잭션 송신 계정 및 컨트랙트 계정을 포함하고,상기 변경되는 항목은 트랜잭션 송신 계정 이더량, 컨트랙트 이더량 및 스마트 컨트랙트 상태 변수 값을 포함하는 블록체인 기반 분산 애플리케이션 테스트 장치
|
12 |
12
삭제
|
13 |
13
컴퓨터에서 제1항, 제2항 및 제5항 중 어느 하나의 항에 기재된 블록체인 기반 분산 애플리케이션 테스트 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체
|