본 발명에 따른 프로그램 소스코드 테스트 방법은, 서버에서 직원들-프로그 램 개발자, 프로그램 테스터-의 프로그램 소스코드를 수신하는 프로그램 소스코드 수신단계와, 서버에서 상기 직원들의 프로그램 소스코드를 파싱 처리하는 프로그램 소스코드 파싱 처리단계 및 서버에서 파싱 처리된 프로그램 소스코드에 대한 테스트 항목을 생성하는 테스트 항목 생성단계를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 프로그램 소스코드 테스트 방법에 있어서, 상기 코드 파싱 처리단계는, 상기 프로그램 소스코드에 대한 파싱 처리시 내부파일 함수, 외부파일 함수, DB SQL별로 파싱 처리하는 것을 특징으로 한다.
본 발명에 따른 프로그램 소스코드 테스트 방법에 있어서, 상기 테스트 항목 생성단계는, 상기 테스트 항목에 대응하는 적어도 하나 이상의 입력항목과, 상기 입력항목별 입력값을 포함하는 입력 데이터와, 상기 입력 데이터에 대응하는 적어도 하나 이상의 출력항목과, 상기 출력항목별 출력값을 포함하는 출력 데이터를 추출하는 데이터 추출단계와, 상기 추출된 입력 데이터와, 상기 입력 데이터에 대응하는 출력 데이터를 이용하여 프로그램 소스코드를 테스트하는 프로그램 소스코드 테스트 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
한편, 상기 전술한 프로그램 소스코드 테스트 방법을 실행하는 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체를 포함한다.
한편, 본 발명에 따른 프로그램 소스코드 테스트 시스템은, 네트워크 수단 상의 단말로부터 프로그램 소스코드를 수신하는 수단과, 상기 수신된 프로그램 소스코드를 파싱 처리하는 수단과, 상기 파싱 처리된 프로그램 소스코드에 대응하는 테스트 항목을 생성하는 수단과, 상기 테스트 항목별 적어도 하나 이상의 입력항목과, 상기 입력항목별 입력값을 포함하는 입력 데이터와, 상기 입력 e이터에 대응하는 출력항목과, 상기 출력항목별 출력값을 포함하는 출력 데이터를 추출하는 수단과, 상기 추출된 입력 데이터와, 상기 입력 데이터에 대응하는 출력 데이터를 이용하여 프로그램 소스코드를 테스트하는 수단을 구비하여 이루어지는 것을 특징으로 한다.
이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다. 또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 기 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능구성을 위주로 설명한다. 만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능구성 중에서 종래에 기 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성요소와 본 발명을 위해 추가된 구성요소 사이의 관계도 명백하게 이해할 수 있을 것이다.
또한, 이하 실시예는 본 발명의 핵심적인 기술적 특징을 효율적으로 설명하기 위해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 명백하게 이해할 수 있도록 용어를 적절하게 변형하여 사용할 것이나, 이에 의해 본 발명이 한정되는 것은 결코 아니다.
결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
또한, 본 발명의 설명을 위해 도시된 도면 상의 서버는 적어도 하나 이상의 서버로 구비될 수도 있으며, 이에 의해 본 발명이 한정되지 아니한다.
도면1은 본 발명의 실시 방법에 따른 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위한 프로그램 소스코드 처리 시스템을 도시한 도면이다.
보다 상세하게 본 도면1은 상기 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위해 소정의 직원단말(145)이 소정의 네트워크 수단을 통해 프로그램 테스트 처리 시스템 상의 서버에 접속하여 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 제공하면, 상기 서버에서 상기 직원단말(145)로부터 제공된 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 상기 프로그램 테스트 처리 시스템 상에 구비된 프로그램D/B(135)에 연계 처리하여 저장하는 프로그램 소스코드 처리 시스템 구성에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위한 프로그램 소스코드 처리 시스템 구성에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면1에 도시된 실시 방법만으로 한정되지 아니한다.
이하, 본 도면1에 도시된 프로그램 소스코드 처리 시스템 상에서 상기 직원 단말(145)로부터 제공되는 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 상기 프로그램D/B(135)에 저장하기 위한 적어도 하나 이상의 수단 및/또는 기능구성에 대응하는 구성요소를 편의상 "프로그램 소스코드 처리 서버(100)"라고 한다.
본 발명의 실시 방법을 따르는 본 도면1을 참조하면, 본 발명에 따른 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위한 프로그램 소스코드 처리 시스템은, 소정의 네트워크 수단에 연결된 적어도 하나 이상의 직원단말(145)과, 상기 직원단말(145)에서 전송하는 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 연계 처리하여 저장하는 프로그램D/B(135)와, 상기 프로그램 소스코드를 파싱하여 테스트 항목 정보를 생성하고, 상기 생성된 테스트 항목 정보에 대응하는 입력항목 정보를 상기 직원 정보와 연계 처리하여 저장하는 시험항목D/B(140) 및 상기 직원단말(145)과 소정의 네트워크 수단을 통해 연결되며, 상기 네트워크 수단을 통해 전송되는 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 수신하여 상기 프로그램D/B(135)에 연계 처리하여 저장하는 프로그램 소스코드 처리 서버(100)를 포함하여 이루어지는 것을 특징으로 한다.
상기 직원단말(145)은 TCP/IP(Transmission Control Protocol/Internet Protocol) 기반의 유선 통신망(예컨대, ADSL(Asymmetric Digital Subscriber Line)/VDSL(Very high-data rate Digital Subscriber Line) 및/또는 케이블 통신망)를 통해 상기 프로그램 소스코드 처리 서버(100)와 통신 연결되는 데스크탑 컴퓨터 및/또는 노트북을 포함하는 유선 단말을 적어도 하나 이상 포함하여 이루어지거나, 및/또는 CDMA(Code Division Multiple Access) 기반의 이동 통신망(또는 HSDPA(High Speed Downlink Packet Access) 기반 이동 통신망)에 연결되는 이동 통신단말, 및/또는 IEEE 802.16x 기반의 초고속 무선 인터넷에 연결되는 휴대 인터넷 단말, 및/또는 IEEE 802.11x 기반의 무선랜 통신망에 연결되는 무선랜 단말을 적어도 하나 이상 포함하는 무선 단말을 적어도 하나 이상 포함하여 이루어지는 것을 특징으로 하며, 상기 직원단말(145)은 상기 프로그램 소스코드 처리 서버(100)에서 제공하는 적어도 하나 이상의 프로그램 소스코드 등록 인터페이스 화면을 출력하고, 상기 프로그램 소스코드 등록 인터페이스 화면을 통해 적어도 하나 이상의 정보를 입력 및/또는 선택하여 상기 프로그램 소스코드 처리 서버(100)로 전송하기 위한 기능 구성(예컨대, 브라우져 프로그램과 통신 기능)이 구비되어 있는 것이 바람직하다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 적어도 하나 이상의 유선 단말 및/또는 무선 단말에 대응하는 상기 직원단말(145)의 특징을 용이하게 유추할 수 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
본 발명의 실시 방법에 따라 상기 직원단말(145)이 유선 단말인 경우, 상기 네트워크 수단은 상기 TCP/IP 기반의 유선 통신망을 포함하여 이루어지며, 상기 직원단말(145)이 무선 단말인 경우, 상기 네트워크 수단은 상기 CDMA 기반(또는 HSDPA 기반)의 이동 통신망, 및/또는 IEEE 802.16x 기반의 초고속 무선 인터넷, 및/또는 IEEE 802.11x 기반의 무선랜 통신망을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
본 발명에 따른 프로그램 테스트 처리 시스템 상에 구비되는 상기 프로그램D/B(135)는 상기 직원단말(145)로부터 전송되는 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 연계 처리하여 저장하는 것을 특징으로 한다.
상기 직원 정보는 상기 프로그램 소스코드를 포함하는 테스트 요청 정보를 상기 직원단말(145)을 통해 입력하는 직원의 개인정보(예컨대, 직원의 성명, 주민등록번호, 주소, 전화번호, 휴대폰번호, 메일주소 등)와, 상기 직원의 사원정보(예컨대, 상기 직원이 상기 프로그램 소스코드를 개발한 대상 기업의 직원으로 입사함에 의해 상기 직원에게 부여되는 사원번호, 사원ID 정보, 사내 메일주소, 사내 전화번호 등)) 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 프로그램 소스코드는 상기 직원이 등록하는 적어도 하나 이상의 파일에 포함된 내부파일 함수, 외부파일 함수, DB SQL 등을 적어도 하나 이상 포함하여 이 루어지는 것이 바람직하다.
상기 프로그램 소스코드에 포함된 내부파일 함수는, 상기 직원이 등록하는 프로그램 소스코드를 포함하는 적어도 하나 이상의 파일 중 어느 하나의 내부에 정의되어 사용되는 함수를 의미하는 것이 바람직하다.
예컨대, 상기 내부파일 함수는 “process.c”로 정의된 파일이 있을 경우, 상기 파일의 내부에 이하 도시될 예제 프로그램 소스코드에서 “summation” 함수를 내부파일 함수라고 하는 것이 바람직하다.
/* FileName : process.c */
int summation(int a, int b)
{
…
return (a+b);
}
int main(int argc, char **argv)
{
int Process_Result = 0;
…
printf(“A + B = %d”, summation(a, b));
…
return Process_Result;
}
/* End of File(process.c) */
상기 프로그램 소스코드에 포함된 외부파일 함수는, 상기 직원이 등록하는 프로그램 소스코드를 포함하는 적어도 두개 이상의 파일 중 두 개 이상의 파일 내부에 정의되어 사용되는 함수를 의미하는 것이 바람직하다.
예컨대, 상기 외부파일 함수는 “process.c”와, “function.c”로 정의된 두 개의 파일이 있을 경우, 상기 “function.c” 파일의 내부에 이하 도시될 프로그램 소스코드에서 “calculation” 함수를 외부파일 함수라고 하는 것이 바람직하 다.
/* FileName : function.c */
extern int calculation(int a, int b)
{
…
return (a*b);
}
/* End of File(function.c) */
/* FileName : process.c */
extern int calculation(int a, int b);
int main(int argc, char **argv)
{
int Process_Result = 0;
…
printf(“A + B = %d”, calculation (a, b));
…
return Process_Result;
}
End of File(process.c)
상기 프로그램 소스코드에 포함된 DB SQL은 상기 직원이 등록하는 프로그램 소스코드를 포함하는 적어도 하나 이상의 파일 중 어느 하나의 내부에 정의되어 사용되는 파일을 의미하는 것이 바람직하다.
예컨대, 상기 DB SQL은 소스코드 내부에 이하 도시될 예제와 같이 정의하여 사용하는 것이 바람직하며, 이하 도시될 예제의 형태 이외에 프로그램 개발자의 편의상 실제 정의된 프로그램 함수를 사용할 수도 있다.
int function_name(…)
{
…
// 계좌번호
DECLARE( STRING, acno, LENGTH, 12 );
// 구 계좌번호
DECLARE( STRING, gu_acno, LENGTH, 12 );
// 은행구분
DECLARE( INTEGER, bnk_g, LENGTH, 1 );
…
}
본 발명에 따른 프로그램 테스트 처리 시스템 상에 구비되는 상기 시험항목D/B(140)는 상기 직원단말(145)로부터 전송되는 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보에 대응하여 상기 프로그램 소스코드에 대한 파싱 처리결과 생성되는 테스트 항목 정보를 상기 직원 정보와 연계 처리하여 저장하는 것을 특징으로 한다.
상기 직원 정보는 상기 프로그램 소스코드를 포함하는 테스트 요청 정보를 상기 직원단말(145)을 통해 입력하는 직원의 개인정보(예컨대, 직원의 성명, 주민등록번호, 주소, 전화번호, 휴대폰번호, 메일주소 등)와, 상기 직원의 사원정보(예 컨대, 상기 직원이 상기 프로그램 소스코드를 개발한 대상 기업의 직원으로 입사함에 의해 상기 직원에게 부여되는 사원번호, 사원ID 정보, 사내 메일주소, 사내 전화번호 등)) 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 테스트 항목 정보는 상기 직원단말(145)을 통해 제공되는 프로그램 소스코드를 파싱한 결과 확인된 내부파일 함수, 외부파일 함수, DB SQL 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 당업자의 의도 및 목적에 따라 상기 프로그램 소스코드 상에 포함된 전역변수, 내부파일 함수(또는 외부파일 함수) 상에 선언된 지역변수, 상기 프로그램 소스코드를 구성하는 적어도 하나 이상의 파일 상에 선언된 선언문(예컨대, #define 등)를 적어도 하나 이상 더 포함할 수도 있다.
본 발명의 실시 방법에 따르면, 상기 프로그램 소스코드 처리 서버(100)는 상기 직원단말(145)과 네트워크 수단에 대응하는 웹 인터페이스를 제공하기 위해, 상기 네트워크 수단을 통해 상기 직원단말(145)과 소정의 통신채널을 연결 및 관리하는 인터페이스부(105)(또는 인터페이스 수단)를 구비하여 이루어지는 것을 특징으로 하며, 이에 의해 상기 프로그램 소스코드 처리 서버(100)는 상기 직원단말(145)과 유선 통신망 및/또는 무선 통신망을 통해 통신 연결되는 웹서버의 기능을 구비한다.
본 발명의 일 실시 방법에 따라 상기 직원단말(145)이 TCP/IP 기반의 유선 통신망을 통해 통신채널이 연결되는 유선 단말인 경우, 상기 인터페이스부(105)는 상기 직원단말(145)과 HTTP(Hyper-Text Transfer Protocol) 프로토콜을 기반으로 소정의 통신채널을 연결하고, 상기 통신채널을 통해 상기 직원단말(145)로 HTML(Hyper-Text Markup Language) 호환 문서 형태의 프로그램 소스코드 등록 인터페이스 화면 및/또는 정보 제공 화면을 전송하여 출력하고, 상기 직원단말(145)로부터 상기 프로그램 소스코드 등록 인터페이스 화면을 통해 입력(또는 선택)된 소정의 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 수신 처리하는 기능을 수행하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따라 상기 직원단말(145)이 CDMA 기반의 무선 통신망을 통해 통신채널이 연결되는 무선 단말인 경우, 상기 인터페이스부(105)는 상기 직원단말(145)과 WAP(Wireless Application Protocol) 및/또는 ME(Mobile Explorer) 프로토콜을 기반으로 소정의 통신채널을 연결하고, 상기 통신채널을 통해 상기 직원단말(145)로 WML(Wireless Markup Language) 및/또는 HTML 호환 문서 형태의 프로그램 소스코드 등록 인터페이스 화면 및/또는 정보 제공 화면을 전송하여 출력하고, 상기 직원단말(145)로부터 상기 프로그램 소스코드 등록 인터페이스 화면에 대응하는 소정의 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 수신 처리하는 기능을 수행하는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따라 상기 직원단말(145)이 IEEE 802.16x 기반의 무선 통신망을 통해 통신채널이 연결되는 무선 단말인 경우, 상기 인터페이스부(105)는 상기 직원단말(145)과 상기 IEEE 802.16x 규격에 대응하는 무선 프로토콜을 기반으로 소정의 통신채널을 연결하고, 상기 통신채널을 통해 상기 직원단말(145)로 소정의 프로그램 소스코드 등록 인터페이스 화면 및/또는 정보 제공 화면을 전송하여 출력하고, 상기 직원단말(145)로부터 상기 프로그램 소스코드 등록 인터페이스 화면에 대응하는 소정의 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 수신 처리하는 기능을 수행하는 것이 바람직하며, 및/또는 상기 직원단말(145)이 IEEE 802.11x 기반의 무선 통신망을 통해 통신채널이 연결되는 무선 단말인 경우, 상기 인터페이스부(105)는 상기 직원단말(145)과 상기 IEEE 802.11x 규격에 대응하는 무선 프로토콜을 기반으로 소정의 통신채널을 연결하고, 상기 통신채널을 통해 상기 직원단말(145)로 소정의 프로그램 소스코드 등록 인터페이스 화면 및/또는 정보 제공 화면을 전송하여 출력하고, 상기 직원단말(145)로부터 상기 프로그램 소스코드 등록 인터페이스 화면에 대응하는 소정의 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 수신 처리하는 기능을 수행하는 것이 바람직하다.
도면1을 참조하면, 상기 프로그램 소스코드 처리 서버(100)는 소정의 직원단말(145)이 상기 인터페이스부(105)를 통해 상기 프로그램 소스코드 처리 서버(100)에 접속시, 상기 인터페이스부(105)와 연동하여 상기 직원단말(145)에서 소정의 직 원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 입력(또는 선택)하여 전송하도록 하는 소정의 프로그램 소스코드 등록 인터페이스 화면을 생성(또는 추출)하여 제공하는 인터페이스 제공부(110)(또는 인터페이스 제공수단)와, 상기 인터페이스부(105)와 연동하여 상기 직원단말(145)에서 상기 프로그램 소스코드 등록 인터페이스 화면을 통해 입력(또는 선택)하여 전송하는 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 수신하는 정보 수신부(115)(또는 정보 수신수단)와, 상기 수신된 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 상기 프로그램D/B(135)에 연계 처리하여 저장하는 정보 저장부(120)(또는 정보 저장수단)를 구비하여 이루어지는 것을 특징으로 한다.
상기 인터페이스 제공부(110)는 소정의 직원단말(145)이 상기 인터페이스부(105)를 통해 상기 프로그램 소스코드 처리 서버(100)에 접속시, 상기 직원단말(145)에 구비된 기능구성(예컨대, 직원단말(145)에 구비된 브라우져 프로그램)에 대응하여 소정의 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 입력(또는 선택)하여 상기 네트워크 수단을 통해 상기 프로그램 소스코드 처리 서버(100)로 전송할 수 있는 소정의 프로그램 소스코드 등록 인터페이스 화면을 생성하거나, 및/또는 소정의 데이터베이스(도시생략)로부터 추출하고, 상기 인터페이스부(105)와 연동하여 상기 생성(또는 추출)된 프로그램 소스코드 등록 인터페이스 화면을 상기 네트워크 수단을 통해 상기 직원단말(145)로 제공하는 것을 특징으로 한다.
이후, 상기 직원단말(145)은 상기 프로그램 소스코드 등록 인터페이스 화면을 기반으로 소정의 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 입력(또는 선택)하며, 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보가 입력(또는 선택)된 것이 확인되면, 상기 직원단말(145)은 상기 네트워크 수단을 통해 상기 입력(또는 선택)된 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 상기 프로그램 소스코드 처리 서버(100)로 전송한다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 직원단말(145)에서 상기 프로그램 소스코드 등록 인터페이스 화면에 포함된 적어도 하나 이상의 폼(Form) 양식을 통해 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 입력(또는 선택)하는 기술적 특징과, 상기 네트워크 수단이 제공하는 통신 프로토콜을 통해 상기 입력(또는 선택)된 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 상기 프로그램 소스코드 처리 서버(100)로 전송하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
상기 정보 수신부(115)는 상기 직원단말(145)에서 상기 프로그램 소스코드 등록 인터페이스 화면을 통해 소정의 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 입력(또는 선택)하여 상기 네트워크 수단을 통해 전송시, 상기 인터페이스부(105)와 연동하여 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 수신하는 것을 특징으로 하며, 상기 수신된 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 상기 정보 저장부(120)로 제공한다.
상기 정보 저장부(120)는 상기 정보 수신부(115)를 통해 수신된 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 연계 처리하여 상기 프로그램D/B(135)에 저장하는 것을 특징으로 한다.
도면1을 참조하면, 상기 프로그램 소스코드 처리 서버(100)는 상기 정보 수신부(115)를 통해 수신된 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보 중 프로그램 소스코드를 파싱하는 코드 파싱 처리부(125)(또는 코드 파싱 처리수단)와, 상기 프로그램 소스코드를 파싱한 결과에 대한 테스트 항목을 생성하는 테스트 항목 생성부(130)(또는 테스트 항목 생성수단)를 구비하여 이루어지는 것을 특징으로 한다.
상기 코드 파싱 처리부(125)는 상기 정보 수신부(115)를 통해 수신되는 테스트 요청 정보 중 프로그램 소스코드를 파싱하여 내부파일 함수, 외부파일 함수, DB SQL 등을 적어도 하나 이상 포함하는 테스트 항목 정보로 분류하는 것을 특징으로 하며, 상기 분류된 테스트 항목 정보는 상기 정보 저장부(120)를 통해 시험항목D/B(140)에 저장하는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 프로그램 소스코드 파싱은, 프로그램 소스코드를 구성하는 적어도 하나 이상의 파일에서 함수가 선언된 부분, 변수가 선언된 부분, DB SQL이 선언된 부분을 분류, 확인하여 내부파일 함수와, 외부파일 함수와, DB SQL를 파싱 처리하는 것이 바람직하다.
또한, “main” 함수는 프로그램 소스코드의 기준이 되는 함수인 것이 바람직하며, main이 선언되어 있는 파일을 기준으로 외부파일과 내부파일로 분류하는 것이 바람직하다.
또한, “main” 함수가 xxx.h파일(즉, 헤더파일) 상에 선언된 경우, 내부파일 함수로 분류하는 것이 바람직하며, 당업자의 의도 및 목적에 따라 외부파일로 분류할 수도 있다.
또한, 상기 내부파일 함수와 외부파일 함수 파싱시, 상기 내부파일 함수는 함수가 선언되는 앞부분에 ‘extern’이 없는 것이 바람직하며, 외부파일 함수는 함수의 선언되는 앞부분에 ‘extern’을 포함하여 이루어지는 것이 바람직하다.
또한, 선언문을 더 파싱할 수도 있으며, 상기 선언문은 적어도 하나 이상의 파일로 구성된 프로그램 소스코드에서 ‘#define’으로 선언된 부분을 포함하여 이루어지는 것이 바람직하다.
또한, 전역변수를 더 파싱할 수도 있으며, 상기 전역변수는 상기 main(…), function(…) 등의 내부파일 함수(또는 외부파일 함수)의 외부 즉, ‘{‘와 ‘}’의 사이에 선언되지 않고, 또한 main(…)의 ‘…’ 또는 function(…)의 ‘…’의 외부에 선언된 변수를 포함하여 이루어지는 것이 바람직하며, 상기 전역변수에 대한 파싱 결과는 unsigned 이후만 파싱하여 테스트 항목을 생성하는 것이 바람직하다.
또한, 지역변수를 더 파싱 할 수도 있으며, 상기 지역변수는 function(…)이후 ‘{‘와 ‘}’의 사이에 ‘{‘의 처음부분에 선언되는 것이 바람직하며, 형태는 변수형(즉, short, int, float, long)과, 상기 변수형의 앞에 선언되는 unsigned와, 상기 unsigned의 앞에 선언되는 static, volatile, register 등으로 시작되는 것이 바람직하며, 상기 지역변수에 대한 파싱 결과는 unsigned 이후만 파싱하여 테스트 항목을 생성하는 것이 바람직하다.
예컨대, 이하 도시된 프로그램 소스코드의 실시 예에서 내부파일 함수(또는 외부파일 함수) 리스트는 “function”와, “main”이며, “function”이 “main”과 다른 파일 상에 선언되어 있는 경우, 외부파일 함수로 분류하고, 같은 파일 상에 선언하는 경우 내부파일 함수로 분류하는 것이 바람직하며, ‘void function(…)’의 앞부분에 ‘extern’을 검색하여 외부파일 함수로 분류할 수도 있다.
또한, DB SQL에 대한 파싱 결과는 ‘DECLARE( STRING, acno, LENGTH, 12 )’인 것이 바람직하다.
또한, 선언문에 대한 파싱 결과는 ‘ #define X(a) function(a)’인 것이 바람직하며, 테스트 항목은 X(a) 이후의 function(a)인 것이 바람직하다.
또한, 전역변수에 대한 파싱 결과는 ‘unsigned int global_variable1’과, ‘float global_variable2’인 것이 바람직하다.
또한, 지역변수에 대한 파싱 결과는 ‘unsigned int local_variable’인 것이 바람직하다.
#define X(a) function(a)
register unsigned int global_variable1 = 0;
static float global_variable2 = 0;
void function(…)
{
unsigned int local_variable = 0;
…
DECLARE( STRING, acno, LENGTH, 12 );
…
}
int main()
{
}
본 발명의 다른 일 실시 방법에 따르면, 상기 프로그램 소스코드 파싱은, 프로그램 소스코드를 구성하는 적어도 하나 이상의 파일에서 함수 선언문 적어도 하나 이상 분류 검색하여, 내부파일 함수, 외부파일 함수를 적어도 하나 이상 파싱 처리하는 것이 바람직하다.
또한, “main” 함수는 프로그램 소스코드의 기준이 되는 함수인 것이 바람직하며, main이 선언되어 있는 파일을 기준으로 외부파일과 내부파일로 분류하는 것이 바람직하다.
또한, “main” 함수가 xxx.h파일(즉, 헤더파일) 상에 선언된 경우, 내부파일 함수로 분류하는 것이 바람직하며, 당업자의 의도 및 목적에 따라 외부파일로 분류할 수도 있다.
예컨대, 이하 도시된 프로그램 소스코드의 실시 예에서 내부파일 함수(또는 외부파일 함수) 리스트는 “function”와, “main”이며, “function”이 “main”과 다른 파일 상에 선언되어 있는 경우, 외부파일 함수로 분류하고, 같은 파일 상에 선언하는 경우 내부파일 함수로 분류하는 것이 바람직하다.
또한, 이하 도시된 프로그램 소스코드에서 dllcall에 호출된 함수에 대응하여, 상기 프로그램 소스코드를 포함하는 적어도 하나 이상의 파일 상에 상기 함수의 위치를 확인하고, main 함수와 다른 파일인 경우 외부파일 함수로 분류하는 것이 바람직하다.
int main()
{
…
dllcall(“function”, args);
…
}
상기 테스트 항목 생성부(130)는 상기 파싱 처리된 내부파일 함수, 외부파일 함수, DB SQL을 적어도 하나 이상 포함하는 프로그램 소스코드 파싱 결과에 대응하여, 상기 파싱된 내부파일 함수별 테스트 항목, 외부파일 함수별 테스트 항목, DB SQL별 테스트 항목을 생성하는 것을 특징으로 하며, 상기 생성된 테스트 항목은 상기 정보 저장부(120)를 통해 상기 프로그램 소스코드를 등록한 직원 정보와 연계 처리하여 상기 시험항목D/B(140)에 저장하는 것이 바람직하다.
또한, 상기 테스트 항목 생성부(130)는 당업자의 의도 및 목적에 따라 선언문, 전역변수, 지역변수를 적어도 하나 이상 더 포함할 수도 있다.
본 발명의 실시 방법에 따르면, 상기 테스트 항목 생성은 상기 프로그램 소스코드에 대응하는 파싱 결과, 상기 선언된 내부파일 함수, 외부파일 함수, DB SQL 중 적어도 하나 이상에 대응하여, 사용된 내부파일 함수, 외부파일 함수, DB SQL 중 적어도 하나 이상에 대응하는 항목을 테스트 항목으로 생성하는 것이 바람직하다.
예컨대, 적어도 하나 이상의 파일로 구성된 프로그램 소스코드에서, 선언된 내부파일 함수, 외부파일 함수, DB SQL 리스트를 생성하고, 생성된 리스트에서 사용된 내부파일 함수, 외부파일 함수, DB SQL를 적어도 하나 이상 포함하는 사용 프로그램 소스코드 리스트와, 사용되지 않은 내부파일 함수, 외부파일 함수, DB SQL을 적어도 하나 이상 포함하는 비사용 프로그램 소스코드 리스트를 상기 직원단말(145)로 제공하는 것이 바람직하다.
도면2는 본 발명의 실시 방법에 따른 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위한 정보등록 과정을 도시한 도면이다.
보다 상세하게 본 도면2는 상기 도면1에 도시된 프로그램 소스코드 처리 시스템 상의 직원단말(145)이 소정의 네트워크 수단을 통해 상기 프로그램 소스코드 처리 서버(100)로 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위한 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 전송하면, 상기 프로그램 소스코드 처리 서버(100)에서 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 연계 처리하여 프로그램D/B(135)에 저장하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상 의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위한 정보등록 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면2에 도시된 실시 방법만으로 한정되지 아니한다.
이하, 본 도면2에서 상기 도면1에 도시된 프로그램 소스코드 처리 시스템 상의 프로그램 소스코드 처리 서버(100)를 편의상 "서버"라고 하고, 상기 도면1에 도시된 프로그램 소스코드 처리 시스템 상의 직원단말(145)을 편의상 "단말"이라고 한다.
도면2를 참조하면, 상기 도면1에 도시된 프로그램 소스코드 처리 시스템 상의 단말은 상기 네트워크 수단을 통해 상기 서버에 접속하여 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위한 통신채널을 연결한다(200).
본 발명의 실시 방법에 따르면, 상기 통신채널 연결 과정은 상기 단말에서 상기 서버로 로그인하는 과정, 및/또는 상기 단말에서 상기 서버로 회원 가입하는 과정 등을 적어도 하나 이상 더 포함하여 이루어지는 것이 바람직하며, 상기 과정에서 상기 단말에 대응하는 고객정보가 추출(또는 획득)된다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 단말이 상기 네트워크 수단에 대응하는 소정의 브라우져 프로그램을 통해 상기 네트워크 수단에 대응하는 통신 프로토콜에 따라 상기 서버에 접속하여 상기 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위한 통신채널을 연결하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
상기와 같이 단말과 서버 사이에 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위한 통신채널이 연결되면, 상기 단말은 상기 통신채널을 통해 상기 서버로 상기 테스트 프로그램 소스코드 파싱 및 테스트 항목 생성을 위한 프로그램 소스코드 등록 인터페이스 화면을 요청하고(205), 이에 대응하여 상기 서버는 상기 단말에서 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 입력(또는 선택)하기 위한 사용자 인터페이스를 포함하는 프로그램 소스코드 등록 인터페이스 화면을 생성(또는 추출)하고(210), 상기 생성(또는 추출)된 프로그램 소스코드 등록 인터페이스 화면을 상기 통신채널을 통해 상기 단말로 전송한다(215).
이후, 상기 단말은 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보 입력(또는 선택)을 위해 상기 프로그램 소스코드 등록 인터페이스 화면에 포함된 상기 사용자 인터페이스를 통해 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보가 입력(또는 선택)하도록 처리한다(220).
만약 상기 단말에서 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보가 입력(또는 선택)되면(225), 상기 단말은 상기 통신채널을 통해 상기 서버로 상기 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 전송하고(230), 이에 대응하여 상기 서버는 상기 수신된 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 연계 처리하여 상기 도면1에 도시된 프로그램D/B(135)에 저장한다(235).
상기 직원 정보는 상기 프로그램 소스코드를 포함하는 테스트 요청 정보를 상기 직원단말(145)을 통해 입력하는 직원의 개인정보(예컨대, 직원의 성명, 주민등록번호, 주소, 전화번호, 휴대폰번호, 메일주소 등)와, 상기 직원의 사원정보(예컨대, 상기 직원이 상기 프로그램 소스코드를 개발한 대상 기업의 직원으로 입사함에 의해 상기 직원에게 부여되는 사원번호, 사원ID 정보, 사내 메일주소, 사내 전화번호 등)) 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 프로그램 소스코드는 상기 직원이 등록하는 적어도 하나 이상의 파일에 포함된 내부파일 함수, 외부파일 함수, DB SQL 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 프로그램 소스코드에 포함된 내부파일 함수는, 상기 직원이 등록하는 프로그램 소스코드를 포함하는 적어도 하나 이상의 파일 중 어느 하나의 내부에 정의되어 사용되는 함수를 의미하는 것이 바람직하다.
예컨대, 상기 내부파일 함수는 “process.c”로 정의된 파일이 있을 경우, 상기 파일의 내부에 이하 도시될 예제 프로그램 소스코드에서 “summation” 함수를 내부파일 함수라고 하는 것이 바람직하다.
/* FileName : process.c */
int summation(int a, int b)
{
…
return (a+b);
}
int main(int argc, char **argv)
{
int Process_Result = 0;
…
printf(“A + B = %d”, summation(a, b));
…
return Process_Result;
}
/* End of File(process.c) */
상기 프로그램 소스코드에 포함된 외부파일 함수는, 상기 직원이 등록하는 프로그램 소스코드를 포함하는 적어도 두개 이상의 파일 중 두 개 이상의 파일 내부에 정의되어 사용되는 함수를 의미하는 것이 바람직하다.
예컨대, 상기 외부파일 함수는 “process.c”와, “function.c”로 정의된 두 개의 파일이 있을 경우, 상기 “function.c” 파일의 내부에 이하 도시될 프로그램 소스코드에서 “calculation” 함수를 외부파일 함수라고 하는 것이 바람직하다.
/* FileName : function.c */
int calculation(int a, int b)
{
…
return (a*b);
}
/* End of File(function.c) */
/* FileName : process.c */
int main(int argc, char **argv)
{
int Process_Result = 0;
…
printf(“A + B = %d”, calculation (a, b));
…
return Process_Result;
}
End of File(process.c)
상기 프로그램 소스코드에 포함된 DB SQL은 상기 직원이 등록하는 프로그램 소스코드를 포함하는 적어도 하나 이상의 파일 중 어느 하나의 내부에 정의되어 사용되는 파일을 의미하는 것이 바람직하다.
예컨대, 상기 DB SQL은 소스코드 내부에 이하 도시될 예제와 같이 정의하여 사용하는 것이 바람직하며, 이하 도시될 예제의 형태 이외에 프로그램 개발자의 편의상 실제 정의된 프로그램 함수를 사용할 수도 있다.
int function_name(…)
{
…
// 계좌번호
DECLARE( STRING, acno, LENGTH, 12 );
// 구 계좌번호
DECLARE( STRING, gu_acno, LENGTH, 12 );
// 은행구분
DECLARE( INTEGER, bnk_g, LENGTH, 1 );
…
}
이후, 상기 서버는 상기 수신된 테스트 요청 정보에 포함된 프로그램 소스코드를 파싱 처리한다(240).
본 발명의 일 실시 방법에 따르면, 상기 프로그램 소스코드 파싱은, 프로그램 소스코드를 구성하는 적어도 하나 이상의 파일에서 함수가 선언된 부분, 변수가 선언된 부분, DB SQL이 선언된 부분을 분류, 확인하여 내부파일 함수와, 외부파일 함수와, DB SQL를 파싱 처리하는 것이 바람직하다.
또한, “main” 함수는 프로그램 소스코드의 기준이 되는 함수인 것이 바람직하며, main이 선언되어 있는 파일을 기준으로 외부파일과 내부파일로 분류하는 것이 바람직하다.
또한, “main” 함수가 xxx.h파일(즉, 헤더파일) 상에 선언된 경우, 내부파 일 함수로 분류하는 것이 바람직하며, 당업자의 의도 및 목적에 따라 외부파일로 분류할 수도 있다.
또한, 상기 내부파일 함수와 외부파일 함수 파싱시, 상기 내부파일 함수는 함수가 선언되는 앞부분에 ‘extern’이 없는 것이 바람직하며, 외부파일 함수는 함수의 선언되는 앞부분에 ‘extern’을 포함하여 이루어지는 것이 바람직하다.
또한, 선언문을 더 파싱할 수도 있으며, 상기 선언문은 적어도 하나 이상의 파일로 구성된 프로그램 소스코드에서 ‘#define’으로 선언된 부분을 포함하여 이루어지는 것이 바람직하다.
또한, 전역변수를 더 파싱할 수도 있으며, 상기 전역변수는 상기 main(…), function(…) 등의 내부파일 함수(또는 외부파일 함수)의 외부 즉, ‘{‘와 ‘}’의 사이에 선언되지 않고, 또한 main(…)의 ‘…’ 또는 function(…)의 ‘…’의 외부에 선언된 변수를 포함하여 이루어지는 것이 바람직하며, 상기 전역변수에 대한 파싱 결과는 unsigned 이후만 파싱하여 테스트 항목을 생성하는 것이 바람직하다.
또한, 지역변수를 더 파싱 할 수도 있으며, 상기 지역변수는 function(…)이후 ‘{‘와 ‘}’의 사이에 ‘{‘의 처음부분에 선언되는 것이 바람직하며, 형태는 변수형(즉, short, int, float, long)과, 상기 변수형의 앞에 선언되는 unsigned와, 상기 unsigned의 앞에 선언되는 static, volatile, register 등으로 시작되는 것이 바람직하며, 상기 지역변수에 대한 파싱 결과는 unsigned 이후만 파싱하여 테스트 항목을 생성하는 것이 바람직하다.
예컨대, 이하 도시된 프로그램 소스코드의 실시 예에서 내부파일 함수(또는 외부파일 함수) 리스트는 “function”와, “main”이며, “function”이 “main”과 다른 파일 상에 선언되어 있는 경우, 외부파일 함수로 분류하고, 같은 파일 상에 선언하는 경우 내부파일 함수로 분류하는 것이 바람직하며, ‘void function(…)’의 앞부분에 ‘extern’을 검색하여 외부파일 함수로 분류할 수도 있다.
또한, DB SQL에 대한 파싱 결과는 ‘DECLARE( STRING, acno, LENGTH, 12 )’인 것이 바람직하다.
또한, 선언문에 대한 파싱 결과는 ‘ #define X(a) function(a)’인 것이 바람직하며, 테스트 항목은 X(a) 이후의 function(a)인 것이 바람직하다.
또한, 전역변수에 대한 파싱 결과는 ‘unsigned int global_variable1’과, ‘float global_variable2’인 것이 바람직하다.
또한, 지역변수에 대한 파싱 결과는 ‘unsigned int local_variable’인 것이 바람직하다.
#define X(a) function(a)
register unsigned int global_variable1 = 0;
static float global_variable2 = 0;
void function(…)
{
unsigned int local_variable = 0;
…
DECLARE( STRING, acno, LENGTH, 12 );
…
}
int main()
{
}
본 발명의 다른 일 실시 방법에 따르면, 상기 프로그램 소스코드 파싱은, 프로그램 소스코드를 구성하는 적어도 하나 이상의 파일에서 함수 선언문 적어도 하나 이상 분류 검색하여, 내부파일 함수, 외부파일 함수를 적어도 하나 이상 파싱 처리하는 것이 바람직하다.
또한, “main” 함수는 프로그램 소스코드의 기준이 되는 함수인 것이 바람직하며, main이 선언되어 있는 파일을 기준으로 외부파일과 내부파일로 분류하는 것이 바람직하다.
또한, “main” 함수가 xxx.h파일(즉, 헤더파일) 상에 선언된 경우, 내부파일 함수로 분류하는 것이 바람직하며, 당업자의 의도 및 목적에 따라 외부파일로 분류할 수도 있다.
예컨대, 이하 도시된 프로그램 소스코드의 실시 예에서 내부파일 함수(또는 외부파일 함수) 리스트는 “function”와, “main”이며, “function”이 “main”과 다른 파일 상에 선언되어 있는 경우, 외부파일 함수로 분류하고, 같은 파일 상에 선언하는 경우 내부파일 함수로 분류하는 것이 바람직하다.
또한, 이하 도시된 프로그램 소스코드에서 dllcall에 호출된 함수에 대응하 여, 상기 프로그램 소스코드를 포함하는 적어도 하나 이상의 파일 상에 상기 함수의 위치를 확인하고, main 함수와 다른 파일인 경우 외부파일 함수로 분류하는 것이 바람직하다.
int main()
{
…
dllcall(“function”, args);
…
}
이후, 상기 서버는 상기 파싱 처리된 프로그램 소스코드에 대응하는 테스트 항목 정보를 생성하고(245), 상기 도면1에 도시된 시험항목D/B(140)에 상기 직원 정보와 연계 처리하여 저장한다(250).
본 발명의 실시 방법에 따르면, 상기 테스트 항목 생성은 상기 프로그램 소스코드에 대응하는 파싱 결과, 상기 선언된 내부파일 함수, 외부파일 함수, DB SQL 중 적어도 하나 이상에 대응하여, 사용된 내부파일 함수, 외부파일 함수, DB SQL 중 적어도 하나 이상에 대응하는 항목을 테스트 항목으로 생성하는 것이 바람직하다.
예컨대, 적어도 하나 이상의 파일로 구성된 프로그램 소스코드에서, 선언된 내부파일 함수, 외부파일 함수, DB SQL 리스트를 생성하고, 생성된 리스트에서 사용된 내부파일 함수, 외부파일 함수, DB SQL를 적어도 하나 이상 포함하는 사용 프로그램 소스코드 리스트와, 사용되지 않은 내부파일 함수, 외부파일 함수, DB SQL을 적어도 하나 이상 포함하는 비사용 프로그램 소스코드 리스트를 상기 직원단말(145)로 제공하는 것이 바람직하다.
상기 직원 정보는 상기 프로그램 소스코드를 포함하는 테스트 요청 정보를 상기 직원단말(145)을 통해 입력하는 직원의 개인정보(예컨대, 직원의 성명, 주민등록번호, 주소, 전화번호, 휴대폰번호, 메일주소 등)와, 상기 직원의 사원정보(예컨대, 상기 직원이 상기 프로그램 소스코드를 개발한 대상 기업의 직원으로 입사함에 의해 상기 직원에게 부여되는 사원번호, 사원ID 정보, 사내 메일주소, 사내 전화번호 등)) 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 테스트 항목 정보는 상기 직원단말(145)을 통해 제공되는 프로그램 소스코드를 파싱한 결과 확인된 내부파일 함수, 외부파일 함수, DB SQL 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 당업자의 의도 및 목적에 따라 상기 프로그램 소스코드 상에 포함된 전역변수, 내부파일 함수(또는 외부파일 함수) 상에 선언된 지역변수, 상기 프로그램 소스코드를 구성하는 적어도 하나 이상의 파일 상에 선언된 선언문(예컨대, #define 등)를 적어도 하나 이상 더 포함할 수도 있다.
도면3은 본 발명의 실시 방법에 따른 프로그램 소스코드 테스트를 위한 프로그램 테스트 시스템을 도시한 도면이다.
보다 상세하게 본 도면3은 상기 프로그램 소스코드 테스트를 위해 상기 도면1에 도시된 프로그램 소스코드 처리 시스템을 통해 등록한 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보와, 상기 테스트 요청 정보에 대응하여 생성된 테스트 항목 정보에 대한 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 제공하고, 상기 사용자 인터페이스를 통해 입력(또는 선택)된 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터에 대응하여 상기 등록한 프로그램 소스코드에 대한 테스트를 실행하고, 상기 프로그램 소스코드 테스트 결과 정보를 저장매체(360)에 저장하는 프로그램 소스코드 테스트를 위한 프로그램 테스트 시스템의 구성을 도시한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및 변형하여 상기 프로그램 소스코드 테스트를 위한 프로그램 테스트 시스템 구성에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면3에 도시된 실시 방법만으로 한정되지 아니한다.
이하, 본 도면3에 도시된 프로그램 테스트 시스템 상에서 상기 테스트 요청 단말(370)로부터 제공되는 입력 데이터 또는 출력 데이터에 대응하여 상기 등록한 프로그램 소스코드 테스트를 위한 적어도 하나 이상의 수단 또는 기능구성에 대응하는 구성요소를 편의상 "프로그램 테스트 서버(300)"라고 한다.
본 발명의 실시 방법을 따르는 본 도면3을 참조하면, 본 발명에 따른 프로그램 소스코드 테스트를 위한 프로그램 테스트 시스템은, 소정의 네트워크 수단에 연결된 적어도 하나 이상의 테스트 요청 단말(370)과, 상기 도면1에 도시된 프로그램 소스코드 처리 시스템을 통해 등록한 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 저장하는 프로그램D/B(135)와, 상기 도면1에 도시된 프로그램 소스코드 처리 서버를 통해 상기 프로그램D/B(135)에 저장된 프로그램 소스코드를 파싱하여 생성한 테스트 항목 정보를 상기 프로그램 소스코드를 등록한 직원 정보와 연계 처리하여 저장하거나, 또는 상기 프로그램 테스트 서버(300)에서 제공하는 사용자 인터페이스를 통해 입력되는 입력 데이터와, 출력 데이터를 상기 직원 정보와 연계 처리하여 저장하는 시험항목D/B(140)와, 상기 프로그램 소스코드 테스트를 테스트하기 위한 입력 전문 또는 출력 전문을 저장하는 이 미지로그D/B(350)와, 상기 사용자 인터페이스를 통해 입력되는 입력항목 또는 출력항목에 대응하는 유효값을 저장하는 코드테이블D/B(355)와, 상기 프로그램 소스코드를 테스트한 테스트 결과에 대응하는 로그를 상기 프로그램 소스코드를 등록한(또는 테스트한) 직원 정보와 연계 처리하여 저장하는 저장매체(360) 및 상기 테스트 요청 단말(370)과 소정의 네트워크 수단을 통해 연결되며, 상기 네트워크 수단을 통해 전송되는 입력 데이터 또는 출력 데이터를 적어도 하나 이상 수신하여 상기 프로그램 소스코드를 테스트하는 프로그램 테스트 서버(300)를 포함하여 이루어지는 것을 특징으로 한다.
상기 테스트 요청 단말(370)은 TCP/IP(Transmission Control Protocol/Internet Protocol) 기반의 유선 통신망(예컨대, ADSL(Asymmetric Digital Subscriber Line)/VDSL(Very high-data rate Digital Subscriber Line) 및/또는 케이블 통신망)를 통해 상기 프로그램 테스트 서버(300)와 통신 연결되는 데스크탑 컴퓨터 및/또는 노트북을 포함하는 유선 단말을 적어도 하나 이상 포함하여 이루어지거나, 및/또는 CDMA(Code Division Multiple Access) 기반의 이동 통신망(또는 HSDPA(High Speed Downlink Packet Access) 기반 이동 통신망)에 연결되는 이동 통신단말, 및/또는 IEEE 802.16x 기반의 초고속 무선 인터넷에 연결되는 휴대 인터넷 단말, 및/또는 IEEE 802.11x 기반의 무선랜 통신망에 연결되는 무선랜 단말을 적어도 하나 이상 포함하는 무선 단말을 적어도 하나 이상 포함하여 이루어지는 것을 특징으로 하며, 상기 테스트 요청 단말(370)은 상기 프로그램 테스트 서 버(300)에서 제공하는 적어도 하나 이상의 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 출력하고, 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 통해 적어도 하나 이상의 정보를 입력 및/또는 선택하여 상기 프로그램 테스트 서버(300)로 전송하기 위한 기능 구성(예컨대, 브라우져 프로그램과 통신 기능)이 구비되어 있는 것이 바람직하다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 적어도 하나 이상의 유선 단말 및/또는 무선 단말에 대응하는 상기 테스트 요청 단말(370)의 특징을 용이하게 유추할 수 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
본 발명의 실시 방법에 따라 상기 테스트 요청 단말(370)이 유선 단말인 경우, 상기 네트워크 수단은 상기 TCP/IP 기반의 유선 통신망을 포함하여 이루어지며, 상기 테스트 요청 단말(370)이 무선 단말인 경우, 상기 네트워크 수단은 상기 CDMA 기반(또는 HSDPA 기반)의 이동 통신망, 및/또는 IEEE 802.16x 기반의 초고속 무선 인터넷, 및/또는 IEEE 802.11x 기반의 무선랜 통신망을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
본 발명에 따른 프로그램 테스트 시스템 상에 구비되는 상기 프로그램D/B(135)는 상기 도면1에 도시된 프로그램 소스코드 처리 시스템을 통해 등록한 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보를 연 계 처리하여 저장하는 것을 특징으로 한다.
상기 직원 정보는 상기 프로그램 소스코드를 포함하는 테스트 요청 정보를 상기 직원단말을 통해 입력하는 직원의 개인정보(예컨대, 직원의 성명, 주민등록번호, 주소, 전화번호, 휴대폰번호, 메일주소 등)와, 상기 직원의 사원정보(예컨대, 상기 직원이 상기 프로그램 소스코드를 개발한 대상 기업의 직원으로 입사함에 의해 상기 직원에게 부여되는 사원번호, 사원ID 정보, 사내 메일주소, 사내 전화번호 등)) 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 프로그램 소스코드는 상기 직원이 등록하는 적어도 하나 이상의 파일에 포함된 내부파일 함수, 외부파일 함수, DB SQL 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 프로그램 소스코드에 포함된 내부파일 함수는, 상기 직원이 등록하는 프로그램 소스코드를 포함하는 적어도 하나 이상의 파일 중 어느 하나의 내부에 정의되어 사용되는 함수를 의미하는 것이 바람직하다.
예컨대, 상기 내부파일 함수는 “process.c”로 정의된 파일이 있을 경우, 상기 파일의 내부에 이하 도시될 예제 프로그램 소스코드에서 “summation” 함수를 내부파일 함수라고 하는 것이 바람직하다.
/* FileName : process.c */
int summation(int a, int b)
{
…
return (a+b);
}
int main(int argc, char **argv)
{
int Process_Result = 0;
…
printf(“A + B = %d”, summation(a, b));
…
return Process_Result;
}
/* End of File(process.c) */
상기 프로그램 소스코드에 포함된 외부파일 함수는, 상기 직원이 등록하는 프로그램 소스코드를 포함하는 적어도 두개 이상의 파일 중 두 개 이상의 파일 내부에 정의되어 사용되는 함수를 의미하는 것이 바람직하다.
예컨대, 상기 외부파일 함수는 “process.c”와, “function.c”로 정의된 두 개의 파일이 있을 경우, 상기 “function.c” 파일의 내부에 이하 도시될 프로그램 소스코드에서 “calculation” 함수를 외부파일 함수라고 하는 것이 바람직하다.
/* FileName : function.c */
extern int calculation(int a, int b)
{
…
return (a*b);
}
/* End of File(function.c) */
/* FileName : process.c */
extern int calculation(int a, int b);
int main(int argc, char **argv)
{
int Process_Result = 0;
…
printf(“A + B = %d”, calculation (a, b));
…
return Process_Result;
}
End of File(process.c)
상기 프로그램 소스코드에 포함된 DB SQL은 상기 직원이 등록하는 프로그램 소스코드를 포함하는 적어도 하나 이상의 파일 중 어느 하나의 내부에 정의되어 사용되는 파일을 의미하는 것이 바람직하다.
예컨대, 상기 DB SQL은 소스코드 내부에 이하 도시될 예제와 같이 정의하여 사용하는 것이 바람직하며, 이하 도시될 예제의 형태 이외에 프로그램 개발자의 편의상 실제 정의된 프로그램 함수를 사용할 수도 있다.
int function_name(…)
{
…
// 계좌번호
DECLARE( STRING, acno, LENGTH, 12 );
// 구 계좌번호
DECLARE( STRING, gu_acno, LENGTH, 12 );
// 은행구분
DECLARE( INTEGER, bnk_g, LENGTH, 1 );
…
}
본 발명에 따른 프로그램 테스트 시스템 상에 구비되는 상기 시험항목D/B(140)는 상기 도면1에 도시된 프로그램 소스코드 처리 시스템을 통해 등록한 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보에 대응하여 상기 도면1에 도시된 프로그램 소스코드 처리 서버에서 상기 프로그램 소스코드 파싱 처리결과 생성되는 테스트 항목 정보를 상기 직원 정보와 연계 처리하여 저장하는 것을 특징으로 한다.
또한, 상기 프로그램 테스트 시스템 상에 구비되는 상기 시험항목D/B(140)는 상기 프로그램 테스트 서버(300)에서 상기 테스트 요청 단말(370)로 제공하는 사용자 인터페이스를 통해 입력(또는 선택)하여 전송하는 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 상기 직원 정보와 연계 처리하여 저장하는 것을 특징으로 하며, 상기 입력 데이터 및 출력 데이터는 상기 생성된 테스트 항목 정보에 대한 입력 데이터 및 출력 데이터 인 것이 바람직하다.
상기 직원 정보는 상기 프로그램 소스코드를 포함하는 테스트 요청 정보를 상기 직원단말을 통해 입력하는 직원의 개인정보(예컨대, 직원의 성명, 주민등록번 호, 주소, 전화번호, 휴대폰번호, 메일주소 등)와, 상기 직원의 사원정보(예컨대, 상기 직원이 상기 프로그램 소스코드를 개발한 대상 기업의 직원으로 입사함에 의해 상기 직원에게 부여되는 사원번호, 사원ID 정보, 사내 메일주소, 사내 전화번호 등)) 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 테스트 항목 정보는 상기 직원단말을 통해 제공되는 프로그램 소스코드를 파싱한 결과 확인된 내부파일 함수, 외부파일 함수, DB SQL 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 당업자의 의도 및 목적에 따라 상기 프로그램 소스코드 상에 포함된 전역변수, 내부파일 함수(또는 외부파일 함수) 상에 선언된 지역변수, 상기 프로그램 소스코드를 구성하는 적어도 하나 이상의 파일 상에 선언된 선언문(예컨대, #define 등)를 적어도 하나 이상 더 포함할 수도 있다.
상기 입력 데이터는 상기 직원단말을 통해 제공된 사용자 인터페이스를 통해 입력(또는 선택)하여 전송하는 입력항목(예컨대, 그룹사CODE, 국가코드, 어플리케이션서버 Node번호, 전문전송일시, 거래점번호, 거래단말기번호, 거래코드, 화면코드, 시스템일자, 로깅시간, 전문길이, 전문헤더내역, 전문자료내역, 에러코드 등)와, 상기 입력항목에 대응하는 입력값을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 입력값은 생략될 수도 있다.
만약, 상기 입력값이 생략되는 경우, 상기 입력값은 상기 프로그램 테스트 서버(300)와 네트워크 수단을 통해 연결되는 메타시스템(365)(또는 상기 프로그램 테스트 시스템 상에 구비되는 코드테이블D/B(355))로부터 입력값을 추출하는 것이 바람직하다.
또한, 상기 입력 데이터는 상기 입력항목과, 상기 입력항목과 연계된 입력값 대신 이미지로그D/B(350)에 저장된 적어도 하나 이상의 입력 전문을 선택한 입력 전문 선택 정보일 수도 있으며, 이에 의해 본 발명이 한정되지 아니한다.
상기 출력 데이터는 상기 직원단말을 통해 제공된 사용자 인터페이스를 통해 입력(또는 선택)하여 전송하는 입력항목에 대응하는 항목(예컨대, 그룹사CODE, 국가코드, 어플리케이션서버 Node번호, 전문전송일시, 거래점번호, 거래단말기번호, 거래코드, 화면코드, 시스템일자, 로깅시간, 전문길이, 전문헤더내역, 전문자료내역, 에러코드 등)과, 상기 입력항목에 의해 출력되는 결과항목(예컨대, 상기 입력항목에 의한 거래코드가 출금인 경우, 출금된 이후 잔액 등)을 적어도 하나 이상 포함하는 출력항목과, 상기 출력항목에 대응하는 출력값을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 출력값은 생략될 수도 있다.
만약, 상기 출력값이 생략되는 경우, 상기 출력값은 상기 프로그램 테스트 서버(300)와 네트워크 수단을 통해 연결되는 메타시스템(365)(또는 상기 프로그램 테스트 시스템 상에 구비되는 코드테이블D/B(355))로부터 출력값을 추출하는 것이 바람직하다.
또한, 상기 출력 데이터는 상기 출력항목과, 상기 출력항목과 연계된 출력값 대신 이미지로그D/B(350)에 저장된 적어도 하나 이상의 출력 전문을 선택한 출력 전문 선택 정보일 수도 있으며, 이에 의해 본 발명이 한정되지 아니한다.
또한, 상기 프로그램 테스트 시스템 상에 구비되는 상기 이미지로그D/B(350)는 상기 프로그램 테스트 서버(300)에서 기 개발한 프로그램 테스트를 실행을 위해 이용한 입력 전문과, 상기 입력 전문에 대응하는 출력 전문을 연계 처리하여 저장하는 것을 특징으로 한다.
또한, 상기 프로그램 테스트 시스템 상에 구비되는 상기 이미지로그D/B(350)는 기 개발한 프로그램 테스트를 완료하고, 상기 프로그램을 실제 적용분야에 적용하여 이용 시, 상기 프로그램을 이용 중에 입력하는 입력 전문과, 상기 입력 전문에 대응하여 프로그램 실행 결과 생성되는 출력 전문을 연계 처리하여 더 저장하는 것을 특징으로 한다.
상기 입력 전문은 상기 프로그램 테스트를 실행하기 위한 상기 입력항목 정보와, 상기 입력항목 정보에 대응하는 입력값 정보를 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기 입력 전문은 ‘00001599220070810coreap1d1877000345227201SF…’으로 구성되며, 상기 코드상의 일부에 입력항목의 위치별 입력값이 저장되는 것이 바람직하고, 각각의 입력항목별 자릿수가 정해져 있는 것이 바람직하며, 당업자의 의도 및 목적에 따라 변경될 수도 있다.
상기 출력 전문은 상기 프로그램 테스트를 실행하기 위한 상기 출력항목 정보와, 상기 출력항목 정보에 대응하는 출력값 정보를 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 출력 전문의 실시 방법은 상기 입력 전문과 동일한 형태를 가지는 것이 바람직하다.
또한, 상기 프로그램 테스트 시스템 상에 구비되는 상기 코드테이블D/B(355)는 입력 코드 테이블과 출력 코드 테이블을 연계 처리하여 저장하는 것을 특징으로 하며, 상기 입력 코드 테이블과 출력 코드 테이블은 상호 대응되는 것이 바람직하다.
상기 입력 코드 테이블은 상기 입력항목과 유사한 형태의 적어도 하나 이상의 입력항목 정보와, 상기 입력항목에 대응하는 입력값을 포함하여 이루어지는 것이 바람직하다.
상기 출력 코드 테이블은 상기 출력항목과 유사한 형태의 적어도 하나 이상의 출력항목 정보와, 상기 출력항목에 대응하는 출력값을 포함하여 이루어지는 것이 바람직하다.
또한, 상기 프로그램 테스트 시스템 상에 구비되는 저장매체(360)는 상기 프로그램 테스트 결과를 저장하기 위해 상기 프로그램 테스트를 요청하는(또는 상기 프로그램 소스코드를 개발한) 직원에 대응하는 직원 정보와, 상기 프로그램 테스트 결과에 대응하는 테스트 결과 로그를 저장하는 것을 특징으로 한다.
상기 직원 정보는 상기 프로그램 소스코드를 포함하는 테스트 요청 정보를 상기 직원단말을 통해 입력하는 직원의 개인정보(예컨대, 직원의 성명, 주민등록번호, 주소, 전화번호, 휴대폰번호, 메일주소 등)와, 상기 직원의 사원정보(예컨대, 상기 직원이 상기 프로그램 소스코드를 개발한 대상 기업의 직원으로 입사함에 의해 상기 직원에게 부여되는 사원번호, 사원ID 정보, 사내 메일주소, 사내 전화번호 등)) 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 프로그램 결과 로그는 상기 프로그램 소스코드를 테스트한 테스트 결과에 대응하는 결과 로그를 포함하여 이루어지는 것이 바람직하며, 상기 결과 로그는 상기 입력항목과, 상기 입력항목에 대응하는 입력값별 실행결과(즉, 정상, 오류 등)와, 상기 실행결과 출력되는 출력항목 및 출력값별 실행결과 비교 결과(즉, 정상, 오류 등)와, 상기 실행 결과가 오류인 경우, 정상 입력되어야 할 입력값, 또는 정상 출력되어야 할 출력값 과의 비교 결과와, 오류 레벨을 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기 프로그램 소스코드에 대한 테스트 결과 치명적인 오류(즉, 상기 프로그램 소스코드가 예기치 못한 오류로 실행이 정지하는 경우)에 대한 치명적 오류레벨을 포함하여 이루어지는 것이 바람직하며, 이 경우, 프로그램이 실행되는 프로그램 실행 라인 넘버 등을 더 포함하여 이루어지는 것이 바람직하다.
또한, 상기 프로그램 소스코드에 대한 테스트 결과 정상 실행인 경우, 입력항목(또는 출력항목)에 대응하는 입력값(또는 출력값)을 출력하지 않을 수도 있으며, 정상 출력 여부만 포함하여 이루어지는 것이 바람직하다.
또한, 상기 프로그램 소스코드에 대한 테스트 결과 오류인 경우, 입력항목(또는 출력항목)에 대응하는 입력값(또는 출력값)과, 상기 오류에 대응하는 오류 레벨을 출력하는 것이 바람직하다.
또한, 상기 프로그램 소스코드에 대한 테스트 결과 정상(또는 오류)로 판별할 수 없는 경우(예컨대, 출력항목이 더 출력되는 경우 등), 상기 출력항목 이외의 출력값이 더 있음을 알리는 경고 메시지 등의 형태로 출력하는 것이 바람직하며, 당업자의 의도 및 목적에 따라 변경될 수도 있다.
본 발명의 실시 방법에 따르면, 상기 프로그램 테스트 서버(300)는 상기 테스트 요청 단말(370)과 네트워크 수단에 대응하는 웹 인터페이스를 제공하기 위해, 상기 네트워크 수단을 통해 상기 테스트 요청 단말(370)과 소정의 통신채널을 연결 및 관리하는 인터페이스부(305)(또는 인터페이스 수단)를 구비하여 이루어지는 것을 특징으로 하며, 이에 의해 상기 프로그램 테스트 서버(300)는 상기 테스트 요청 단말(370)과 유선 통신망 및/또는 무선 통신망을 통해 통신 연결되는 웹서버의 기능을 구비한다.
본 발명의 일 실시 방법에 따라 상기 테스트 요청 단말(370)이 TCP/IP 기반의 유선 통신망을 통해 통신채널이 연결되는 유선 단말인 경우, 상기 인터페이스부(305)는 상기 테스트 요청 단말(370)과 HTTP(Hyper-Text Transfer Protocol) 프로토콜을 기반으로 소정의 통신채널을 연결하고, 상기 통신채널을 통해 상기 테스트 요청 단말(370)로 HTML(Hyper-Text Markup Language) 호환 문서 형태의 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면 및/또는 정보 제공 화면을 전송하여 출력하고, 상기 테스트 요청 단말(370)로부터 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 통해 입력(또는 선택)된 소정의 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적 어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 수신 처리하는 기능을 수행하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따라 상기 테스트 요청 단말(370)이 CDMA 기반의 무선 통신망을 통해 통신채널이 연결되는 무선 단말인 경우, 상기 인터페이스부(305)는 상기 테스트 요청 단말(370)과 WAP(Wireless Application Protocol) 및/또는 ME(Mobile Explorer) 프로토콜을 기반으로 소정의 통신채널을 연결하고, 상기 통신채널을 통해 상기 테스트 요청 단말(370)로 WML(Wireless Markup Language) 및/또는 HTML 호환 문서 형태의 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면 및/또는 정보 제공 화면을 전송하여 출력하고, 상기 테스트 요청 단말(370)로부터 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면에 대응하는 소정의 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 수신 처리하는 기능을 수행하는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따라 상기 테스트 요청 단말(370)이 IEEE 802.16x 기반의 무선 통신망을 통해 통신채널이 연결되는 무선 단말인 경우, 상기 인터페이스부(305)는 상기 테스트 요청 단말(370)과 상기 IEEE 802.16x 규격에 대응하는 무선 프로토콜을 기반으로 소정의 통신채널을 연결하고, 상기 통신채널을 통해 상기 테스트 요청 단말(370)로 소정의 프로그램 소스코드 테스트를 위한 사용 자 인터페이스 화면 및/또는 정보 제공 화면을 전송하여 출력하고, 상기 테스트 요청 단말(370)로부터 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면에 대응하는 소정의 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 수신 처리하는 기능을 수행하는 것이 바람직하며, 및/또는 상기 테스트 요청 단말(370)이 IEEE 802.11x 기반의 무선 통신망을 통해 통신채널이 연결되는 무선 단말인 경우, 상기 인터페이스부(305)는 상기 테스트 요청 단말(370)과 상기 IEEE 802.11x 규격에 대응하는 무선 프로토콜을 기반으로 소정의 통신채널을 연결하고, 상기 통신채널을 통해 상기 테스트 요청 단말(370)로 소정의 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면 및/또는 정보 제공 화면을 전송하여 출력하고, 상기 테스트 요청 단말(370)로부터 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면에 대응하는 소정의 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 수신 처리하는 기능을 수행하는 것이 바람직하다.
도면3을 참조하면, 상기 프로그램 테스트 서버(300)는 소정의 테스트 요청 단말(370)이 상기 인터페이스부(305)를 통해 상기 프로그램 테스트 서버(300)에 접속시, 상기 인터페이스부(305)와 연동하여 상기 테스트 요청 단말(370)에서 소정의 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입 력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 입력(또는 선택)하여 전송하도록 하는 소정의 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 생성(또는 추출)하여 제공하는 인터페이스 제공부(310)(또는 인터페이스 제공수단)와, 상기 인터페이스부(305)와 연동하여 상기 테스트 요청 단말(370)에서 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 통해 입력(또는 선택)하여 전송하는 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 수신하는 정보 수신부(315)(또는 정보 수신수단)와, 상기 인터페이스 제공부(310)를 통해 제공되는 프로그램 테스트를 위한 사용자 인터페이스 화면 상의 일정 영역에 입력항목을 출력하기 위해, 상기 입력항목을 추출하는 입력항목 추출부(320)(또는 입력항목 추출수단)와, 상기 추출된 입력항목에 대응하는 입력값을 추출하는 입력값 추출부(325)(또는 입력값 추출수단)와, 상기 인터페이스 제공부(310)를 통해 제공되는 프로그램 테스트를 위한 사용자 인터페이스 화면 상의 일정 영역에 출력항목을 출력하기 위해, 상기 출력항목을 추출하는 출력항목 추출부(330)(또는 출력항목 추출수단)와, 상기 추출된 출력항목에 대응하는 출력값을 추출하는 출력값 추출부(335)(또는 출력값 추출수단)와, 상기 인터페이스 제공부(310)를 통해 제공된 프로그램 테스트를 위한 사용자 인터페이스 화면을 통해 입력되어 상기 테스트 요청 단말(370)로부터 수신한 입력 데이터와, 상기 입력 데이터에 대응하는 출력 데이터에 대응하여 프로그램 소스코드를 테스트하는 프로그램 테스트 처리부(340)(또는 프로그램 테스트 처리수단)와, 상기 프로그램 테스트 결과 생성되는 테스트 결과 로그를 상기 직원 정보와 연계 처리하여 상기 저장매체(360)에 저장하는 정보 저장부(345)(또는 정보 저장수단)을 구비하여 이루어지는 것을 특징으로 한다.
상기 인터페이스 제공부(310)는 소정의 테스트 요청 단말(370)이 상기 인터페이스부(305)를 통해 상기 프로그램 테스트 서버(300)에 접속시, 상기 테스트 요청 단말(370)에 구비된 기능구성(예컨대, 테스트 요청 단말(370)에 구비된 브라우져 프로그램)에 대응하여 소정의 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 입력(또는 선택)하여 상기 네트워크 수단을 통해 상기 프로그램 테스트 서버(300)로 전송할 수 있는 소정의 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 생성하거나, 및/또는 소정의 데이터베이스(도시생략)로부터 추출하고, 상기 인터페이스부(305)와 연동하여 상기 생성(또는 추출)된 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 상기 네트워크 수단을 통해 상기 테스트 요청 단말(370)로 제공하는 것을 특징으로 한다.
이후, 상기 테스트 요청 단말(370)은 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 기반으로 소정의 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 입력(또는 선택)하며, 상기 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터가 입력(또는 선택)된 것이 확인되면, 상기 테스트 요청 단말(370)은 상기 네트워크 수단을 통해 상기 입력(또는 선택)된 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 상기 프로그램 테스트 서버(300)로 전송한다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 테스트 요청 단말(370)에서 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면에 포함된 적어도 하나 이상의 폼(Form) 양식을 통해 상기 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 입력(또는 선택)하는 기술적 특징과, 상기 네트워크 수단이 제공하는 통신 프로토콜을 통해 상기 입력(또는 선택)된 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 상기 프로그램 테스트 서버(300)로 전송하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
상기 정보 수신부(315)는 상기 테스트 요청 단말(370)에서 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 통해 소정의 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 입력(또는 선택)하여 상기 네트워크 수단을 통해 전송시, 상기 인터페이스부(305)와 연동하여 상기 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 수신하는 것을 특징으로 하며, 상기 수신된 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 상기 정보 저장부(345)로 제공한다.
상기 정보 저장부(345)는 상기 정보 수신부(315)를 통해 수신된 상기 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 연계 처리하여 상기 저장매체(360)에 저장하는 것을 특징으로 한다.
상기 입력 데이터는 상기 직원단말을 통해 제공된 사용자 인터페이스를 통해 입력(또는 선택)하여 전송하는 입력항목(예컨대, 그룹사CODE, 국가코드, 어플리케이션서버 Node번호, 전문전송일시, 거래점번호, 거래단말기번호, 거래코드, 화면코드, 시스템일자, 로깅시간, 전문길이, 전문헤더내역, 전문자료내역, 에러코드 등)와, 상기 입력항목에 대응하는 입력값을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 입력값은 생략될 수도 있다.
만약, 상기 입력값이 생략되는 경우, 상기 입력값은 상기 프로그램 테스트 서버(300)와 네트워크 수단을 통해 연결되는 메타시스템(365)(또는 상기 프로그램 테스트 시스템 상에 구비되는 코드테이블D/B(355))로부터 입력값을 추출하는 것이 바람직하다.
또한, 상기 입력 데이터는 상기 입력항목과, 상기 입력항목과 연계된 입력값 대신 이미지로그D/B(350)에 저장된 적어도 하나 이상의 입력 전문을 선택한 입력 전문 선택 정보일 수도 있으며, 이에 의해 본 발명이 한정되지 아니한다.
상기 출력 데이터는 상기 직원단말을 통해 제공된 사용자 인터페이스를 통해 입력(또는 선택)하여 전송하는 입력항목에 대응하는 항목(예컨대, 그룹사CODE, 국가코드, 어플리케이션서버 Node번호, 전문전송일시, 거래점번호, 거래단말기번호, 거래코드, 화면코드, 시스템일자, 로깅시간, 전문길이, 전문헤더내역, 전문자료내역, 에러코드 등)과, 상기 입력항목에 의해 출력되는 결과항목(예컨대, 상기 입력 항목에 의한 거래코드가 출금인 경우, 출금된 이후 잔액 등)을 적어도 하나 이상 포함하는 출력항목과, 상기 출력항목에 대응하는 출력값을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 출력값은 생략될 수도 있다.
만약, 상기 출력값이 생략되는 경우, 상기 출력값은 상기 프로그램 테스트 서버(300)와 네트워크 수단을 통해 연결되는 메타시스템(365)(또는 상기 프로그램 테스트 시스템 상에 구비되는 코드테이블D/B(355))로부터 출력값을 추출하는 것이 바람직하다.
또한, 상기 출력 데이터는 상기 출력항목과, 상기 출력항목과 연계된 출력값 대신 이미지로그D/B(350)에 저장된 적어도 하나 이상의 출력 전문을 선택한 출력 전문 선택 정보일 수도 있으며, 이에 의해 본 발명이 한정되지 아니한다.
상기 입력항목 추출부(320)는 상기 인터페이스 제공부(310)를 통해 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 상기 테스트 요청 단말(370)로 제공하여 출력시, 상기 프로그램 소스코드 테스트를 위해 입력할 입력대상 항목에 대응하는 입력항목을 상기 이미지로그D/B(350), 코드테이블D/B(355)로부터 추출하는 것을 특징으로 하며, 상기 추출된 입력항목에 대응하는 입력값을 상기 입력항목 추출시 상기 입력값 추출부(325)를 통해 추출하는 하는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 입력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 이미지로그D/B(350)로부터 입력 전문을 확인하고, 상기 확인된 입력 전문 중 입력항목을 추출하여 상기 인터페이스 제공부(310)를 통해 상기 클라이언트 단말로 제공할 사용자 인터페이스 상의 일정 영역에 출력하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 입력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 코드테이블D/B(355)로부터 입력항목을 추출하는 것이 바람직하다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 입력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 메타시스템(365)로부터 입력항목을 추출하는 것이 바람직하다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 입력항목 추출은, 상기 추출된 입력항목을 상기 프로그램 테스트를 위한 사용자 인터페이스에 출력 후, 상기 출력된 사용자 인터페이스 상의 일정 영역을 통해 소정의 입력항목을 추가(또는 삭제)하여 추출된 입력항목을 바탕으로 새로운 입력항목을 생성할 수도 있다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 입력항목 추출은, 상기 프 로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 입력항목을 상기 프로그램 테스트를 위한 사용자 인터페이스를 통해 직접 입력(또는 선택)하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 입력값은 상기 추출된 입력항목에 대응하여, 상기 입력항목이 추출된 데이터베이스(예컨대, 이미지로그D/B(350), 코드테이블D/B(355) 등) 또는 메타시스템(365)으로부터 상기 입력항목과 매칭되는 입력값을 추출하는 것이 바람직하다.
상기 출력항목 추출부(330)는 상기 인터페이스 제공부(310)를 통해 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 상기 테스트 요청 단말(370)로 제공하여 출력시, 상기 프로그램 소스코드 테스트를 위해 출력할 출력대상 항목에 대응하는 출력항목을 상기 이미지로그D/B(350), 코드테이블D/B(355)로부터 추출하는 것을 특징으로 하며, 상기 추출된 출력항목에 대응하는 출력값을 상기 출력항목 추출시 상기 출력값 추출부(335)를 통해 추출하는 하는 것이 바람직하다.
또한, 상기 출력항목은 상기 입력항목에 대응하는 출력항목을 자동 추출할 수도 있으며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 일 실시 방법에 따르면, 상기 출력항목 추출은, 상기 프로그램 소 스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 이미지로그D/B(350)로부터 출력 전문을 확인하고, 상기 확인된 출력 전문 중 출력항목을 추출하여 상기 인터페이스 제공부(310)를 통해 상기 클라이언트 단말로 제공할 사용자 인터페이스 상의 일정 영역에 출력하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 출력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 코드테이블D/B(355)로부터 출력항목을 추출하는 것이 바람직하다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 출력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 메타시스템(365)로부터 출력항목을 추출하는 것이 바람직하다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 출력항목 추출은, 상기 추출된 출력항목을 상기 프로그램 테스트를 위한 사용자 인터페이스에 출력 후, 상기 출력된 사용자 인터페이스 상의 일정 영역을 통해 소정의 출력항목을 추가(또는 삭제)하여 추출된 출력항목을 바탕으로 새로운 출력항목을 생성할 수도 있다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 출력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 출력항목을 상 기 프로그램 테스트를 위한 사용자 인터페이스를 통해 직접 출력(또는 선택)하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 출력값은 상기 추출된 출력항목에 대응하여, 상기 출력항목이 추출된 데이터베이스(예컨대, 이미지로그D/B(350), 코드테이블D/B(355) 등) 또는 메타시스템(365)으로부터 상기 출력항목과 매칭되는 출력값을 추출하는 것이 바람직하다.
상기 프로그램 테스트 처리부(340)는 상기 인터페이스 제공부(310)를 통해 제공된 프로그램 테스트를 위한 사용자 인터페이스 화면을 통해 입력되어 상기 테스트 요청 단말(370)로부터 수신한 입력 데이터와, 상기 입력 데이터에 대응하는 출력 데이터에 대응하여 프로그램 소스코드를 테스트하는 것을 특징으로 하며, 상기 프로그램 테스트 결과 생성되는 테스트 결과 로그를 상기 직원 정보와 연계 처리하여 상기 저장매체(360)에 저장하는 정보 저장부(345)로 제공하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 프로그램 테스트 처리는, 상기 프로그램 테스트를 위한 사용자 인터페이스 화면을 통해 입력되어 상기 테스트 요청 단말(370)로부터 수신한 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응 하는 출력값을 포함하는 출력 데이터에 대응하여, 상기 시험항목D/B(140)에 저장된 테스트 항목 정보에 대응하는 테스트 항목별 프로그램 소스코드 테스트를 실행하는 것이 바람직하다.
이후, 상기 프로그램 테스트 실행결과에 대응하는 테스트 결과 로그를 생성하고, 상기 생성된 테스트 결과 로그를 상기 저장매체(360)에 저장하는 것이 바람직하다.
도면4는 본 발명의 실시 방법에 따른 프로그램 소스코드 테스트를 위한 프로그램 테스트 시스템의 동작 흐름을 도시한 도면이다.
보다 상세하게 본 도면4는 상기 프로그램 소스코드 테스트를 위해 상기 도면1에 도시된 프로그램 소스코드 처리 시스템을 통해 등록한 직원 정보, 프로그램 소스코드를 적어도 하나 이상 포함하는 테스트 요청 정보와, 상기 테스트 요청 정보에 대응하여 생성된 테스트 항목 정보에 대한 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 제공하고, 상기 사용자 인터페이스를 통해 입력(또는 선택)된 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터에 대응하여 상기 등록한 프로그램 소스코드에 대한 테스트를 실행하고, 상기 프로그램 소스코드 테스트 결과 정보를 저장매체(360)에 저 장하는 프로그램 소스코드 테스트를 위한 프로그램 테스트 시스템의 동작 흐름을 도시한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면4를 참조 및 변형하여 상기 프로그램 소스코드 테스트를 위한 프로그램 테스트 시스템의 동작 흐름에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면4에 도시된 실시 방법만으로 한정되지 아니한다.
이하, 본 도면4에서 상기 도면3에 도시된 프로그램 테스트 시스템 상의 프로그램 테스트 서버(300)를 편의상 "서버"라고 하고, 상기 도면3에 도시된 프로그램 테스트 시스템 상의 테스트 요청 단말(370)을 편의상 "단말"이라고 한다.
도면4를 참조하면, 상기 도면3에 도시된 프로그램 테스트 시스템 상의 단말은 상기 네트워크 수단을 통해 상기 서버에 접속하여 프로그램 소스코드 테스트를 위한 통신채널을 연결한다(400).
본 발명의 실시 방법에 따르면, 상기 통신채널 연결 과정은 상기 단말에서 상기 서버로 로그인하는 과정, 및/또는 상기 단말에서 상기 서버로 회원 가입하는 과정 등을 적어도 하나 이상 더 포함하여 이루어지는 것이 바람직하며, 상기 과정에서 상기 단말에 대응하는 고객정보가 추출(또는 획득)된다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 단말이 상기 네트워크 수단에 대응하는 소정의 브라우져 프로그램을 통해 상기 네트워크 수단에 대응하는 통신 프로토콜에 따라 상기 서버에 접속하여 상기 프로그램 소스코드 테스트를 위한 통신채널을 연결하는 기술적 특징을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
상기와 같이 단말과 서버 사이에 프로그램 소스코드 테스트를 위한 통신채널이 연결되면, 상기 단말은 상기 통신채널을 통해 상기 서버로 상기 프로그램 소스코드 테스트를 위한 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 요청하고(405), 이에 대응하여 상기 서버는 상기 단말에서 상기 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 입력(또는 선택)하기 위한 사용자 인터페이스를 포함하는 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 생성(또는 추출)하고(410), 상기 생성된 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면 상의 일정 영역에 출력할 입력항목과, 상기 입력항목에 대응하는 입력값을 추출하고(412), 상기 입력항목에 대응하는 출력항목과, 상기 출력항목에 대응하는 출력값을 추출하고(414), 상기 생성(또는 추출)된 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면을 상기 통신채널을 통해 상기 단말로 전송한다(415).
본 발명의 일 실시 방법에 따르면, 상기 입력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 이미지로그D/B(350)로부터 입력 전문을 확인하고, 상기 확인된 입력 전문 중 입력항목을 추출하여 상기 인터페이스 제공부(310)를 통해 상기 클라이언트 단말로 제공할 사용자 인터페이스 상의 일정 영역에 출력하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 입력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 코드테이블D/B(355)로부터 입력항목을 추출하는 것이 바람직하다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 입력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 메타시스템(365)로부터 입력항목을 추출하는 것이 바람직하다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 입력항목 추출은, 상기 추출된 입력항목을 상기 프로그램 테스트를 위한 사용자 인터페이스에 출력 후, 상기 출력된 사용자 인터페이스 상의 일정 영역을 통해 소정의 입력항목을 추가(또는 삭제)하여 추출된 입력항목을 바탕으로 새로운 입력항목을 생성할 수도 있다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 입력항목 추출은, 상기 프 로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 입력항목을 상기 프로그램 테스트를 위한 사용자 인터페이스를 통해 직접 입력(또는 선택)하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 입력값은 상기 추출된 입력항목에 대응하여, 상기 입력항목이 추출된 데이터베이스(예컨대, 이미지로그D/B(350), 코드테이블D/B(355) 등) 또는 메타시스템(365)으로부터 상기 입력항목과 매칭되는 입력값을 추출하는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 출력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 이미지로그D/B(350)로부터 출력 전문을 확인하고, 상기 확인된 출력 전문 중 출력항목을 추출하여 상기 인터페이스 제공부(310)를 통해 상기 클라이언트 단말로 제공할 사용자 인터페이스 상의 일정 영역에 출력하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 출력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 코드테이블D/B(355)로부터 출력항목을 추출하는 것이 바람직하다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 출력항목 추출은, 상기 프 로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 메타시스템(365)로부터 출력항목을 추출하는 것이 바람직하다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 출력항목 추출은, 상기 추출된 출력항목을 상기 프로그램 테스트를 위한 사용자 인터페이스에 출력 후, 상기 출력된 사용자 인터페이스 상의 일정 영역을 통해 소정의 출력항목을 추가(또는 삭제)하여 추출된 출력항목을 바탕으로 새로운 출력항목을 생성할 수도 있다.
본 발명의 또 다른 일 실시 방법에 따르면, 상기 출력항목 추출은, 상기 프로그램 소스코드 테스트에 대응하는 테스트 항목에 대응하여, 상기 출력항목을 상기 프로그램 테스트를 위한 사용자 인터페이스를 통해 직접 출력(또는 선택)하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 출력값은 상기 추출된 출력항목에 대응하여, 상기 출력항목이 추출된 데이터베이스(예컨대, 이미지로그D/B(350), 코드테이블D/B(355) 등) 또는 메타시스템(365)으로부터 상기 출력항목과 매칭되는 출력값을 추출하는 것이 바람직하다.
이후, 상기 단말은 상기 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터 입력(또는 선택)을 위해 상기 프로그램 소스코드 테스트를 위한 사용자 인터페이스 화면에 포함된 상기 사용자 인터페이스를 통해 상기 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터가 입력(또는 선택)하도록 처리한다(420).
만약 상기 단말에서 상기 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터가 입력(또는 선택)되면(425), 상기 단말은 상기 통신채널을 통해 상기 서버로 상기 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 전송하고(430), 이에 대응하여 상기 서버는 상기 수신된 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터를 연계 처리하여 상기 도면3에 도시된 시험항목D/B(140)에 저장한다(435).
상기 직원 정보는 상기 프로그램 소스코드를 포함하는 테스트 요청 정보를 상기 직원단말을 통해 입력하는 직원의 개인정보(예컨대, 직원의 성명, 주민등록번 호, 주소, 전화번호, 휴대폰번호, 메일주소 등)와, 상기 직원의 사원정보(예컨대, 상기 직원이 상기 프로그램 소스코드를 개발한 대상 기업의 직원으로 입사함에 의해 상기 직원에게 부여되는 사원번호, 사원ID 정보, 사내 메일주소, 사내 전화번호 등)) 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
상기 테스트 항목 정보는 상기 직원단말을 통해 제공되는 프로그램 소스코드를 파싱한 결과 확인된 내부파일 함수, 외부파일 함수, DB SQL 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 당업자의 의도 및 목적에 따라 상기 프로그램 소스코드 상에 포함된 전역변수, 내부파일 함수(또는 외부파일 함수) 상에 선언된 지역변수, 상기 프로그램 소스코드를 구성하는 적어도 하나 이상의 파일 상에 선언된 선언문(예컨대, #define 등)를 적어도 하나 이상 더 포함할 수도 있다.
상기 입력 데이터는 상기 직원단말을 통해 제공된 사용자 인터페이스를 통해 입력(또는 선택)하여 전송하는 입력항목(예컨대, 그룹사CODE, 국가코드, 어플리케이션서버 Node번호, 전문전송일시, 거래점번호, 거래단말기번호, 거래코드, 화면코드, 시스템일자, 로깅시간, 전문길이, 전문헤더내역, 전문자료내역, 에러코드 등)와, 상기 입력항목에 대응하는 입력값을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 입력값은 생략될 수도 있다.
만약, 상기 입력값이 생략되는 경우, 상기 입력값은 상기 프로그램 테스트 서버(300)와 네트워크 수단을 통해 연결되는 메타시스템(365)(또는 상기 프로그램 테스트 시스템 상에 구비되는 코드테이블D/B(355))로부터 입력값을 추출하는 것이 바람직하다.
또한, 상기 입력 데이터는 상기 입력항목과, 상기 입력항목과 연계된 입력값 대신 이미지로그D/B(350)에 저장된 적어도 하나 이상의 입력 전문을 선택한 입력 전문 선택 정보일 수도 있으며, 이에 의해 본 발명이 한정되지 아니한다.
상기 출력 데이터는 상기 직원단말을 통해 제공된 사용자 인터페이스를 통해 입력(또는 선택)하여 전송하는 입력항목에 대응하는 항목(예컨대, 그룹사CODE, 국가코드, 어플리케이션서버 Node번호, 전문전송일시, 거래점번호, 거래단말기번호, 거래코드, 화면코드, 시스템일자, 로깅시간, 전문길이, 전문헤더내역, 전문자료내역, 에러코드 등)과, 상기 입력항목에 의해 출력되는 결과항목(예컨대, 상기 입력항목에 의한 거래코드가 출금인 경우, 출금된 이후 잔액 등)을 적어도 하나 이상 포함하는 출력항목과, 상기 출력항목에 대응하는 출력값을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 출력값은 생략될 수도 있다.
만약, 상기 출력값이 생략되는 경우, 상기 출력값은 상기 프로그램 테스트 서버(300)와 네트워크 수단을 통해 연결되는 메타시스템(365)(또는 상기 프로그램 테스트 시스템 상에 구비되는 코드테이블D/B(355))로부터 출력값을 추출하는 것이 바람직하다.
또한, 상기 출력 데이터는 상기 출력항목과, 상기 출력항목과 연계된 출력값 대신 이미지로그D/B(350)에 저장된 적어도 하나 이상의 출력 전문을 선택한 출력 전문 선택 정보일 수도 있으며, 이에 의해 본 발명이 한정되지 아니한다.
이후, 상기 서버는 상기 프로그램 소스코드에 대한 테스트 항목 정보에 대응하여, 상기 도면1에 도시된 프로그램 소스코드 처리 시스템을 통해 등록된 프로그램 소스코드를 테스트하고(440), 상기 프로그램 소스코드 테스트 결과에 대응하는 테스트 결과 로그를 생성하여 상기 프로그램 테스트를 요청하는 직원(또는 상기 프로그램 소스코드를 개발한 직원)에 대응하는 직원 정보와 연계 처리하여 저장매체(360)에 저장한다(445).
본 발명의 실시 방법에 따르면, 프로그램 테스트 처리는, 상기 프로그램 테스트를 위한 사용자 인터페이스 화면을 통해 입력되어 상기 테스트 요청 단말(370)로부터 수신한 적어도 하나 이상의 입력항목과, 상기 입력항목에 대응하는 입력값을 포함하는 입력 데이터, 적어도 하나 이상의 출력항목과, 상기 출력항목에 대응하는 출력값을 포함하는 출력 데이터에 대응하여, 상기 시험항목D/B(140)에 저장된 테스트 항목 정보에 대응하는 테스트 항목별 프로그램 소스코드 테스트를 실행하는 것이 바람직하다.