KR101449201B1 - 철강 공정용 소프트웨어 자동 테스트 시스템 - Google Patents

철강 공정용 소프트웨어 자동 테스트 시스템 Download PDF

Info

Publication number
KR101449201B1
KR101449201B1 KR1020120154432A KR20120154432A KR101449201B1 KR 101449201 B1 KR101449201 B1 KR 101449201B1 KR 1020120154432 A KR1020120154432 A KR 1020120154432A KR 20120154432 A KR20120154432 A KR 20120154432A KR 101449201 B1 KR101449201 B1 KR 101449201B1
Authority
KR
South Korea
Prior art keywords
testing
scenario
diagram
task
model
Prior art date
Application number
KR1020120154432A
Other languages
English (en)
Other versions
KR20140084698A (ko
Inventor
신기영
최자영
박영복
김도훈
Original Assignee
주식회사 포스코
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 포스코 filed Critical 주식회사 포스코
Priority to KR1020120154432A priority Critical patent/KR101449201B1/ko
Publication of KR20140084698A publication Critical patent/KR20140084698A/ko
Application granted granted Critical
Publication of KR101449201B1 publication Critical patent/KR101449201B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 철강 공정용 소프트웨어 자동 테스트 시스템에 관한 것이다. 본 발명의 일 실시 형태에 따른 철강 공정용 소프트웨어 자동 테스트 시스템은, 다이어그램 기반으로 소프트웨어 테스팅을 위한 테스팅 시나리오를 자동으로 작성하는 테스팅 모델 다이어그램 에디터, 상기 작성된 테스팅 시나리오의 내용 및 구조를 참조하여, 테스팅 시나리오 XML(eXtensible Markup Language) 문서를 발생시키는 테스팅 시나리오 XML 발생기, 상기 발생된 테스팅 시나리오 XML 문서를 기반으로, 테스팅 시나리오 내 적어도 하나의 테스팅 태스크들을 생성하는 테스팅 태스크 관리부, 상기 생성된 테스팅 태스크들을 소프트웨어 상에서 실행하여 상기 소프트웨어를 자동 테스트하는 테스팅 태스크 실행부를 포함한다.

Description

철강 공정용 소프트웨어 자동 테스트 시스템{AUTOMATIC SOFTWARE TEST SYSTEM FOR STEEL PROCESSING}
본 발명은 철강 공정용 소프트웨어 자동 테스트 시스템에 관한 것이다.
종래 철강 공정 분야에서 소프트웨어 개발자는 소프트웨어를 개발한 후, 직접 테스팅을 위한 소스코드를 수동 작성하고 컴파일 및 실행하여, 소프트웨어를 정적으로 테스팅한다. 이는 테스팅을 위한 소스코드의 부가적인 개발과 이에 따른 추가적인 비용을 필요로 하는 문제점이 있다. 또한, 예외 및 폴트 상황에 대한 테스팅이 불가능한 문제점이 있다.
당해 기술분야에서는, 철강 공정용 소프트웨어 자동 테스트 시스템이 요구되고 있다.
상기 과제를 해결하기 위해서, 본 발명의 제1 태양은 철강 공정용 소프트웨어 자동 테스트 시스템을 제공한다. 상기 철강 공정용 소프트웨어 자동 테스트 시스템은, 다이어그램 기반으로 소프트웨어 테스팅을 위한 테스팅 시나리오를 자동으로 작성하는 테스팅 모델 다이어그램 에디터, 상기 작성된 테스팅 시나리오의 내용 및 구조를 참조하여, 테스팅 시나리오 XML(eXtensible Markup Language) 문서를 발생시키는 테스팅 시나리오 XML 발생기, 상기 발생된 테스팅 시나리오 XML 문서를 기반으로, 테스팅 시나리오 내 적어도 하나의 테스팅 태스크들을 생성하는 테스팅 태스크 관리부, 상기 생성된 테스팅 태스크들을 소프트웨어 상에서 실행하여 상기 소프트웨어를 자동 테스트하는 테스팅 태스크 실행부, 및 개발자로부터 원하는 성능 지표를 선택받고, 선택된 성능 지표에 따라 성능 결과 파라미터들을 동적으로 선택하는 성능 결과 지표 관리부를 포함하며, 상기 테스팅 모델 다이어그램 에디터는, 다이어그램 기반으로 예외 및 폴트 상황을 나타내는 폴트 시나리오를 작성하고, 상기 테스팅 시나리오 XML 발생기는, 상기 작성된 폴트 시나리오의 내용 및 구조를 참조하여, 폴트 시나리오 XML 문서를 발생시키며, 상기 테스팅 태스크 관리부는, 상기 발생된 테스팅 시나리오 XML 문서 및 폴트 시나리오 XML 문서, 성능 결과 파라미터를 기반으로, 테스팅 시나리오 내 적어도 하나의 테스팅 태스크들과 각 테스팅 태스크와 관련된 OFP(Operation, Fault and Performance) 정보들을 생성할 수 있다.
덧붙여 상기한 과제의 해결 수단은, 본 발명의 특징을 모두 열거한 것은 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시 형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
철강 공정용 소프트웨어 자동 테스트 시스템이 제공될 수 있다.
도 1은 본 발명의 일 실시 형태에 따른 철강 공정용 소프트웨어 자동 테스트 시스템의 장치 구성을 도시한 블럭도, 및
도 2는 본 발명의 일 실시 형태에 따른 철강 공정용 소프트웨어 자동 테스트 시스템의 소프트웨어 자동 테스트 방법을 도시한 흐름도.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태들을 설명한다. 그러나, 본 발명의 실시형태는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명하는 실시 형태로 한정되는 것은 아니다. 또한, 본 발명의 실시형태는 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
본 발명은 철강 공정용 소프트웨어 자동 테스트 시스템에 관한 것으로서, 특히, 철강 공정 미들웨어를 자동적으로 기능 및 성능 면에서 테스트하기 위한 자동 테스트 시스템에 대해 설명한다. 즉, 개발된 미들웨어를 테스팅할 수 있는 테스팅 시나리오를 직관적인 방법으로 작성하고, 작성된 테스팅 시나리오를 기반으로 테스팅을 수행하여, 실시간으로 기능 및 성능 결과를 개발자에게 보여줄 수 있는 자동 테스트 시스템에 대해 설명한다. 또한, 예외 및 폴트 상황 또한 테스팅 시나리오에 반영하여 그에 대한 사고 상황을 자동적으로 테스팅할 수 있는 시스템에 대해 설명한다. 이를 통해 본 발명은 소프트웨어 테스트를 위한 소스코드 개발 절차를 줄일 수 있으며, 소프트웨어 개발 과정 도중 또는 완료 후 언제든지 테스트를 수행하여, 철강 공정에서 요구하는 안정적인 소프트웨어를 개발 및 제공할 수 있는 이점이 있다.
도 1은 본 발명의 일 실시 형태에 따른 철강 공정용 소프트웨어 자동 테스트 시스템의 장치 구성을 도시한 블럭도이다.
도시된 바와 같이, 철강 공정용 소프트웨어 자동 테스트 시스템은, 테스팅 모델 다이어그램 에디터(100), 테스팅 모델 다이어그램 시나리오 매니저(102), 테스팅 모델 다이어그램 시나리오 평가 엔진(104), 테스팅 모델 시나리오 파일 관리부(106), 테스팅 모델 스크립트 에디터(108), 테스팅 모델 스크립트 시나리오 매니저(110), 테스팅 모델 스크립트 시나리오 평가 엔진(112), 테스팅 시나리오 XML(eXtensible Markup Language) 발생기(114), 소스코드 발생기(116), 폴트 시나리오 발생기(118), 테스팅 시나리오 XML 분석기(120), 테스팅 시뮬레이션 관리 커널 엔진(122), 테스팅 태스크 관리부(124), 테스팅 태스크 풀(126), 테스팅 태스크 핸들러 관리부(128), 테스팅 태스크 실행부(130), 테스팅 성능 결과 로거(132), 성능 결과 지표 관리부(134), 테스팅 성능 결과 뷰어(136), 테스팅 성능 결과 집적부(138), 테스팅 성능 결과 사후 분석기(140)를 포함한다.
상기 도 1을 참조하면, 상기 테스팅 모델 다이어그램 에디터(100)는, 다이어그램을 기반으로 철강 공정 미들웨어 테스팅을 위한 시나리오를 자동으로 작성할 수 있는 툴이다. 상기 테스팅 모델 다이어그램 에디터(100)는, 테스팅 시나리오를 구성할 수 있는 다양한 모델을 툴 화면에 다이어그램으로 표시하고 드래그 앤 드롭을 이용한 다이어그램 모델들 간 연결 및 해당 다이어그램 모델에 대한 속성 입력을 지원함으로써, 개발자에 의해 선택 및 연결되는 하나 이상의 다이어그램 모델들로 테스팅 시나리오를 작성한다. 이에 따라 개발자는 상기 테스팅 모델 다이어그램 에디터(100)를 통해 드래그 앤 드롭을 이용하여 하나 이상의 다이어그램 모델을 선택 및 연결하고 해당 모델에 대한 속성을 입력함으로써, 직관적으로 편리하게 철강 공정 미들웨어 테스팅을 위한 시나리오를 작성할 수 있다. 여기서, 상기 테스팅 시나리오를 구성할 수 있는 다이어그램 모델은, 테스팅 태스크를 나타내는 테스팅 태스크 다이어그램 모델, 테스팅 태스크들 간 메시지 송수신을 담당하는 메시지 송수신 다이어그램 모델, 테스팅 태스크의 운영 주기 및 시간 설정을 담당하는 타이머 운용 다이어그램 모델, 테스팅 태스크와 결합하여 파일 생성, 저장, 관리, 삭제 등의 파일 관련 오퍼레이션 수행을 담당하는 파일 운용 다이어그램 모델, 태스크들 간 특정 데이터 공유를 담당하는 공유 메모리 운용 다이어그램 모델, 테스팅 테스크와 결합하여 데이터베이스에 데이터를 저장하고 관리하기 위한 오퍼레이션 및 통신을 담당하는 데이터베이스 운용 다이어그램 모델, 철강 공정에서 PLC(Programmable Logic Controller) 또는 DCS(Distributed Control System)와의 통신 및 데이터 송수신을 담당하는 PLC 및 DCS 운용 다이어그램 모델 등을 포함한다.
또한, 상기 테스팅 모델 다이어그램 에디터(100)는, 테스팅 시나리오의 랜덤 발생을 지원함으로써, 개발자에 의해 테스팅 시나리오의 랜덤 발생이 요구되는 경우, 하나 이상의 다이어그램 모델들을 랜덤으로 선택 및 연결하여 테스팅 시나리오를 작성할 수 있다. 이에 따라 개발자는 별도로 다이어그램 모델을 선택 및 연결할 필요 없이, 랜덤 발생 메뉴 선택 또는 명령어 입력을 통해 테스팅 시나리오를 랜덤 작성할 수 있다.
상기 테스팅 모델 다이어그램 시나리오 매니저(102)는, 상기 테스팅 모델 다이어그램 에디터(100)에 의해 작성되는 테스팅 시나리오를 분석하고, 해당 내용 및 구조를 내부적으로 컴퓨터가 이해할 수 있는 데이터 구조로 실시간 유지 및 관리한다. 즉, 테스팅 시나리오에 적용된 다이어그램 모델들 간 연결, 해당 다이어그램 모델에 대한 속성을 컴퓨터가 이해할 수 있는 데이터 구조로 실시간 유지 및 관리한다. 상기 데이터 구조는 테스팅 시나리오에 적용된 다이어그램 모델들의 이름을 키 값으로 가지고 있으며, 다이어그램 모델들은 해당 키 값을 기준으로 자동 정렬된다. 상기 테스팅 모델 다이어그램 시나리오 매니저(102)는, 트리 구조, 링크드 리스트 구조를 통해 효율적으로 데이터를 관리할 수 있다.
상기 테스팅 모델 다이어그램 시나리오 평가 엔진(104)은, 상기 테스팅 모델 다이어그램 에디터(100)에 의해 작성된 테스팅 시나리오에 대한 검증 및 평가를 수행한다. 즉, 테스팅 태스크 다이어그램 모델을 시작으로, 태스크 번호 및 태스크 이름 등이 적절한 내용으로 설정되었는지 평가하고, 테스팅 태스크 다이어그램 모델 및 이와 연결되는 타 다이어그램 모델들이 적절하게 연결되었는지 그리고 각 다이어그램 모델의 속성이 제대로 설정되었는지 검증 및 평가한다. 또한, 상기 테스팅 모델 다이어그램 시나리오 평가 엔진(104)은, 메시지 등을 통해 검증 및 평가 결과를 자동으로 개발자에게 알릴 수 있다.
상기 테스팅 모델 시나리오 파일 관리부(106)는, 상기 테스팅 모델 다이어그램 시나리오 매니저(102)에 의해 유지 및 관리되는 테스팅 시나리오의 내용 및 구조를 추출하여 파일 및 데이터베이스를 통해 저장 및 관리한다. 즉, 테스팅 시나리오에 적용된 다이어그램 모델들 간 연결에 대한 정보, 해당 다이어그램 모델에 대한 속성에 대한 정보를 파일 및 데이터베이스를 통해 저장 및 관리한다. 또한, 상기 테스팅 모델 시나리오 파일 관리부(106)는, 테스팅 모델 스크립트 시나리오 매니저(110)에 의해 유지 및 관리되는 테스팅 시나리오의 내용 및 구조를 추출하여 파일 및 데이터베이스를 통해 저장 및 관리한다. 이에 따라, 상기 테스팅 모델 다이어그램 에디터(100) 및 테스팅 모델 스크립트 에디터(108)는 파일 및 데이터베이스 검색을 통해 기 저장된 테스팅 시나리오를 재로딩하여 미들웨어 테스트에 이용할 수 있다.
상기 테스팅 모델 스크립트 에디터(108)는, 스크립트를 기반으로 철강 공정 미들웨어 테스팅을 위한 시나리오를 작성할 수 있는 툴이다. 상기 테스팅 모델 스크립트 에디터(108)는, 개발자에 의해 툴 화면에 입력되는 스크립트로 테스팅 시나리오를 작성한다.
상기 테스팅 모델 스크립트 시나리오 매니저(110)는, 상기 테스팅 모델 스크립트 에디터(108)에 의해 작성되는 테스팅 시나리오를 분석하고, 해당 내용 및 구조를 내부적으로 컴퓨터가 이해할 수 있는 데이터 구조로 실시간 유지 및 관리한다.
상기 테스팅 모델 스크립트 시나리오 평가 엔진(112)은, 상기 테스팅 모델 스크립트 에디터(108)에 의해 작성된 테스팅 시나리오에 대한 검증 및 평가를 수행한다. 즉, 테스팅 시나리오의 문법이 적절한지 평가하고, 내부적으로 운용 시 문제가 없는지 검증 및 평가한다. 또한, 상기 테스팅 모델 스크립트 시나리오 평가 엔진(112)은, 메시지 등을 통해 검증 및 평가 결과를 자동으로 개발자에게 알릴 수 있다.
상기 테스팅 시나리오 XML 발생기(114)는, 상기 테스팅 모델 다이어그램 시나리오 매니저(102)에 의해 유지 및 관리되는 테스팅 시나리오의 내용 및 구조를 참조하여, 해당 테스팅 시나리오를 표현하는 XML 문서를 발생시킨다. 여기서, 상기 XML 문서는 테스팅 시나리오에 적용된 다이어그램 모델들 간 연결 정보, 해당 다이어그램 모델에 대한 속성 정보를 포함한다. 즉, 상기 XML 문서는 테스팅 태스크 다이어그램 모델에 대한 속성 정보(예를 들어, 태스크 이름 및 태스크 번호, 미들웨어가 운용되는 서버 정보 등), 테스팅 태스크 다이어그램 모델과 타 다이어그램 모델들 간 연결 정보, 타 다이어그램 모델들에 대한 속성 정보를 포함한다. 또한, 상기 테스팅 시나리오 XML 발생기(114)는, 상기 테스팅 모델 스크립트 시나리오 매니저(110)에 의해 유지 및 관리되는 테스팅 시나리오의 내용 및 구조를 참조하여, 해당 테스팅 시나리오를 표현하는 XML 문서를 발생시킨다.
상기 소스코드 발생기(116)는, 상기 테스팅 시나리오 XML 발생기(114)에 의해 발생된 XML 문서를 분석 및 파싱하여, 미들웨어에서 컴파일되어 실행될 수 있는 소스코드를 자동적으로 발생시킨다. 또한, 상기 소스코드 발생기(116)는, 자동으로 컴파일 스크립트를 실행하여 상기 발생된 소스코드를 컴파일 및 실행함으로써, 상기 발생된 소스코드를 기반으로 미들웨어를 자동으로 테스트할 수 있다.
상기 폴트 시나리오 발생기(118)는, 상기 테스팅 모델 다이어그램 에디터(100)에 의해 제공되는 폴트 시나리오 작성기를 통하여 테스팅 태스크 다이어그램 모델 및 이와 연결되는 타 다이어그램 모델들에 대한 폴트 시나리오를 작성한다. 즉, 예외 및 폴트 상황에 대한 소프트웨어 테스팅을 위해 예외 및 폴트 상황을 나타내는 폴트 시나리오를 작성한다. 또한, 상기 폴트 시나리오 발생기(118)는, 상기 테스팅 모델 스크립트 에디터(108)를 통하여 폴트 시나리오를 작성할 수 있다. 이와 같이 작성된 폴트 시나리오의 내용 및 구조는, 상기 테스팅 모델 다이어그램 시나리오 매니저(102) 및 테스팅 모델 스크립트 시나리오 매니저(110)에 의해 컴퓨터가 이해할 수 있는 데이터 구조로 실시간 유지 및 관리되고, 상기 테스팅 모델 시나리오 파일 관리부(106)에 의해 파일 및 데이터베이스를 통해 저장 및 관리된다. 이에 따라 상기 테스팅 시나리오 XML 발생기(114)는, 상기 테스팅 모델 다이어그램 시나리오 매니저(102) 및 테스팅 모델 스크립트 시나리오 매니저(110)에 의해 유지 및 관리되는 폴트 시나리오의 내용 및 구조를 참조하여, 해당 폴트 시나리오를 표현하는 XML 문서를 발생시킬 수 있다. 상기 폴트 시나리오를 표현하는 XML 문서는, 테스팅 태스크 다이어그램 모델 및 이와 연결되는 타 다이어그램 모델들에 대한 폴트 오퍼레이션 정보를 포함한다.
상기 테스팅 시나리오 XML 분석기(120)는, 상기 테스팅 시나리오 XML 발생기(114)에 의해 발생된 테스팅 시나리오 XML 문서 및 폴트 시나리오 XML 문서를 분석 및 파싱하고, 해당 정보들을 각 테스팅 태스크들을 기준으로 조합하여 테스팅 시뮬레이션 관리 커널 엔진(122)으로 전달한다. 또한, 상기 테스팅 시나리오 XML 분석기(120)는, 상기 테스팅 시나리오 XML 발생기(114)에 의해 발생된 테스팅 시나리오 XML 문서 및 폴트 시나리오 XML 문서에 대한 내용 변경 및 업데이트 상황을 체크하고, 내용 변경 또는 업데이트 상황이 감지되면, 변경 또는 업데이트된 내용이 반영될 수 있도록, 해당 테스팅 시나리오 XML 문서 및 폴트 시나리오 XML 문서를 다시 분석 및 파싱하고, 해당 정보들을 각 테스팅 태스크들을 기준으로 조합하여 테스팅 시뮬레이션 관리 커널 엔진(122)으로 전달한다.
상기 테스팅 시뮬레이션 관리 커널 엔진(122)은, 상기 테스팅 시나리오 XML 분석기(120)로부터 전달받은 정보를 기반으로, 테스팅 태스크 관리부(124)를 제어하여 상기 테스팅 시나리오 내 적어도 하나의 테스팅 태스크들과 각 테스팅 태스크와 관련된 다수의 OFP(Operation, Fault and Performance) 정보들을 생성한다. 여기서, OFP 정보는 운용(Operation) 정보, 폴트(Fault) 정보, 성능(Performance) 정보를 포함한다. 즉, 상기 테스팅 태스크 관리부(124)는 테스팅 태스크 다이어그램 모델에 대한 속성 정보를 기반으로 해당 테스팅 태스크를 생성하고, 테스팅 태스크 다이어그램 모델과 타 다이어그램 모델들 간 연결 정보 및 타 다이어그램 모델들에 대한 속성 정보를 포함하여 운용 정보를 생성하며, 테스팅 태스크 다이어그램 모델 및 이와 연결되는 타 다이어그램 모델들에 대한 폴트 오퍼레이션 정보를 포함하여 폴트 정보를 생성한다. 성능 정보는, 성능 결과 지표 관리부(134)에 의해 동적으로 선택된 성능 결과 파라미터들에 대한 정보를 획득 및 포함하여 생성한다. 상기 테스팅 태스크 관리부(124)는, 이와 같이 생성된 테스팅 태스크들과 각 테스팅 태스크와 관련된 다수의 OFP 정보를 테스팅 태스크 풀(126)에 등록하고, 해당 내용이 변경되었을 경우, 상기 테스팅 태스크 풀(126)에 해당 변경된 내용을 반영하며, 더 이상 OFP 정보가 불필요할 경우, 해당 정보를 삭제할 수 있다.
상기 테스팅 태스크 핸들러 관리부(128)는, 상기 테스팅 태스크 풀(126)에 테스팅 태스크가 등록되면, 등록된 테스팅 태스크에 1:1 매핑되는 테스팅 태스크 핸들러를 할당한다.
상기 테스팅 태스크 실행부(130)는, 각 테스팅 태스크에 매핑된 테스팅 태스크 핸들러를 통해 미들웨어 상에서 관련 OFP 정보 및 테스팅 태스크 함수 컬렉션을 참조하여 해당 테스팅 태스크들을 실행함으로써, 상기 미들웨어를 자동 테스트한다. 여기서, 상기 테스팅 태스크 실행부(130)는 미들웨어에서 제공하는 프로그래밍 개발 API(application programming interface)를 적절한 내부 구조로 랩핑하고 있는 테스팅 태스크 함수 컬렉션을 가지며, 테스팅 태스크 실행 시, 관련 API 함수를 호출할 수 있다.
상기 테스팅 성능 결과 로거(132)는, 성능 결과 지표 관리부(134)에 의해 동적으로 선택된 성능 결과 파라미터들에 대응하는 성능 결과를 획득하고, 이를 미들웨어에 대한 성능 테스팅 결과로서 테스팅 성능 결과 뷰어(136) 및 테스팅 성능 결과 집적부(138)로 전달한다.
상기 성능 결과 지표 관리부(134)는, 개발자로부터 원하는 성능 지표를 선택받고, 선택된 성능 지표에 따라 성능 결과 파라미터들을 동적으로 선택하여 테스팅 태스크 관리부(124)로 전달한다. 여기서, 성능 지표는 시스템 안정성(Reliability), 확장성(Scalability), 강건성(Robustness), 정보처리성(Processing Capabilty) 등을 포함하며, 각각의 성능 지표에 따라 모니터링 가능한 성능 결과 파라미터들 및 관련 파라미터들의 조합이 정해져 있다. 또는, 성능 지표에 대응하는 성능 결과 파라미터들이 개발자에 의해 동적으로 변경 설정될 수 있다.
상기 테스팅 성능 결과 뷰어(136)는, 상기 테스팅 성능 결과 로거(132)로부터 성능 결과를 전달받아 화면에 수치 또는 그래프로 표시함으로써, 개발자로 하여금 미들웨어에 대한 현재 성능 테스팅 결과를 확인할 수 있도록 한다.
상기 테스팅 성능 결과 집적부(138)는, 상기 테스팅 성능 결과 로거(132)로부터 성능 결과를 전달받아 파일 또는 데이터베이스 또는 공유메모리를 통해 저장한다.
상기 테스팅 성능 결과 사후 분석기(140)는, 상기 테스팅 성능 결과 집적부(138)에 저장된 성능 결과를 참조하여, 일정 기간 동안 저장된 성능 결과를 기반으로 사후 분석을 수행한다.
도 2는 본 발명의 일 실시 형태에 따른 철강 공정용 소프트웨어 자동 테스트 시스템의 소프트웨어 자동 테스트 방법을 도시한 흐름도이다.
상기 도 2를 참조하면, 철강 공정용 소프트웨어 자동 테스트 시스템은 201단계에서, 다이어그램 또는 스크립트 기반으로 미들웨어 테스팅을 위한 테스팅 시나리오 및 폴트 시나리오를 자동으로 작성한다.
이후, 상기 시스템은 203단계에서 상기 작성된 테스팅 시나리오 및 폴트 시나리오의 내용 및 구조를 컴퓨터가 이해할 수 있는 데이터 구조로 실시간 유지 및 관리한다.
이후, 상기 시스템은 205단계에서 상기 테스팅 시나리오 및 폴트 시나리오의 내용 및 구조를 참조하여, 테스팅 시나리오 XML 문서와 폴트 시나리오 XML 문서를 발생시킨다.
이후, 상기 시스템은 207단계에서 상기 테스팅 시나리오 XML 문서 및 폴트 시나리오 XML 문서를 분석 및 파싱하고, 해당 정보들을 각 테스팅 태스크들을 기준으로 조합하여 상기 테스팅 시나리오 내 적어도 하나의 테스팅 태스크들과 각 테스팅 태스크와 관련된 다수의 OFP 정보들을 생성한다.
이후, 상기 시스템은 209단계에서 테스팅 태스크별 테스팅 태스크 핸들러를 할당한다.
이후, 상기 시스템은 211단계에서 각 테스팅 태스크에 매핑된 테스팅 태스크 핸들러를 통해 미들웨어 상에서 관련 OFP 정보 및 테스팅 태스크 함수 컬렉션을 참조하여 해당 테스팅 태스크들을 실행함으로써, 상기 미들웨어를 자동 테스트한다.
이후, 상기 시스템은 213단계에서 미들웨어에 대한 성능 테스팅 결과를 화면에 수치 또는 그래프로서 표시한다.
이후, 상기 시스템은 본 발명에 따른 알고리즘을 종료한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 수정 및 변형이 가능하다는 것은 당 기술분야의 통상의 지식을 가진 자에게는 자명할 것이다.
100: 테스팅 모델 다이어그램 에디터
102: 테스팅 모델 다이어그램 시나리오 매니저
104: 테스팅 모델 다이어그램 시나리오 평가 엔진
106: 테스팅 모델 시나리오 파일 관리부
108: 테스팅 모델 스크립트 에디터
110: 테스팅 모델 스크립트 시나리오 매니저
112: 테스팅 모델 스크립트 시나리오 평가 엔진
114: 테스팅 시나리오 XML 발생기
116: 소스코드 발생기
118: 폴트 시나리오 발생기
120: 테스팅 시나리오 XML 분석기
122: 테스팅 시뮬레이션 관리 커널 엔진
124: 테스팅 태스크 관리부
126: 테스팅 태스크 풀
128: 테스팅 태스크 핸들러 관리부
130: 테스팅 태스크 실행부
132: 테스팅 성능 결과 로거
134: 성능 결과 지표 관리부
136: 테스팅 성능 결과 뷰어
138: 테스팅 성능 결과 집적부
140: 테스팅 성능 결과 사후 분석기

Claims (11)

  1. 다이어그램 기반으로 소프트웨어 테스팅을 위한 테스팅 시나리오를 자동으로 작성하는 테스팅 모델 다이어그램 에디터,
    상기 작성된 테스팅 시나리오의 내용 및 구조를 참조하여, 테스팅 시나리오 XML(eXtensible Markup Language) 문서를 발생시키는 테스팅 시나리오 XML 발생기,
    상기 발생된 테스팅 시나리오 XML 문서를 기반으로, 테스팅 시나리오 내 적어도 하나의 테스팅 태스크들을 생성하는 테스팅 태스크 관리부,
    상기 생성된 테스팅 태스크들을 소프트웨어 상에서 실행하여 상기 소프트웨어를 자동 테스트하는 테스팅 태스크 실행부, 및
    개발자로부터 원하는 성능 지표를 선택받고, 선택된 성능 지표에 따라 성능 결과 파라미터들을 동적으로 선택하는 성능 결과 지표 관리부를 포함하며,
    상기 테스팅 모델 다이어그램 에디터는, 다이어그램 기반으로 예외 및 폴트 상황을 나타내는 폴트 시나리오를 작성하고,
    상기 테스팅 시나리오 XML 발생기는, 상기 작성된 폴트 시나리오의 내용 및 구조를 참조하여, 폴트 시나리오 XML 문서를 발생시키며,
    상기 테스팅 태스크 관리부는, 상기 발생된 테스팅 시나리오 XML 문서 및 폴트 시나리오 XML 문서, 성능 결과 파라미터를 기반으로, 테스팅 시나리오 내 적어도 하나의 테스팅 태스크들과 각 테스팅 태스크와 관련된 OFP(Operation, Fault and Performance) 정보들을 생성하는 철강 공정용 소프트웨어 자동 테스트 시스템.
  2. 제 1 항에 있어서,
    상기 소프트웨어는 미들웨어인 것을 특징으로 하는 철강 공정용 소프트웨어 자동 테스트 시스템.
  3. 제 1 항에 있어서,
    상기 테스팅 모델 다이어그램 에디터는, 테스팅 시나리오를 구성할 수 있는 다양한 모델을 화면에 다이어그램으로 표시하고 드래그 앤 드롭을 이용한 다이어그램 모델들 간 연결 및 해당 다이어그램 모델에 대한 속성 입력을 지원하여, 개발자에 의해 선택 및 연결되는 하나 이상의 다이어그램 모델들로 테스팅 시나리오를 작성하는 것을 특징으로 하는 철강 공정용 소프트웨어 자동 테스트 시스템.
  4. 제 3 항에 있어서,
    상기 테스팅 모델 다이어그램 에디터는, 개발자에 의해 테스팅 시나리오의 랜덤 발생이 요구되는 경우, 하나 이상의 다이어그램 모델들을 랜덤으로 선택 및 연결하여 테스팅 시나리오를 작성하는 것을 특징으로 하는 철강 공정용 소프트웨어 자동 테스트 시스템.
  5. 제 3 항에 있어서,
    상기 화면에 표시되는 다이어그램 모델은, 테스팅 태스크를 나타내는 다이어그램 모델, 테스팅 태스크들 간 메시지 송수신을 담당하는 다이어그램 모델, 테스팅 태스크의 운영 주기 및 시간 설정을 담당하는 다이어그램 모델, 테스팅 태스크와 결합하여 파일 관련 오퍼레이션 수행을 담당하는 다이어그램 모델, 태스크들 간 데이터 공유를 담당하는 다이어그램 모델, 테스팅 테스크와 결합하여 데이터베이스에 데이터를 저장 및 관리하기 위한 오퍼레이션 및 통신을 담당하는 다이어그램 모델, 철강 공정에서 PLC(Programmable Logic Controller) 또는 DCS(Distributed Control System)와의 통신 및 데이터 송수신을 담당하는 다이어그램 모델 중 적어도 하나를 포함하는 것을 특징으로 하는 철강 공정용 소프트웨어 자동 테스트 시스템.
  6. 제 3 항에 있어서,
    상기 테스팅 시나리오 XML 문서는, 테스팅 태스크 다이어그램 모델에 대한 속성 정보, 테스팅 태스크 다이어그램 모델과 타 다이어그램 모델들 간 연결 정보 및 타 다이어그램 모델들에 대한 속성 정보를 포함하며,
    상기 폴트 시나리오 XML 문서는, 테스팅 태스크 다이어그램 모델 및 이와 연결되는 타 다이어그램 모델들에 대한 폴트 오퍼레이션 정보를 포함하는 것을 특징으로 하는 철강 공정용 소프트웨어 자동 테스트 시스템.
  7. 제 6 항에 있어서,
    상기 OFP 정보는, 운용 정보, 폴트 정보, 성능 정보를 포함하며,
    상기 테스팅 태스크 관리부는, 테스팅 태스크 다이어그램 모델에 대한 속성 정보를 기반으로 테스팅 태스크를 생성하고, 테스팅 태스크 다이어그램 모델과 타 다이어그램 모델들 간 연결 정보 및 타 다이어그램 모델들에 대한 속성 정보를 포함하여 운용 정보를 생성하며, 테스팅 태스크 다이어그램 모델 및 이와 연결되는 타 다이어그램 모델들에 대한 폴트 오퍼레이션 정보를 포함하여 폴트 정보를 생성하고, 성능 결과 파라미터들에 대한 정보를 포함하여 성능 정보를 생성하는 것을 특징으로 하는 철강 공정용 소프트웨어 자동 테스트 시스템.
  8. 제 7 항에 있어서,
    상기 성능 결과 파라미터들에 대응하는 성능 결과를 획득하는 테스팅 성능 결과 로거,
    상기 획득된 성능 결과를 화면에 수치 또는 그래프로서 표시하는 테스팅 성능 결과 뷰어,
    상기 획득된 성능 결과를 저장하는 테스팅 성능 결과 집적부,
    상기 저장된 성능 결과를 참조하여, 일정 기간 동안 저장된 성능 결과를 기반으로 사후 분석을 수행하는 테스팅 성능 결과 사후 분석기를 더 포함하는 철강 공정용 소프트웨어 자동 테스트 시스템.
  9. 제 1 항에 있어서,
    테스팅 태스크별 테스팅 태스크 핸들러를 할당하는 테스팅 태스크 핸들러 관리부를 더 포함하며,
    여기서, 상기 테스팅 태스크 실행부는, 각 테스팅 태스크에 매핑된 테스팅 태스크 핸들러를 통해 소프트웨어 상에서 관련 OFP 정보 및 테스팅 태스크 함수 컬렉션을 참조하여 해당 테스팅 태스크를 실행함으로써, 소프트웨어를 자동 테스트하는 것을 특징으로 하는 철강 공정용 소프트웨어 자동 테스트 시스템.
  10. 제 1 항에 있어서,
    상기 테스팅 모델 다이어그램 에디터에 의해 작성된 테스팅 시나리오를 분석하고, 해당 내용 및 구조를 내부적으로 컴퓨터가 이해할 수 있는 데이터 구조로 실시간 유지 및 관리하는 테스팅 모델 다이어그램 시나리오 매니저,
    스크립트를 기반으로 테스팅 시나리오를 자동으로 작성하는 테스팅 모델 스크립트 에디터,
    상기 테스팅 모델 스크립트 에디터에 의해 작성된 테스팅 시나리오를 분석하고, 해당 내용 및 구조를 내부적으로 컴퓨터가 이해할 수 있는 데이터 구조로 실시간 유지 및 관리하는 테스팅 모델 스크립트 시나리오 매니저를 더 포함하는 철강 공정용 소프트웨어 자동 테스트 시스템.
  11. 제 1 항에 있어서,
    상기 테스팅 시나리오 XML 발생기에 의해 발생된 테스팅 시나리오 XML 문서를 분석 및 파싱하여, 소프트웨어에서 컴파일되어 실행될 수 있는 소스코드를 자동적으로 발생시키고, 자동으로 컴파일 스크립트를 실행하여 상기 발생된 소스코드를 컴파일 및 실행함으로써, 소프트웨어를 테스트하는 소스코드 발생기를 더 포함하는 철강 공정용 소프트웨어 자동 테스트 시스템.
KR1020120154432A 2012-12-27 2012-12-27 철강 공정용 소프트웨어 자동 테스트 시스템 KR101449201B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120154432A KR101449201B1 (ko) 2012-12-27 2012-12-27 철강 공정용 소프트웨어 자동 테스트 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120154432A KR101449201B1 (ko) 2012-12-27 2012-12-27 철강 공정용 소프트웨어 자동 테스트 시스템

Publications (2)

Publication Number Publication Date
KR20140084698A KR20140084698A (ko) 2014-07-07
KR101449201B1 true KR101449201B1 (ko) 2014-10-08

Family

ID=51734539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120154432A KR101449201B1 (ko) 2012-12-27 2012-12-27 철강 공정용 소프트웨어 자동 테스트 시스템

Country Status (1)

Country Link
KR (1) KR101449201B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3547143B1 (en) 2018-03-27 2022-06-01 Siemens Aktiengesellschaft System and method for model-based and behaviour-driven testing
CN108763039B (zh) * 2018-04-02 2021-09-21 创新先进技术有限公司 一种业务故障模拟方法、装置及设备
KR102254850B1 (ko) * 2018-12-31 2021-05-21 주식회사 포스코아이씨티 프로세스 설정 장치 및 프로세스 설정 장치를 포함하는 로봇 프로세스 자동화 시스템
CN112148616B (zh) * 2020-09-30 2024-04-26 中国民航信息网络股份有限公司 一种性能测试管理平台
CN113434412A (zh) * 2021-06-28 2021-09-24 通号城市轨道交通技术有限公司 Atc自动测试系统及atc自动测试方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Dong Xu 외 2인, ‘Using Adaptive Agents to Automatically Generate Test Scenarios from the UML Activity Diagram’, Proceedings of the 12th-Asia-Pacific Software Engineering Conference, 2005
Dong Xu 외 2인, 'Using Adaptive Agents to Automatically Generate Test Scenarios from the UML Activity Diagram', Proceedings of the 12th-Asia-Pacific Software Engineering Conference, 2005 *
Santosh Kumar Swain 외 2인, ‘Test Case Generation Based on Use case and Sequence Diagram’, Int.J. of Software Engineering Vol.3 No.2, 2010.07, pp.21-52
Santosh Kumar Swain 외 2인, 'Test Case Generation Based on Use case and Sequence Diagram', Int.J. of Software Engineering Vol.3 No.2, 2010.07, pp.21-52 *

Also Published As

Publication number Publication date
KR20140084698A (ko) 2014-07-07

Similar Documents

Publication Publication Date Title
Mirzaei et al. Testing android apps through symbolic execution
US10572360B2 (en) Functional behaviour test system and method
US8584079B2 (en) Quality on submit process
US6941546B2 (en) Method and apparatus for testing a software component using an abstraction matrix
US9608893B2 (en) Methods and systems for parsing data objects
CN103150249B (zh) 一种自动化测试的方法和系统
US8515876B2 (en) Dry-run design time environment
US20140282421A1 (en) Distributed software validation
US20080276221A1 (en) Method and apparatus for relations planning and validation
KR101449201B1 (ko) 철강 공정용 소프트웨어 자동 테스트 시스템
CN111695827B (zh) 业务流程的管理方法、装置、电子设备及存储介质
US10445225B2 (en) Command coverage analyzer
KR20140023971A (ko) 고도로 동시적인 처리 작업들의 등록 및 실행
US9026997B2 (en) Systems and methods for executing object-oriented programming code invoking pre-existing objects
CN108287720B (zh) 软件编译方法、装置、设备及存储介质
US20160011730A1 (en) Generic User Interface Client for Software Logistics Processes
CN103186463A (zh) 确定软件的测试范围的方法和系统
CN112717416B (zh) 虚拟场景中的资源处理方法、装置及电子设备
KR20090099977A (ko) 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및장치
CN116860324B (zh) 开发数据处理方法、开发数据处理设备以及可读存储介质
Das et al. State machine antipatterns for UML-RT
JP2012048329A (ja) オブジェクト指向プログラム生成装置、その方法、プログラム
US20090271770A1 (en) Method, system, and computer program product for generating unit testing scripts
CN109815142B (zh) 一种产品测试方法和装置
CN100419711C (zh) 一种服务调试命令发射器及其处理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 6