KR20020012254A - Protocol acknowledgment between homogeneous systems - Google Patents

Protocol acknowledgment between homogeneous systems Download PDF

Info

Publication number
KR20020012254A
KR20020012254A KR1020017015622A KR20017015622A KR20020012254A KR 20020012254 A KR20020012254 A KR 20020012254A KR 1020017015622 A KR1020017015622 A KR 1020017015622A KR 20017015622 A KR20017015622 A KR 20017015622A KR 20020012254 A KR20020012254 A KR 20020012254A
Authority
KR
South Korea
Prior art keywords
test
operating system
target device
testing
computer
Prior art date
Application number
KR1020017015622A
Other languages
Korean (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 추후제출
Publication of KR20020012254A publication Critical patent/KR20020012254A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Abstract

호스트 컴퓨터의 테스트 및 유효성 검사 소프트웨어 프로그램은 그래픽 유저 인터페이스 프로그램, 타겟 장치와 통신하며 그래픽 유저 인터페이스로부터의 명령에 응답하여 통신하는 엔진, 계의 적어도 하나의 성분을 테스트 및 유효성 검사하는 적어도 하나의 테스트를 가지는 다수의 테스트부, 및 타겟 장치와 함께 사용하는데 도움이 되는 프로토콜 인식 소프트웨어 패키지(4000)를 포함하며, 상기 프로토콜 인식 소프트웨어 패키지는 타겟 장치로부터 인식 메세지를 대기하는 실행 쓰레드를 유포하는 프로토콜 관련 분야로서 운영체계-생성된 이벤트 핸들을 사용하며, 상기 이벤트 핸들은 인식 메세지 패킷(3002)의 헤더부에 위치하며 인식 메세지로 다시 보내지며, 수신 쓰레드는 인식 메세지(2003)의 이벤트 핸들을 대기하는 임의의 전송 실행 쓰레드를 언블록화한다.The test and validation software program of the host computer includes a graphical user interface program, an engine in communication with the target device and in communication with a command from the graphical user interface, and at least one test for testing and validating at least one component of the system. The branch includes a plurality of test units, and a protocol aware software package 4000 for use with the target device, which is a protocol related field that distributes execution threads waiting for a recognition message from the target device. Using an operating system-generated event handle, the event handle is located in the header of acknowledgment message packet 3002 and sent back as an acknowledgment message, with the receiving thread waiting for an event handle for acknowledgment message 2003. Transfer execution threads Unblock

Description

유사한 시스템들간의 프로토콜 인식 방법 및 장치{PROTOCOL ACKNOWLEDGMENT BETWEEN HOMOGENEOUS SYSTEMS}Protocol recognition method and apparatus between similar systems {PROTOCOL ACKNOWLEDGMENT BETWEEN HOMOGENEOUS SYSTEMS}

개발자들은 셋탑 박스, 게임 시스템, 바코드 스캐너 및 공장 자동화 시스템을 포함하는 서로 다른 타입의 컴퓨터화된 제품에 Windows CE와 같은 운영 체계를 내장하는 것이 증가 추세에 있다. Windows CE가 성장함에 따라, "기성품"(off-the-shelf) 소프트웨어 개발툴에 대한 필요성도 증가되었다. 여러 툴 및 "기성품" 소프트웨어 키트들이 장치 디자인 시간을 절약하기 위하여 신속한 장치개발을 선도하면서 시장에 등장하였지만, 특히 장치 개발의 최종단계에서, 이러한 새로운 제품의 호환성을 식별하는 어떠한 고속의 시스템 또는 방법도 존재하지 않는다.Developers are increasingly embedding operating systems such as Windows CE in different types of computerized products, including set-top boxes, gaming systems, bar code scanners, and factory automation systems. As Windows CE grew, so did the need for "off-the-shelf" software development tools. Several tools and “off-the-shelf” software kits have emerged on the market leading the way in rapid device development to save device design time, but any high-speed system or method of identifying the compatibility of these new products, especially at the end of device development, does not exist.

전통적으로, 단지 두개의 운영체계 장치 테스팅 옵션만이 이용되었다:(1) 테스트 코드의 기업내 기록 또는 (2) 다른 회사로의 고객 코드 개발을 아웃 소싱. 사내 테스팅 프로젝트를 완성하기 위하여 주문자 상표부착(OEM)은 자신들의 스태프를 훈련시키는 데 몇 개월이 소요되며, 테스트 코드를 개발하는데 더 많은 달이 소요되고, 심지어 상기 코드들을 사용하여 자신의 제품이 테스트되기도 이전에 준비하는데만 더 많은 달이 소요될 수 있다. 유사하게, 아웃-소싱 고객 코드 개발원이 코드를 기록하는데에 수 개월이 소요될 수도 있다. 그러므로 두 옵션들은 시간소비적이고 비싸다.Traditionally, only two operating system device testing options have been used: (1) in-house recording of test code or (2) outsourcing customer code development to another company. To complete an in-house testing project, OEMs take months to train their staff, more months to develop test code, and even test their products using these codes. It may take more months just to get ready before it is. Similarly, it may take months for an outsourced customer code developer to write code. Therefore, both options are time consuming and expensive.

품질보증 장치 테스팅 시스템과 관련된 기술에서, 여러 네트워크 프로토콜이 사용되는데, 이는 전송된 메세지의 승인을 대기하는 동안 프로그램 실행을 일시중지한다. 예를 들어, 전송제어 프로토콜(TCP)은 하위레벨에서 특정의 전송된 메세지가 "접속시"의 원격지에 의하여 승인될 때까지 프로그램 실행을 블록킹한다. 대부분의 프로토콜들은 O/S-독립 방식으로 수행된다. 이처럼, 승인을 요구하는 전송된 메세지는 실행 쓰레드를 이용하여 전송된 메세지의 식별을 교차참조하는 리스트에서 유지되어야 하며, 상기 쓰레드는 상기 승인을 대기한다. 상기와 같은 관련 기술의 시스템들은 긴 시퀀스를 따른다: 초기 메세지를 전송하기 전에 메세지 ID를 생성; 실행 쓰레드와 메세지 ID를 연관시키는 리스트에 엘리멘트 추가; 메세지 전송; 수신 코드가 이것을 언블록킹할 때까지 실행 쓰레드 전송을 블록킹; 원격 프로세스에 의하여 원메세지 ID를 포함하는 ACK 메세지를 다시 전송함으로써 전송된 메세지를 승인; 최초로 전송된 메세지의 메세지 ID를 해석; 리스트에서 메세지 ID를 참조; 어떤 실행 쓰레드가 리스트로부터 방출되었는지를 결정; 그리고 최종적으로, 계속적인 프로그램 실행을 위해 최초로 전송된 실행 쓰레드를 방출.In the art associated with the QA testing system, several network protocols are used, which suspend program execution while waiting for the acknowledgment of the transmitted message. For example, Transmission Control Protocol (TCP) blocks program execution at a lower level until a particular transmitted message is acknowledged by the remote "on connection". Most protocols are performed in an O / S-independent manner. As such, a sent message requesting approval must be maintained in a list that cross-references the identification of the message sent using the thread of execution, and the thread waits for the approval. Such related art systems follow a long sequence: generating a message ID before sending the initial message; Add an element to the list that associates the thread of execution with the message ID; Message transmission; Blocking execution thread transmissions until the receiving code unblocks it; Acknowledging the transmitted message by sending back an ACK message containing the original message ID by the remote process; Parse the message ID of the first message sent; Reference message IDs in the list; Determine which execution threads have been released from the list; Finally, it releases the first thread of execution to continue executing the program.

이러한 시간 소모적인 운영체계 장치 테스팅 옵션들은 제품의 품질을 개선하고, 여러 사람과 시간에 대한 시간과 비용을 절약하며, 제품 개발 프로세스의 흐름을 개선하기 위하여 유사한 시스템들간의 제품 승인을 이용하는 통합된 테스팅 시스템에 대하여 강력하게 요구하게 되었다. 특히, 인스톨된 내장 Windows CE 운영체계를 가진 장치를 테스트하고 유효성을 검사하는 방법 및 장치가 상기의 문제를 극복하는데 필요하게 되었고 따라서 제품의 품질을 개선하고, 여러 사람과 시간에 대한 시간과 비용을 절약하며, 제품 개발 프로세스의 흐름을 개선하는 방법 및 장치가 제공되며, 이는 장치 설계자에 대하여 완전히 자동화된 디자인 식별 패키지를 초래하게 된다. 특히, O/S-제공된 이벤트, O/S-내부적으로 유지된 이벤트 리스트 및 O/S-내부적으로 유지된 블록킹 쓰레드(즉, 전송 쓰레드) 리스트를 이용하는 시스템이 필요하게 되었다. 그러므로, 프로토콜 승인 방법과 관련된 기술과 달리, 여러 단계들이 제거될 필요가 있다(예를 들어, 리스트에서 메세지 ID와 실행 쓰레드를 연관시키는 엘리멘트 추가, 리스트에서 메세지 ID를 교차 참조하는 것, 그리고 어떤 실행 쓰레드가 리스트 엔트리로부터 방출되는가를 결정하는 것).These time-consuming operating system device testing options include integrated testing that uses product approvals between similar systems to improve product quality, save time and money for multiple people and time, and improve the flow of the product development process. There is a strong demand for the system. In particular, methods and devices for testing and validating devices with the built-in Windows CE operating system installed have become necessary to overcome the above problems, thereby improving product quality and improving time and cost for different people and time. Methods and devices are provided that save and improve the flow of the product development process, resulting in a fully automated design identification package for device designers. In particular, there is a need for systems that use O / S-supplied events, O / S-internally maintained event lists, and O / S-internally maintained blocking threads (ie, transport threads) lists. Therefore, unlike techniques related to protocol approval methods, several steps need to be eliminated (for example, adding an element that associates a message ID with a thread of execution in a list, cross-referencing a message ID in a list, and some execution). Determining whether a thread is emitted from a list entry).

그러므로, ACK를 처리하는 대안적인 방법을 통하여 보다 단순하고, 짧으면서 에러가 덜 발생하는 코드가 도움이 될 것이며, 여기에서 다수의 액션들이 승인 메세지를 수신할 때 실행될 수 있다(예를 들어, 여러 교차참조 및 부수적인 지연 제거, 단일 쓰레드 케이스와 매우 동일한 ACK의 수신에 대한 코드, 만일 다중 쓰레드가 우선권을 가진다면 전송된 메세지에서 유지될 필요가 없는 우선권 데이터, 및 적당한 우선권을 가진 모든 쓰레드를 O/S가 다시 시작할 때 쓰레드-방출 우선권을 결정하도록 완전하게 스캐닝될 필요가 없는 ID 리스트). 유용한 시스템은 ACK 메세지를 대기하는 여러 대기중인 실행 쓰레드를 수행할 수 있으며, 상기 쓰레드는 프로토콜 헤더의 초기 "전송"에 의하여 내장되었던 이벤트 핸들을 대기하는 O/S-제공된 기능을 사용하는데만 필요할 뿐이다. 유사하게 유리한 여러 실행 쓰레드가 다수의 전송된 메세지중 임의의 메세지에 대한 ACK에 의하여 추가의 교차참조 프로세싱없이 트리거되어야 한다.Therefore, a simpler, shorter, less error-prone code would be helpful through alternative ways of handling ACKs, where multiple actions can be executed when receiving an acknowledgment message (e.g., Cross-referencing and consequent delay elimination, code for receiving ACKs that are very identical to a single threaded case, priority data that does not need to be maintained in the transmitted message if multiple threads have priority, and all threads with proper priority. List of IDs that do not need to be scanned completely to determine thread-emission priority when / S restarts. A useful system can run several waiting execution threads waiting for an ACK message, which is only needed to use the O / S-provided function to wait for event handles that were built by the initial "send" of the protocol header. . Similarly, several advantageous threads of execution should be triggered without further cross-reference processing by an ACK for any of the multiple transmitted messages.

본 특허출원은 1999년 6월 4일 출원되고 "PROTOCOL ACKNOWLEDGMENT BETWEEN HOMOGENEOUS SYSTEMS"로 명명된 미국 가출원번호 제60/137,629호의 장들을 청구하고 있으며, 2000년 1월 21일 출원되고 "CE VALIDATOR TEST SUITE"로 명명된 미국 특허출원 번호 제09/489,308호의 부분연속출원이며, 1999년 1월 21일 출원되고 "CE VALIDATOR TEST SUITE"로 명명된 미국 가출원 번호 제60/116,824호의 장점을 청구하고 있다.This patent application claims the chapters of U.S. Provisional Application No. 60 / 137,629, filed June 4, 1999 and entitled "PROTOCOL ACKNOWLEDGMENT BETWEEN HOMOGENEOUS SYSTEMS." Partial serial application of US patent application Ser. No. 09 / 489,308, entitled US Patent Application No. 60 / 116,824, filed Jan. 21, 1999, entitled "CE VALIDATOR TEST SUITE."

본 발명은 제품 품질보증에 관한 것이며, 컴퓨터화된 제품에 제공된 운영체계의 유효성을 검사하기 위한 테스트 시스템 및 방법에 관한 것이다. 특히, 본 발명은 제품 품질보증에 관한 것이며, 컴퓨터화된 제품을 개발하는 동안 운영 체계에 대한 유효성을 검사하는 테스트 시스템 및 방법에 관한 것이다. 더우기 본 발명은 제품 품질보증에 관한 것이며, 컴퓨터화된 제품에 전형적으로 제공되는 워싱톤주 레이몬드에 소재한 마이크로소프트사에서 제작되고 판매되는 Windows CE와 같은 운영 체계의 유효성을 검사하기 위한 테스트 시스템 및 방법에 관한 것이다.The present invention relates to product quality assurance and to test systems and methods for validating an operating system provided on a computerized product. In particular, the present invention relates to product quality assurance and to test systems and methods for validating operating systems during development of computerized products. Furthermore, the present invention relates to product quality assurance, and to a test system and method for validating an operating system such as Windows CE, manufactured and sold by Microsoft, Raymond, Washington, which is typically provided for computerized products. It is about.

본 발명의 이해를 위하여 참조번호가 함께 사용된다.Reference numerals are used together for the understanding of the present invention.

도 1.0은 제어 유니트에 내장된 운영체계가 제공된 컴퓨터화된 제품의 개략도이다.1.0 is a schematic diagram of a computerized product provided with an operating system embedded in a control unit.

도 2.0은 본 발명에 따라 내장된 운영체계가 제공된 컴퓨터화된 제품에서의 품질보증 테스트를 도시한 제작 흐름도이다.2.0 is a manufacturing flow diagram illustrating QA testing in a computerized product provided with an embedded operating system in accordance with the present invention.

도 3.0은 본 발명에 따라 그래픽 사용자 인터페이스, 엔진, 다수의 테스트 수트 및 로깅 라이브러리를 포함하는 본 발명의 운영체계 유효성 검사기의 주요 부분을 도시한 블록도이다.3.0 is a block diagram illustrating the major parts of an operating system validator of the present invention that includes a graphical user interface, an engine, multiple test suites, and a logging library in accordance with the present invention.

도 4.0은 본 발명에 따라 내장된 운영체계가 제공된 다수의 타겟 장치를 테스팅하는 호스트 장치로부터의 다수의 테스트 수트 구성의 실행을 도시한 블록도이다.4.0 is a block diagram illustrating the execution of multiple test suite configurations from a host device testing multiple target devices provided with an embedded operating system in accordance with the present invention.

도 5.0은 이더넷 수단에 의하여 호스트에서의 O/S 유효성 검사기를 이용하여 타겟 장치에 의한 통신을 제외한 도 4에 도시된 본 발명을 도시한 블록도이다.FIG. 5.0 is a block diagram illustrating the invention shown in FIG. 4 excluding communication by a target device using an O / S validator at a host by Ethernet means.

도 5a는 본 발명에 따라 타겟 장치와 다수의 호스트 사이의 통신이 이더넷상에서 발생할 수 있는 배치를 도시한다.5A illustrates an arrangement in which communication between a target device and multiple hosts may occur over Ethernet in accordance with the present invention.

도 6은 본 발명에 따라 테스트 수트 실행 상태에 대한 다른 장치를 도시한다.6 illustrates another apparatus for a test suite execution state in accordance with the present invention.

도 7.0은 본 발명에 따라 자동 및 수동 테스트 수트 실행에서 테스트되는 특정 API의 기능영역의 테이블 리스트이다.7.0 is a table listing of the functional areas of a particular API tested in automatic and manual test suite execution in accordance with the present invention.

도 8A,8B 및 8C는 모두 본 발명에 따라 자동 및 수동 모드에서 테스트될 수 있는 자신의 각각의 API와 기능 영역의 포괄적인 테이블 리스트를 포함한다.8A, 8B and 8C all contain a comprehensive table listing of their respective APIs and functional areas that can be tested in automatic and manual mode in accordance with the present invention.

도 9.0은 본 발명에 따라 빌딩 자동 스크립트에서 사용하기 위한 선택된 API의 테이블 리스트이다.9.0 is a table listing of selected APIs for use in building automated scripts in accordance with the present invention.

도 10.0은 본 발명에 따라 모든 실행가능 프로그램에 대한 소스 코드를 제공하는 본 발명의 개념을 대표하는 개략도이다.10.0 is a schematic diagram illustrating the concept of the present invention providing source code for all executable programs in accordance with the present invention.

도 11.0은 본 발명에 따라 다른 관계된 요약 기능외에 테스트 수트 선택 옵션을 도시한 윈도우를 대표하는 블록도이다.11.0 is a block diagram representative of a window showing test suite selection options in addition to other related summary functions in accordance with the present invention.

도 12.0은 본 발명에 따라테스트 결과, 테스트 실패 및 관계된 테스트 요약 옵션을 도시한 로깅 윈도우를 대표하는 블록도이다.12.0 is a block diagram representing a logging window showing test results, test failures, and associated test summary options in accordance with the present invention.

도 13.0은 본 발명에 따라 공동으로 테스트되는 테스트 장치의 개수의 함수로서 테스트 사이클 시간을 그래픽 형태로 도시한 도면이다.13.0 is a graphical representation of test cycle time as a function of the number of test devices jointly tested according to the present invention.

도 14.0은 본 발명에 따라 다수의 구성 관계 기능을 실행하는 탭을 도시한 구성 윈도우를 대표하는 블록도이다.14.0 is a block diagram representing a configuration window showing tabs for executing multiple configuration relationship functions in accordance with the present invention.

도 15A,15B,15C는 모두 본 발명에 따라 운영체계 시스템 부분의 테이블 리스트 테스팅 상세내역을 포함한다.15A, 15B, and 15C all contain table list testing details of an operating system system portion in accordance with the present invention.

도 16은 본 발명에 따라 유사한 시스템간의 승인 프로토콜에 대하여 유일한동시성 멀티쓰레딩 성능을 도시한 흐름도이다.16 is a flow chart illustrating unique concurrent multithreading capability for a similar intersystem authorization protocol in accordance with the present invention.

따라서, CEValidatorTM의 출원인 상표하에서 상업적으로 사용될 수 있는 본 발명은 운영체계 유효성 검사기(이후, O/S 유효성 검사기로서 참조)이며, 도면에서 숫자 "1"로 지정되고, 새롭게 개발된 타겟 장치의 하드웨어 및/또는 소프트웨어에서 Windows CE와 같은 운영체계의 포트를 테스트하는 자동화된 테스트 수트 방법을포함하는 테스트 시스템을 제공함으로써 상기 문제를 해결한다. O/S 유효성 검사기는 O/S를 의도적으로 강조하기 위하여 특별히 개발된 포괄적인 코드 베이스, 장치 드라이버, OEM 적응 레이어(OAL), 및 유사한 시스템들 사이에서 승인 프로토콜에 대한 유일한 동시성 다중쓰레드 실행 방법을 사용한 하드웨어 상호접속을 포함한다. 제공된 테스트 수트는 세개의 주요 결점을 유효성 검사하는데 초점을 모은다: 하드웨어 디자인, 하드웨어 프로그래밍(드라이버/OAL), 및 운영체계 상호작용. 특별히 진단을 하는데 있어서의 강조사항은 대부분의 문제점을 역사적으로 보여주는 Windows CE 서브 시스템에 있다. 테스트 수트는 Windows CE 포트의 완전한 분석을 제공하며 특징 및 기능 테스트외에 시스템 스트레스-테스팅 루틴을 포함하는 거의 1500 테스트를 포함한다. 이들 테스트들은 O/S 유효성 검사기에 의하여 그룹화된다. O/S 유효성 검사기는 테스트 소스 코드 및 모든 테스트에 대한 실행가능 프로그램을 모두 포함한다.Accordingly, the invention, which can be used commercially under the Applicant's trademark of CEValidator , is an operating system validator (hereinafter referred to as an O / S validator), designated by the number " 1 " in the figures, and newly developed target device hardware. And / or providing a test system including an automated test suite method for testing a port of an operating system such as Windows CE in software. The O / S validator provides a unique method of concurrent multithreaded execution of authorization protocols between a comprehensive code base, device driver, OEM adaptation layer (OAL), and similar systems specifically developed to intentionally emphasize O / S. Includes hardware interconnection used. The test suite provided focuses on validating three major flaws: hardware design, hardware programming (driver / OAL), and operating system interaction. The emphasis in particular diagnostics is on the Windows CE subsystem, which historically shows most problems. The test suite provides a complete analysis of the Windows CE port and includes nearly 1500 tests that include system stress-testing routines in addition to feature and functional tests. These tests are grouped by O / S validator. O / S validators include both test source code and executable programs for all tests.

테스트 수트의 실행과 로깅 결과의 수집을 단순화하기 위하여, 마이크로소프트 윈도우즈 사용자 인터페이스를 이용하는 표준 윈도우즈 애플리케이션과 같은 O/S 유효성 검사기 호스트 설비에 대한 직관적인 사용자 인터페이스가 이용된다. O/S 유효성 검사기는 클라이언트/서버 애플리케이션과 같은 테스트 수트를 분배한다. 그래픽 사용자 인터페이스(GUI)는 타겟 장치에서 가동하는 작은 애플리케이션인 CEHarness.exe와 함께 상호작용한다. 이러한 커뮤니케이션은 이더넷에서 발생할 수 있기 때문에, 적어도 하나의 호스트는 적어도 하나의 타겟 장치에 대하여 수트들을 가동할 것이다.To simplify the execution of the test suite and the collection of logging results, an intuitive user interface for an O / S validator host facility, such as a standard Windows application using the Microsoft Windows user interface, is used. O / S validators distribute test suites, such as client / server applications. The graphical user interface (GUI) interacts with CEHarness.exe, a small application running on the target device. Since this communication can occur over Ethernet, at least one host will run suits for at least one target device.

O/S 유효성 검사기는 타겟 장치가 테스트를 실패할 때 유용한 에러 정보를 발생시킨다. 수트들이 가동하는 동안, 그 결과들은 구성 요약탭외에 다수의 다이나믹하게 생성된 로그 윈도우에 디스플레이된다. 로깅 윈도우는 주어진 테스트 결과의 완전한 텍스트를 포함한다. 실패는 식별을 용이하게 하기 위하여 컬러 코딩된 붉은색이다. 로깅 윈도우의 네비게이션 버튼은 사용자로 하여금 하나의 실패로부터 다른 실패로 빠르게 이동하도록 한다. 테스트상의 로깅 API는 각각의 결과 파일에서 발생되는 프롤로그 및 에필로그를 유발시킨다. 동시에 공동으로 가동하는 프로세스와 같은 정보인 배터리 전력 레벨, 및 실행일 및 시간은 결과 파일에 자동으로 기록되고 로그 윈도우에 디스플레이된다. 프로그램 메모리 손실, 저장 메모리 손실 또는 총 실행시간과 같은 유용한 요약 정보가 로그 윈도우 탭에 제공된다. 주어진 테스트 결과에 대한 요약 정보가 수집되어 구성 윈도우의 요약탭에 디스플레이된다. 요약탭은 실시간으로 통과 및 실패 테스트 케이스의 개수를 보고한다. 브레이크아웃된 개별 수트에 대한 통과 및 실패수가 또한 디스플레이된다. 구성 윈도우의 요약탭은 수천의 테스트 결과들 중에서 개별적인 실패에 대한 빠른 네비게이션을 용이하게 한다. 로깅된 실패에 대응하는 정확한 소스 파일 및 라인개수는 O/S 유효성 검사기의 로깅 API에 의하여 자동으로 보고된다. O/S 유효성 검사기는 모든 실행가능한 것에 대한 소스 코드를 제공하기 때문에, 에러를 보고하는 소스 코드에 직접적으로 접근하는 것은 실패의 텍스트형 디스크립션에 대한 강력한 부속물이다.The O / S validator generates useful error information when the target device fails the test. While the suits are running, the results are displayed in a number of dynamically generated log windows in addition to the Configuration Summary tab. The logging window contains the complete text of the given test result. Failure is color coded red to facilitate identification. Navigation buttons in the logging window allow the user to quickly move from one failure to another. Test logging APIs cause prologs and epilogs to be generated in each result file. Battery power levels, and run dates and times, which are information such as concurrently running processes, are automatically recorded in the result file and displayed in the log window. Useful summary information such as program memory loss, storage memory loss, or total execution time is provided in the Log Window tab. Summary information for a given test result is collected and displayed in the Summary tab of the configuration window. The Summary tab reports the number of pass and fail test cases in real time. The number of passes and failures for the breakout individual suit is also displayed. The Summary tab in the configuration window facilitates quick navigation to individual failures among thousands of test results. The exact source file and line count corresponding to the logged failure are automatically reported by the O / S validator's logging API. Since the O / S validator provides source code for all executables, direct access to the error reporting source code is a powerful appendage to the textual description of the failure.

본 발명은 승인(ACK) 메세지를 대기하는 실행 쓰레드를 방출하는 프로토콜의멤버 필드로서 O/S-생성된 이벤트 핸들을 이용한다. WIN32 이벤트 핸들과 같은 O/S-생성된 이벤트 핸들은 원 전송 쓰레드 실행을 블록킹하는데 사용되며, 헤더에 위치하여 ACK에 다시 전송된다. 수신 쓰레드는 리스트에서 트랜잭션 유효성 검사(ID)를 참조할 필요가 없다. 대신, 수신 쓰레드는 이벤트를 대기하는 임의의 쓰레드를 언블록킹한다. 즉, 본 발명은 블록킹 쓰레드(즉, 전송 쓰레드)의 O/S-제공된 이벤트, O/S-내부적으로-유지되는 이벤트 리스트 및 O/S-내부적으로-유지되는 리스트를 사용한다. 그러므로, 연관 기술인 프로토콜 승인 방법과는 다르게, 여러 단계들이 제거된다: 실행 쓰레드와 리스트의 메세지 ID를 연관시키는 엘리멘트를 추가, 리스트에서 메세지 ID를 참조, 및 어떤 실행 쓰레드를 리스트 엔트리로부터 방출시킬 것인지를 결정.The present invention uses an O / S-generated event handle as a member field of the protocol that emits an execution thread waiting for an acknowledgment (ACK) message. O / S-generated event handles, such as WIN32 event handles, are used to block the execution of the original transfer thread and are placed in the header and sent back to the ACK. The receiving thread does not need to refer to the transaction validation (ID) in the list. Instead, the receiving thread unblocks any thread waiting for an event. That is, the present invention uses O / S-provided events, O / S-internally-maintained event lists and O / S-internally-maintained lists of blocking threads (ie, transport threads). Therefore, unlike the protocol approval method, which is an association technique, several steps are eliminated: adding an element that associates a thread with a message ID in the list, referring to the message ID in the list, and which execution thread to emit from the list entry. decision.

결과적으로, 코드는 ACK의 처리에 관한 현재의 발명의 대안 방법을 이용하여 더욱 단순화되며, 짧아지고 에러가 줄어든다. 그러므로 본 발명은 승인 메세지의 수신시에 다수의 액션을 촉진시키는 여러 장점을 제공한다: 교차참조 및 수반된 지연이 제거되고, ACK의 수신에 대한 코드는 단일-쓰레드 케이스와 매우 동일하며, 우선권 데이터는 만일 여러 쓰레드가 우선화되어있다면 전송된 메세지 리스트에 유지될 필요가 없으며, ID 리스트는 적당한 우선권을 가진 모든 쓰레드를 O/S가 재시작할 때 쓰레드-릴리스 우선권을 결정하도록 전체적으로 스캐닝될 필요가 없다. ACK 메세지를 대기중인 다수의 보류된 쓰레드의 실행을 수행하기 위하여, 쓰레드는 프로토콜 헤더에 최기 "전송"에 의하여 삽입된 이벤트 핸들을 대기하는 O/S-제공된 기능을 사용하는데만 필요하다. 유사하게, 다중 쓰레드 실행은 추가의 교차참조프로세싱없이 전송된 임의의 다수 메세지에 대한 ACK에 의하여 트리거링될 수 있다.As a result, the code is further simplified by using an alternative method of the present invention regarding the processing of ACK, which is shorter and less error. Therefore, the present invention provides several advantages of facilitating multiple actions upon receipt of an acknowledgment message: cross-references and accompanying delays are eliminated, and the code for receipt of an ACK is very identical to a single-threaded case, with priority data Does not need to be kept in the sent message list if multiple threads are prioritized, and the ID list does not need to be scanned globally to determine thread-release priority when O / S restarts all threads with the appropriate priority. . In order to perform the execution of a number of suspended threads waiting for an ACK message, the thread is only needed to use the O / S-provided function to wait for the event handle inserted by the last "transmit" in the protocol header. Similarly, multithreaded execution can be triggered by an ACK for any number of messages sent without additional cross-reference processing.

본 발명의 일 특징은 본 발명의 실시예에 자세하게 기술되어 있다.One feature of the invention is described in detail in the embodiments of the invention.

도 1.0은 컴퓨터 워크스테이션, 셋탑 박스, 게이밍 시스템, 바코드 스캐너 및 숫자 1001a로 표시된 내장 운영체계가 제공된 공장 자동화 시스템과 같은 전형적인 컴퓨터화된 제품(9)인 컴퓨터화된 제품(1000)을 도시한다. 도시된 바와 같이, 상기 제품(1000)은 내장된 윈도우 CE 운영체계(O/S)와 같은 운영체계(1001a)가 제공된 전형적인 타겟 장치(9)를 포함할 수 있다. 컴퓨터화된 제품(1000)은 자신의 운영체계(1001a)를 테스트하고 유효성을 검사하기 위하여 O/S 유효성 검사기와 같은 본 발명이 설치된 독립형 장치로서 기능할 수 있다. 독립형 테스팅은 O/S 유효성 검사기 하부구조의 정교한 인식이 필요하지 않은 것처럼 새로운 테스트 개발 및 보고된 결함의 디버깅을 이용한다. 그러나 도 2.0에 도시된 바와 같이 보다 유사한 애플리케이션에서, 상기 제품(1000)은 제작 품질보증 테스팅 환경(M)에서 본 발명, 즉 타겟 장치(9)를 테스트하기 위한 O/S 유효성 검사기가 설치되고 그리고 운영체계(1001a)가 제공된 호스트 컴퓨터(4)로서 기능할 수 있다. 도 1.0을 다시 참조하면, 컴퓨터화된 제품(1000)은 예를 들어, 다수의 입/출력 포트(1021), 키보드(1009), 프린터(1010), 마우스(1011) 및 모니터(1012)를 갖는 제어 유니트(1020)를 포함하는 여러 하위부품을 포함할 수 있다. 하위부품들(1009,1010,1011.1012)은 자체적으로 테스트가능한 타겟장치일 수 있다. 전형적인 제어유니트(1020)는 자체적으로 중앙 처리 유니트(1001), 하드디스크 드라이브(1004)와 같은 저장장치, RAM(1002)을 포함하는 다른 메모리 부품, ROM(1003), 컴팩트 디스크(1005), 오디오부품(1006), 네트워크/서버 카드(1007) 및 모뎀(1008)을 포함하는 여러 하위 부품들을 포함한다. 제어 유니트에는 유용한 장치로서 제품(1000)이 기능하도록 운영체계(1001a)가 반드시 포함되어야 한다.1.0 shows a computerized product 1000, which is a typical computerized product 9, such as a computer workstation, set top box, gaming system, bar code scanner, and factory automation system provided with a built-in operating system represented by numeral 1001a. As shown, the product 1000 may include a typical target device 9 provided with an operating system 1001a, such as an embedded Windows CE operating system (O / S). Computerized product 1000 may function as a standalone device equipped with the present invention, such as an O / S validator, to test and validate its operating system 1001a. Stand-alone testing takes advantage of new test development and debugging of reported defects, as does not require sophisticated awareness of the O / S validator infrastructure. However, in a more similar application as shown in FIG. 2.0, the product 1000 is equipped with an O / S validator for testing the present invention, i.e., the target device 9, in a production quality assurance testing environment M and Operating system 1001a may function as a host computer 4 provided. Referring back to FIG. 1.0, computerized product 1000 has, for example, a number of input / output ports 1021, a keyboard 1009, a printer 1010, a mouse 1011, and a monitor 1012. It may include several subcomponents, including the control unit 1020. The subcomponents 1009, 1010, 1011.1012 can be self-testable target devices. A typical control unit 1020 itself may be a central processing unit 1001, a storage device such as a hard disk drive 1004, other memory components including a RAM 1002, a ROM 1003, a compact disc 1005, audio Various sub-components, including component 1006, network / server card 1007, and modem 1008. The control unit must include an operating system 1001a for the product 1000 to function as a useful device.

도 3.0은 그래픽 사용자 인터페이스(GUI;2), 엔진(3), 다수의 테스트 수트(11) 및 로깅 라이브러리(12)를 포함하는 O/S 유효성 검사기(1)의 주요 부품들을 도시한다. GUI(2) 및 엔진(3)은 O/S 유효성 검사기내에서 숫자 7로 지정되고 HarnessLink.dll로 명명된 부분을 통하여 양방향으로 내부적으로 통신하며, 이하 상세하게 설명된다. 도 4.0은 O/S 유효성 검사기(10)가 제공된 호스트 컴퓨터(4)를 도시한다. 도시된 바와 같이, 다수의 타겟 장치(9)는 본 발명에 따라 테스트되기 위한 O/S(1001a)가 제공된다. O/S 유효성 검사기(1)는 타겟 장치(9)내의 OS(1001a)의 제어하에서 특정 기능을 테스트하기 위하여 다수의 테스트 구성(21a,21b,21c)과 같은 테스팅 구성을 생성하는 능력을 가진다. CEHarness(8)로 명명된 장치의 사이드 부분은 O/S 유효성 검사기(1)의 엔진(3)과 통신한다. 도 5,5a에 도시된 바와 같이, CEHarness(8)는 또한 이더넷 수단(4a)를 통하여 O/S 유효성 검사기(1)의 엔진(3)과 통신할 수 있다. 도 5a는 통신이 이더넷에서 발생될 수 있기 때문에 다수의 호스트(4)가 다수의 타겟 장치(9)에 대하여 수트들을 가동할 수 있는 것을 도시한다. 다른 실시예에서, 테스트 수트 실행 상태에 대한 도 6에 도시된 바와 같이, CEHarness(8)은 또한 수트 실행 접속(1021a)을 통하여 O/S 유효성 검사기(1)의 엔진(3)과 통신할 수 있으며, 여기에서 호스트 컴퓨터(4)는 NT 호스트 컴퓨터를 포함할 수 있고, 로깅 라이브러리(12)는 타겟 장치(9)에 제공될수 있으며, 테스트 수트가 소켓 접속(1021b)를 통하여 호스트 컴퓨터(4)에 제공된다.FIG. 3.0 shows the main parts of the O / S validator 1 comprising a graphical user interface (GUI) 2, an engine 3, a plurality of test suites 11 and a logging library 12. The GUI 2 and the engine 3 communicate internally in both directions via a part designated by the number 7 in the O / S validator and named HarnessLink.dll, which will be described in detail below. 4.0 shows a host computer 4 provided with an O / S validator 10. As shown, a number of target devices 9 are provided with an O / S 1001a for testing in accordance with the present invention. The O / S validator 1 has the ability to create a testing configuration, such as a number of test configurations 21a, 21b, 21c, for testing a particular function under the control of the OS 1001a in the target device 9. The side part of the device named CEHarness 8 communicates with the engine 3 of the O / S validator 1. As shown in Figs. 5, 5A, the CEHarness 8 can also communicate with the engine 3 of the O / S validator 1 via the Ethernet means 4a. FIG. 5A shows that multiple hosts 4 can run suits for multiple target devices 9 since communication can take place over Ethernet. In another embodiment, as shown in FIG. 6 for the test suite execution state, the CEHarness 8 may also communicate with the engine 3 of the O / S validator 1 via the suit execution connection 1021a. Wherein the host computer 4 may comprise an NT host computer, a logging library 12 may be provided to the target device 9, and a test suite may be provided via the socket connection 1021b. Is provided.

동작시, O/S 유효성 검사기(1)는 윈도우 CE 운영체계와 같은 내장형 운영체계가 제공된 타겟 장치(9)를 테스트 및 유효성을 검사한다. 넓게 표현하면, O/S 유효성 검사기는 (1)타겟 장치에 대한 윈도우 CE 포트의 유효성 검사, (2)스트레스와 성능 테스팅을 제공, (3) 결과를 로깅 및 분석, (4) 다수의 애플리케이션 프로그램 인터페이스(API)를 포함하는 다수의 기능 영역을 테스트(도 7,8A,8B,8C의 표 1.0과 표2.0을 참조), (6) 자동화된 수트에서의 테스트의 커스터마이징을 실시, (7) 호스트 사이드 그래픽 테스트 설비를 제공, (8) 메모리 성능의 스트레싱 및 평가, (9) 다수의 API를 포함하는 빌딩 테스트 자동화를 위한 수단 제공(도 3.0과 9.0의 표 3.0 참조), 및 (10) CEAnalyzer로 명명된 결과 분석툴을 제공함으로써 기능한다. 상술한 바와 같이 그리고 도 10에 도시된 바와 같이, O/S 유효성 검사기(1)는 모든 테스트에 대하여 테스트 소스 코드(SC) 및 실행가능 프로그램(EP)(모두 실행가능 테스트로서 참조됨)을 포함한다. 실행가능 테스트(EP)에 대한 단독의 수행 필요조건은 테스트 케이스 "통과" 및 "실패"가 두개의 특정한 API: WRITETESTPASS() 및 WRITETESTFAIL()을 사용하여 보고되는 것이다. 이와 같은 매크로는 공지된 printf() 함수와 유사한 서명을 가지지만, 그 사용은 자동화된 요약화를 위한 "결과"파일에서 표준 테스트 케이스 결과 포맷을 생성하며, 호스트 사용자 인터페이스와 리포팅을 통합한다. O/S 유효성 검사기(1) 방법은 또한 GUI(2)와 실행가능 테스트(EP)에서 캡슐화된 테스트 케이스 사이의 중재를 포함하며, GUI(2)가 테스트 실행을 분배 및 조절하는 수단을 제공한다. 테스트 수트(11)는 테스트를 분배하고 실행하는데 필요한 작업의 직접 표현인 수트 랭귀지 명령(예를 들어, PUT, RUN, WAIT 및 DELETE)로 구성된 텍스트 파일(5)을 포함한다. 다른 지원된 수트 명령은 타겟 장치(9)로부터 파일을 검색하는 GET, 클라이언트/서버 스타일 테스트에 유용한 호스트 컴퓨터(4)의 실행가능 프로그램(EP)를 가동시키는 RUNHOST, 호스트 컴퓨터(4)상에서의 처리 종결을 대기하며 클라이언/서버 스타일 테스트에 유용한 WAITHOST, 장치의 시스템 디렉토리(/윈도우)에 파일을 입력하는 PUTSYSTEM, 다른 모든것이 실패할 때의 기본 타이밍을 위한 SLEEP, 호스트 머신에 메세지 박스를 디스플레이하기 위한 MSGBOX, 장치의 레지스트리 세팅을 추가 또는 변경하기 위한 SETREG 및 장치로부터 레지스트리 세팅을 제거하는 DELREG이다. 내부 수트 문서를 제공하는데 추가하여 내부 수트 파일 코멘트가 GUI(2)의 수트기술로서 제공된다. O/S 유효성 검사기(1) 방법은 호스트 컴퓨터(4)의 디렉토리 구조내의 계층적 위치에 의한 테스트 수트 파일(5)의 조직화를 포함한다. 도 11에 도시된 바와 같이, 테스트 수트(11)는 자동 테스트 수트(Au), 수동 테스트 수트(Ma) 또는 스트레스 테스트 수트(SS)중 하나인 상위레벨에서 분할된다. 자동 수트(Au)는 그 실행동안 임의의 사용자 간섭을 필요로하지 않는 테스트이다. 반대로, 수동 수트(Ma)는 사용자 간섭(예를 들어 키보드 및 터치 패널 수트)을 필요로 한다. O/S 유효성 검사기(1)방법은 입/출력(I/O) 처리를 제한까지 누름으로써, 이용가능 프로그램 또는 오브젝트 저장 메모리없이 동작함으로써, 멀티쓰레딩된 동시 스트레싱을 가진 통상적인 파일 시스템을 하락시킴으로써 스트레스수트(SS)를 통하여 시스템을 스트레싱하는 것을 포함한다. 계층적으로 상위 레벨밑에서, O/S 유효성 검사기(1)방법은 기능영역에 의하여 테스트수트(11)을 배열하는 것을 포함한다(도 7참조).In operation, the O / S validator 1 tests and validates the target device 9 provided with an embedded operating system, such as the Windows CE operating system. Broadly speaking, the O / S validator provides (1) validation of the Windows CE port to the target device, (2) provides stress and performance testing, (3) logging and analysis of results, and (4) multiple application programs. Test multiple functional areas including interfaces (APIs) (see Tables 1.0 and 2.0 in Figures 7,8A, 8B, and 8C), (6) customize tests in automated suites, and (7) host Providing side graphical test facilities, (8) stressing and evaluating memory performance, (9) providing means for automating building tests that include multiple APIs (see Table 3.0 in Figures 3.0 and 9.0), and (10) CEAnalyzer It works by providing a result analysis tool named. As described above and as shown in FIG. 10, the O / S validator 1 includes test source code SC and executable program EP (both referred to as executable tests) for all tests. do. The sole performance requirement for an executable test (EP) is that test cases "pass" and "failure" are reported using two specific APIs: WRITETESTPASS () and WRITETESTFAIL (). Such a macro has a signature similar to the known printf () function, but its use generates a standard test case result format in a "result" file for automated summarization, integrating reporting with the host user interface. The O / S validator 1 method also includes mediation between the test cases encapsulated in the GUI 2 and the executable test (EP), and provides a means for the GUI 2 to distribute and control test execution. . The test suite 11 includes a text file 5 consisting of suit language instructions (eg, PUT, RUN, WAIT and DELETE) which are direct representations of the work required to distribute and execute the test. Other supported suite instructions are GET to retrieve files from target device 9, RUNHOST to run executable program (EP) of host computer 4 useful for client / server style testing, processing on host computer 4 WAITHOST, useful for client / server style tests waiting for termination, PUTSYSTEM for entering files into the system's system directory (/ windows), SLEEP for default timing when everything else fails, and for displaying message boxes on the host machine. MSGBOX, SETREG for adding or changing the device's registry settings, and DELREG for removing registry settings from the device. In addition to providing internal suit documentation, internal suit file comments are provided as the suit description of the GUI 2. The O / S validator 1 method involves organizing the test suite file 5 by hierarchical location in the directory structure of the host computer 4. As shown in FIG. 11, the test suite 11 is divided at a higher level, which is one of the automatic test suit Au, the manual test suit Ma, or the stress test suit SS. Automatic suit (Au) is a test that does not require any user intervention during its execution. In contrast, the manual suit Ma requires user intervention (eg keyboard and touch panel suit). The O / S validator (1) method degrades conventional file systems with multithreaded concurrent stressing by pushing input / output (I / O) processing to the limit and operating without available program or object storage memory. Thereby stretching the system through the stress suite (SS). Hierarchically below the upper level, the O / S validator 1 method involves arranging the test suite 11 by functional area (see Fig. 7).

상술한 바와 같이, 도 3.0은 그래픽 사용자 인터페이스(GUI;2), 엔진(3), 다수의 테스트 수트(11) 및 로깅 라이브러리(12)를 포함하는 O/S 유효성 검사기(1)의 주요 부분을 도시한다. O/S 유효성 검사기(1)는 사용자의 임의의 레벨에서 잘 동작하기 때문에 비쥬얼 베이직 부분으로서 GUI(2)를 이용한다. GUI(2) 디자인은 하위 부품들을 가지는 사용자 입력을 인터페이싱의 개념을 기초로 한다. 엔진(3)은 호스트(4)상의 기능 코어를 홀딩한다. 엔진(3)은 다수의 수트 파일(5)을 판독하여 이를 설명하고, 명령을 실행한다. 엔진(3)은 GUI(2)로부터 정보를 획득하고, 다수의 실행 옵션을 셋업하기 위하여 정보를 이용한다. 엔진(3)은 C/C++ 언어로 기록된다. 엔진(3)은 ActiveX 제어인 HarnessLink.dll(7)로 명명된 부분을 통하여 GUI(2)에 링크된다. HarnessLink.dll(7)이 설명되며, 실행시작전에 엔진(3)으로 통과된 다수의 정보에 의하여 GUI(2)로부터 호출된다. Dll 링크(7)는 또한 정보, 에러 메세지 및 다이나믹 런-타임 명령을 릴레이하기 위하여 실행동안 엔진(3) 및 GUI(2) 사이에서 통신하도록 기능한다. 타겟 장치(9)는 CEHarness(8) 호출된 장치측(호스트측에 반대) 부분을 포함한다. CEHarness(8)은 타겟 장치(9)에 상주하는 C/C++ 프로그램이며, 도 4에 도시된 바와 같이, 네트워크상의 타겟 정보를 방송하지 않는다면 엔진(3)과 거의 단독으로 통신하며, GUI(2)는 상기 정보를 수신하고 이를 엔진(3)으로 통과시킨다(도 5, 5a 참조). CEHarness(8)는 이벤트-구동된 애플리케이션이며, 엔진(3)은 이벤트를 전송하고 CEHarness(8)가 응답한다. 두개의 나머지 부분인 테스트수트(11)와 로깅 라이브러리(12)는 테스트 수트(11)가 로깅 라이브러리(12)의 일부인 다수의 애플리케이션 프로그램 인터페이스(API)를 사용하여기록되기 때문에 서로 얽히게 된다(도 8A,8B,8C 참조). 상기 API(13)는 실질적인 기능성을 가지며, 성분체인을 통하여 통과된 정보에 다소 의존한다. 로깅 라이브러리(12)는 단순한 기능 개념을 가지고 있으며, TCP/IP 정보(16)를 GUI(2)에 다시 로깅하거나(도 5.0참조), 장치(9)에 기록 결과(14) 및 로그 파일(15)을 직접적으로 기재함으로써(도 6.0참조) 로그 파일(15)을 생성하여 테스트 결과(14)를 전달한다. 도 12에 도시된 바와 같이, 로깅 윈도우 LW는 테스 트 파일(15)의 테스트 결과(14), 실패(F) 및 프로그램 메모리에 대한 사용자 액세스, 통과, 실패 및 타이밍 정보를 이용하는 요약탭(sumT)을 도시한다. 다수의 테스트 수트(11)는 O/S 유효성 검사기(1)의 필수요소를 포함한다. 도 13은 다수의 테스트 장치가 공동으로 테스트될 때와 마찬가지로 테스트 사이클 시간(CT)가 감소하는 그래프 형태를 도시한다.As mentioned above, FIG. 3.0 shows a major part of the O / S validator 1 which includes a graphical user interface (GUI) 2, an engine 3, a plurality of test suites 11 and a logging library 12. Illustrated. The O / S validator 1 uses the GUI 2 as a visual basic part because it works well at any level of the user. The GUI 2 design is based on the concept of interfacing user input with subparts. The engine 3 holds the functional core on the host 4. The engine 3 reads a number of suit files 5, describes them, and executes the commands. The engine 3 obtains information from the GUI 2 and uses the information to set up a number of execution options. The engine 3 is written in the C / C ++ language. The engine 3 is linked to the GUI 2 through a portion named HarnessLink.dll 7 which is an ActiveX control. HarnessLink.dll 7 is described and called from the GUI 2 by a number of information passed to the engine 3 before execution begins. The Dll link 7 also functions to communicate between the engine 3 and the GUI 2 during execution to relay information, error messages and dynamic run-time instructions. The target device 9 comprises a device side (as opposed to a host side) called CEHarness 8. The CEHarness 8 is a C / C ++ program residing on the target device 9, and as shown in FIG. 4, communicates almost exclusively with the engine 3 unless it broadcasts the target information on the network, and the GUI 2 Receives the information and passes it to the engine 3 (see FIGS. 5, 5A). CEHarness 8 is an event-driven application, engine 3 sends an event and CEHarness 8 responds. The two remaining parts, the test suite 11 and the logging library 12, are intertwined because the test suite 11 is written using multiple application program interfaces (APIs) that are part of the logging library 12 (FIG. 8A). , 8B, 8C). The API 13 has substantial functionality and is somewhat dependent on the information passed through the component chain. The logging library 12 has a simple functional concept, and logs TCP / IP information 16 back to the GUI 2 (see FIG. 5.0), or writes the results (14) and log files (15) to the device (9). ) Directly (see FIG. 6.0) to generate a log file 15 to convey the test results (14). As shown in FIG. 12, the logging window LW uses a summary tab sumT that utilizes user results, passes, failures, and timing information for the test results 14, failures F, and program memory of the test file 15. To show. The plurality of test suites 11 includes the essentials of the O / S validator 1. FIG. 13 shows a graphical form in which the test cycle time CT is reduced as is the case when multiple test devices are jointly tested.

보다 상세하게, GUI(2)는 성분들의 레이어를 핸들링하는데 필요한 기능 정도를 따르는 복잡한 코드이다. GUI(2)는 주요 기능이 디폴트 세팅을 선택적으로 세팅 및 리스팅함으로써 새로운 사용자를 인도하는 "마법사"를 제공한다. 도 14에 도시된 바와 같이, GUI(2)는 또한 타겟 장치(9)상의 일련의 선택된 수트(11)를 통과하는 단일 패스를 포함하는 테스트 가동을 실행하는 수단으로서 구성 윈도우(CW)를 제공한다. 도 4에 도시된 바와 같이, 다수의 구성(21a,21b,21c)은 다수의 시나리오를 시뮬레이션하도록 가동될 수 있다. 구성 윈도우(CW)의 콘텐츠는 사용자 제어를 위한 다수의 탭들을 포함한다. 예로서 수트탭(S)은 O/S 유효성 검사기 디렉토리하에서 트리 구조의 수트 파일 디렉토리를 제공한다. 이러한 트리 구조는 사용자가 선택하는 테스트(11) 타입들 간의 의미있는 구별을 제공하도록 조직화된다. 또한, 이러한 트리 구조는 사용자가 구성 윈도우(CW)를 오픈할 때 생성되며, 사용자는 O/S 유효성 검사기(1) 설치 프로그램에 의해 생성된 수트 파일 디렉토리에 새로운 사용자 입력 수트를 추가함으로써 O/S 유효성 검사기(1)를 확장시킬 수 있다. 테스트 수트(11)들은 엔진(3)이 판독한 후에 스크립트의 명령에 해당하는 액션을 수행하는 명령 스크립트들이다. 수트 파일(5)은 일반적으로 일련의 명령들로 시작된다. 상기의 명령들은 파일의 수트 파일 정보 섹션에서 나타난다. 만일 워드 "Manual"이 수트 파일(5)의 상부에 나타난다면, 파일은 수동 실행이 필요한 것으로 간주되며, 따라서 서로 다른 아이콘에 할당된다. 테스트 수트 섹션에서, 도 11에 도시된 바와 같이, 사용자는 테스트 수트 파일(5)을 어떠한 방식으로도 다시 요청할 수 있다. 도 14를 참조하면, 로깅 탭들은 상당히 가치있는 정보들을 포함한다. 사용자는 세개의 로깅 방법, 즉, 호스트(4)에 로깅하기 위한 LH, 타겟 장치(9)에 로깅하기 위한 LTD 또는 호스트(4)와 타겟 장치(9)에 모두 로깅하기 위한 LHD를 선택할 수 있다. 이 후, 로그 정보는 에디트 박스에서 리스트된 구성가능한 디렉토리에 저장된다. 이러한 모든 정보는 DLL(7)을 통하여 엔진(3)으로 전송된 후, 타겟 장치(9)의 CEHarness(8)에 전송된다. 다음으로, 정보는 테스트(11)를 가동중에 있을 때 로깅 라이브러리(12)에 의해 획득된다. 구성 윈도우(CW)의 다른 탭들은일 세트의 스트레스 상태탭(SC), 쓰레드탭(T)에 의해 수트 실행동안 높은 우선권 쓰레드 선택, 탭 PM 및 SM을 선택함으로써 프로그램 및 저장 메모리 감소, 탭 SRT를 선택함으로써 런타임 선택, 탭 STOP를 선택함으로써 구동 중지하는 것을 포함한다. 사용자는 시스템의 메모리 리크(leak)를 찾기위해 무한 루프탭(Iloop)을 이용할 수 있다. 프로그램 메모리 손실, 저장 메모리 손실 또는 총 테스트 실행 시간과 같은 유용한 요약 정보는 요약탭(SumT)에 제공된다. 주어진 테스트 결과에 대한 요약 정보는 요약탭(SumT)에서 수집 및 디스플레이된다. 요약탭은 실시간으로 PASS 및 FAIL 테스트 케이스의 수를 보고한다. 개별 수트에 대한 브레이크 아우트 PASS 및 FAIL 수가 또한 디스플레이된다. 구성 윈도우의 요약탭은 아마도 수천의 테스트 결과들 중에서 개별적인 실패에 대한 빠른 네비게이션을 용이하게 한다. 로깅된 실패에 해당하는 정확한 소스 파일 및 라인수는 자동으로 O/S 유효성 검사기의 로깅 API에 의해 보고된다. O/S 유효성 검사기가 모든 실행가능한 것에 대하여 소스 코드를 제공하기 때문에, 에러를 보고하는 소스코드에 직접적으로 가는 것은 실패에 대한 텍스트형 설명에 대한 강력한 부가물이다. 로깅 옵션은 그 실행과 효과를 극적으로 변경시킨다. 사용자가 "통과"를 나타내는 테스트 수트(11)를 가동할 때마다, 이러한 테스트 결과(14)를 요약하는 일련의 로그 파일(15)이 자동으로 산출되는 것으로 가정하는 것이 첫번째 옵션이다. 선택된 로깅 방법에 따라, 요약 파일(15)은 CEHarness(8) 또는 엔진(3)에 의해 생성된다. 기본적으로, 엔진(3)은 로깅 디렉토리에서 모든 로그 파일(16)을 횡단하며, 따라서 사용자는 가동되는 테스트(11)에 해당하지 않는 로그 파일 리스트를 받아들일 수 있다. 요약파일(15)이 가동 테스트(11)를 더 많이 지시하도록, 사용자는 가동전에 로그 디렉토리를 삭제할 수 있으며, 사용자는 엔진(3)이 각각의 테스트(11)에 대해 단지 하나의 로그 파일(15)을 횡단하도록 하는 '가장 최근의 요약 결과만으로의 복귀'를 선택하는 로깅 옵션을 선택할 수 있다. 이는, 만일 사용자가 파일 시스템 테스트를 주어진 날에 30회 가동한다면, 가장 최근의 실행에 해당하는 테스트에 대한 요약 로그에서의 엔트리만이 존재할 것이라는 것을 의미한다. 요약 로그가 로그 파일(15)가 여전히 로깅된 디렉토리에 있는 각각의 테스트(11)에 대하여 단지 하나의 엔트리만을 가질 것이다. 다른 두개의 옵션은 GUI(2)에서 취급된다. 만일 사용자가 TCP/IP 접속(4a)을 통하여 호스트(4)로 로그된다면, GUI(2)내의 로그 윈도우에서 나타나는 동안 엔트리는 사용자 호스트(4)에서 생성된 로그 파일(15)로 진입할 것이다. 이는 사용자가 O/S 유효성 검사기(1)의 환경안에서 로그 파일(15)을 검사하는 것을 가능하게 하며, 사용자가 즉각적으로 통과 및 더욱 중요한 실패를 모니터링할 수 있기 때문에 보다 유익하다. 그러나, 어떤 환경하에서는 테스트(11)의 크기를 따르는 로그 파일(15)의 초과량이 존재할 것이다; 그러므로, 더 이상 오픈시키지 않고 로그 윈도우(LW)를 닫는 것은 호스트(4)의 메모리를 유지할 것이며, 또한 O/S 유효성 검사기(1)에 대한 깨끗한 시각 영역을 제공할 것이다. 또 다른 이점은 실패없이 모든 로그 파일(15)을 닫는 것이다. 실패는 타겟 장치(9)가 다른 개선점을 요구하게 되는 제품 디자인 요원을 지시한다. 사용자는 F 윈도우를 오픈시키는 것을 유지하기 위해 로깅 윈도우에서 옵션을 클릭킹함으로써 실패한 모든 로그 윈도우(F)를 오픈시키는 것을 유지하고 싶어할 것이다.More specifically, the GUI 2 is complex code that follows the degree of functionality needed to handle layers of components. The GUI 2 provides a "wizard" whose primary function is to guide new users by selectively setting and listing default settings. As shown in FIG. 14, the GUI 2 also provides a configuration window CW as a means of executing a test run including a single pass through a series of selected suits 11 on the target device 9. . As shown in FIG. 4, the multiple configurations 21a, 21b, 21c can be operated to simulate multiple scenarios. The content of the configuration window CW includes a number of tabs for user control. As an example, the suit tab S provides a tree structured suit file directory under the O / S validator directory. This tree structure is organized to provide meaningful distinction between the types of tests 11 that the user selects. In addition, this tree structure is created when the user opens the configuration window (CW), and the user adds a new user input suite to the suite file directory created by the O / S validator (1) installer. The validator 1 can be extended. The test suites 11 are command scripts that perform an action corresponding to the command of the script after the engine 3 reads it. The suit file 5 generally begins with a series of instructions. The above commands appear in the suit file information section of the file. If the word "Manual" appears at the top of the soot file 5, the file is considered to need manual execution and is thus assigned to different icons. In the test suite section, as shown in FIG. 11, the user can request the test suite file 5 again in any way. Referring to Figure 14, the logging tabs contain valuable information. The user can select three logging methods: LH for logging to host 4, LTD for logging to target device 9 or LHD for logging to both host 4 and target device 9. . The log information is then stored in the configurable directory listed in the edit box. All this information is transmitted to the engine 3 via the DLL 7 and then to the CEHarness 8 of the target device 9. Next, the information is obtained by the logging library 12 when the test 11 is running. The other tabs in the configuration window (CW) can be used to reduce program and storage memory by selecting high priority thread selection, tap PM and SM during suite execution by a set of stress state tabs (SC), thread tabs (T), and tap SRT. Runtime selection by selecting, and stopping by selecting tab STOP. You can use an infinite loop tap to find the system's memory leak. Useful summary information such as program memory loss, storage memory loss, or total test execution time is provided in the Summary Tab (SumT). Summary information for a given test result is collected and displayed in the Summary Tab (SumT). The Summary tab reports the number of PASS and FAIL test cases in real time. The breakout PASS and FAIL numbers for the individual suits are also displayed. The Summary tab of the configuration window facilitates quick navigation to individual failures, perhaps among thousands of test results. The exact source file and number of lines corresponding to the logged failure are automatically reported by the O / S validator's logging API. Since the O / S validator provides source code for all executables, going directly to the source code that reports the error is a powerful addition to the textual description of the failure. Logging options change their execution and effects dramatically. The first option is to assume that whenever a user runs a test suite 11 indicating "pass", a series of log files 15 summarizing these test results 14 are automatically generated. Depending on the logging method selected, the summary file 15 is generated by the CEHarness 8 or the engine 3. By default, the engine 3 traverses all log files 16 in the logging directory, so the user can accept a list of log files that do not correspond to the test 11 being run. In order for the summary file 15 to indicate more of the startup test 11, the user can delete the log directory before startup, and the user can see that the engine 3 has only one log file 15 for each test 11. You can choose the logging option to choose to return to the most recent summary only. This means that if a user runs a file system test 30 times on a given day, there will only be an entry in the summary log for the test corresponding to the most recent run. The summary log will have only one entry for each test 11 in which the log file 15 is still logged. The other two options are handled in the GUI 2. If the user is logged into the host 4 via the TCP / IP connection 4a, the entry will enter the log file 15 created on the user host 4 while appearing in the log window in the GUI 2. This enables the user to examine the log file 15 in the environment of the O / S validator 1 and is more beneficial because the user can immediately monitor the passage and more important failures. However, under certain circumstances there will be an excess of log files 15 that follow the size of the test 11; Therefore, closing the log window LW without opening it any more will keep the memory of the host 4 and also provide a clean viewing area for the O / S validator 1. Another advantage is to close all log files 15 without fail. The failure indicates to the product design personnel that the target device 9 will require other improvements. The user will want to keep opening all failed log windows F by clicking an option in the logging window to keep the F window open.

도 5a에 도시된 바와 같이 본 발명을 동작시킬 때, 이용가능 타겟으로 명명된 윈도우는 GUI(2)에 정보를 브로드케스팅하는 네트워크상의 액티브 장치를 보여준다. 액티브 장치는 큰 정보를 보내며, 그 일부는 이용가능 타겟 윈도우에서 디스플레이된다. 사용자는 보기/이용가능 타겟 메뉴를 선택함으로써 정보를 볼 수 있다. 다른 윈도우는 브로드케스팅된 정보의 완전한 세트를 획득하기 위해 액세스되어야 한다. 이러한 브로드케스트 정보는 값진 것이며, 이는 테스트 타겟 장치(9)에서 엔진(3)으로부터 특정 CEHarness(8)로 접속을 시작하는데 사용되기 때문이다.In operating the present invention as shown in FIG. 5A, a window named as an available target shows an active device on the network that broadcasts information to the GUI 2. The active device sends large information, some of which are displayed in the available target window. The user can view the information by selecting the View / Enable Target menu. The other window must be accessed to obtain a complete set of broadcasted information. This broadcast information is valuable because it is used to start a connection from the engine 3 to a particular CEHarness 8 in the test target device 9.

도 11을 참조하여 스트레스 테스트 세팅(SS)을 상세하게 설명한다. 스트레스 수트(11)들은 여러 형태로 나타난다; 그러나 이들의 주요 목적은 매우 긴 테스트를 가동함으로써 타겟 장치(9)를 스트레싱하고, 짧은 테스트를 여러번 반복하거나 일 테스트에서 광범위한 파라미터를 선택하는 것이다. 예를 들어 데이터베이스 스트레스 수트와 같은 자신의 테스트(11) 영역에 대한 나머지 스펙은 단지 윈도우 CE와 같은 O/S의 데이터 베이스 기능을 스트레싱한다. 스트레스 테스트 옵션들은 스트레스 수트(11)와 구별된다. 스트레스 테스트 옵션들은 서로 다르며, 이는 실세계 사용 모델과 동일한 브로드밴드 스트레스 시나리오를 더 많이 제공하기 위해 기능들을 타겟팅하기 때문이다. 이러한 시나리오는 임의의 사용자 선택된 세트의 테스트 수트 파일(5)과 관련되어 가동된다. 스트레스 테스트 옵션들은 공동으로 또한 분리되어 가동될 수 있으며, 이렇게 함으로써 임의의 테스트 계획의 범위에 대한 중요한 부스트가 제공된다. 첫번째 두개의 스트레스 테스트 옵션들은 타겟장치(9)의 메모리에 관한 것이다. 첫번째 스트레스 테스트 옵션은 선택된 테스트(11)들이 가동되기 전에 타겟 장치의 가상 메모리량을 크게 감소시키는 로우 가상 메모리 옵션이다. 이는 사용자가 오픈된 15 애플리케이션을 가질 때 발생할 수 있는 현실적으로 가혹한 환경을 시뮬레이션하며, 기능불량에 영향을 미친다. 두번째 스트레스 테스트 옵션은 낮은 저장 메모리 옵션이다. 상기 두번째 스트레스 테스트 옵션이 선택되었을 때, 낮은 저장 메모리 솔루션에 대한 타겟 장치(9) 응답을 경험하기 위해 최대의 용량으로 타겟 장치(9)의 저장 메모리를 채운다. 어떠한 경우에 있어서, 이러한 두번째 스트레스 테스트 옵션은 존재하지 않는 저장 메모리를 따른 수 있는 타겟 장치(9)내에 포함된 애플리케이션 프로그램을 테스팅하는데 효율적이다. 다음의 세번째 스트레스 테스트 옵션들은 실행 옵션들이다. 첫번째 실행가능 스트레스 옵션은 무한 루프이며, 이는 긴 테스트 사이클에 대하여 동일하다. 여러 장치 드라이버의 공통적인 문제는 길고 강하며 스트레스가 많은 상황하에서의 오동작이다. 이러한 무한 루프 스트레스 테스트는 가능한 브레이크다운을 결정하기 위한 테스트를 제공한다. 상기의 무한 루프 테스트는 사용자가 수동으로 스톱 버튼을 누를 때까지 선택된 수트(11)를 가동시킨다. 다음의 스트레스 실행 옵션은 Data.txt로 명명되고 O/S 유효성 검사기\Tests\TestInputFiles로 구분된 텍스트 파일로서 이용가능한 구성가능 CPU 사이클 손실 테스트이다. 두개의 예가 사용자가 복사, 재사용 또는 수정할 수 있는 파일에 제공된다. 텍스트 파일, Data.txt는 사용자가 그의 테스트 구동을 포함할 수 있는 쓰레드 및 그 특성의 개수를 제어한다. 즉, 사용자는 다른 처리가 CPU 시간을 소비하고 타이밍을 포함한 여러 문제를 제거하는 동안 자신의 테스트를 가동할 수 있다. 마지막 스트레스 테스트 옵션은 랜덤 실행이다. 사용자가 이러한 옵션을 선택할 때, GUI(2)는 서로 다른 순서로 가동하도록 런 타임에서 테스트 수트(11)의 리스트를 재요청할 것이다. 이러한 옵션은 이상적이며, 이는 여러 부분으로 상호 작용 문제의 진단을 용이하게 하기 때문이다.The stress test setting SS will be described in detail with reference to FIG. 11. Stress suits 11 come in many forms; However, their main purpose is to stretch the target device 9 by running a very long test, to repeat a short test several times or to select a wide range of parameters in one test. For example, the rest of the specs for your test 11 area, such as the database stress suite, only stress the database capabilities of the O / S, such as Windows CE. The stress test options are distinguished from the stress suit 11. The stress test options are different because they target features to provide more of the same broadband stress scenario as the real world usage model. This scenario runs in conjunction with any user selected set of test suite files 5. The stress test options can also be run jointly and separately, thereby providing a significant boost over the scope of any test plan. The first two stress test options relate to the memory of the target device 9. The first stress test option is a low virtual memory option that significantly reduces the amount of virtual memory of the target device before the selected tests 11 are run. This simulates a realistic harsh environment that can occur when a user has 15 open applications, and affects malfunctions. The second stress test option is a low storage memory option. When the second stress test option is selected, the storage device of the target device 9 is filled with maximum capacity to experience the target device 9 response to the low storage memory solution. In some cases, this second stress test option is efficient for testing an application program contained in the target device 9 that may follow a non-existent storage memory. The third stress test options that follow are run options. The first viable stress option is an infinite loop, which is the same for long test cycles. A common problem for many device drivers is malfunctioning under long, strong and stressful situations. This infinite loop stress test provides a test to determine possible breakdowns. The infinite loop test above runs the selected suit 11 until the user manually presses the stop button. The next stress run option is a configurable CPU cycle loss test that is available as a text file named Data.txt and separated by the O / S validator Tests TestInputFiles. Two examples are provided for files that users can copy, reuse, or modify. The text file, Data.txt, controls the number of threads and their characteristics that a user can include to run his test. That is, the user can run his or her test while other processing consumes CPU time and eliminates various problems, including timing. The final stress test option is random execution. When the user selects this option, the GUI 2 will re-request the list of test suites 11 at run time to run in different orders. This option is ideal because it facilitates the diagnosis of interaction problems in several parts.

나머지 테스트 가동 옵션은 사용자가 제어할 수 있는 일반적인 활동이다. 제 1 옵션, "선택된 타겟을 독점적으로 사용함"은 중요하며, 이는 타겟 장치(9)가 이더넷에서 접속되었을 때, 서브넷의 다른 사용자가 타겟 장치 윈도우를 이용할 수 있는 O/S 유효성 검사기(1)를 통하여 타겟 장치(9)에 액세스할 수 있기 때문이다. 이는 타겟 장치(9)에서의 스트레스를 생성하는 것을 돕는다. 사용자가 문제를 격리시키길 원하는 경우, 엑스트라 스트레스가 적용되어서는 않된다. 이러한 상황에서는 사용자가 타겟 장치(9)에 독점적으로 액세스해야 한다. 마지막 테스트 런 옵션은 호스트 컴퓨터(4)로부터 타겟 장치(9)에 시간을 전송하기 위해 엔진(3)을 프롬프트시키는 타겟 시간을 세팅하는 것이며, 따라서 호스트 컴퓨터(4) 시간에 타겟 장치(9) 시스템 시간을 동기화시킬 수 있다. 동기화는 타겟 장치(9)에서 데이트 및 시간에 연관된 데이트 및 시간 스탬프로 로그 파일이 복귀하기 때문에 유리하다. 이러한 정확성을 유지하기 위해, 사용자는 타겟 장치(9) 데이트 및 시간을 세팅해야 한다. 테스트를 가동하기 전인 마지막 탭은 여러 선택가능 환경 변수에 대하여 가치있는 정보를 포함하는 환경 세팅 탭이다. 상기 환경 세팅은 하드카딩된 정보대신, 테스트 수트로 하여금 환경변수를 포함하도록 함으로써 테스트 수트를확장 및 구체화하도록 설계된다. 예를 들어, 일련의 테스트는 파라미터로서 이용가능 컴-포트를 취한다. 만일 컴-포트가 가변 환경으로서 입력되지 않는다며, 테스트는 실패할 것이며, 이는 컴-포트를 오픈시킬 수 없기 때문이다. 수트에서 사용된 모든 환경 변수들이 제공된다; 그러나 임의의 추가 환경 변수들은 사용자-입력 수트에 추가된 사용자일 것이다. 테스트를 구동한 후에, 테스트 상태는 현재의 테스트 가동을 위한 상태 정보를 획득하기 위해 가변적이다. 이 정보는 다이나믹하게 업데이트된다.The remaining test run options are common activities that can be controlled by the user. The first option, "Use the selected target exclusively", is important, which means that when the target device 9 is connected over Ethernet, the O / S validator 1 can be used by other users on the subnet to use the target device window. This is because the target device 9 can be accessed through the target device 9. This helps to create stress in the target device 9. If the user wants to isolate the problem, no extra stress should be applied. In such a situation, the user must have exclusive access to the target device 9. The last test run option is to set a target time that prompts the engine 3 to transfer time from the host computer 4 to the target device 9, and thus the target device 9 system at the host computer 4 time. You can synchronize the time. Synchronization is advantageous because the log file returns to the date and time stamp associated with the date and time at the target device 9. In order to maintain this accuracy, the user must set the target device 9 date and time. The last tab before running the test is the Preferences tab, which contains valuable information about the various selectable environment variables. The environment setting is designed to extend and refine the test suite by having the test suite include environment variables instead of hardcarded information. For example, a series of tests takes available comfort as a parameter. If the comfort is not entered as a variable environment, the test will fail, because the comfort cannot be opened. All environment variables used in the suite are provided; However, any additional environment variables will be users added to the user-input suite. After running the test, the test state is variable to obtain state information for the current test run. This information is updated dynamically.

수트 런 섹션 윈도우는 시작된 선택 수트를 리스트한다. 사용자는 원하는 테스트 아이콘을 선택함으로써 이러한 윈도우로부터 임의의 로그 파일을 오픈할 수 있다. 이러한 제어 하에서의 다른 아이콘은 실패 정보를 제공한다. 실패 아이콘은 레드 "X"로 크로싱된 스타일화된 비커로서 보여진다. 테스트 런 요약 정보는 테스트 수트 파일이 가능한 개수의 트랙, 선택된 수트, 실패한 수트 및 실패한 수트의 퍼센트를 유지한다. 테스트 가동이 완료될 때, 사용자는 구성 실패한 수트 탭을 선택할 수 있으며, 이는 현재의 테스트 가동시에 모든 실패한 수트를 선택하며 복귀 테스팅을 용이하게 하는 새로운 구성 윈도우의 존재를 프롬프팅한다.The suit run section window lists the selection suits that have started. The user can open any log file from this window by selecting the desired test icon. Other icons under this control provide failure information. The failure icon is shown as a stylized beaker that is crossed with a red "X". The test run summary information maintains the possible number of tracks, selected suits, failed suits, and percentage of failed suits for the test suit file. When the test run is complete, the user can select the Configure Failed Suits tab, which selects all failed suits in the current test run and prompts for the presence of a new configuration window to facilitate return testing.

나머지 두개의 섹션들은 테스트 상세내역으로 명명된다. 상기 테스트 상세내역 섹션중 하나는 어떤 섹션이 테스트 런의 값을 측정하는데 중요한 통과 또는 실패하는지에 대한 개별 테스트 경우를 모니터링한다. 나머지 테스트 상세내역 섹션은 실패한 모든 선택된 수트가 수트명에 의해 리스트되는 실패한 수트 섹션이며, 해당 패스 및 실패 테스트 케이스의 수를 나타낸다. 상기의 모든 정보는 테스트가동(즉, 무엇이 통과하였으며, 더욱 중요하게 무엇이 실패하였는지)중에 자신의 타겟 장치(9)의 제한의 매우 효율적인 아이디어를 사용자에게 제공한다.The other two sections are named Test Details. One of the test details sections monitors individual test cases as to which sections pass or fail critical for measuring the value of the test run. The remaining test details section is the failed suite section where all selected failed suites are listed by suit name, indicating the number of pass and failed test cases. All of the above information provides the user with a very efficient idea of the limitations of his target device 9 during the test run (ie what passed and more importantly what failed).

본 발명의 주요 목적은 윈도우 CE와 같은 O/S(1001a)의 포트를 적절하게 테스트하는 것이다. 이러한 작업을 성취하기 위해, 수백의 수트 테스트(11)들이 필요하며 O/S 유효성 검사기(1)에 의해 제공된다. 예로서 유효성 검사된 O/S 서브시스템에 의해 그룹화된 거의 1500 테스트 수트(11)가 제공된다. 도 10.0에 제시된 바와 같이, O/S 유효성 검사기(1)는 대부분의 문제들을 역사적으로 보여주는 서브시스템에 대한 특정한 엠퍼시스로 주요 O/S(1001a) 서브시스템 및 공통 적응 드라이브를 커버링하는 소스 코드 및 모든 테스트(11)에 대한 실행가능 코드를 포함한다. O/S 유효성 검사기에 의해 테스팅된 O/S 서브 시스템은 이더넷/NDIS, 직렬 포트 드라이버, 디스플레이 드라이버, 터치 패널 드라이버, 마우스 드라이버, 키보드 드라이버, OEM 적응층 및 PC 카드 적응 드라이버를 포함한다. 도 15A, 15B, 15C는 이러한 시스템 성분의 테스팅 상세내역을 리스팅한 표이다.The main object of the present invention is to properly test the ports of the O / S 1001a, such as Windows CE. To accomplish this task, hundreds of suit tests 11 are needed and provided by the O / S validator 1. As an example there are provided nearly 1500 test suites 11 grouped by validated O / S subsystems. As shown in FIG. 10.0, the O / S validator 1 is a source code that covers the main O / S 1001a subsystem and common adaptive drives with specific emulations for the subsystem that historically shows most problems. Contains executable code for all tests 11. O / S subsystems tested by O / S validators include Ethernet / NDIS, serial port drivers, display drivers, touch panel drivers, mouse drivers, keyboard drivers, OEM adaptation layers, and PC card adaptation drivers. 15A, 15B, and 15C are tables listing testing details of these system components.

상술한 바와 같이, 도 3에서 엔진(3)은 ActiveX 제어인 HarnessLink.dll(7)로 명명된 부분을 통하여 GUI(2)에 링크된다. 특히, HarnessLink.dll(7)는 엔진(3)을 호출(즉, 실행)하기 위해 일 세트의 GUI(2)에 대한 함수를 제공한다. 대부분의 HarnessLink.dll(7) 함수-호출은 엔진(3)의 명령 라인에 대한 파라미터를 셋업한다. 모든 초기 정보는 이러한 명령 라인을 통하여 엔진(3)으로 통과되며, 특정 실행을 위한 엔진(3)의 준비를 보증한다. 다수의 GUI 관련 함수는 명령 라인에서 정보를 제공한다. 명령 라인상의 정보는 GUI(2) 정보에 해당한다.HarnessLink.dll(7)가 보조하는 다른 주요 함수는 명명된 파이프를 오픈함으로써 엔진(3)의 가동시의 활동을 전달한다. 만일 에러 또는 필요성이 메모리 정보를 전송하기 위해 발생한다면, 엔진(3)은 명명된 파이프를 통하여 전달한다. 명명된 파이프는 엔진(3)과 특정 하니스 링크 사이의 통신이 직접적이고 정확하며, 만일 다수의 엔진(3)이 가동중이라면 어떠한 복사 문제도 없다는 것을 보장한다. HarnessLink.dll(7)가 파이프로부터 메세지를 수신할 때, GUI(2)가 정보를 취하고 이를 처리하는 적당한 VB 이벤트를 시그널링한다. 도 5.0에서, 엔진(3)은 다음으로 CEHarness(8)과 통신하는 하나의 HarnessLink.dll(7)와 통신한다. 엔진(3) 실행은 단순하다: 명령 라인이 수신되어 처리되고, 타겟 장치에 실행 소켓 접속을 설정하며, GUI(2)와 통신하기 위한 파이프를 오픈시키며, 테스트 수트 파일(5)을 판독하고, 세가지 단계, 즉 전실행, 실행, 후실행으로 테스트를 실행한다. 전실행 단계는 타겟 장치(9)와 호스트(4) 사이의 에러 소켓 접속을 설정한다. 로깅 경로 및 스타일, 여러 테스트 가동 정보 및 스트레스 시나리오와 같은 관련 데이터는 전실행 단계동안 전송된다. 실행 단계는 각각의 연속적인 수트 명령에 대한 응답을 포함한다. 수트 명령은 일반적으로 호스트(4)에 의해 전송되며, 명령 실행이 완료되었을 때 소켓 메세지로 응답하는 CEHarness(8)에 의해 처리된다. 후실행 단계는 주로 로그 정보를 감소시키는 단계와 요약 로그를 생성하는 단계를 포함한다. 이러한 요약 로그가 완료되었을 때, 엔진(3)이 존재한다. 테스트 타겟 장치(9)의 CEHarness(8)은 엔진(3)보다 상당히 복잡한 부분이다. 이러한 복잡성은 각각의 장치(9)가 임의의 시간에 CEHarness(8)의 인스턴스를 가지기 때문이다; 그러나, 장치는 다수의 동시 접속을 취급할 수 있으며, 테스팅 방법에 대한 매우 중요한 특성이 O/S 유효성 검사기(1)에 의해 제공된다. 사용자가 CEHarness(8)을 시작하였을 때, 전체 실행 시간을 통하여 견디는 두개의 쓰레드, 즉, 브로드케스트 쓰레드 및 실행 쓰레드를 생성한다. 이는 장치 IP, 접속 타입 및 이용가능 컴-포트와 같은 정보를 매 10초마다 업데이트하여, 동일한 비율로 네트워크에 브로드케스트 메세지를 전송한다. 만일 장치(9)가 윈도우 CE 서비스(즉, NT 측면에서)를 통하여 호스트 컴퓨터(4)에 접속되고, 램넷(remnet) 또는 렙플로그(repllog)(즉, 장치의 측면에서)중 하나에 접속된다면, 접속 타입은 PPP_PEER로 변경될 것이다. 만일 그러하다면, 브로드케스트 메세지는 타겟 장치(9)가 직접적으로 접속되는 호스트(4)에만 전송된다. 만일 사용자가 실행중인 동안 접속을 변경한다면, 메세지가 업데이트된다. 한편, 실행 쓰레드는 엔진으로부터 접속 시도를 기다린다. 실행 쓰레드가 접속을 수신할 때, 이는 다른 쓰레드, 즉 여러 필요한 함수를 실행하는 주요 실행 쓰레드를 스폰한다. 주요 실행 쓰레드는 임의의 에러 또는 메모리 정보를 전송하기위한 다른 소켓을 시작한다. 그러므로 실행 쓰레드는 이벤트-구동되며, 명령 및 반응을 적당하게 수신한다. 각각의 접속 시도는 자신의 실행 쓰레드를 스폰한다; 그러므로 하나의 CEHarness(8)는 여러 접속을 가질 수 있으며, 타겟 장치(9)상에 동시에 다수의 구성을 가동시킴으로써 테스트 기능을 확장시키고, 따라서 보다 현실적인 스트레스 상황을 생성한다.As described above, in Fig. 3, the engine 3 is linked to the GUI 2 through a portion named HarnessLink.dll 7 which is an ActiveX control. In particular, HarnessLink.dll 7 provides a function for a set of GUIs 2 to invoke (ie, execute) the engine 3. Most HarnessLink.dll (7) function-calls set up parameters for the command line of the engine 3. All initial information is passed to the engine 3 via this command line, ensuring the preparation of the engine 3 for a particular execution. Many GUI-related functions provide information on the command line. The information on the command line corresponds to the GUI 2 information. Another major function assisted by HarnessLink.dll 7 conveys the activity at startup of the engine 3 by opening a named pipe. If an error or necessity arises to transmit the memory information, the engine 3 passes through the named pipe. The named pipes ensure that the communication between the engine 3 and the particular harness link is direct and accurate, and there are no radiation problems if multiple engines 3 are running. When HarnessLink.dll 7 receives a message from a pipe, the GUI 2 signals the appropriate VB event to take the information and process it. In FIG. 5.0, the engine 3 then communicates with one HarnessLink.dll 7 in communication with the CEHarness 8. The engine 3 execution is simple: the command line is received and processed, establishes an execution socket connection to the target device, opens a pipe for communicating with the GUI 2, reads the test suite file 5, The test is run in three phases: before, after, and after. The pre-execution step establishes an error socket connection between the target device 9 and the host 4. Relevant data, such as logging paths and styles, various test run information, and stress scenarios, are transmitted during all phases of execution. The execution phase includes a response to each successive suit command. The suit command is generally sent by the host 4 and is handled by the CEHarness 8 which responds with a socket message when the command execution is complete. Post-execution steps mainly include reducing log information and generating a summary log. When this summary log is complete, the engine 3 is present. The CEHarness 8 of the test target device 9 is considerably more complicated than the engine 3. This complexity is because each device 9 has an instance of CEHarness 8 at any time; However, the apparatus can handle a large number of simultaneous connections, and very important characteristics for the testing method are provided by the O / S validator 1. When the user starts CEHarness (8), it creates two threads that endure through the entire execution time, the broadcast thread and the execution thread. It updates information such as device IP, connection type and available comfort every 10 seconds, sending broadcast messages to the network at the same rate. If the device 9 is connected to the host computer 4 via the Windows CE service (i.e. on the NT side) and connected to either a ramnet or a repllog (i.e. on the side of the device). , The connection type will be changed to PPP_PEER. If so, the broadcast message is sent only to the host 4 to which the target device 9 is directly connected. If the user changes the connection while running, the message is updated. The execution thread, on the other hand, waits for a connection attempt from the engine. When an execution thread receives a connection, it spawns another thread, the main execution thread, which executes several necessary functions. The main thread of execution starts another socket for sending any error or memory information. The thread of execution is therefore event-driven and receives commands and responses as appropriate. Each connection attempt spawns its own thread of execution; Thus, one CEHarness 8 can have multiple connections, extending test functionality by running multiple configurations simultaneously on the target device 9, thus creating a more realistic stress situation.

도 16은 메세지 전송자(2000) 및 메세지 수신자(3000)를 포함하는 본 발명의 프로토콜 승인 시스템(4000)을 도시한 흐름도이다. 메세지 전송자는 병렬처리 정보일 수 있는 수신 쓰레드(2001) 및 송신 쓰레드(2009)를 가진다. 전송 쓰레드(2009)는 블록(2008)에서 메세지를 생성하고, 블록(2007)에 도시된 바와 같이 헤드의 필드에 WIN32 이벤트 핸들이 존재하는 패킷을 형성하기 위하여 메세지 주변에 헤더를 위치시킨다. 블록(2006)에서 상기 패킷은 전송 쓰레드(2009)를 블록킹하는 블록(2005) 또는 메세지 수신자(3000)에 의하여 패킷을 수신하는 블록(3001)중 하나로 전달되며, 다음으로 블록(3002)에 도시된 바와 같이 헤더의 필드내 WIN32 이벤트 핸들을 가진 패킷을 수신 블록(2002)를 통하여 수신 쓰레드(2001)로 전송하거나, 메세지 수신자(3000) 기능에 따라 프로세싱을 연속적으로 수행할 것이다. 수신된 승인 패킷을 가진 수신 쓰레드(2001)는 이후에 블록(2003)에서 전송 쓰레드에 대한 승인 패킷의 헤더부에 있는 WIN32 이벤트 핸들을 사용하며, 이후에 블록(2004)에서 전송 쓰레드(2009)를 다시 수행하거나 수신 쓰레드(2001) 기능의 처리를 계속적으로 수행한다.16 is a flow diagram illustrating a protocol approval system 4000 of the present invention that includes a message sender 2000 and a message receiver 3000. The message sender has a receive thread 2001 and a send thread 2009, which can be parallelism information. The transport thread 2009 generates a message at block 2008 and places a header around the message to form a packet with a WIN32 event handle in the field of the head, as shown in block 2007. In block 2006 the packet is delivered either to block 2005 blocking the transport thread 2009 or to block 3001 receiving the packet by the message receiver 3000, which is then shown in block 3002. As described above, a packet having a WIN32 event handle in a field of a header may be transmitted to the receiving thread 2001 through the receiving block 2002, or the processing may be continuously performed according to the message receiver 3000 function. Receive thread 2001 with a received acknowledgment packet then uses the WIN32 event handle in the header portion of the acknowledgment packet for the transmit thread at block 2003, and subsequently transmits the transmit thread 2009 at block 2004. Retry or continue processing the receive thread 2001 function.

그러므로, 도 3.0에 도시된 로깅 라이브러리(12)는 여러 방식으로 O/S 유효성 검사기(1)로 통합된 복합툴이다. 주로, 로깅 라이브러리(12)는 테스트를 위한 소스 파일로 통합된다. 테스트는 라이브러리가 테스트 결과의 캡쳐 및 기록에 관련된 모든 상세내역을 다룰 때 라이브러리 API를 호출한다. 로깅 라이브러리(12)는 또한 여러 접속 옵션을 지원한다. 추천옵션은 TCP이며, 이는 사용자가 TCP 접속으로부터 이동할 때 로그 파일의 판독을 알수 있게 해준다. 다른 통신 옵션은 장치상의 파일에 대한 직접 로깅이다. 이는 유리할 수 있으며, 예를 들어 만일 사용자가 PCMCIA 카드에 로그하기 원하지만 네트워크상에 브로드케스팅되는 특별한정보를 원하지 않을 때 그러하다. 로깅 라이브러리(12)가 TCP 통신에 대한 장치측 부분으로서 동작하지만, 호스트(4)부분은 통신에 대한 GUI(2)측 부분으로서 동작한다. 로깅 라이브러리(12)의 이러한 측면은 호스트(4) 상의 로그 윈도우 및 테스트 결과에 대한 컬러 코딩을 제공한다. 예를 들어, 실패 메세지는 레드 라인으로 디스플레이된다. 소트 코드 파일의 명칭과 위치외에 메세지가 생성되는 라인수는 로깅 라이브러리(12) 메세지에 포함된다. 또한, 매우 중요하게, 상세한 에러 메세지는 프로그램상의 현 이벤트를 기술하는 것으로 제공된다. 각각의 로그 윈도우는 프로그램 메모리, 통과, 실패 및 타이밍 정보에 대한 사용자 액세스를 용이하게 하는 요약 탭을 가진다. 로그 파일의 다른 중요한 특성은 테스트의 시작과 끝에서 큰 정보를 캡쳐하는 것이다. 이러한 정보는 메모리, 시스템, 전력 및 다른 주요 정보의 스냅샷을 제공한다.Therefore, the logging library 12 shown in FIG. 3.0 is a composite tool integrated into the O / S validator 1 in many ways. Primarily, the logging library 12 is integrated into a source file for testing. The test calls the library API when the library handles all the details related to capturing and recording the test results. The logging library 12 also supports several connection options. The recommended option is TCP, which allows the user to read the log file when moving from a TCP connection. Another communication option is direct logging of files on the device. This may be advantageous, for example, if the user wants to log onto a PCMCIA card but does not want special information broadcast on the network. Although the logging library 12 acts as the device side part for TCP communication, the host 4 part acts as the GUI 2 side part for communication. This aspect of the logging library 12 provides color coding for the log window and test results on the host 4. For example, the failure message is displayed in red line. In addition to the name and location of the sort code file, the number of lines for which a message is generated is included in the logging library 12 message. Also very importantly, detailed error messages are provided to describe the current event in the program. Each log window has a summary tab that facilitates user access to program memory, pass, fail, and timing information. Another important characteristic of log files is the capture of large pieces of information at the beginning and end of the test. This information provides a snapshot of memory, system, power, and other critical information.

여기에 기술된 정보는 본 발명의 상술한 목적을 충분하게 달성할 수 있으며, 본 발명의 바람직한 실시예들은 본 발명의 주요 현안에 대한 대표 기술이며 본 발명에 의하여 가장 넓게 고려된다. 본 발명의 영역은 당업자에게 자명한 다른 실시예를 포함하며, 청구항에 의해서만 제한받는다. 상술한 바람직한 실시예와 동일한 구조 및 기능들은 당업자에게 공지되어 있으며, 본 명세서에서 상호 참조된다. 게다가, 청구항에 의하여 포함되도록 본 발명에 의하여 해결되는 문제를 설명하기 위한 방법 또는 장치가 필요하지는 않다. 또한, 본 발명의 어떠한 엘리멘트, 성분 또는 방법 단계들도 청구항에 명료하게 설명된 엘리멘트, 성분 또는 방법 단계들과는 무관하게 공용을 위한 의도로 사용되는 것만은 아니다. 어떠한 청구항들도 만일 엘리멘트가 구"~를 위한 수단"을 이용하여 인용됨이 없이 35 U.S.C.112의 여섯번째 문단의 가정하에서 구성된다.The information described herein can sufficiently achieve the above object of the present invention, and the preferred embodiments of the present invention are representative of the main issues of the present invention and are most widely considered by the present invention. The scope of the invention includes other embodiments that are apparent to those skilled in the art and are limited only by the claims. The same structures and functions as the above-described preferred embodiments are known to those skilled in the art and are cross-referenced herein. Moreover, there is no need for a method or apparatus for describing a problem solved by the present invention to be covered by the claims. Furthermore, no elements, components or method steps of the present invention are intended to be used in the common sense regardless of the elements, components or method steps described explicitly in the claims. No claim is made under the assumption of the sixth paragraph of 35 U.S.C. 112, unless an element is cited using the phrase "means for."

Claims (20)

타겟 장치내의 내장형 운영체계를 테스팅 및 유효성 검사하는 컴퓨터 기반 시스템으로서:A computer-based system for testing and validating embedded operating systems in target devices: a. 호스트 컴퓨터;a. A host computer; b. 운영체계가 제공된 타겟 장치;b. A target device provided with an operating system; c. 상기 호스트 컴퓨터에 제공된 소프트웨어 프로그램을 테스팅 및 유효성 검사하는 운영체계를 포함하는데, 상기 프로그램은 사용자와 인터페이스하는 그래픽 유저 인터페이스 프로그램 수단, 상기 타겟 장치와 통신하며 상기 그래픽 유저 인터페이스의 명령에 응답하는 엔진 수단, 상기 운영체계의 적어도 일부분을 테스팅 및 유효성 검사하는 적어도 하나의 테스트를 포함하는 다수의 테스트 수트 및 상기 타겟 장치를 사용도록 실행되는 프로토콜 승인 소프트웨어 패키지를 포함하며, 상기 프로토콜 승인 소프트웨어 패키지는 상기 타겟 장치로부터 승인 메세지를 대기하는 실행 쓰레드를 방출하는 프로토콜의 멤버 필드로서 운영체계-생성된 이벤트 핸들을 이용하며, 상기 이벤트 핸들은 메세지 패킷의 헤더부에 위치하며 상기 승인 메세지로 다시 전송되고, 상기 수신 쓰레드는 상기 승인 메세지의 상기 이벤트 핸들을 대기하는 임의의 전송 쓰레드 실행을 언블록킹하며; 그리고c. An operating system for testing and validating a software program provided to the host computer, the program comprising: graphical user interface program means for interfacing with a user, engine means for communicating with the target device and responsive to commands of the graphical user interface; A plurality of test suites including at least one test for testing and validating at least a portion of the operating system and a protocol approval software package executed to use the target device, wherein the protocol approval software package is from the target device. It uses an operating system-generated event handle as a member field of the protocol that emits an execution thread waiting for an acknowledgment message, which is located in the header of the message packet and forwards back to the acknowledgment message. Sent, and the receiving thread unblocks any transmitting thread execution waiting for the event handle of the acknowledgment message; And d. 소프트웨어 프로그램을 테스팅 및 유효성 검사하는 상기 운영체계에 의해 생성된 테스트 관련 정보를 조절하여 저장하는 로깅 라이브러리 수단을 포함하는 컴퓨터 기반 시스템.d. And a logging library means for adjusting and storing test-related information generated by the operating system for testing and validating software programs. 제 1 항에 있어서, 소프트웨어 프로그램을 테스팅 및 유효성 검사하는 상기 운영체계는 상기 엔진 수단을 호출하기 위해 그래픽 유저 인터페이스에 일 세트의 함수들을 더 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.2. The computer-based system of claim 1, wherein the operating system for testing and validating a software program further comprises a set of functions in a graphical user interface to invoke the engine means. 제 1 항에 있어서, 상기 타겟 장치는 상기 엔진 수단과 통신하기 위해 이벤드-구동된(event-driven) 애플리케이션을 더 포함하며, 상기 엔진 수단은 이벤트와 상기 이벤트 구동된 애플리케이션 응답을 전송하는 것을 특징으로 하는 컴퓨터 기반 시스템.The apparatus of claim 1, wherein the target device further comprises an event-driven application for communicating with the engine means, wherein the engine means sends an event and the event driven application response. Computer-based system. 제 1 항에 있어서, 상기 타겟 장치의 상기 운영체계는 윈도우 CE 운영체계를 포함하며, 상기 이벤트 핸들은 WIN32 이벤트 핸들을 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.The computer-based system of claim 1 wherein the operating system of the target device comprises a Windows CE operating system and the event handle comprises a WIN32 event handle. 제 1 항에 있어서, 상기 테스트 수트들은 적어도 하나의 시스템 스트레스-테스팅 루틴 및 적어도 하나의 특성 및 기능 테스트를 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.The computer-based system of claim 1 wherein the test suites include at least one system stress-testing routine and at least one characteristic and functional test. 제 5 항에 있어서, 상기 시스템 스트레스-테스팅 루틴은 상기 운영체계의 적어도 하나의 부분을 스트레스 테스팅하기 위한 코드 베이스를 포함하며, 상기 운영체계의 상기 적어도 하나의 부분은 이더넷/NDIS, PCMIA, 메모리, 파일 시스템, 다수의 애플리케이션 프로그램 인터페이스를 가지는 비디오 시스템의 직렬 포트, 적외선 시스템, 원 장비 제작자 적응층, 터치 패널, 마우스, 키보드 및 오디오/웨이브 시스템을 포함하는 운영체계 부분의 그룹으로부터 선택되며, 상기 테스트는 적어도 세개의 결함, 즉, 하드웨어 디자인, 하드웨어 프로그래밍 및 계 상호작용을 식별하며, 자동 또는 수동 모드에서 실행되는 것을 특징으로 하는 컴퓨터 기반 시스템.6. The system of claim 5, wherein the system stress-testing routine comprises a code base for stress testing at least one portion of the operating system, wherein the at least one portion of the operating system includes Ethernet / NDIS, PCMIA, memory, Selected from the group of operating system parts including file systems, serial ports of video systems with multiple application program interfaces, infrared systems, raw equipment manufacturer adaptation layers, touch panels, mice, keyboards, and audio / wave systems; Is at least three defects, i.e., hardware design, hardware programming and system interactions, wherein the computer-based system runs in an automatic or manual mode. 제 1 항에 있어서, 상기 타겟 장치는 상기 호스트 컴퓨터와는 독립적으로 유효성 검사 및 스트레스 테스팅을 수행하기 위한 상기 운영체계 테스팅 및 유효성 검사 소트프웨어 프로그램이 제공된 독립형 유니트를 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.The computer-based system of claim 1, wherein the target device includes a standalone unit provided with the operating system testing and validation software program for performing validation and stress testing independently of the host computer. 제 1 항에 있어서, 테스팅 및 유효성 검사 작업을 수행하기 위해 상기 호스트 및 상기 타겟 장치에 결합된 이더넷 접속을 더 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.The computer-based system of claim 1 further comprising an Ethernet connection coupled to the host and the target device to perform testing and validation tasks. 제 1 항에 있어서, 상기 로깅 라이브러리 수단은 WRITETESTPASS 애플리케이션 프로그램 인터페이스를 이용하는 적어도 하나의 통과 테스트 결과 파일을 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.2. The computer based system of claim 1, wherein said logging library means comprises at least one pass test result file utilizing a WRITETESTPASS application program interface. 제 9 항에 있어서, 상기 적어도 하나의 통과 테스트 파일은 상기 타겟 장치에 존재하는 것을 특징으로 하는 컴퓨터 기반 시스템.10. The computer-based system of claim 9 wherein the at least one pass test file is present on the target device. 제 1 항에 있어서, 상기 로깅 라이브러리 수단은 WRITETESTFAIL 애플리케이션 프로그램 인터페이스를 이용하는 적어도 하나의 실패 테스트 결과를 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.2. The computer based system of claim 1, wherein the logging library means comprises at least one failure test result using a WRITETESTFAIL application program interface. 제 11 항에 있어서, 상기 적어도 하나의 실패 테스트 파일은 상기 타겟 장치에 존재하는 것을 특징으로 하는 컴퓨터 기반 시스템.12. The computer-based system of claim 11 wherein the at least one failed test file is present on the target device. 타겟 장치내의 내장형 운영체계를 테스팅 및 유효성 검사하는 컴퓨터 기반 방법으로서:As a computer-based method of testing and validating an embedded operating system in a target device: a. 호스트 컴퓨터를 제공하는 단계;a. Providing a host computer; b. 운영체계를 갖는 타겟 장치를 제공하는 단계;b. Providing a target device having an operating system; c. 상기 호스트 컴퓨터에 제공된 소프트웨어 프로그램을 테스팅하며 유효성 검사하는 운영체계를 제공하는 단계를 포함하는데, 상기 프로그램은 사용자와 인터페이스하는 그래픽 유저 인터페이스 프로그램 수단, 상기 타겟 장치와 통신하며 상기 그래픽 유저 인터페이스의 명령에 응답하는 엔진 수단, 상기 운영체계의 적어도 일부분을 테스팅 및 유효성 검사하는 적어도 하나의 테스트를 포함하는 다수의 테스트 수트 및 상기 타겟 장치를 사용도록 실행되는 프로토콜 승인 소프트웨어 패키지를 포함하며, 상기 프로토콜 승인 소프트웨어 패키지는 상기 타겟 장치로부터 승인 메세지를 대기하는 실행 쓰레드를 방출하는 프로토콜의 멤버 필드로서 운영체계-생성된 이벤트 핸들을 이용하며, 상기 이벤트 핸들은 메세지 패킷의 헤더부에 위치하며 상기 승인 메세지로 다시 전송되고, 상기 수신 쓰레드는 상기 승인 메세지의 상기 이벤트 핸들을 대기하는 임의의 전송 쓰레드 실행을 언블록킹하며;c. Providing an operating system for testing and validating a software program provided to said host computer, said program comprising graphical user interface program means for interfacing with a user, communicating with said target device, and responding to commands of said graphical user interface; A plurality of test suites comprising engine means, at least one test suite for testing and validating at least a portion of the operating system, and a protocol approval software package executed to use the target device. Uses an operating system-generated event handle as a member field of a protocol that emits an execution thread waiting for an acknowledgment message from the target device, the event handle being located in the header portion of the message packet. Is sent back to the message, the recipient thread is frozen and blocking any transmitting thread running to wait for the event handler in the grant message; d. 소프트웨어 프로그램을 테스팅 및 유효성 검사하는 상기 운영체계에 의해 생성된 테스트 관련 정보를 조절하여 저장하는 로깅 라이브러리 수단을 제공하는 단계;d. Providing a logging library means for adjusting and storing test related information generated by the operating system for testing and validating a software program; e. 상기 타겟 장치에서 소프트웨어 프로그램을 테스팅 및 유효성 검사하는 상기 운영체계를 실행하고 상기 운영체계를 테스팅 및 유효성 검사하는 단계를 포함하는데, 상기 실행 단계는 상기 승인 메세지의 상기 이벤트 핸들에 응답하여 전송 쓰레드 실행을 언블록킹하는 단계를 포함하며; 그리고e. Executing the operating system for testing and validating a software program on the target device and testing and validating the operating system, wherein the executing step executes a transport thread execution in response to the event handle of the acknowledgment message. Unblocking; And f. 통과 및 실패 테스트 결과를 생성하는 단계를 포함하는 컴퓨터 기반 방법.f. Generating a pass and fail test result. 제 13 항에 있어서, 내장형 운영체계를 테스팅 및 유효성 검사하는 컴퓨터 기반 방법은 엔진 수단을 호출하기 위해 그래픽 유저 인터페이스에서 일 세트의 함수를 가지는 소프트웨어 프로그램을 테스팅 및 유효성 검사하는 상기 운영체계를 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 기반 방법.14. The computer-based method of claim 13, wherein the computer-based method of testing and validating an embedded operating system provides the operating system for testing and validating a software program having a set of functions in a graphical user interface to invoke engine means. Computer-based method further comprising. 제 13 항에 있어서, 내장형 운영체계를 테스팅 및 유효성 검사하는 컴퓨터 기반 방법은 상기 엔진 수단과 통신하기 위해 이벤드-구동된(event-driven) 애플리케이션을 가지는 상기 타겟 장치를 제공하는 단계를 더 포함하며, 상기 엔진 수단은 이벤트와 상기 이벤트 구동된 애플리케이션 응답을 전송하는 것을 특징으로 하는 컴퓨터 기반 방법.14. The computer-based method of claim 13, wherein the computer-based method of testing and validating an embedded operating system further comprises providing the target device having an event-driven application for communicating with the engine means. The engine means transmitting an event and the event driven application response. 제 13 항에 있어서, 윈도우 CE 운영체계를 갖는 상기 타겟 장치를 제공하는 단계(a) 및 WIN32 이벤트 핸들을 갖는 상기 이벤트 핸들을 제공하는 단계(b)를 더 포함하는 것을 특징으로 하는 컴퓨터 기반 방법.14. The computer-based method of claim 13, further comprising providing (a) the target device having a Windows CE operating system and (b) providing the event handle having a WIN32 event handle. 제 13 항에 있어서, 상기 운영체계의 적어도 하나의 부분을 스트레스 테스팅하기 위한 코드 베이스를 포함하는 시스템 스트레스-테스팅 루틴 형태의 테스트 수트를 제공하는 단계를 더 포함하며, 상기 운영체계의 상기 적어도 하나의 부분은 이더넷/NDIS, PCMIA, 메모리, 파일 시스템, 다수의 애플리케이션 프로그램 인터페이스를 가지는 비디오 시스템의 직렬 포트, 적외선 시스템, 원 장비 제작자 적응층, 터치 패널, 마우스, 키보드 및 오디오/웨이브 시스템을 포함하는 운영체계 부분의 그룹으로부터 선택되며, 상기 테스트는 적어도 세개의 결함, 즉, 하드웨어 디자인, 하드웨어 프로그래밍 및 운영체계 상호작용을 식별하며, 자동 또는 수동 모드에서 실행되는 것을 특징으로 하는 컴퓨터 기반 방법.14. The method of claim 13, further comprising providing a test suite in the form of a system stress-testing routine comprising a code base for stress testing at least a portion of the operating system. Portions include operations including Ethernet / NDIS, PCMIA, memory, file systems, serial ports of video systems with multiple application program interfaces, infrared systems, original equipment manufacturer adaptation layers, touch panels, mice, keyboards, and audio / wave systems Selected from the group of system parts, wherein the test identifies at least three defects, namely hardware design, hardware programming and operating system interaction, and is executed in an automatic or manual mode. 제 13 항에 있어서, 상기 타겟 장치에서 테스팅 및 유효성 검사 작업을 수행하기 위해 상기 호스트 및 상기 타겟 장치에 결합된 이더넷 접속을 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 기반 방법.14. The computer-based method of claim 13, further comprising providing an Ethernet connection coupled to the host and the target device to perform testing and validation tasks on the target device. 제 13 항에 있어서, WRITETESTPASS 애플리케이션 프로그램 인터페이스를 이용하여 적어도 하나의 통과 테스트 결과 파일을 갖는 로깅 라이브러리 수단을 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 기반 방법.14. The computer-based method of claim 13, further comprising providing a logging library means having at least one pass test result file using a WRITETESTPASS application program interface. 제 13 항에 있어서, WRITETESTFAIL 애플리케이션 프로그램 인터페이스를 사용하여 적어도 하나의 실패 테스트 결과를 갖는 로깅 라이브러리 수단을 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 기반 방법.14. The computer-based method of claim 13, further comprising providing a logging library means having at least one failure test result using a WRITETESTFAIL application program interface.
KR1020017015622A 1999-06-04 2000-05-31 Protocol acknowledgment between homogeneous systems KR20020012254A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13762999P 1999-06-04 1999-06-04
US60/137,629 1999-06-04
PCT/US2000/015342 WO2000075783A1 (en) 1999-06-04 2000-05-31 Protocol acknowledgment between homogeneous systems

Publications (1)

Publication Number Publication Date
KR20020012254A true KR20020012254A (en) 2002-02-15

Family

ID=22478338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017015622A KR20020012254A (en) 1999-06-04 2000-05-31 Protocol acknowledgment between homogeneous systems

Country Status (8)

Country Link
EP (1) EP1224551A1 (en)
JP (1) JP2003501743A (en)
KR (1) KR20020012254A (en)
CN (1) CN1353835A (en)
AU (1) AU5461800A (en)
BR (1) BR0012111A (en)
HK (1) HK1048540A1 (en)
WO (1) WO2000075783A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928378B2 (en) * 2002-07-23 2005-08-09 Sun Microsystems, Inc. Stress testing at low cost through parallel execution of unit tests
CN1300961C (en) * 2003-03-06 2007-02-14 华为技术有限公司 Test method
CN100403701C (en) * 2004-08-09 2008-07-16 华为技术有限公司 Goal device service realization testing method and system
KR102327927B1 (en) * 2017-07-19 2021-11-19 엔에이치엔 주식회사 Method and system for invoking event based package module
KR102332506B1 (en) * 2017-07-19 2021-12-01 엔에이치엔 주식회사 Method and system for invoking event based package module
CN108008977B (en) * 2017-12-27 2021-01-15 遵义职业技术学院 Software development service platform oriented to function outsourcing
CN111985902A (en) * 2020-08-25 2020-11-24 上海帜讯云计算科技有限公司 Cross-system information collaborative management method, device, equipment and storage medium
CN112202628B (en) * 2020-09-08 2022-09-02 杭州涂鸦信息技术有限公司 WiFi module serial port protocol automatic test system and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630049A (en) * 1994-11-30 1997-05-13 Digital Equipment Corporation Method and apparatus for testing software on a computer network
US5600790A (en) * 1995-02-10 1997-02-04 Research In Motion Limited Method and system for loading and confirming correct operation of an application program in a target system
US6029257A (en) * 1996-12-06 2000-02-22 Intergraph Corporation Apparatus and method for testing computer systems

Also Published As

Publication number Publication date
HK1048540A1 (en) 2003-04-04
WO2000075783A1 (en) 2000-12-14
AU5461800A (en) 2000-12-28
JP2003501743A (en) 2003-01-14
BR0012111A (en) 2002-03-12
CN1353835A (en) 2002-06-12
EP1224551A1 (en) 2002-07-24

Similar Documents

Publication Publication Date Title
US6182246B1 (en) Protocol acknowledgment between homogeneous system
KR20010112250A (en) A system and method for testing and validating devices having an embedded operating system
US7143310B2 (en) Generating standalone MIDlets from a testing harness
AU2004233548B2 (en) Method for Computer-Assisted Testing of Software Application Components
US8434058B1 (en) Integrated system and method for validating the functionality and performance of software applications
US8356282B1 (en) Integrated development environment for the development of electronic signal testing strategies
US20030070120A1 (en) Method and system for managing software testing
US20060200701A1 (en) Kernel-mode in-flight recorder tracing mechanism
US20060265475A9 (en) Testing web services as components
US20070213966A1 (en) Traffic generator program
JP2006018827A (en) Smart user interface record and reproduction framework
US20070211696A1 (en) Method of generating network traffic
CN110013672B (en) Method, device, apparatus and computer-readable storage medium for automated testing of machine-run games
JP2007519117A (en) OSGi service platform test method and test tool using the same
WO2008045117A1 (en) Methods and apparatus to analyze computer software
CN110362490B (en) Automatic testing method and system for integrating iOS and Android mobile applications
US7310798B1 (en) Simulator tool for testing software in development process
CN115686540B (en) RPA control method and system based on Hongmong system
EP3295311A1 (en) Method and system for automating the process of testing of software application
KR20020012254A (en) Protocol acknowledgment between homogeneous systems
US7831962B2 (en) Testing subsystems on platforms for software applications
US8005639B2 (en) Compact framework for automated testing
CN115016960A (en) Configurable RPA robot full-flow information notification processing method and system
CN114265769A (en) Test system and method based on python script test case
CN114281315A (en) Visual software development system and method applied to superconducting computer

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid