KR20010112250A - A system and method for testing and validating devices having an embedded operating system - Google Patents

A system and method for testing and validating devices having an embedded operating system Download PDF

Info

Publication number
KR20010112250A
KR20010112250A KR1020017009191A KR20017009191A KR20010112250A KR 20010112250 A KR20010112250 A KR 20010112250A KR 1020017009191 A KR1020017009191 A KR 1020017009191A KR 20017009191 A KR20017009191 A KR 20017009191A KR 20010112250 A KR20010112250 A KR 20010112250A
Authority
KR
South Korea
Prior art keywords
operating system
testing
test
computer
target device
Prior art date
Application number
KR1020017009191A
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 KR20010112250A publication Critical patent/KR20010112250A/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/362Software debugging
    • G06F11/366Software debugging using diagnostics

Abstract

본 발명은 상업적으로 이용가능한 오퍼레이팅 시스템을 이용하는 타겟 장치의 제품 개발 처리를 효율적으로 하며 여러 사람과 여러 달의 시간 및 비용을 절약하는 품질 보증을 개선하는 시스템 및 방법으로서 광범위한 테스트 프로그램의 수트를 적용하는 테스팅 장치를 포함한다. 상기 시스템 및 방법인 O/S 유효기(1)는 호스트 그래픽 유저 인터페이스 하니스(12), 타겟 통신(3)에 대한 호스트, 적어도 하나의 테스트 수트(11) 및 결과 캡쳐 방법(12)을 이용하여, 상업적으로 이용가능한 오퍼레이팅 시스템(1000a), 윈도우 CE에 대한 완전히 자동화된 디자인 확인 패키지를 제공한다. O/S 유효기(1)는 타겟 하드웨어(1000,9)에 대한 윈도우 CE와 같은 상업적으로 이용가능한 오퍼레이팅 시스템(1000a)의 포트를 테스팅하기 위한 고속이면서 더욱 정확한 자동 테스트 수트 기술을 제공한다. 또한 O/S 유효기(1)는 오퍼레이팅 시스템 O/S, 장치 드라이버, OEM 적응층(OAL) 및 하드웨어 상호작용을 의도적으로 스트레스하기 위해 특별히 개발된 광범위한 코드-베이스를 포함한다. 테스트 수트(11)는 하드웨어 디자인, 하드웨어 프로그래밍(드라이버/OAL) 및 오퍼레이팅 시스템 상호작용을 포함하는 세개의 주요 결함을 식별하는데 촛점이 있다. 특정 진단 엠퍼시스는 대부분의 문제를 역사적으로 나타내는 오퍼레이팅 시스템에 존재한다.The present invention is a system and method for efficiently improving the product development process of a target device using a commercially available operating system and improving the quality assurance that saves time and money for many people and months. Testing device. The system and method, the O / S validator 1, uses a host graphical user interface harness 12, a host for the target communication 3, at least one test suite 11 and a result capture method 12. , A fully automated design validation package for commercially available operating system 1000a, Windows CE. The O / S validator 1 provides a high speed and more accurate automated test suite technique for testing ports of commercially available operating system 1000a such as Windows CE for target hardware 1000,9. The O / S validator 1 also includes an extensive code-base developed specifically to intentionally stress operating system O / S, device drivers, OEM adaptation layers (OALs), and hardware interactions. The test suite 11 is focused on identifying three major defects, including hardware design, hardware programming (driver / OAL), and operating system interaction. Certain diagnostic emulations exist in operating systems that historically represent most problems.

Description

내장형 오퍼레이션 시스템을 가지는 테스팅 및 유효 장치용 시스템 및 방법 {A SYSTEM AND METHOD FOR TESTING AND VALIDATING DEVICES HAVING AN EMBEDDED OPERATING SYSTEM}A SYSTEM AND METHOD FOR TESTING AND VALIDATING DEVICES HAVING AN EMBEDDED OPERATING SYSTEM}

더욱더 많은 개발자들이 셋탑 박스, 게임 시스템, 바코드 스캐너 및 공장 자동화 시스템을 포함하는 서로 다른 타입의 여러 컴퓨터화된 제품에 Windows CE와 같은 오퍼레이팅 시스템을 내장하고 있다. Windows CE가 성장함에 따라, "기성(旣成)" 소프트웨어 개발툴에 대한 욕구가 더욱 증가된다. 여러 툴 및 "기성" 소프트웨어 키트들이 장치의 설계 시간을 절약하며 고속 장치 개발을 유도하기 위해 시장에 출시되었지만, 특별히 장치 개발의 최종 단계에서 새로운 제품의 호환성을 확인하는 어떠한 고속 테스팅 시스템 또는 방법도 존재하지 않았다.More and more developers are embedding operating systems such as Windows CE in many different types of computerized products, including set-top boxes, gaming systems, bar code scanners and factory automation systems. As Windows CE grows, the desire for "off-the-shelf" software development tools increases. While many tools and "off-the-shelf" software kits have been introduced to the market to save design time and drive high-speed device development, any high-speed testing system or method exists that specifically checks for new product compatibility at the final stage of device development. Did not do it.

전통적으로, 단지 두개의 오퍼레이팅 시스템 장치의 테스팅 옵션, 즉, (1) 테스트 코드의 인-하우스 기록(in-house writing) 또는 다른 회사에 고객 코드 개발을 아웃 소싱하는 것이 이용되었다. 테스팅 프로젝트의 인-하우스(testing project in-house)를 완료하기 위해, 주문자 상표 부착 제작자(OEM)들은 자신의 직원을 교육시키는데 여러 달을 보내며, 테스트 코드를 개발하는데 더 많은 달을 보내고, 또한 그 제품이 테스트 코드를 이용하여 테스트되기 전에 더욱 많은 여러 달의 준비기간을 보낸다. 유사하게, 고객 코드 개발 하우스의 아웃 소싱은 코드를 기록하는데 몇 달이 소비된다. 그러므로 이러한 두가지 옵션들은 모두 시간이 많이 걸리며 고비용이다.Traditionally, only two operating system device testing options have been used: (1) in-house writing of test code or outsourcing customer code development to another company. To complete the testing project in-house, OEMs spend several months training their staff, and spend more months developing test code. There are many more months of preparation before the product is tested with the test code. Similarly, outsourcing a customer code development house can take months to write code. Therefore, both of these options are time consuming and expensive.

이전의 많은 시간이 걸리는 오퍼레이팅 시스템 장치의 테스팅 옵션들은, 제품의 품질을 개선하며 여러 사람과 기간에 대한 시간 및 비용을 절약하고 제품 개발 절차를 간소화하기 위한, 통합 테스팅 시스템 및 방법에 대하여 오랜동안 그 필요성을 느꼈다. 특히, 이전의 문제를 극복함에 따라 제품 품질을 개선하고 여러 사람과 기간에 대한 시간 및 비용을 절약하고 제품 개발 절차를 간소화하는 시스템 및 방법을 제공하여 장치의 설계자를 위해 완전히 자동화된 설계 점검 패키지를 가능하게 하는, 장착된 내장형 Windows CE 오퍼레이팅 시스템을 가지는 테스팅 및 유효 장치용 시스템 및 방법이 필요하다.The testing options of the previous time-consuming operating system devices have long been associated with integrated testing systems and methods for improving product quality, saving time and money for multiple people and time periods, and simplifying product development procedures. I felt the need. In particular, it provides a fully automated design check package for designers of devices by overcoming previous challenges, providing systems and methods to improve product quality, save time and money for multiple people and time periods, and streamline product development processes. There is a need for a system and method for testing and validation apparatus that has an embedded Windows CE operating system that is enabled.

본 발명은 컴퓨터화된 제품에 제공된 오퍼레이팅 시스템을 확인하기 위한 테스트 시스템 및 방법과 제품 품질 보증에 관한 것이다. 특히 본 발명은 컴퓨터화된 제품의 개발시에 오퍼레이팅 시스템을 확인하는 테스트 제품 및 방법과 제품 품질 보증에 관한 것이다. 본 발명은 또한 전형적으로 컴퓨터화된 제품에 제공되며 Redmond, WA에 소재한 마이크로소프트사에서 제작되어 판매되는 Windows CE와 같은 오퍼레이팅 시스템을 확인하는 테스트 시스템 및 방법과 제품 품질 보증에 관한 것이다.FIELD OF THE INVENTION The present invention relates to test systems and methods and product quality assurance for identifying operating systems provided in computerized products. In particular, the present invention relates to test products and methods and product quality assurance for identifying operating systems in the development of computerized products. The invention also relates to test systems and methods and product quality assurance for identifying operating systems, such as Windows CE, typically provided in computerized products and manufactured and marketed by Microsoft Corporation of Redmond, WA.

도 1.0은 제어 유니트에 내장형 오퍼레이팅 시스템이 제공된 컴퓨터화된 제품의 개략도이다.1.0 is a schematic diagram of a computerized product provided with a built-in operating system in a control unit.

도 2.0은 내장형 오프레이팅 시스템이 제공된 컴퓨터화된 제품에서의 품질 보증 테스팅을 도시한 본 발명의 흐름도이다.2.0 is a flow diagram of the present invention illustrating quality assurance testing in a computerized product provided with a built-in offrating system.

도 3.0은 그래픽 사용자 인터페이스, 엔진, 다수의 테스트 수트 및 로깅 라이브러리를 포함하는 본 발명의 오퍼레이팅 시스템 유효기의 주요 부분을 도시한 블록도이다.3.0 is a block diagram illustrating the major parts of an operating system validator of the present invention including a graphical user interface, an engine, multiple test suites, and a logging library.

도 4.0은 내장형 오퍼레이팅 시스템이 제공된 다수의 타겟 장치를 테스팅하기 위해 호스트 장치로부터 다수의 테스트 수트 구성을 실행하는 본 발명의 블록도이다.FIG. 4.0 is a block diagram of the present invention for executing multiple test suite configurations from a host device to test multiple target devices provided with an embedded operating system.

도 5.0은 이더넷 수단을 통하여 호스트에서 O/S 유효기(1)와 타겟 장치의 통신하는 것을 제외한 도 4에 도시된 것과 같은 본 발명의 블록도이다.FIG. 5.0 is a block diagram of the invention as shown in FIG. 4 except that the O / S validator 1 communicates with the target device at the host via Ethernet means.

도 5a는 다수의 호스트 및 타겟 장치 사이의 통신이 이더넷에서 발생할 수 있는 장치를 도시한다.5A illustrates a device in which communication between multiple host and target devices may occur over Ethernet.

도 6은 테스트 수트 실행 상태에 대한 다른 장치를 도시한다.6 shows another device for a test suite execution state.

도 7.0은 자동 및 수동 테스트 수트 실행에서 테스팅된 특정 API의 기능 영역의 테이블 리스트이다.7.0 is a table listing of functional areas of specific APIs tested in automatic and manual test suite execution.

도 8A,8B,8C는 자동 또는 수동 모드에서 테스트될 수 있는 API와 기능 영역의 포괄적인 리스트를 리스팅한 표이다.8A, 8B, 8C are tables listing a comprehensive list of APIs and functional areas that can be tested in automatic or manual mode.

도 9.0은 자동 스크립트를 만들때 사용하기 위한 선택된 API의 테이블 리스트이다.9.0 is a table listing of selected APIs for use in creating automated scripts.

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

도 11.0은 다른 관련된 요약 기능외에 테스트 수트 선택 옵션을 보여주는 윈도우의 개략도이다.11.0 is a schematic diagram of a window showing test suite selection options in addition to other related summary functions.

도 12.0은 테스트 결과, 테스트 실패 및 관련 테스트 요약 옵션에 대한 탭을 보여주는 로깅 윈도우의 블록도이다.12.0 is a block diagram of a logging window showing tabs for test results, test failures, and associated test summary options.

도 13은 현재 테스트된 테스트 장치의 개수 대 테스트 사이클 시간의 관계에 대한 그래프이다.13 is a graph of the relationship between the number of test devices currently tested versus test cycle time.

도 14.0은 여러 구성 관련 기능을 수행하는 탭을 보여주는 구성 윈도우의 블록도이다.14.0 is a block diagram of a configuration window showing tabs for performing various configuration related functions.

도 15A,15B,15C는 본 발명을 따르는 오퍼레이팅 시스템 성분의 상세내역을 테스팅하는 테이블 리스팅을 도시한다.15A, 15B, and 15C show table listings testing the details of operating system components in accordance with the present invention.

CEValidatorTM의 상표로 본 출원인의 양수인이 상업적으로 이용할 수 있는 본 발명은 오퍼레이팅 시스템 유효기(이하 O/S 유효기로 참조되며 도면에서는 숫자 1로 지정함)이며, 타겟 장치의 하드웨어 및/또는 소프트웨어가 새롭게 개발될 때 Windows CE와 같은 오퍼레이팅 시스템의 일부를 테스팅하는 자동화된 테스트 수트 방법(test suite method)을 포함하는 테스트 시스템을 제공함으로써 이전의 문제들을 해결한다. O/S 유효기는 O/S를 의도적으로 강조(stress)하기위해 특별히 개발된 광범위한 코드 베이스, OEM 적응층(OAL) 및 하드웨어 상호작용을 포함한다. 제공된 테스트 수트는 주로 세개의 주요 결함, 즉, 하드웨어 설계, 하드웨어 프로그래밍(드라이버/OAL) 및 오퍼레이팅 시스템 상호작용을 식별한다. 진단시에 대부분의 문제를 역사적으로 보여주는 Windows CE 서브시스템이 특별히 강조된다. 상기 테스트 수트는 Windows CE 포트의 완전한 분석을 제공하는 특성 및 기능 테스트외에 시스템 스트레스-테스팅 루틴을 포함하는 거의 1500가지의 테스트를 포함한다. 이러한 테스트들은 O/S 유효기에 의해 그룹화된다. O/S 유효기는 모든 테스트에 대하여 테스트 소스 코드 및 실행가능 프로그램을 모두 포함한다.Commercially available to the applicant's assignee under the trademark CEValidator , the present invention is an operating system validator (hereinafter referred to as an O / S validator and designated by the number 1 in the drawing), wherein the hardware and / or software of the target device The new problem is solved by providing a test system that includes an automated test suite method that, when newly developed, tests a part of an operating system such as Windows CE. O / S validators include a wide range of code bases, OEM adaptation layers (OALs), and hardware interactions specifically developed to intentionally stress O / S. The test suite provided primarily identifies three major flaws: hardware design, hardware programming (driver / OAL), and operating system interaction. Special emphasis is given to the Windows CE subsystem, which historically shows most problems at the time of diagnosis. The test suite includes nearly 1500 tests, including system stress-testing routines, in addition to characteristic and functional tests that provide a complete analysis of the Windows CE port. These tests are grouped by O / S validators. O / S validators include both test source code and executable programs for all tests.

테스트 수트의 실행 및 로깅 결과의 수집을 용이하게 하기 위해, Microsoft Windows 사용자 인터페이스를 이용하는 표준 Windows 애플리케이션과 같은 O/S 유효기 호스트 요소에 대한 직관적인 사용자 인터페이스가 이용된다. O/S 유효기는 클라이언트/서버 애플리케이션으로서 테스트 수트를 분할한다. 그래픽 유저 인터페이스(GUI)는 타겟 장치에서 동작하는 소형 애플리케이션, 즉 CEHarness.exe와 상호작용한다. 이러한 통신은 이더넷에서 발생할 수 있기 때문에 적어도 하나의 호스트가 적어도 하나의 타겟 장치에 대하여 수트를 가동시킬 수 있다.In order to facilitate the execution of the test suite and the collection of logging results, an intuitive user interface for O / S validator host elements, such as a standard Windows application using the Microsoft Windows user interface, is used. The O / S validator splits the test suite as a client / server application. The graphical user interface (GUI) interacts with a small application running on the target device, CEHarness.exe. Since this communication can occur over Ethernet, at least one host can run the suit for at least one target device.

O/S 유효기는 타겟 장치가 테스트를 실패할 때 유용한 에러 정보를 생성한다. 수트가 가동되는 동안, 그 결과는 구성의 요약 탭 외에 다수의 다이나믹하게 생성된 로그 윈도우에서 디스플레이된다. 로깅 윈도우는 주어진 테스트 결과의 완전한 텍스트를 포함한다. 실패는 식별하기 쉽도록 컬러-코딩된 레드이다. 로깅 윈도우의 네비게이션 버튼은 당신으로 하여금 하나의 실패에서 다른 곳으로 빠르게 이동할 수 있게 해준다. 테스트시 로깅 API는 또한 프롤로그 및 에필로그가 각각의 결과 파일에서 생성되도록 한다. 현재 가동되는 처리, 배터리 전력 레벨 및 실행 일 및 시간과 같은 정보는 자동으로 그 결과 파일에 기록되고 로그 윈도우에서 디스플레이된다. 프로그램 메모리의 손실, 저장 메모리의 손실 또는 총 테스트 실행 시간과 같은 유용한 요약 정보는 로그 윈도우 탭에 제공된다. 주어진 테스트 결과에 대한 요약 정보가 수집되어 구성 위도우의 요약 탭에 디스플레이된다. 요약 탭은 실시간으로 PASS 및 FAIL 테스트 경우의 수를 보고한다. 개별 수트에 대한 브레이크 아우트 PASS 및 FAIL 수가 또한 디스플레이된다. 구성 윈도우의 요약 탭은 수천의 테스트 결과들 중에서 각각의 실패에 대하여 빠른 네비게이션을 용이하게 해준다. 로깅된 실패에 해당하는 정확한 소스 파일 및 라인수는 자동으로 O/S 유효기의 로깅 API에 의해 보고된다. O/S 유효기가 모든 실행가능한 것에 대하여 소스 코드를 제공하기 때문에, 에러를 보고하는 소스 코드에 직접적으로 접근할 수 있으며, 이는 실패를 텍스트로 설명하는 것에 대한 확실한 부가물이다.The O / S validator generates error information that is useful when the target device fails the test. While the suit is running, the results are displayed in a number of dynamically generated log windows in addition to the summary tab of the configuration. The logging window contains the complete text of the given test result. Failures are color-coded red for easy identification. The navigation buttons in the logging window allow you to move quickly from one failure to another. During testing, the logging API also allows prolog and epilog to be generated in each result file. Information such as the currently running process, battery power level and run date and time are automatically recorded in the resulting file and displayed in the log window. Useful summary information such as program memory loss, storage memory loss, or total test execution time is provided in the Log Window tab. Summary information for a given test result is collected and displayed on the Summary tab of the configuration window. 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 for each failure among thousands of test results. The exact source file and number of lines corresponding to the logged failure are automatically reported by the logging API of the O / S validator. Because the O / S validator provides the source code for all executables, you have direct access to the source code that reports the error, which is a sure addition to the textual description of the failure.

본 발명의 다른 특성은 발명의 실시예에 상세하게 설명되어 있다.Other features of the invention are described in detail in the embodiments of the invention.

본 발명은 도면을 참조로 상세하게 기술된다.The invention is described in detail with reference to the drawings.

도 1.0은 내장형 오퍼레이팅 시스템이 제공된 공장 자동화 시스템, 컴퓨터 워크스테이션, 셋탑 박스, 게이밍 시스템 및 바-코드 스캐너와 같은 전형적인 컴퓨터화된 제품(1000,(9))을 도시한다. 도시된 바와 같이, 제품(1000)은 내장형Windows CE 오퍼레이팅 시스템(O/S)과 같은 오퍼레이팅 시스템(1001a)이 제공된 전형적인 타겟 장치(9)를 포함할 수 있다. 컴퓨터화된 제품(1000)은 자신의 오퍼레이팅 시스템(1001a)을 테스트하고 확인하기 위해 본 발명의 O/S 유효기가 설치된 표준장치로서 작동할 수 있다. 독립형 테스팅은 O/S 유효기 하부구조에 대한 면밀한 지식이 필요하지 않기 때문에 보고된 결함의 디버깅 및 새로운 테스트 개발을 용이하게 한다. 그러나 도 2.0에 도시된 바와 같이 이 제품(1000)은 오퍼레이팅 시스템(1001a)이 제공된 타겟 장치(9)를 테스팅하기 위해 본 발명의 O/S 유효기(1)가 설치된 호스트 컴퓨터(4)로서 제작 품질 보증 테스팅 환경 M에서 작동할 것이다. 도 1.0을 참조하면, 컴퓨터화된 제품(1000)은 제어 유니트(1020), 여러 입력/출력 포트(1021), 키보드(1009), 프린터(1010), 마우스(1011) 및 모니터(1012)를 포함하는 여러 서브-부분을 포함할 것이다. 서브-부분(1009,1010,1011,1012)은 테스트 가능한 타겟 장치일 수 있다. 전형적인 제어 유니트(1020)는 중앙 처리 유니트(1001), 하드 디스크 드라이브(1004)와 같은 저장 장치, RAM(1001), ROM(1003)를 포함하는 다른 메모리부, 컴팩트 디스크(1005), 오디오부(1006), 네트워크/서버 카드(1007) 및 모뎀(100)을 포함하는 여러 부분들을 포함한다. 제품(100)을 유용한 장치로 작동하도록 하기위해, 오퍼레이팅 시스템(1001a)이 제어 유니트에 포함된다.1.0 shows a typical computerized product 1000, 9 such as a factory automation system, a computer workstation, a set top box, a gaming system and a bar-code scanner provided with a built-in operating system. As shown, 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 operate as a standard device equipped with the O / S validator of the present invention for testing and verifying its operating system 1001a. Stand-alone testing facilitates the debugging of reported defects and the development of new tests, as no in-depth knowledge of the O / S validator infrastructure is required. However, as shown in FIG. 2.0, the product 1000 is manufactured as a host computer 4 equipped with the O / S validator 1 of the present invention for testing the target device 9 provided with the operating system 1001a. It will work in quality assurance testing environment M. Referring to FIG. 1.0, the computerized product 1000 includes a control unit 1020, various input / output ports 1021, a keyboard 1009, a printer 1010, a mouse 1011, and a monitor 1012. Will contain multiple sub-parts. The sub-parts 1009, 1010, 1011, 1012 may be testable target devices. A typical control unit 1020 includes a central processing unit 1001, a storage device such as a hard disk drive 1004, a RAM 1001, another memory portion including a ROM 1003, a compact disc 1005, an audio portion ( 1006), network / server card 1007 and modem 100, including various parts. In order to make the product 100 operate as a useful device, an operating system 1001a is included in the control unit.

도 3.0은 사용자 인터페이스(GUI;2), 엔진(3), 다수의 테스트 수트(11) 및 로깅 라이브러리(12)를 포함하는 O/S 유효기(1)의 주요 부분을 보여준다. GUI(2) 및 엔진(3)은 O/S 유효기(1)내의 숫자(7)에 의해 지정된 HarnessLink.dll로 명명된부분을 통하여 서로 양방향으로 내부적으로 통신한다. 도 4.0은 O/S 유효기(1)가 제공된 호스트 컴퓨터(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 part of the O / S validator 1 which includes a 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 bidirectionally with each other via a portion named HarnessLink.dll designated by the number 7 in the O / S validator 1. 4.0 shows a host computer 4 provided with an O / S validator 1. As shown, multiple target devices 9 are provided with 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 multiple test configurations 21a, 21b, 21c, for testing a particular function under the control of the OS 1001a in the target device 9. The side configuration of the device named CEHarness 8 communicates with the engine 3 of the O / S validator 1. As shown in FIGS. 5 and 5A, the CEHarness 8 also communicates with the engine 3 of the O / S validator 1 via the Ethernet means 4a. 5A shows that a number of hosts 4 run the suit against a number of target devices 9 as the communication takes place over Ethernet. In another alternative embodiment, as shown in FIG. 6 for a test suite execution situation, the CEHarness 8 is also in communication with the engine 3 of the O / S validator 1 by the suit execution connection 1021a. The host computer 4 may include an NT host computer, the logging library 12 is provided to the target device 9, and the test results are sent to the host computer 4 by the socket connection 1021b. Is provided.

동작시, O/S 유효기(1)는 Windows CE 오퍼레이팅 시스템과 같은 내장형 오퍼레이팅 시스템이 제공된 타겟 장치(9)를 테스트하며 확인한다. O/S 유효기(1)는 (1) 타겟 장치로의 Windows CE 포트를 확인함, (2) 스트레스 및 성능 테스팅을 제공함, (3) 결과를 로깅 및 분석함, (4) 다수의 애플리케이션 프로그램 인터페이스(API)를 포함하는 다수의 기능 영역을 테스팅함, 도 7,8A,8B,8C에 표 1.0 및 2.0 참조, (5) 다수의 테스트 수트에서 다수의 통과/실패 테스트를 실행함,(6) 자동화된 수트에서 테스트의 커스터마이징을 용이하게 함, (7) 호스트측 그래픽 테스트 하니스(harness)를 제공함, (8) 메모리 성능을 스트레싱 및 평가함, (9) 다수의 API 를 포함하는 테스트 자동화를 구축하기 위한 수단을 제공함, 도 9.0의 표 3.0 참조, (10) CEAnalyzer으로 명명된 결과 분석툴을 제공함으로써 작동한다. 상술한 바와 같이, 그리고 도 10에 도시된 바와 같이, O/S 유효기(1)는 모든 테스트를 위해 테스트 소스 코드 SC 및 실행가능 프로그램 EP(또는 실행가능 테스트로 참조)을 모두 포함한다. 테스트 실행가능 EP에 대한 유일한 실행 요구사항은 테스트 케이스 "통과" 및 "실패"가 두개의 특정 API, 즉, WRITETESTPASS() 및 WRITETESTFAIL()을 이용하여 보고되는 것이다. 이러한 매크로는 공지된 printf() 함수와 유사한 서명을 가지지만, 그 사용은 자동화된 요약화를 따르는 "결과" 파일에서 표준 테스트 케이스 결과 포맷을 생성하며, 호스트 사용자 인터페이스와 그 보고를 통합한다. O/S 유효기(1) 방법은 또한 테스트 실행가능한 EP에서 캡슐화된 테스트 케이스들과 GUI(2) 사이의 중재를 포함하며, GUI(2)가 테스트 실행을 분배 및 통합하는 수단을 제공한다. 테스트 수트(11)는 테스트를 분배하고 실행하는데 필요한 작업의 직접적인 표현인 수트 언어 명령(예를 들면, PUT, RUN, WAIT 및 DELETE)으로 구성된 텍스트 파일(5)을 포함한다. 다른 지지되는 수트 명령은 타겟 장치(9)로부터 파일을 검색하는 GET, 클라이언트/서버 스타일 테스트에 유용한 호스트 컴퓨터(4)상에서 실행가능한 프로그램 EP를 가동하는 RUNHOST, 클라이언트/서버 스타일 테스트에서 또한 유용한 호스트 컴퓨터(4)상에서의 처리 종료를 대기하는 WAITHOST, 장치의 시스템 디렉토리(/Windows)의 파일을 입력하는 PUTSYSTEM, 나머지 모두가 실패할 때의 기본 타이밍을 위한 SLEEP, 호스트 장치에서 메세지 박스를 디스플레이하는 MSGBOX, 장치에서 레지스터리 세팅을 추가 또는 변경시키는 SETREG 및 장치로부터 레지스터리 세팅을 제거하는 DELREG이다. 내부의 수트 문서를 제공하는 외에 최초의 수트 파일 명령은 GUI(2)의 수트 설명으로서 제공된다. O/S 유효기(1) 방법은 호스트 컴퓨터상의 디렉토리 구조내의 계층적인 배치에 의해 테스트 수트 파일(5)을 조직화하는 것을 포함한다. 도 11에 도시된 바와 같이, 테스트 수트(11)는 최상위 레벨에서 각각 자동 AU 테스트 수트, 수동 Ma 테스트 수트 또는 스트레스 SS 테스트 수트로 분할된다. 자동 수트 Au는 실행하는 동안 임의의 사용자 개입을 필요로 하지 않는 테스트이다. 반대로 수동 수트 Ma는 사용자 개입(예를 들면, 키보드 및 터치 패널 수트)를 필요로 한다. O/S 유효기(1) 방법은 제한선까지 입/출력(I/O) 처리율을 압박하여 스트레스 수트 SS에 의해 시스템을 스트레싱하는 것을 포함하며, 거의 이용되지 않는 프로그램 또는 오브젝트 저장 메모리를 동작시키며, 멀티-쓰레딩된 동시 스트레싱으로 주문 파일 시스템을 하역한다(bring down). 이러한 최상 레벨계층 아래에서, O/S 유효기(1) 방법은 기능 영역에 의해 테스트 수트(11)를 배열하는 것을 포함한다.In operation, the O / S validator 1 tests and verifies the target device 9 provided with a built-in operating system such as a Windows CE operating system. O / S validator (1) identifies Windows CE ports to target devices, (2) provides stress and performance testing, (3) logs and analyzes results, and (4) multiple application programs Testing multiple functional areas including interfaces (APIs), see Tables 1.0 and 2.0 in FIGS. 7,8A, 8B, 8C, (5) performing multiple pass / fail tests in multiple test suites, (6 ) Facilitates test customization in automated suites, (7) provides host-side graphical test harnesses, (8) stresses and evaluates memory performance, and (9) test automation includes multiple APIs. It provides a means to build the system, see Table 3.0 of Figure 9.0, and (10) works by providing a result analysis tool named CEAnalyzer. As described above and as shown in FIG. 10, the O / S validator 1 includes both test source code SC and executable program EP (or referred to as executable test) for all tests. The only execution requirement for the test executable EP is that test cases "pass" and "failure" are reported using two specific APIs, WRITETESTPASS () and WRITETESTFAIL (). These macros have a signature similar to the known printf () function, but their use produces a standard test case result format in a "result" file that follows automated summarization, and integrates the host user interface with its reporting. The O / S validator 1 method also includes mediation between the test cases encapsulated in the test executable EP and the GUI 2, providing a means by which the GUI 2 distributes and integrates test executions. The test suite 11 includes a text file 5 composed of suit language commands (e.g., PUT, RUN, WAIT and DELETE) which are direct representations of the work required to distribute and execute the test. Other supported suit commands are GET to retrieve files from the target device 9, RUNHOST to run an executable program EP on a host computer 4 useful for client / server style testing, and a host computer also useful for client / server style testing. WAITHOST waiting for processing to end on (4), PUTSYSTEM for inputting files in the system directory (/ Windows) of the device, SLEEP for basic timing when all others fail, MSGBOX for displaying a message box on the host device, SETREG to add or change registry settings on the device and DELREG to remove registry settings from the device. In addition to providing an internal suit document, the first suit file command is provided as a suit description of the GUI 2. The O / S validator 1 method involves organizing the test suite file 5 by hierarchical arrangement in a directory structure on a host computer. As shown in FIG. 11, the test suit 11 is divided into an automatic AU test suit, a manual Ma test suit or a stress SS test suit at the top level, respectively. Automatic suit Au is a test that does not require any user intervention during execution. In contrast, the manual suit Ma requires user intervention (eg, keyboard and touch panel suit). The O / S validator (1) method involves stressing the system by the stress suit SS by pressing input / output (I / O) throughput up to the limit line, and operating a program or object storage memory that is rarely used. Bring down the order file system with multi-threaded simultaneous stressing. Under this top level hierarchy, the O / S validator 1 method involves arranging the test suite 11 by functional area.

상술한 바와 같이, 도 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)은 HarnessLink.dll(7)로 명명된 부분을 통하여 GUI(2)에 링크되며, 이는 ActiveX 제어이다. HarnessLink.dll(7)는 인스턴스화하고 다수의 정보에 의해 GUI(2)로부터 호출되며, 이는 실행이 시작되기전에 엔진(3)으로 통과된다. Dll 링크(7)는 또한 정보를 릴레이하고, 에러 메세지를 릴레이하며, 다이나믹 런-타임 명령을 릴레이하기 위해 실행동안 엔진(3)과 GUI(2) 사이에서 통신하도록 동작한다. 타겟 장치(9)는 CEHarness(8)로 명명된 장치-측면(호스트-측면에 반대)을 포함한다. CEHarness는 타겟 장치(9)상의 C/C++ 프로그램이며, 이는 도 4에 도시되어 있고, 만일 네트워크상의 타겟 정보를 브로드케스팅하지 않는다면 엔진(3)과 거의 독점적으로 통신할 것이며, 이때 GUI(2)는 상기 정보를 수신하고 이를 엔진(3)에 통과시킬 것이며, 이는 도 5와 5a에 도시되어 있다. CEHarness(8)는 엔진(3)이 이벤트 및 CEHarness(8) 응답을 보내는 이벤트-구동되는 애플리케이션이다. 두개의 나머지 부분인 테스트 수트(11)와 로깅 라이브러리(12)는 테스트 수트(11)가 로깅 라이브러리(12)의 일부인 다수의 애플리케이션 프로그램 인터페이스(API;13)를 이용하여 기록되기 때문에 서로 얽혀있고, 이는 도 8A,8B 및 8C에 도시되어 있다. 이러한 API(13)는 실질적인 기능을 가지며, 성분 체인을 통과한 정보에 다소간 의존한다. 로깅 라이브러리(12)는 단순한 기능성 개념을 가지며, GUI(2)에 TCP/IP 정보(16)를 다시 로깅하거나(도 5.0 참조) 또는 장치(9)에 결과(14) 및 로그파일(15)을 직접적으로 기록함으로써 로그 파일(15)을 생성하여 테스트 결과(14)와 소통한다. 도 12에 도시된 바와 같이, 로깅 윈도우 LW는 테스트 파일(15)에서 테스트 결과(14)를 보여주며, 이 결과는 프로그램 메모리, 패스, 실패 및 타이밍 정보에 대하여 사용자 액세스를 용이하게 하는 실패(F) 및 요약탭(SumT)이다. 다수의 테스트 수트 테스트(11)는 O/S 유효기(1)의 필수 부분을 포함한다. 도 13은 테스트 장치가 테스트됨에 따라 테스트 사이클 타임(CT)이 감소하는 그래프 형태를 도시한다.As noted above, FIG. 3.0 shows a major portion of the O / S validator 1 that 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 the visual basic part because it works well for any level of user. The GUI 2 design is based on modifications that interface the basic parts with user input. The engine 3 maintains the core of the function on the host 4. The engine 3 reads a number of suit files 5, interprets them and executes the instructions. 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 part named HarnessLink.dll 7, which is an ActiveX control. HarnessLink.dll 7 is instantiated and called from the GUI 2 by a number of information, which is passed to the engine 3 before execution begins. The Dll link 7 also operates to communicate between the engine 3 and the GUI 2 during execution to relay information, relay error messages, and relay dynamic run-time instructions. The target device 9 comprises a device-side (as opposed to a host-side) named CEHarness 8. CEHarness is a C / C ++ program on the target device 9, which is shown in FIG. 4, and will communicate almost exclusively with the engine 3 if it does not broadcast the target information on the network, where the GUI 2 will The information will be received and passed to the engine 3, which is shown in FIGS. 5 and 5a. CEHarness 8 is an event-driven application in which engine 3 sends an event and a CEHarness 8 response. The two remaining parts, the test suite 11 and the logging library 12, are intertwined because the test suite 11 is recorded using a plurality of application program interfaces (APIs) 13 that are part of the logging library 12, This is illustrated in Figures 8A, 8B and 8C. This API 13 has a substantial function and depends somewhat on the information passed through the component chain. The logging library 12 has a simple concept of functionality, either logging the TCP / IP information 16 back to the GUI 2 (see FIG. 5.0) or outputting the results 14 and log files 15 to the device 9. By writing directly, a log file 15 is created to communicate with the test results 14. As shown in FIG. 12, the logging window LW shows the test results 14 in the test file 15, which results in failure F to facilitate user access to program memory, pass, failure and timing information. ) And the Summary tab (SumT). The plurality of test suite tests 11 comprise an integral part of the O / S validator 1. FIG. 13 shows a graph form in which the test cycle time CT decreases as the test apparatus is 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 structure of the 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 suit 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) select a high priority thread selection during the suite execution by selecting a set of stress state tabs (SC), thread tabs (T), reducing program and storage memory by selecting taps PM and SM, 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 logging API of the O / S validator. 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 any more will maintain the memory of the host 4 and will also provide a clear 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 broadband stress scenarios that are identical to real world usage models. 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 fills the storage device of the target device 9 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 in 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. In events where a user wants to isolate a problem, extra stress should not 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 interview variables. 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 a 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 soot tests 11 are needed and provided by the O / S validator 1. Nearly 1500 test suites 11 are provided, grouped by an identified O / S subsystem as an example. 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 transfers the activity at startup of 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 device 9 is connected to the host computer 4 via a 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 stack, 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; Therefore, one CEHarness 8 can have multiple connections, extending test functionality by running multiple configurations simultaneously on the target device 9, thus creating a realistic realistic stress situation.

도 3.0에 도시된 로깅 라이브러리(12)는 여러 방식으로 O/S 유효기(1)로 통합된 복합툴이다. 주로, 로깅 라이브러리(12)는 테스트를 위한 소스 파일로 통합된다. 테스트는 라이브러리가 테스트 결과의 캡쳐 및 기록에 관련된 모든 상세내역을 다룰 때 라이브러리 API를 호출한다. 로깅 라이브러리(12)는 또한 여러 접속 옵션을 지원한다. 추천옵션은 TCP이며, 이는 사용자가 TCP 접속으로부터 이동할 때 로그 파일의 판독을 알수 있게 해준다. 다른 통신 옵션은 장치상의 파일에 대한 직접 로깅이다. 이는 유리할 수 있으며, 예를 들어 만일 사용자가 PCMCIA 카드에 로그하기 원하지만 네트워크상에 브로드케스팅되는 특별한 정보를 원하지 않을 때 그러하다. 로깅 라이브러리(12)가 TCP 통신에 대한 장치측 부분으로서 동작하지만, 호스트(4)부분은 통신에 대한 GUI(2)측 부분으로서 동작한다. 로깅 라이브러리(12)의 이러한 측면은 호스트(4) 상의 로그 윈도우 및 테스트 결과에 대한 컬러 코딩을 제공한다. 예를 들어, 실패 메세지는 레드 라인으로 디스플레이된다.소트 코드 파일의 명칭과 위치외에 메세지가 생성되는 라인수는 로깅 라이브러리(12) 메세지에 포함된다. 또한, 매우 중요하게, 상세한 에러 메세지는 프로그램상의 현 이벤트를 기술하는 것으로 제공된다. 각각의 로그 윈도우는 프로그램 메모리, 통과, 실패 및 타이밍 정보에 대한 사용자 액세스를 용이하게 하는 요약 탭을 가진다. 로그 파일의 다른 중요한 특성은 테스트의 시작과 끝에서 큰 정보를 캡쳐하는 것이다. 이러한 정보는 메모리, 시스템, 전력 및 다른 주요 정보의 스냅샷을 제공한다.The logging library 12 shown in FIG. 3.0 is a complex tool integrated into the O / S validator 1 in various 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 broadcasted 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 as a red line. In addition to the name and location of the sort code file, the number of lines for which the 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.

본 발명은 바람직한 실시예를 기초로 설명되었다. 그러나, 본 발명의 범위를 벗어나지 않는 범위에서 다양한 양태의 발명을 당업자는 실시할 수 있다.The present invention has been described based on the preferred embodiments. However, those skilled in the art can implement the invention in various aspects without departing from the scope of the invention.

Claims (20)

타겟 장치내의 내장형 오퍼레이팅 시스템을 테스팅 및 확인하기 위한 컴퓨터 기반 시스템으로서:A computer-based system for testing and verifying the embedded operating system in a target device: a. 호스트 컴퓨터;a. A host computer; b. 오퍼레이팅 시스템이 제공된 타겟 장치; 및b. A target device provided with an operating system; And c. 상기 호스트 컴퓨터에 제공된 소프트웨어 프로그램을 테스팅하며 확인하는 오퍼레이팅 시스템을 포함하는데, 상기 프로그램은 사용자와 인터페이스하는 그래픽 유저 인터페이스 프로그램, 상기 타겟 장치와 통신하며 상기 그래픽 유저 인터페이스의 명령에 반응하는 엔진 수단 및 상기 오퍼레이팅 시스템의 적어도 일부분을 테스팅 및 확인하기 위해 적어도 하나의 테스트를 포함하는 다수의 테스트 수트들을 포함하며,c. An operating system for testing and verifying a software program provided to said host computer, said program comprising a graphical user interface program for interfacing with a user, engine means for communicating with said target device and responding to commands of said graphical user interface; A plurality of test suites comprising at least one test for testing and verifying at least a portion of the system, d. 소프트웨어 프로그램을 테스팅 및 확인하는 상기 오퍼레이팅 시스템에 의해 생성된 테스트 관련 정보를 조절하여 저장하는 로깅 라이브러리 수단을 포함하는 컴퓨터 기반 시스템.d. And logging library means for adjusting and storing test-related information generated by the operating system for testing and verifying software programs. 제 1 항에 있어서, 소프트웨어 프로그램을 테스팅 및 확인하는 상기 오퍼레이팅 시스템은 엔진 수단을 호출하기 위해 그래픽 유저 인터페이스상에 일 세트의 함수들을 더 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.2. The computer-based system of claim 1 wherein the operating system for testing and verifying a software program further comprises a set of functions on a graphical user interface for invoking engine means. 제 1 항에 있어서, 상기 타겟 장치는 상기 엔진 수단과 통신하기 위해 이벤드-구동된(event-driven) 애플리케이션을 포함하며, 상기 엔진 수단은 이벤트와 상기 이벤트 구동된 애플리케이션 응답을 전송하는 것을 특징으로 하는 컴퓨터 기반 시스템.2. The apparatus of claim 1, wherein the target device 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 오퍼레이팅 시스템을 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.The computer-based system of claim 1 wherein the operating system of the target device comprises a Windows CE operating system. 제 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 portions 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 operating system interaction, wherein the computer-based system runs in an automatic or manual mode. 제 1 항에 있어서, 상기 타겟 장치는 상기 호스트 컴퓨터와는 독립적으로 확인 및 스트레스 테스팅을 수행하기 위해 소프트웨어 프로그램을 테스트 및 확인하는 상기 오퍼레이팅 시스템이 제공된 독립형 유니트를 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.2. The computer-based system of claim 1 wherein the target device comprises a standalone unit provided with the operating system for testing and verifying a software program to perform verification and stress testing independently of the host computer. 제 1 항에 있어서, 테스팅 및 확인 작업을 수행하기 위해 상기 호스트 및 상기 타겟 장치에 결합된 이더넷 접속을 더 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.2. The computer-based system of claim 1, further comprising an Ethernet connection coupled to the host and the target device to perform testing and verification tasks. 제 1 항에 있어서, 상기 로깅 라이브러리 수단은 WRITETESTPASS 애플리케이션 프로그램 인터페이스를 이용하여 적어도 하나의 통과 테스트 결과 파일을 포함하는 것을 특징으로 하는 컴퓨터 기반 시스템.2. The computer based system of claim 1, wherein the logging library means comprises at least one pass test result file using 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 for testing and verifying an embedded operating system in a target device: a. 호스트 컴퓨터를 제공하는 단계;a. Providing a host computer; b. 오퍼레이팅 시스템을 갖는 타겟 장치를 제공하는 단계; 및b. Providing a target device having an operating system; And c. 상기 호스트 컴퓨터에 제공된 소프트웨어 프로그램을 테스팅하며 확인하는 오퍼레이팅 시스템을 제공하는 단계를 포함하는데, 상기 프로그램은 사용자와 인터페이스하는 그래픽 유저 인터페이스 프로그램, 상기 타겟 장치와 통신하며 상기 그래픽 유저 인터페이스의 명령에 반응하는 엔진 수단 및 상기 오퍼레이팅 시스템의 적어도 일부분을 테스팅 및 확인하기 위해 적어도 하나의 테스트를 포함하는 다수의 테스트 수트들을 포함하며,c. Providing an operating system for testing and verifying a software program provided to said host computer, said program comprising: a graphical user interface program for interfacing with a user, an engine in communication with said target device and responsive to commands of said graphical user interface; A plurality of test suites comprising at least one test for testing and verifying at least a portion of the means and the operating system, d. 소프트웨어 프로그램을 테스팅 및 확인하는 상기 오퍼레이팅 시스템에 의해 생성된 테스트 관련 정보를 조절하여 저장하는 로깅 라이브러리 수단을 제공하는 단계;d. Providing logging library means for adjusting and storing test related information generated by said operating system for testing and verifying a software program; e. 상기 타겟 장치에서 소프트웨어 프로그램을 테스팅 및 확인하는 상기 오퍼레이팅 시스템을 실행하며, 상기 오퍼레이팅 시스템을 테스팅 및 확인하는 단계;및e. Executing the operating system for testing and verifying a software program on the target device, testing and verifying the operating system; 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 verifying an embedded operating system further comprises providing the operating system for testing and verifying a software program having a set of functions in a graphical user interface for invoking engine means. Computer-based method comprising a. 제 13 항에 있어서, 내장형 오퍼레이팅 시스템을 테스팅 및 확인하는 컴퓨터 기반 방법은 상기 엔진 수단과 통신하기 위해 이벤드-구동된(event-driven) 애플리케이션을 가지는 상기 타겟 장치를 제공하는 단계를 더 포함하며, 상기 엔진 수단은 이벤트와 상기 이벤트 구동된 애플리케이션 응답을 전송하는 것을 특징으로 하는 컴퓨터 기반 방법.14. The computer-based method of claim 13, wherein the computer-based method of testing and verifying an embedded operating system further comprises providing the target device having an event-driven application for communicating with the engine means, Said engine means transmitting an event and said event driven application response. 제 13 항에 있어서, 윈도우 CE 오퍼레이팅 시스템을 갖는 상기 타겟 장치를 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 기반 방법.14. The computer-based method of claim 13, further comprising providing the target device having a Windows CE operating system. 제 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 one portion of the operating system. Parts include Ethernet / NDIS, PCMIA, memory, 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 Wherein the test identifies at least three defects, i.e., hardware design, hardware programming and operating system interactions, and runs in an automatic or manual mode. that Computer-based method according to claim. 제 13 항에 있어서, 상기 타겟 장치에서 테스팅 및 확인 작업을 수행하기 위해 상기 호스트 및 상기 타겟 장치에 결합된 이더넷 접속을 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 기반 방법.14. The computer-based method of claim 13, further comprising providing an Ethernet connection coupled to the host and the target device for performing testing and verification at 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.
KR1020017009191A 1999-01-21 2000-01-21 A system and method for testing and validating devices having an embedded operating system KR20010112250A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11682499P 1999-01-21 1999-01-21
US60/116,824 1999-01-21
US13762999P 1999-06-04 1999-06-04
US60/137,629 1999-06-04
PCT/US2000/001583 WO2000043880A1 (en) 1999-01-21 2000-01-21 A system and method for testing and validating devices having an embedded operating system

Publications (1)

Publication Number Publication Date
KR20010112250A true KR20010112250A (en) 2001-12-20

Family

ID=26814666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017009191A KR20010112250A (en) 1999-01-21 2000-01-21 A system and method for testing and validating devices having an embedded operating system

Country Status (7)

Country Link
EP (1) EP1236108A1 (en)
JP (1) JP2002535773A (en)
KR (1) KR20010112250A (en)
CN (1) CN1359492A (en)
AU (1) AU3212300A (en)
BR (1) BR0009008A (en)
WO (1) WO2000043880A1 (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100367238C (en) * 2001-08-22 2008-02-06 深圳市索普卡软件开发有限公司 X-86 serial compatible machine and generation method for its operation system
CN100456043C (en) * 2003-02-14 2009-01-28 爱德万测试株式会社 Method and apparatus for testing integrated circuits
CN1316358C (en) * 2004-03-05 2007-05-16 英业达股份有限公司 Information platform test environment automatic construction method and system
CN100403701C (en) * 2004-08-09 2008-07-16 华为技术有限公司 Goal device service realization testing method and system
CN100375058C (en) * 2004-12-24 2008-03-12 北京中星微电子有限公司 Software development method for flush type products
CN100440162C (en) * 2005-04-08 2008-12-03 环达电脑(上海)有限公司 Embedded apparatus debugging method
CN100356738C (en) * 2005-07-29 2007-12-19 杭州华三通信技术有限公司 Automatization testing frame system and method
FI118578B (en) * 2006-01-23 2007-12-31 Mika Pollari Testing apparatus and method for testing the apparatus
CN101452415B (en) * 2007-11-30 2011-05-04 鸿富锦精密工业(深圳)有限公司 Auxiliary device and method for testing embedded system
JP2012503819A (en) 2008-09-25 2012-02-09 エルエスアイ コーポレーション Method and / or apparatus for authenticating an out-of-band management application in an external storage array
US9003370B2 (en) 2010-03-04 2015-04-07 Nec Corporation Application modification portion searching device and application modification portion searching method
US10318477B2 (en) * 2010-05-26 2019-06-11 Red Hat, Inc. Managing and archiving system and application log files
CN102339248A (en) * 2010-07-20 2012-02-01 上海闻泰电子科技有限公司 On-line debugging system and method for embedded terminal
CN102916848B (en) * 2012-07-13 2014-12-10 北京航空航天大学 Automatic test method of Ethernet interface equipment based on script technology
CN105445644A (en) * 2015-11-18 2016-03-30 南昌欧菲生物识别技术有限公司 Multi-type chip test plate, test system and test machine bench
CN106201765B (en) * 2016-07-21 2019-03-15 中国人民解放军国防科学技术大学 Task stack area data check restoration methods based on μ C/OS-II operating system
WO2018073395A1 (en) * 2016-10-20 2018-04-26 Y Soft Corporation, A.S. Universal automated testing of embedded systems
CN109960590B (en) * 2019-03-26 2021-05-18 北京简约纳电子有限公司 Method for optimizing diagnostic printing of embedded system
CN110221974A (en) * 2019-05-22 2019-09-10 深圳壹账通智能科技有限公司 Service platform system self checking method, device, computer equipment and storage medium
CN112306888B (en) * 2020-11-13 2022-05-10 武汉天喻信息产业股份有限公司 Test system and method based on equipment library file interface
CN113590475A (en) * 2021-07-13 2021-11-02 北京快乐茄信息技术有限公司 Joint debugging test method and joint debugging test device for online development platform
CN116743990B (en) * 2023-08-16 2023-10-27 北京智芯微电子科技有限公司 Video stream testing method and video stream testing processing method of embedded equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69415600T2 (en) * 1993-07-28 1999-07-15 Koninkl Philips Electronics Nv Microcontroller with hardware troubleshooting support based on the boundary scan method
US5724505A (en) * 1996-05-15 1998-03-03 Lucent Technologies Inc. Apparatus and method for real-time program monitoring via a serial interface

Also Published As

Publication number Publication date
BR0009008A (en) 2002-02-13
JP2002535773A (en) 2002-10-22
WO2000043880A1 (en) 2000-07-27
AU3212300A (en) 2000-08-07
EP1236108A1 (en) 2002-09-04
CN1359492A (en) 2002-07-17

Similar Documents

Publication Publication Date Title
KR20010112250A (en) A system and method for testing and validating devices having an embedded operating system
US6182246B1 (en) Protocol acknowledgment between homogeneous system
AU2004233548B2 (en) Method for Computer-Assisted Testing of Software Application Components
US5991537A (en) VXI test executive
US8356282B1 (en) Integrated development environment for the development of electronic signal testing strategies
US8881105B2 (en) Test case manager
JP4950454B2 (en) Stack hierarchy for test automation
US7134049B2 (en) System and method for sequencing and performing very high speed software downloads concurrent with system testing in an automated production environment
US8434058B1 (en) Integrated system and method for validating the functionality and performance of software applications
US7870504B1 (en) Method for monitoring a graphical user interface on a second computer display from a first computer
US20040153774A1 (en) Generating standalone MIDlets from a testing harness
US7913229B2 (en) Computer-implemented system for generating automated tests from a web application
WO2000002123A1 (en) Method for defining durable data for regression testing
CN110362490B (en) Automatic testing method and system for integrating iOS and Android mobile applications
US7143361B2 (en) Operator interface controls for creating a run-time operator interface application for a test executive sequence
KR20020012254A (en) Protocol acknowledgment between homogeneous systems
US8005639B2 (en) Compact framework for automated testing
US7831962B2 (en) Testing subsystems on platforms for software applications
Saddler et al. EventFlowSlicer: a tool for generating realistic goal-driven GUI tests.
KR100969877B1 (en) Test automating system
Bland et al. Design and implementation of a menu based oscar command line interface
USH2264H1 (en) Human-computer interface (HCI) test driver
JPH06187164A (en) Test object program activating device

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination