KR20070082222A - Api test method and apparatus of embedded software - Google Patents
Api test method and apparatus of embedded software Download PDFInfo
- Publication number
- KR20070082222A KR20070082222A KR1020060014765A KR20060014765A KR20070082222A KR 20070082222 A KR20070082222 A KR 20070082222A KR 1020060014765 A KR1020060014765 A KR 1020060014765A KR 20060014765 A KR20060014765 A KR 20060014765A KR 20070082222 A KR20070082222 A KR 20070082222A
- Authority
- KR
- South Korea
- Prior art keywords
- test
- manager
- information
- suite
- test case
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2268—Logging of test results
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
도 1은 종래 기술에 따른 CppUnit 구성을 도시한 도면.1 illustrates a CppUnit configuration according to the prior art.
도 2는 종래 기술에 따른 CppUnit을 이용한 유닛 테스트 프레임 워크(Unit test framework) 구성을 도시한 도면.FIG. 2 is a diagram illustrating a unit test framework configuration using CppUnit according to the prior art. FIG.
도 3은 종래 기술에 따른 유닛 테스트 프레임 워크의 흐름도.3 is a flow chart of a unit test framework according to the prior art.
도 4는 종래 기술에 따른 시스템 테스트 프레임 워크(System test frame work) 구성을 도시한 도면.4 is a diagram illustrating a system test frame work configuration according to the prior art.
도 5는 종래 기술에 따른 시스템 테스트 프레임 워크의 흐름도.5 is a flow diagram of a system test framework according to the prior art.
도 6은 본 발명의 GTT 구성을 도시한 도면.6 is a diagram illustrating a GTT configuration of the present invention.
도 7은 본 발명의 GTT를 이용한 시스템 테스트 프레임 워크의 구성을 도시한 도면.7 is a diagram illustrating a configuration of a system test framework using GTT of the present invention.
도 8은 본 발명의 실시예에 따른 테스트 하네스 코어 클래스 다이어그램.8 is a test harness core class diagram in accordance with an embodiment of the present invention.
도 9는 본 발명의 실시예에 따른 시스템 테스트 프레임 워크의 흐름도.9 is a flow diagram of a system test framework in accordance with an embodiment of the present invention.
도 10은 본 발명의 실시예에 따른 테스트 설정 파일을 도시한 도면.10 illustrates a test setup file in accordance with an embodiment of the present invention.
도 11은 본 발명의 실시예에 따른 테스트 결과를 도시한 도면.11 illustrates test results in accordance with an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>
400: GTT 410: 테스트 하네스 코어 400: GTT 410: test harness core
440: 인터페이스 430: 테스트 하네스 플랫폼440: interface 430: test harness platform
현재 빠르게 성장하고 있는 임베디드 소프트웨어 산업은 기술 혁신과 시장에서의 치열한 경쟁에 의해 새롭고 역동적인 양상으로 전개되고 있다.The fast-growing embedded software industry is emerging in a new and dynamic way through technological innovation and fierce competition in the market.
임베디드 시스템은 일반적인 목적보다 특수한 어플리케이션용으로 설계되기 때문에, 이 산업의 출현으로, 산업계는 보다 복잡한 시스템 설계를 위해 역동적인 구조 변화를 일으키는 창조적인 새로운 솔루션을 필요로 하게 되었다.Since embedded systems are designed for specific applications rather than general purpose, the advent of this industry has forced the industry to create new and creative solutions for dynamic structural changes for more complex system designs.
일반적인 컴퓨터가 아닌 각종 전자제품이나 정보기기 등에 설치되어 있는 마이크로프로세서에 미리 정해진 특정한 기능을 수행하는 소프트웨어를 내장시킨 시스템을 임베디드 시스템이라 하고, 여기에 내장된 소프트웨어가 임베디드 소프트웨어이다. An embedded system is a system in which a software that performs predetermined specific functions is embedded in a microprocessor installed in various electronic products or information devices, rather than a general computer, and the embedded software is embedded software.
임베디드 소프트웨어는 산업 및 군사용 제어기기, 디지털 정보가전기기, 자동센서 장비 등의 기능을 다양화하고 부가가치를 높이기 위한 핵심 소프트웨어로 자리매김하고 있으며, 최근에는 더욱 강력한 암호화 성능, 향상된 멀티미디어 API, 그리고 통신 API 코어 셋 등의 지원을 받는 핸드헬드 장비로부터 요구가 증가하면서, 무선 성능을 제공하기 위해 노력중인 장비업체들에 대해 OS의 유용성을 증가시키고 있으며 API 내에 내장되는 OS를 지원하는 기능들을 필요로 하고 있다.Embedded software has become the core software for diversifying and adding value to industrial and military control devices, digital information appliances, automatic sensor equipment, etc. Recently, more powerful encryption capabilities, improved multimedia APIs, and communication APIs Increasing demand from handheld devices, such as core sets, is increasing the usability of operating systems for device vendors working to provide wireless performance and require features to support the OS embedded within the API. .
도 1은 종래 기술에 따른 CppUnit 구성을 도시한 도면이다.1 is a diagram illustrating a CppUnit configuration according to the prior art.
종래 기술에 따른 CppUnit(100)은 자바에서 사용되는 Junit을 C++로 포팅한 오픈 소스로 C++ 유닛 테스트를 구현한 것 중의 하나로 C++의 프레임 워크 테스트를 위한 라이브러리이다. CppUnit (100) according to the prior art is an open source porting Junit used in Java to C ++ is one of the implementation of the C ++ unit test is a library for testing the framework of C ++.
CppUnit(100)은 테스트 스위트 템플릿 클래스(Test Suite Template Class)(110), 테스트 스위트 저장부(Test suite Repository)(120), 테스트 결과 수집부(Test Result Collector)(130), 테스트 결과 출력 관리부(Test Result Output Manager)(140), 러너(Runner)(150), 그리고 기타 모듈, 예를 들어, MFC(Microsoft Foundation Class) 환경에서 GUI(Graphic User Interface)를 제공하는 모듈, Windows, Linux, VxWorks OS를 고려한 Portability 모듈 등의 모듈로 구성되어 있다. The CppUnit 100 may include a test
테스트 스위트 템플릿 클래스(110)에서는 테스트 스위트(Test suite)를 작성할 수 있고, 테스트 스위트 템플릿 클래스(110)의 메소드는 테스트 케이스가 된다.In the test
테스트 케이스는 테스트를 위한 최소의 유닛으로 하나의 모듈에 대한 여러 가지 테스트들을 하나의 메소드로 생성하는 것을 말하며, 테스트를 위한 코드, 테스트를 만족하는지를 확인하기 위한 어세션(assertion)을 가진다.A test case is a minimal unit for testing that generates several tests for a module in one method. The test case has the code for the test and an assertion for checking whether the test is satisfied.
테스트 스위트는 특정 컴포넌트, 어셈블리와 관련된 테스트 케이스들의 집합으로 테스트가 수행될 테스트 케이스가 추가되어 관리되고, 테스트의 자동화를 위해 테스트 케이스를 연결시켜 주는 역할을 한다.The test suite is a set of test cases related to a specific component and assembly. The test suite is added to manage a test case and connects test cases to automate the test.
테스트 스위트 저장부(120)는 테스트 스위트 템플릿 클래스(110)로 작성된 테스트 스위트들을 관리하는 저장부이며, 테스트 결과 수집부(130)는 테스트 케이스가 실패할 때마다 실패한 테스트 케이스의 정보를 저장한다. The test
테스트 결과 출력 관리자(140)는 테스트 수행 결과를 테스트 파일이나 XML(Extensible Markup Language)파일, 콘솔 창 형태로 출력한다.The test
러너(15)는 테스트 스위트 저장부에서 선택된 테스트 스위트들의 테스트 수행을 담당한다. The
도 2는 종래 기술에 따른 CppUnit을 이용한 유닛 테스트 프레임 워크(Unit test framework) 구성을 도시한 도면이다.2 is a diagram illustrating a unit test framework configuration using a CppUnit according to the prior art.
유닛 테스트 프레임 워크는 최소의 실행 단위인 유닛을 익스트림 프로그래밍(Extreme Programming, 이하 XP)에서 애용되는 테스트 기법으로 개발하는 단계에서 작성되는 셀프 테스트라고 할 수 있고, 프로그램들의 각 요소들을 분리하여 테스트 케이스를 만든 후 각 유닛을 테스트하여 해당 요소가 정상 동작하는지를 확인하는 것이다.The unit test framework is a self-test in which a unit of minimum execution unit is developed as a test technique used in extreme programming (XP), and a test case is separated by separating each element of the program. After the test, each unit is tested to make sure that the element is working.
종래 기술에 따른 유닛 테스트 프레임 워크는 CppUnit(100)의 테스트 스위트 템플릿 클래스(110)를 이용하여 작성되는 테스트 스위트(200)와 테스트 환경에 따라 라이브러리나 DLL(Dynamic link library, 이하 DLL 이라고 함)의 형태인 CppUnit(100)이 타겟 플랫폼(220)상에서 동작하면서 유닛 테스트를 수행한다.The unit test framework according to the related art includes a library or a DLL (Dynamic link library, hereinafter referred to as a DLL) according to a
도 3은 종래 기술에 따른 유닛 테스트 프레임 워크의 흐름도이다.3 is a flowchart of a unit test framework according to the prior art.
유닛 테스트를 수행하는 주체인 액터(미도시)는 유닛 테스트를 수행하는 함수로써 타겟 플랫폼(210)의 소스 코드에 직접 추가될 수도 있고, 별도로 작성되어 타겟 플랫폼에 연결될 수 있다.An actor (not shown), which is a subject that performs unit tests, may be added directly to the source code of the
유닛 테스트가 시작되면 액터 함수는 실패한 테스트 케이스의 정보를 저장할 수 있도록 테스트 결과 수집부(130)를 CppUnit(100)에 추가하고(S300), 수행할 테스트 스위트를 CppUnit(100)의 테스트 스위트 저장부(120)에서 획득하여(S310) CppUnit(100)의 러너(150)에게 전달하고(S320), 추가된 테스트 결과 수집부(130)를 지정해서 CppUnit(100)의 러너(150)를 통해 테스트를 수행한다(S330).When the unit test is started, the actor function adds the
테스트 수행이 완료되면, 액터 함수에서 작성된 출력 형태의 테스트 결과 출력 관리자(140)를 선택해서 테스트 결과를 출력한다(S340).When the test is completed, the test
도 4는 종래 기술에 따른 시스템 테스트 프레임 워크(System test framework) 구성을 도시한 도면이다.4 is a diagram illustrating a system test framework configuration according to the prior art.
시스템 테스트 프레임 워크는 유닛 테스트가 논리적으로 확장된 것으로 이미 테스트를 마친 해당 유닛을 하나의 구성 요소로 통합하고, 두 유닛 사이의 인터페이스를 테스트하는 것을 말한다.The system test framework is a logical extension of unit testing, integrating previously tested units into one component and testing the interface between the two units.
종래 기술에 따른 시스템 테스트 프레임 워크는 유닛 테스트 프레임 워크와 마찬가지로 CppUnit(100)에서 작성되는 테스트 스위트(200)과 CppUnit(100)을 이용하여 테스트를 수행하는데, 테스트 수행의 주체인 액터(230) 함수의 역할을 하는 테스트 하네스(300)를 별도로 구현하여 추가한다. 시스템 테스트는 회귀테스트나 시험 대상의 릴리즈 정보 등 더 많은 정보를 반영해서 테스트를 수행해야 하기 때문에 별도의 테스트 하네스가 필요하다. The system test framework according to the prior art performs the test using the
테스트 하네스(300)는 테스트 스위트의 각 단계를 실행하는 컴포넌트로 다른 컴포넌트와 상호작용함으로써, 테스트 케이스를 구동하는 것으로 설정 관리자(Configulation Manager)(310), 테스트 관리자(Test Manager)(320), 출력 관리자(Output Manager)(330)로 구성되어 있다.The
설정 관리자(310)는 설정 파일로부터 시스템 테스트 정보, 예를 들어, 테스트 버전, 테스트 일자, 테스트 대상 모듈과 수행할 테스트 스위트 목록을 분석해서 관리하고, 테스트 관리자(320)는 설정 관리자(310)부터 설정된 것으로 개발자가 어떠한 테스트들을 수행할 것인지 결정하고 테스트 리스트를 작성하여 관리할 수 있으며, 수행할 테스트 스위트의 목록에 따라 테스트를 수행한다.The
출력 관리자(330)는 테스트가 완료되면, 설정 관리자(310)로부터 테스트 정보를 획득하고, 테스트 관리자(320)로부터 테스트 수행 결과를 획득해서 결과를 출력한다.When the test is completed, the
도 5는 종래 기술에 따른 시스템 테스트 프레임 워크의 흐름도이다.5 is a flowchart of a system test framework according to the prior art.
먼저, 유닛 테스트의 주체인 액터(230)가 테스트 관리자(320)에게 테스트 수행을 요청하면(S500), 테스트 하네스(300)의 테스트 관리자(320)는 설정 관리자(310)에게 테스트 수행 정보 구성에 대한 요청을 한다(S502). First, when the actor 230, which is the main unit of the unit test, requests the
구성 요청을 받은 설정 관리자(310)는 설정 파일로부터 테스트 명, 테스트 대상 모듈, 수행할 테스트 스위트 정보를 읽어 들이고 테스트 정보를 구성하며(S504), 테스트 수행 정보 구성 완료를 테스트 관리자(320)에게 통보하고(S506), 테스트 관리자(320)는 러너(150)에게 테스트를 시작할 것을 요청한다(S508).The
테스트 관리자(320)의 테스트 시작 요청 후 러너(150)는 CppUnit(100)에게 리스너(listener) 등록을 요청하고(S510), 해당 리스너를 등록하면(S512), 러너(150)에게 리스너 등록 완료를 통보 한다(S514).After the test start request of the
리스너는 외부에서 접속해주기 위해 대기해 있는 클래스로 Cppunit(100)에 접속하는 외부의 요청을 대기하고 있다가 요청이 들어오면 연결해주는 역할을 한다.The listener is a class waiting to be accessed from the outside, and waits for an external request to access the Cppunit (100), and connects when a request comes in.
리스너 등록 완료를 통보 받은 러너(100)는 수행할 테스트 스위트의 목록을 설정 관리자(310)에게 요청하고(S516), 설정 관리자(310)는 자신이 가지고 있는 테스트 정보에서 수행할 테스트 스위트 정보를 러너(150)에게 제공한다(S518).The
테스트 스위트의 정보를 제공 받은 러너(150)는 CppUnit(100)에게 테스트를 수행할 테스트 스위트 목록을 제공하고(S520), 테스트 스위트 저장부(120)에서 러너(150)가 제공한 테스트 스위트 목록을 가져와서 수행 대상 테스트 스위트로 등록한다(S522). The
CppUnit(100)에서 테스트 스위트들이 등록되면(S522), 러너(150)에 등록 완료 보고를 하고(S524), 테스트 스위트 등록 보고를 받은 러너(150)는 CppUnit(100)에게 테스트 수행을 요청하고(S526), CppUnit(100)에서 테스트를 수행하여(S528) 테스트 수행이 완료될 경우 러너(150)에게 테스트 수행 완료에 대한 보고를 한다(S530). When the test suites are registered in the CppUnit 100 (S522), the registration completion report is reported to the runner 150 (S524), and the
CppUnit(100)으로부터 테스트 수행 완료를 보고 받은 러너(150)는 테스트 관리자(320)에게 테스트 수행 완료 보고를 하고(S532), 테스트 관리자(320)는 출력 관리자(330)에게 테스트 결과 보고를 요청한다(S534).The
테스트 결과 보고를 요청 받은 출력 관리자(330)는 설정 관리자(310)에게 테스트 정보를 요청하면(S536), 설정 관리자(310)로부터 테스트 정보를 전달 받는다(S538).The
테스트 정보를 전달 받은 출력 관리자(330)가 CppUnit(100)에게 필요한 테스트 수행 결과를 요청하면(S540), CppUnit(100)으로부터 테스트 수행 결과를 제공 받는다(S542).When the
출력 관리자(330)는 설정 관리자(310)에게 받은 테스트 정보와 CppUnit(100)으로부터 제공 받은 테스트 결과를 바탕으로 테스트 결과를 보고하고(S544), 테스트 결과 보고가 완료 되었음을 테스트 관리자(320)에게 통보하면(S546), 테스트 관리자(320)는 액터(230)에게 테스트의 모든 과정이 완료 되었음을 보고한다(S548).The
이와 같이 종래 기술에서의 유닛 테스트 또는 시스템 테스트는 CppUnit을 사용하여 테스트를 수행하는데 테스트를 수행하는 주체인 액터 또는 액터에 해당하는 테스트 하네스를 별도로 구성해야 하며, 테스트 환경에 따라 라이브러리나 DLL을 생성하기가 쉽지 않기 때문에 CppUnit의 수정이 불가피 하지만 오픈 소스인 CppUnit의 소스가 복잡하여 수정이 어렵다는 단점이 있다.As described above, the unit test or system test in the related art uses CppUnit to perform a test to separately configure a test harness corresponding to an actor or actor that is a test subject, and to generate a library or a DLL according to a test environment. Modification of CppUnit is inevitable because it is not easy, but it is difficult to modify because the source of CppUnit, which is open source, is complicated.
비기능적 요구 사항을 검증하는 테스트 케이스의 경우는 장시간 수행되며, 시스템 크래시가 발생할 확률이 높기 때문에 시스템 테스트를 위한 테스트 프레임 워크는 시스템 크래시에 대처할 수 있어야 한다. 그러나 CppUnit 을 이용하여 테스트를 수행할 경우 CppUnit의 러너에 전달된 모든 테스트 스위트들에 대한 테스트를 수행한 후에 테스트 결과를 획득할 수 있기 때문에 테스트 수행 중 테스트 케이스 로 인한 시스템 크래시가 발생한 경우는 시스템 크래시 발생 이전까지의 테스트 결과를 보장할 수 없다. Test cases that verify non-functional requirements run for a long time, and because of the high probability of system crash, the test framework for system testing must be able to cope with system crashes. However, if you use CppUnit to test, you can obtain test results after performing tests on all test suites passed to CppUnit's runner, so if a system crash is caused by a test case during test execution, The test result until the occurrence cannot be guaranteed.
뿐만 아니라, 테스트 수행 중 테스트 케이스가 실패할 경우 수행 중인 테스트 케이스를 종료하여 다음 테스트 케이스에 대한 테스트를 수행해야 하지만, 종료 처리를 위해 CppUnit 내부를 수정해야 하며, 성공 또는 실패 매크로를 직접적으로 사용할 수 없다는 단점이 있다.In addition, if a test case fails while the test is running, you must terminate the running test case to perform the test for the next test case, but you must modify the CppUnit internals to handle the termination and use the success or failure macro directly. There is a disadvantage.
본 발명은 상기한 문제점을 개선하기 위해서 고안된 것으로, 다양한 테스트 환경 변화를 위한 OS의 독립성, 테스트 케이스를 등록하고, 수행할 수 있는 시스템 테스트 프레임 워크를 구성하여 시스템 크래시가 발생하더라도 시스템 크래시 이전까지의 정보와 실패한 테스트 케이스 정보를 저장하여 테스트 수행 결과를 제공하기 위한 것이다.The present invention has been devised to improve the above-mentioned problems. Independence of the OS for various test environment changes, and a system test framework that can register and execute test cases can be configured to perform system crash even before a system crash occurs. This is to store test information and failed test case information to provide test results.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해 될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.
상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 임베디드 소프트웨어의 API 테스트 장치는 테스트 케이스를 등록하는 테스트 스위트부, 실패한 테스트 케이스 정보를 저장하는 출력 관리자 및 테스트 수행 결과를 제공하는 출력 관리자를 포함한다.In order to achieve the above object, the API test apparatus of the embedded software according to an embodiment of the present invention includes a test suite for registering test cases, an output manager for storing failed test case information, and an output manager for providing a test execution result. .
본 발명의 실시에 따른 임베디드 소프트웨어의 API 테스트 방법은 테스트 케이스를 등록하는 단계, 테스트 케이스의 실패 정보 저장 단계 및 테스트 수행 결과 보고 단계를 포함한다.The API test method of the embedded software according to an embodiment of the present invention includes registering a test case, storing failure information of the test case, and reporting a test performance result.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. Specific details of other embodiments are included in the detailed description and the drawings.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.
도 6은 본 발명의 GTT 구성을 도시한 도면이다.6 is a diagram illustrating a GTT configuration of the present invention.
본 발명의 GTT(400)는 테스트 케이스나 테스트 스위트 실행에 관련된 어플리케이션으로 테스트 하네스 코어(410), 인터페이스(420), 플랫폼(430)으로 구성 될 수 있다. The
테스트 하네스 코어(410)는 시스템 및 시스템 컴포넌트를 테스트하는 환경의 일부분으로 테스트를 지원하는 목적하에 생성된 코드와 데이터로 유닛 테스트나 시스템 테스트에 사용하기 위한 코드를 의미하며, 메인, 테스트 관리자, 설정 관리자, 러너, 출력 관리자, 저장부, 테스트 스위트로 구성 될 수 있고, 후술되는 도 8 에서 상세하게 설명 된다.The
인터페이스(420)는 테스트 하네스에 맞추어 테스트 케이스를 작성할 수 있는 클래스와 매크로를 제공하는 클래스와 매크로 헤더 파일과 테스트 하네스를 실행 시킬 수 있는 인터페이스를 제공하는 메인 클래스로 구성 될 수 있고, 테스트 하네스 전체에서 사용할 수 있는 구조체와 공용 클래스, 그리고 전역 변수를 가지고 있는 글로벌 헤더파일로 구성 될 수 있다.The
테스트 하네스 플랫폼(430)은 OS와 타겟 플랫폼에 독립적인 레이어로 의존성이 있는 시스템 콜들을 각 OS에 따라 작성해 놓고, 양방향으로 링크될 수 있는 리스트 클래스, OS내에서 공유 자원에 대한 접속을 제어하기 위해 사용되는 신호인 세마포어(Semaphore)를 구현한 세마포어 클래스, 시스템 테스트의 실행 코드인 스레드(Thread), 시간 함수들을 구현한 타임 클래스, 대기 대상(Waiting object)클래스로 구성 될 수 있다.The
도 7은 본 발명의 GTT를 이용한 시스템 테스트 프레임 워크를 도시한 도면이다.7 is a diagram illustrating a system test framework using the GTT of the present invention.
본 발명의 실시예에 따른 시스템 테스트 프레임 워크(500)는 유닛 테스트가 논리적으로 확장된 것으로 이미 테스트를 마친 유닛들을 하나의 구성 요소로 통합하고, 해당 유닛들 사이의 인터페이스를 테스트 하는 것을 말하며, 유닛이 결합 될 때 발생하는 문제를 식별하기 위한 것으로 테스트 하네스 코어(410), 테스트 스위트(510), 테스트 하네스 플랫폼(430), 타겟 플랫폼(520)으로 구성될 수 있고, 여러 사용자가 테스트 케이스를 생성하여 테스트를 수행할 경우 특정 기능을 수행 할 수 있도록 유틸리티의 집합인 유틸리티(미도시)를 추가로 구성할 수 있다.The
테스트 하네스 코어(410)는 시스템 및 시스템 컴포넌트를 테스트하는 환경의 일부분으로 테스트를 지원하는 목적 하에 생성된 코드와 데이터들을 의미하고, 유닛 테스트나 모듈 테스트에 사용하기 위해 사용자에 의해 생성 될 수 있다. 이와 같은 목적을 수행하는 테스트 하네스 코어(410)에서는 테스트 스위트(510)를 분석해서 관리하고, 분석한 목록에 따라 테스트를 수행하여 테스트가 완료되면 테스트 정보와 수행 결과를 획득하여 결과를 출력하는 테스트 과정을 관리 할 수 있다. The
테스트 스위트(510)는 테스트 케이스들의 집합이며, 테스트 케이스는 테스트를 수행하기 위해 기본이 되는 문서화된 테스트 케이스 명세서(Test Case Specification)의 항목으로 테스트 할 구체적인 내용을 문서화한 것으로 직접 테스트를 수행하는 근간이 되고, 테스트를 수행했다는 증거가 되며, 테스트가 커버하는 범위를 표현할 수 도 있다. 일반적으로 테스트 케이스는 측정 가능한 상태에 대한 정보, 상황, 이벤트, 입출력 값을 포함할 수 있다.The
테스트 하네스 플랫폼(430)은 도 7에서 언급했듯이 OS와 테스트 수행 대상 플랫폼인 타겟 플랫폼(520)에 독립적인 레이어로 의존성이 있는 시스템 콜들을 각 OS에 따라 작성해 놓을 수 있는 것으로 양방향으로 링크될 수 있는 리스트 클래스, OS내에서 공유 자원에 대한 접속을 제어하기 위해 사용되는 신호인 세마포어 클래스, 시스템 테스트의 실행 코드인 스레드, 시간 함수들을 구현한 타임 클래스, 대기 대상클래스로 구성 될 수 있다.As described in FIG. 7, the
테스트 하네스 코어(410)와 테스트 케이스 코드는 라이브러리나 DLL이 아닌 타겟 플랫폼의 모듈로 삽입되어 타겟 플랫폼과 함께 컴파일 되기 때문에 별도 구성을 하지 않아도 된다.Since the
도 8은 본 발명의 실시예에 따른 테스트 하네스 코어 클래스 다이어그램 이다.8 is a test harness core class diagram according to an embodiment of the present invention.
본 발명의 실시예에 따른 테스트 하네스 코어 클래스는 메인(600), 테스트 관리자(610), 설정 관리자(620), 러너(630), 출력 관리자(640), 저장부(650), 테스트 스위트(510), 플랫폼(430)으로 구성될 수 있다.The test harness core class according to the embodiment of the present invention includes a main 600, a
메인(600)은 테스트 관리자(610)와 연결되어 테스트를 시작할 수 있는 시작 클래스가 구성되고, 테스트 관리자(610)는 메인(600), 러너(630), 설정 관리자(620), 그리고 출력 관리자(640)와 연결되고, 시작, 설정 관리자, 출력 관리자, 러너 클래스로 구성되어 어떠한 테스트들을 수행할지 결정할 수 있으며, 테스트 리스트를 작성해서 관리할 수 있다. The main 600 is connected to the
설정 관리자(620)는 테스트 관리자(610), 출력 관리자(640)와 연결이 되며, 테스트 설정에 필요한 테스트 대상, 써머리 파일, 로그 파일, 반복 횟수, 시간, 모듈과 테스트 스위트 리스트 클래스들이 구성되어 관리할 수 있다.The
러너(630)는 테스트 관리자(610), 저장부(600), 테스트 스위트(530)와 연결되고, 시작, 테스트가 수행되는 테스트 케이스의 전체 수, 실패, 성공, 에러, 시작 시간, 종료 시간, 수행 시간, 실제로 수행된 반복 횟수 등을 획득할 수 있는 함수들로 구성될 수 있다. The
출력 관리자(640)은 테스트 관리자(610), 설정 관리자(620)와 연결되어 테스 트 실패 시 해당 정보를 출력 하는 로그 실패 정보 클래스로 구성될 수 있고, 테스트 스위트(530)은 테스트 스위트 명, 테스트 케이스 리스트 클래스로 구성될 수 있다.The
저장부(650)는 테스트 스위트들을 관리하는 저장부로써, 테스트 스위트(510)로부터 테스트 케이스를 추가하거나 저장하여 테스트 케이스가 실패할 때마다 실패한 테스트 케이스의 정보를 저장한다.The
도 9는 본 발명의 실시예에 따른 시스템 테스트 프레임 워크의 흐름도이다.9 is a flowchart of a system test framework in accordance with an embodiment of the present invention.
먼저, 테스트 케이스의 집합인 테스트 스위트들은 테스트 자동화를 위해 프로그램 실행 시 전역 변수로 선언되고(S900), 테스트 스위트가 가지고 있는 테스트 케이스들을 자신의 테스트 케이스 리스트에 등록한다(S902). First, test suites, which are a set of test cases, are declared as global variables when a program is executed for test automation (S900), and test cases owned by the test suite are registered in their test case list (S902).
테스트 스위트들은 저장부(600)에 자신의 등록을 요청하고(S904), 저장부(600)에서 각 테스트 스위트들의 등록 성공을 테스트 스위트에게 보고하면(S906), 메인(600)에 테스트 수행을 요청한다(S908). 메인(600)은 외부에 제공되는 인터페이스 클래스로 진입 점이 될 수 있다.The test suites request their registration to the storage unit 600 (S904), and when the
메인(600)은 실제적 관리자인 테스트 관리자(610)에게 테스트 수행 요청을 하고(S910), 테스트 관리자(610)는 설정 관리자(620)에게 테스트 정보, 예를 들어, 예를 들어, 테스트 버전, 테스트 일자, 테스트 대상 모듈과 수행할 테스트 스위트에 관한 구성 요청을 한다(S912). The main 600 requests the
구성 요청을 받은 설정 관리자(620)는 설정 파일에서 테스트 정보와 수행될 테스트 스위트 목록을 읽어 들여서 테스트 정보를 구성하고(S914), 테스트 관리자 (610)에게 테스트 정보의 구성 완료를 보고한다(S916).The
테스트 정보의 구성 완료가 되면(S916), 테스트 관리자(610)는 러너(630)에게 테스트 수행을 요청하고(S918), 러너(630)는 설정 관리자(620)에게 테스트 스위트 목록을 요청한다(S920). 설정 관리자(620)는 해당 요청에 따라 러너(630)에게 테스트 스위트 정보를 제공한다(S922).When the configuration of the test information is completed (S916), the
러너(630)는 해당 목록의 테스트 스위트를 저장부(600)에 요청하여(S924) 해당 테스트 스위트를 제공 받고(S926), 저장부(600)로부터 제공 받은 테스트 스위트를 바탕으로 러너(630)는 해당 테스트 스위트가 가지고 있는 테스트 케이스에 대한 수행을 테스트 스위트에 요청하고(S928), 테스트 스위트는 자신의 테스트 케이스에 대한 테스트를 수행한다(S930). The
테스트 스위트에서 테스트 수행 결과를 러너(630)에게 전달하면(S932), 러너(630)에서 테스트 수행 결과를 저장한다(S934).When the test suite delivers the test execution result to the runner 630 (S932), the
수행 결과의 전달 방식은 예외 방식으로 전달되며, 실패인 경우만 실패 예외로 전달될 수 있다.The execution method of the execution result is delivered in an exception manner, and in case of failure, it can be delivered in a failure exception.
여기서 말하는 예외 방식은 C++ 라이브러리의 예외 클래스들이 프로그래머에게 기본적인 에러 모델을 제공하는 것이며, 이것을 기반으로 어플리케이션에 적합한 에러 탐지와 통보를 위한 메소드를 작성할 수 있다.The exception approach here is that the exception classes in the C ++ library provide the programmer with a basic error model. Based on this, you can write methods for error detection and notification that are appropriate for your application.
표준 C++ 라이브러리는 에러 처리를 위한 클래스들을 제공하는데, 이 클래스들은 C++의 예외 처리(exception handling) 기능을 사용하고 있다. 표준 C++ 라이브러리는 크게 논리 에러(logic error)와 실행 시 에러(runtime error)로 나누어 에러 모델을 구현하고 있다.The standard C ++ library provides classes for error handling, which use the exception handling capabilities of C ++. The standard C ++ library implements the error model by largely dividing it into logic errors and runtime errors.
러너(630)는 전달 받은 테스트 수행 결과를 저장하고(S934), 출력 관리자(640)에게 실패 정보에 대한 기록을 요청하면(S936), 출력 관리자(640)는 실패 정보를 저장하여(S938) 러너(630)에게 실패 정보 저장에 대한 완료 보고를 한다(S940). The
러너(630)에 실패 정보에 대한 저장 완료 보고가 되면(S940), 타 테스트 케이스에 대한 테스트 수행을 요청하게 된다(S942).When the storage completion report for the failure information is reported to the runner (630) (S940), the test request for the other test case is requested (S942).
러너(630)는 테스트 스위트의 모든 테스트 케이스에 대해 테스트 스위트에게 테스트 케이스의 수행을 요청하는 단계, 해당 테스트 케이스에 대한 테스트를 수행하는 단계, 테스트 케이스의 테스트 수행 결과 전달 단계, 러너(630)에서의 수행 결과 저장 단계, 실패 정보 기록 요청 및 실패 정보 저장 단계, 그리고 실패 정보 저장 완료 보고까지의 단계를 수행하게 된다(S928~S940). The
러너(630)에서 테스트 케이스에 대한 테스트 수행 요청이 되면(S942), 러너(630)는 모든 테스트 스위트에 대해 저장부(600)에 테스트 스위트를 요청하는 단계, 해당 테스트 스위트 전달 단계, 테스트 케이스 수행 요청 단계, 테스트 케이스의 테스트 수행 단계, 테스트 케이스의 수행 결과 전달 단계, 수행 결과 저장 단계, 실패 정보에 대한 기록 요청 단계, 실패 정보를 저장하고 실패 정보 저장에 대한 완료 보고 단계, 타 테스트 케이스 수행 요청 단계까지의 과정을 수행하게 된다(S924~S942).When the test run request for the test case is received in the runner 630 (S942), the
러너(630)에서 테스트 관리자(610)에게 테스트에 관한 모든 수행이 완료되었 다고 보고 되면(S946), 테스트 관리자(610)는 출력 관리자(640)에게 테스트 결과에 대한 보고를 요청한다(S948). When the
출력 관리자(640)가 설정 관리자(620)에게 테스트 정보, 예를 들어, 테스트 버전 정보, 테스트 명, 테스트 대상 모듈 명 정보를 요청 하고(S950), 설정 관리자(620)는 해당 정보를 출력 관리자(640)에게 전달 한다(S952).The
출력 관리자(640)가 러너(630)에게 테스트 수행 정보, 예를 들어, 테스트를 수행한 총 테스트 케이스의 수, 성공한 테스트 케이스의 수, 실패한 테스트 케이스의 수, 실패한 테스트 케이스 정보 목록을 요청하면(S954), 해당 테스트 수행 정보를 출력 관리자(640)에게 전달하고(S956), 결과를 저장한다(S958).When
출력 관리자(640)에 결과가 저장되면(S958), 테스트 관리자(610)에게 결과 저장에 대한 완료가 보고 되고(S960), 테스트 관리자(610)는 GTT 메인(600)에 모든 테스트 과정이 완료되었음을 보고 하고(S962), 테스트 하네스에 테스트 수행이 완료 되었음을 보고(S964) 함으로써 테스트의 모든 과정이 완료될 수 있다.When the result is stored in the output manager 640 (S958), the completion of the result storage is reported to the test manager 610 (S960), and the
도 10은 본 발명의 실시예에 따른 테스트 설정 파일을 도시한 도면이다.10 illustrates a test setup file according to an embodiment of the present invention.
본 발명의 실시예에 따른 테스트 설정 파일은 테스트 버전 정보(700), 테스트 명(710), 써머리 파일(720), 로그 파일(730), 반복 횟수(740), 모듈(750), 테스트 스위트(760)로 구성되어 결과 보고서의 기초 정보로 사용될 수 있다.The test configuration file according to an embodiment of the present invention includes
테스트 버전 정보(700)에는 테스트 대상의 버전명과 수행할 시험의 제목 명을 대상에 기술할 수 있으며, 써머리 파일(720)은 테스트 전체 결과를 기록할 수 있고, 로그 파일(730)은 각 테스트 케이스가 수행될 때마다 해당 로그와 실패한 테 스트 케이스 정보를 기록할 수 있다.In the
인터널 로그 파일(미도시)은 테스트 하네스와 관련된 메시지를 기록하는 것으로 테스트 중 시스템 크래시가 발생할 경우 써머리 파일(720)은 생성되지 않지만 로그 파일(730)은 크래시 발생 전까지의 로그와 실패한 테스트 케이스 정보를 모두 기록할 수 있다.The internal log file (not shown) records a message related to the test harness. If a system crash occurs during the test, the
로그 파일(730)명을 지정하지 않고, 디폴트로 기재할 경우 써머리 파일(720)은 예를 들어, TS_YYYYMMDDHHMM.csv YYYY년도, MM은 월, DD는 일자, HH는 시간, MM은 분으로 기록이 되고, 로그 파일(730)은 예를 들어, TL_YYYYMMDDHHMM.log와 TI_YYYYMMDDHHMM.log 두 가지 형식으로 생성된다. 전자는 로그 파일(730)이고, 후자는 인터널 로그 파일이다. 두 가지 경우 모두 써머리 파일(720)과 마찬가지로 년도, 월, 일, 시간, 분으로 기록이 될 수 있다.If you do not specify the name of the log file (730), and the default is written, the
반복 횟수(740)는 선택된 테스트 스위트들을 반복하는 횟수로 상수로 표시되고, 모듈(750)은 테스트의 타겟 모듈명이며, 다른 응용프로그램에서 읽어 들일 때 사용될 수 있다. 테스트 스위트(760)는 수행하고자 하는 테스트 스위트의 목록으로 구성될 수 있다.The number of
도 11은 본 발명의 실시예에 따른 테스트 결과를 도시한 도면이다.11 is a diagram illustrating test results according to an embodiment of the present invention.
본 발명의 실시예에 따른 테스트 결과 레포트는 설정 관리자에서 설정 파일을 도 10과 같이 설정했을 경우의 테스트 결과를 나타내는 써머리 파일이며, 윈도우 환경뿐만 아니라 리눅스 환경을 고려해서 CSV 파일 포맷으로 저장되어 실패된 테스트 케이스가 있을 경우 해당 프로그램으로 보내기를 할 수 있다. The test result report according to an embodiment of the present invention is a summary file indicating a test result when a configuration file is set in the configuration manager as shown in FIG. 10. The test result report is stored in a CSV file format in consideration of a Linux environment as well as a Windows environment and failed. If you have a test case, you can send it to the program.
써머리 파일(720)은 시험 정보를 나타내는 테스트 정보 섹션(800)과 시험 결과를 나타내는 시험 결과 통계 섹션(810), 실패 테스트 케이스 정보를 나열하는 실패 리스트 섹션(820), 에러가 발생한 에러 리스트 섹션(830)을 표시할 수 있다. The
테스트 정보 섹션(800)에는 테스트 버전 명, 테스트 제목, 테스트 대상 모듈 명, 선택된 테스트 스위트 반복 횟수, 실제로 반복 수행된 횟수, 수행 시간이 표시된다. The
시험 결과 통계 섹션(810)에는 전체 수행된 테스트 케이스 수, 성공한 테스트 케이스 수, 실패한 테스트 케이스 수, 에러가 발생한 테스트 케이스가 표시될 수 있다. The test
에러가 발생한 테스트 케이스의 의미는 통과 또는 실패 판정 매크로에 의해서 발생한 예외 상황이 아닌 다른 예외 상황이 발생해서 테스트 케이스가 중단된 것을 의미한다. The test case in which the error occurred means that the test case was interrupted because an exception occurred other than the exception caused by the pass or fail decision macro.
실패 리스트 섹션(820)에는 실패한 테스트 스위트명과 해당 테스트 스위트에 포함되는 테스트 케이스 명, 실패가 발생한 소스 파일 명과 위치, 실패가 발생한 소스의 라인 넘버, 해당 매크로에 작성된 설명 메시지로 실제로 수행된 결과의 상태 정보가 표시될 수 있다. The
에러 리스트 섹션(830)은 에러가 발생한 테스트 케이스의 상세 정보, 예를 들어, 테스트 스위트 명, 테스트 케이스 명, 발생한 예외 종류 정보가 표시될 수 있다. The
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art can understand that the present invention can be implemented in other specific forms without changing the technical spirit or essential features. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.
상기한 바와 같은 본 발명의 임베디드 소프트웨어 API 테스트 장치 및 방법은 다음과 같은 효과가 하나 혹은 그 이상 있다. The embedded software API test apparatus and method of the present invention as described above has one or more of the following effects.
첫 째, 테스트 하네스와 테스트 케이스 코드는 라이브러리나 DLL 형태가 아닌 타겟 플랫폼의 소프트웨어 모듈로 삽입되므로, 별도로 구성하지 않고 타겟 소프트웨어와 함께 컴파일 되는 장점이 있다.First, since the test harness and test case code are inserted into the software module of the target platform rather than the library or DLL type, there is an advantage that the test harness and the test case code are compiled together without the configuration.
둘째, 테스트 하네스는 각 OS에 독립적인 플랫폼을 가지고 있고, 플랫폼에서 지원하지 않는 OS의 경우에도 테스트 하네스 및 플랫폼을 이용해서 작성된 테스트 케이스 코드의 수정 없이 해당 OS의 시스템 콜을 맵핑에서 추가하여 사용할 수 있는 장점도 있다.Second, the test harness has a platform independent of each OS, and even for OSs not supported by the platform, the system call of the corresponding OS can be added to the mapping without modifying test case code written using the test harness and platform. There is also an advantage.
셋째, 테스트 하네스는 테스트 할 테스트 스위트를 선택할 수 있고 테스트 정보, 반복 횟수, 반복 시간 등을 설정할 수 있는 설정 관리자와 테스트 결과의 출력 형태를 지정할 수 있는 출력 관리자를 구성하고 있으며, 각 관리자는 필요에 따라 수정이 용이하게 작성되어 있어 시스템 크래시가 발생할 경우 크래시 이전의 테스트 케이스 로그와 실패한 테스트 케이스 정보를 별도의 로그 파일에 기록하기 때문에 다양한 테스트 요구 사항을 충족시킬 수 있는 장점도 있다.Third, the test harness consists of a configuration manager that can select the test suite to test, set test information, the number of iterations, repeat time, etc., and an output manager that can specify the output form of the test results. Therefore, it is easy to modify, and if there is a system crash, the test case log before the crash and the failed test case information are recorded in separate log files, which can satisfy various test requirements.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060014765A KR100809291B1 (en) | 2006-02-15 | 2006-02-15 | API test method and apparatus of embedded software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060014765A KR100809291B1 (en) | 2006-02-15 | 2006-02-15 | API test method and apparatus of embedded software |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070082222A true KR20070082222A (en) | 2007-08-21 |
KR100809291B1 KR100809291B1 (en) | 2008-03-04 |
Family
ID=38611933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060014765A KR100809291B1 (en) | 2006-02-15 | 2006-02-15 | API test method and apparatus of embedded software |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100809291B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100937689B1 (en) * | 2008-01-15 | 2010-01-20 | 포항공과대학교 산학협력단 | Method of simulation supporting software testing based on user environment profiling |
KR101014684B1 (en) * | 2007-09-14 | 2011-02-16 | 주식회사 신한은행 | System and Method for Analysing Program Test Result using Test Result Log and Program Recording Medium |
CN103268285A (en) * | 2013-05-31 | 2013-08-28 | 百度在线网络技术(北京)有限公司 | Method and device for automatic generation of robustness test case of API interface |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101249449B1 (en) | 2011-12-14 | 2013-04-03 | 인크로스 주식회사 | Apparatus for web platform verification tool and control method thereof |
KR20240032347A (en) * | 2022-09-02 | 2024-03-12 | 쿠팡 주식회사 | Electronic apparatus for testing api and method thereof |
-
2006
- 2006-02-15 KR KR1020060014765A patent/KR100809291B1/en not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101014684B1 (en) * | 2007-09-14 | 2011-02-16 | 주식회사 신한은행 | System and Method for Analysing Program Test Result using Test Result Log and Program Recording Medium |
KR100937689B1 (en) * | 2008-01-15 | 2010-01-20 | 포항공과대학교 산학협력단 | Method of simulation supporting software testing based on user environment profiling |
CN103268285A (en) * | 2013-05-31 | 2013-08-28 | 百度在线网络技术(北京)有限公司 | Method and device for automatic generation of robustness test case of API interface |
Also Published As
Publication number | Publication date |
---|---|
KR100809291B1 (en) | 2008-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853232B2 (en) | Adaptive system for mobile device testing | |
US8250543B2 (en) | Software tracing | |
US9519495B2 (en) | Timed API rules for runtime verification | |
US8239838B2 (en) | Kernel-aware debugging system, medium, and method | |
US20170147480A1 (en) | Test script generation | |
US8627302B2 (en) | Sampling based runtime optimizer for efficient debugging of applications | |
CN103049371A (en) | Testing method and testing device of Android application programs | |
US8418148B2 (en) | Thread execution analyzer | |
JP2012018583A (en) | Software development support device and processing method thereof | |
WO2013007068A1 (en) | Automatic test system and method oriented to functions of hardware apparatus | |
KR100809291B1 (en) | API test method and apparatus of embedded software | |
Moran et al. | On-device bug reporting for android applications | |
CN110879781A (en) | Program debugging method and device, electronic equipment and computer readable storage medium | |
US10846206B2 (en) | Adaptive software testing | |
JP3206641B2 (en) | Microcomputer system debugging method, debugging device, and recording medium recording debug program | |
CN110837467B (en) | Software testing method, device and system | |
Makki et al. | Automated regression testing of BPMN 2.0 processes: a capture and replay framework for continuous delivery | |
CN112069082A (en) | Automatic testing method and system | |
JP5133649B2 (en) | Electronic device and memory management program | |
CN105339974B (en) | Analog sensor | |
CN114496053A (en) | Data anomaly detection method, device and equipment and computer readable storage medium | |
TWI393897B (en) | Integrated test method and system using the same | |
KR101685299B1 (en) | Automated testing method and apparatus for program processable non-deterministic events | |
CN111651308B (en) | Method and device for acquiring debugging data of DP-HDMI chip and intelligent device | |
US20160275002A1 (en) | Image capture in application lifecycle management for documentation and support |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |