KR20240093402A - Method and apparatus for providing data - Google Patents
Method and apparatus for providing data Download PDFInfo
- Publication number
- KR20240093402A KR20240093402A KR1020240042111A KR20240042111A KR20240093402A KR 20240093402 A KR20240093402 A KR 20240093402A KR 1020240042111 A KR1020240042111 A KR 1020240042111A KR 20240042111 A KR20240042111 A KR 20240042111A KR 20240093402 A KR20240093402 A KR 20240093402A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- request
- value
- schema
- target api
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 72
- 230000004044 response Effects 0.000 claims description 24
- 238000012360 testing method Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 18
- 230000003068 static effect Effects 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000013515 script Methods 0.000 description 10
- 238000012937 correction Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24547—Optimisations to support specific applications; Extensibility of optimisers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
전자 장치에서 데이터를 제공하는 방법이 개시된다. 구체적으로, 데이터를 제공하는 방법은 디바이스로부터 데이터 생성과 관련된 요청을 수신하는 단계; 요청에 기반하여, 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 데이터 스키마를 확인하는 단계; 데이터 스키마에 기반하여, 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성하는 단계; 및 제1 데이터를 디바이스에 제공하는 단계를 포함할 수 있다.A method of providing data in an electronic device is disclosed. Specifically, the method for providing data includes receiving a request related to data generation from a device; Based on the request, confirming a data schema including a plurality of data fields and a plurality of value types corresponding to the plurality of data fields; Based on the data schema, generating first data including a plurality of first values corresponding to a plurality of value types; And it may include providing first data to the device.
Description
본 명세서의 실시 예는 데이터를 제공하는 방법 및 장치에 관한 것이다. 본 명세서의 실시 예는 데이터 생성과 관련된 요청에 기반하여, 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 데이터 스키마를 확인하고, 데이터 스키마에 기반하여 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성함으로써, 데이터를 제공하는 방법 및 이에 대한 장치에 관한 것이다.Embodiments of this specification relate to methods and devices for providing data. An embodiment of the present specification verifies a data schema including a plurality of data fields and a plurality of value types corresponding to the plurality of data fields, based on a request related to data creation, and provides a plurality of value types based on the data schema. It relates to a method and apparatus for providing data by generating first data including a corresponding plurality of first values.
최근 온라인 마케팅 등 인터넷 환경에서 테스트를 수행할 때, 데이터가 필요하다. 특히, 많은 양의 데이터를 이용할수록 테스트의 신뢰도와 정확도는 향상되는 경향이 있다. 다만, 테스트에 이용되는 데이터를 수집하는데 상당한 시간과 자본이 소요될 우려가 있다. 따라서, 이와 같은 문제를 해결하기 위한 방법 및 장치가 요구된다.Recently, when conducting tests in an Internet environment such as online marketing, data is needed. In particular, the reliability and accuracy of the test tend to improve as larger amounts of data are used. However, there are concerns that it will take a significant amount of time and capital to collect data used for testing. Accordingly, methods and devices for solving this problem are required.
본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, 데이터를 제공하는 방법 및 이를 위한 장치를 제공하는데 있다.The present disclosure is proposed to solve the above-described problems, and aims to provide a method for providing data and a device for the same.
보다 구체적으로, 본 개시는 데이터 생성과 관련된 요청에 기반하여, 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 데이터 스키마를 확인하고, 데이터 스키마에 기반하여 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성함으로써, 데이터 스키마에 대응하는 제1 데이터를 디바이스에 제공하는 방법 및 이를 위한 장치를 제공하는 것을 목적으로 한다.More specifically, the present disclosure identifies a data schema that includes a plurality of data fields and a plurality of value types corresponding to the plurality of data fields, based on a request related to data generation, and generates a plurality of value types based on the data schema. The purpose is to provide a method and apparatus for providing first data corresponding to a data schema to a device by generating first data including a plurality of first values corresponding to .
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.The technical challenges that this embodiment aims to achieve are not limited to the technical challenges described above, and other technical challenges can be inferred from the following embodiments.
상술한 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1측면에 따른 전자 장치에서 데이터를 제공하는 방법은 디바이스로부터 데이터 생성과 관련된 요청을 수신하는 단계; 요청에 기반하여, 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 데이터 스키마를 확인하는 단계; 데이터 스키마에 기반하여, 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성하는 단계; 및 제1 데이터를 디바이스에 제공하는 단계를 포함할 수 있다.As a technical means for achieving the above-described problem, a method of providing data in an electronic device according to a first aspect of the present disclosure includes receiving a request related to data generation from the device; Based on the request, confirming a data schema including a plurality of data fields and a plurality of value types corresponding to the plurality of data fields; Based on the data schema, generating first data including a plurality of first values corresponding to a plurality of value types; And it may include providing first data to the device.
일 실시 예에 따르면, 요청은 데이터 생성을 위한 샘플 데이터인 제2 데이터를 포함하고, 및 제2 데이터는 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 제2 벨류를 포함하는 것을 특징으로 할 수 있다.According to one embodiment, the request includes second data that is sample data for data generation, and the second data includes a plurality of data fields and a plurality of second values corresponding to the plurality of data fields. can do.
일 실시 예에 따르면, 복수의 벨류 타입은 복수의 제2 벨류를 설정된 규칙에 기초하여 처리함에 따라 결정되는 것을 특징으로 할 수 있다.According to one embodiment, the plurality of value types may be determined by processing the plurality of second values based on a set rule.
일 실시 예에 따르면, 데이터 스키마를 확인하는 단계는 데이터 스키마를 디바이스에 제공하는 단계; 및 디바이스로부터 복수의 벨류 타입과 관련된 수정 입력을 수신함에 따라 복수의 벨류 타입 중 적어도 일부를 변경하는 단계를 포함하고, 제1 데이터를 생성하는 단계는 변경된 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성하는 단계를 포함할 수 있다.According to one embodiment, verifying the data schema includes providing the data schema to the device; and changing at least some of the plurality of value types upon receiving a correction input related to the plurality of value types from the device, wherein generating the first data includes a plurality of first data corresponding to the changed plurality of value types. It may include generating first data including a value.
일 실시 예에 따르면, 요청은 대상 API에 대한 정보를 포함하는 것을 특징으로 할 수 있다.According to one embodiment, the request may be characterized as including information about the target API.
일 실시 예에 따르면, 데이터 스키마를 확인하는 단계는 정보에 기반하여, 대상 API와 관련된 데이터 스키마를 대상 API에 요청하는 단계; 및 대상 API로부터 데이터 스키마를 포함하는 응답을 수신하는 단계를 포함할 수 있다.According to one embodiment, the step of checking the data schema includes requesting a data schema related to the target API from the target API based on the information; And it may include receiving a response including a data schema from the target API.
일 실시 예에 따르면, 데이터 스키마가 대상 API의 리퀘스트와 관련된 데이터 스키마인 경우, 제1 데이터는 리퀘스트와 동일한 데이터 구조를 가지는 데이터인 것을 특징으로 할 수 있다.According to one embodiment, when the data schema is a data schema related to a request of the target API, the first data may be characterized as data having the same data structure as the request.
일 실시 예에 따르면, 데이터 스키마가 대상 API의 리스펀스와 관련된 데이터 스키마인 경우, 제1 데이터는 리스펀스와 동일한 데이터 구조를 가지는 데이터인 것을 특징으로 할 수 있다.According to one embodiment, when the data schema is a data schema related to the response of the target API, the first data may be characterized as data having the same data structure as the response.
일 실시 예에 따르면, 디바이스로부터 데이터 생성과 관련된 제1 요청을 수신하고, 제1 요청에 대응하는 제1 복수의 데이터 필드가 복수의 데이터 필드로 확인될 때, 제1 복수의 데이터 필드에 대응하는 복수의 벨류 타입은 변경된 복수의 벨류 타입으로 결정되는 것을 특징으로 할 수 있다.According to one embodiment, when a first request related to data generation is received from a device and the first plurality of data fields corresponding to the first request are identified as a plurality of data fields, the first plurality of data fields corresponding to the first plurality of data fields are received. The plurality of value types may be determined by a plurality of changed value types.
일 실시 예에 따르면, 복수의 제1 벨류 각각은 설정된 범위 내에서 벨류 타입에 대응하는 벨류 중 하나로 결정되는 것일 수 있다.According to one embodiment, each of the plurality of first values may be determined as one of the values corresponding to the value type within a set range.
일 실시 예에 따르면, 복수의 벨류 타입은 복수의 데이터 필드에 대응하는 벨류가 스태틱 벨류인지 또는 다이나믹 벨류인지에 대한 정보를 더 포함하는 것을 특징으로 할 수 있다.According to one embodiment, the plurality of value types may further include information about whether the value corresponding to the plurality of data fields is a static value or a dynamic value.
일 실시 예에 따르면, 대상 API는 복수 개의 API 중 테스트의 대상이 되는 API이고, 및 정보는 대상 API를 호출하기 위한 경로 정보를 포함하는 것을 특징으로 할 수 있다.According to one embodiment, the target API is an API that is the target of testing among a plurality of APIs, and the information may include path information for calling the target API.
본 개시의 제2측면에 따른 데이터를 제공하기 위한 전자 장치는 트랜시버; 하나 이상의 명령어를 저장하는 스토리지; 및 하나 이상의 명령어를 실행하여, 디바이스로부터 데이터 생성과 관련된 요청을 수신하고, 요청에 기반하여, 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 데이터 스키마를 확인하고, 데이터 스키마에 기반하여, 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성하고, 및 제1 데이터를 디바이스에 제공하는 프로세서를 포함할 수 있다.An electronic device for providing data according to a second aspect of the present disclosure includes a transceiver; Storage for storing one or more instructions; and executing one or more instructions to receive a request related to data generation from the device, to determine, based on the request, a data schema including a plurality of data fields and a plurality of value types corresponding to the plurality of data fields, and to generate data. Based on the schema, it may include a processor that generates first data including a plurality of first values corresponding to a plurality of value types, and provides the first data to the device.
본 개시의 제3측면에 따른 기록매체는 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체일 수 있다.The recording medium according to the third aspect of the present disclosure may be a non-transitory computer-readable recording medium that records a program for execution on a computer.
본 명세서의 실시 예에 따르면, 전자 장치는 데이터 생성과 관련된 요청에 기반하여, 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 데이터 스키마를 확인하고, 데이터 스키마에 기반하여 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성할 수 있다. 따라서, 전자 장치는 디바이스로부터 수신한 요청에 대응하는 제1 데이터를 디바이스에 제공할 수 있다. 이에 따라, 테스트를 수행하는 디바이스는 테스트 수행에 필요한 대량의 데이터를 용이하게 획득할 수 있다.According to an embodiment of the present specification, based on a request related to data generation, the electronic device verifies a data schema including a plurality of data fields and a plurality of value types corresponding to the plurality of data fields, and generates information based on the data schema. First data including a plurality of first values corresponding to a plurality of value types may be generated. Accordingly, the electronic device may provide the device with first data corresponding to the request received from the device. Accordingly, the device performing the test can easily obtain a large amount of data required to perform the test.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effect of the invention is not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.
도 1은 다양한 실시 예에 따른 전자 장치가 데이터를 제공하는 방법이 구현될 수 있는 시스템을 설명하기 위한 도면이다.
도 2는 전자 장치가 데이터를 제공하는 방법을 나타낸 흐름도이다.
도 3은 전자 장치가 데이터 스키마를 확인하고, 데이터 스키마에 기반하여 복수의 제1 벨류를 포함하는 제1 데이터를 생성하는 방법을 설명하기 위한 도면이다.
도 4는 요청이 대상 API에 대한 정보를 포함할 때, 데이터를 생성하는 방법을 설명하기 위한 도면이다.
도 5는 대상 API와 관련된 리퀘스트 데이터를 생성하고, 대상 API에 대한 테스트를 수행하는 방법을 설명하기 위한 도면이다.
도 6은 데이터를 생성하는 실시 예를 설명하기 위한 도면이다.
도 7a는 데이터 생성과 관련된 소스 코드를 설명하기 위한 도면이다.
도 7b는 도 7a에 따른 소스 코드에 기반하여 생성된 데이터를 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 데이터를 제공하기 위한 전자 장치를 도식화한 블록도이다.FIG. 1 is a diagram illustrating a system in which a method of providing data by an electronic device can be implemented according to various embodiments.
Figure 2 is a flowchart showing how an electronic device provides data.
FIG. 3 is a diagram illustrating a method by which an electronic device verifies a data schema and generates first data including a plurality of first values based on the data schema.
Figure 4 is a diagram to explain a method of generating data when a request includes information about the target API.
Figure 5 is a diagram for explaining a method of generating request data related to a target API and performing a test on the target API.
Figure 6 is a diagram for explaining an embodiment of generating data.
Figure 7a is a diagram for explaining source code related to data generation.
FIG. 7B is a diagram for explaining data generated based on the source code according to FIG. 7A.
Figure 8 is a block diagram illustrating an electronic device for providing data according to an embodiment.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the embodiments are general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but this may vary depending on the intention or precedent of a person working in the art, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the relevant description. Therefore, the terms used in this disclosure should be defined based on the meaning of the term and the overall content of this disclosure, rather than simply the name of the term.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When it is said that a part “includes” a certain element throughout the specification, this means that it does not exclude other elements, but may further include other elements, unless specifically stated to the contrary. In addition, terms such as “...unit” and “...module” used in the specification refer to a unit that processes at least one function or operation, which is implemented as hardware or software, or as a combination of hardware and software. It can be.
명세서 전체에서 기재된 “a, b, 및 c 중 적어도 하나”의 표현은, ‘a 단독’, ‘b 단독’, ‘c 단독’, ‘a 및 b’, ‘a 및 c’, ‘b 및 c’, 또는 ‘a,b,c 모두’를 포괄할 수 있다.The expression “at least one of a, b, and c” used throughout the specification means ‘a alone’, ‘b alone’, ‘c alone’, ‘a and b’, ‘a and c’, ‘b and c ', or 'all a, b, c'.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.The “terminal” mentioned below may be implemented as a computer or portable terminal that can connect to a server or other terminal through a network. Here, the computer includes, for example, a laptop, desktop, laptop, etc. equipped with a web browser, and the portable terminal is, for example, a wireless communication device that guarantees portability and mobility. , all types of communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), and LTE (Long Term Evolution), smartphones, tablet PCs, etc. It may include a handheld-based wireless communication device.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.Below, with reference to the attached drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily practice them. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, description of technical content that is well known in the technical field to which the present invention belongs and that is not directly related to the present invention will be omitted. This is to convey the gist of the present invention more clearly without obscuring it by omitting unnecessary explanation.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components are exaggerated, omitted, or schematically shown in the accompanying drawings. Additionally, the size of each component does not entirely reflect its actual size. In each drawing, identical or corresponding components are assigned the same reference numbers.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to provide common knowledge in the technical field to which the present invention pertains. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this time, it will be understood that each block of the processing flow diagram diagrams and combinations of the flow diagram diagrams can be performed by computer program instructions. These computer program instructions can be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flow chart block(s). It creates the means to perform functions. These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory The instructions stored in may also produce manufactured items containing instruction means that perform the functions described in the flow diagram block(s). Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in the flow diagram block(s).
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative execution examples it is possible for the functions mentioned in the blocks to occur out of order. For example, it is possible for two blocks shown in succession to be performed substantially at the same time, or it is possible for the blocks to be performed in reverse order depending on the corresponding function.
도 1은 다양한 실시 예에 따른 전자 장치가 데이터를 제공하는 방법이 구현될 수 있는 시스템을 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating a system in which a method of providing data by an electronic device can be implemented according to various embodiments.
도 1을 참조하면, 다양한 실시 예에 따른 시스템(10)은 다양한 종류의 장치들에 의해 구현될 수 있다. 예를 들어, 시스템(10)은 전자 장치(100) 및 디바이스(110)를 포함할 수 있다. 도1에 도시된 시스템(10)은 본 실시 예와 관련된 구성요소들만 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.Referring to FIG. 1,
전자 장치(100) 및 디바이스(110) 각각은 트랜시버, 스토리지 및 프로세서를 포함할 수 있다. 또한, 전자 장치(100) 및 디바이스(110) 각각은 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 한편 실시 예 전반에서 전자 장치(100) 및 디바이스(110) 각각은 분리된 장치 또는 서버로 언급되나 이는 논리적으로 나누어진 구조일 수 있으며, 이들 중 적어도 일부가 하나의 장치 또는 서버에서 분리된 기능에 의해 구현될 수 있다.Each of the
일 실시 예에 따르면, 전자 장치(100) 및 디바이스(110)는 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어를 포함할 수 있다. 예를 들면 전자 장치(100) 및 디바이스(110) 중 적어도 일부는 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고, 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어를 지칭할 수 있다. 이외에도, 전자 장치(100) 및 디바이스(110) 중 적어도 일부는 네트워크 서버 상에서 동작할 수 있는 일련의 응용 프로그램과, 내부 혹은 연결된 다른 노드에 구축되어 있는 각종 데이터베이스를 포함하는 광의의 개념으로 이해될 수 있다. 예컨대, 전자 장치(100) 및 디바이스(110) 중 적어도 일부는 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 또는 맥OS(MacOS) 등의 운영 체제에 따라 다양하게 제공되는 네트워크 서버 프로그램을 이용하여 구현될 수 있다.According to one embodiment, the
전자 장치(100) 및 디바이스(110)는 네트워크(미도시)를 통해서 서로 통신할 수 있다. 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.The
일 실시 예에 따르면, 전자 장치(100)는 디바이스(110)로부터 데이터 생성과 관련된 요청을 수신하고, 요청에 기반하여, 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 데이터 스키마를 확인하고, 데이터 스키마에 기반하여, 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성하고, 및 제1 데이터를 디바이스(110)에 제공할 수 있다.According to one embodiment, the
여기서, 전자 장치(100)는 데이터를 제공하기 위한 기기일 수 있다. 보다 상세하게는, 전자 장치(100)는 데이터를 생성하기 위한 API를 포함하는 것을 특징으로 할 수 있다. 전자 장치(100)는 디바이스(110)로부터 데이터 생성과 관련된 요청을 수신하면, 요청에 부합하는 데이터를 디바이스(110)에 제공할 수 있다. 본원에서, 데이터를 디바이스(110)에 제공하는 동작은 요청에 부합하는 복수의 데이터를 디바이스(110)에 제공하는 동작을 포함할 수 있다.Here, the
여기서, 디바이스(110)는 데이터 생성과 관련된 요청을 전송하는 기기일 수 있다. 보다 상세하게는, 개발자는 디바이스(110)에서 인터넷 환경에서의 각종 테스트를 수행할 수 있는 바, 디바이스(110)는 테스트 수행에 필요한 데이터 생성과 관련된 요청을 전자 장치(100)로 전송하는 것을 특징으로 할 수 있다.Here, the
하기에서 전자 장치(100)가 데이터를 제공하는 구체적인 실시 예는 도 2에서 자세히 살펴보기로 한다.Below, a specific embodiment in which the
도 2는 전자 장치가 데이터를 제공하는 방법을 나타낸 흐름도이다.Figure 2 is a flowchart showing how an electronic device provides data.
도 2를 참조하면, 전자 장치가 데이터를 제공하는 각 동작은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해되는 범위 내에서 일부 동작이 변경, 치환되거나 동작 간의 일부 순서가 변경될 수 있음은 자명하게 이해될 수 있다.Referring to FIG. 2, in each operation in which an electronic device provides data, some operations are changed or replaced, or some sequences between operations are changed within the range clearly understood by those skilled in the art to which the present invention pertains. It can be clearly understood that it can be done.
단계 S210에서, 전자 장치는 디바이스로부터 데이터 생성과 관련된 요청을 수신할 수 있다.In step S210, the electronic device may receive a request related to data generation from the device.
단계 S220에서, 전자 장치는 요청에 기반하여 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 데이터 스키마를 확인할 수 있다.In step S220, the electronic device may confirm a data schema including a plurality of data fields and a plurality of value types corresponding to the plurality of data fields based on the request.
단계 S230에서, 전자 장치는 데이터 스키마에 기반하여 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성할 수 있다.In step S230, the electronic device may generate first data including a plurality of first values corresponding to a plurality of value types based on the data schema.
전자 장치는 다양한 실시 예에 따른 방법으로 데이터 스키마에 기반하여 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성할 수 있다.The electronic device may generate first data including a plurality of first values corresponding to a plurality of value types based on a data schema using a method according to various embodiments.
1) 일 실시 예에 따르면, 데이터 생성과 관련된 요청은 데이터 생성을 위한 샘플 데이터인 제2 데이터를 포함할 수 있다. 보다 상세하게는, 디바이스(110)는 데이터 생성과 관련된 요청을 전송하기 전에, 데이터 생성을 위한 샘플 데이터인 제2 데이터를 입력하기 위한 인터페이스를 디바이스(110)에 제공할 수 있다. 또는, 디바이스(110)는 데이터 생성과 관련된 요청을 전송할 때, 데이터 생성의 샘플 데이터인 제2 데이터를 함께 전송하도록 동작할 수 있다. 여기서, 제2 데이터는 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 제2 벨류를 포함하는 것을 특징으로 할 수 있다.1) According to one embodiment, a request related to data generation may include second data that is sample data for data generation. More specifically, the
이때, 전자 장치(100)는 데이터 생성과 관련된 요청에 포함되는 제2 데이터를 설정된 규칙에 기초하여 처리함에 따라 복수의 벨류 타입을 확인할 수 있다. 보다 상세하게는, 전자 장치(100)는 복수의 제2 벨류를 설정된 규칙에 기반하여 처리함으로써, 복수의 제2 벨류 각각의 벨류 타입을 식별할 수 있다. 예를 들어, 1) 벨류가 '1'이면 '1'의 벨류 타입은 'integer'일 수 있고, 2) 벨류가 '111.11'이면, '111.11'의 벨류 타입은 'float'일 수 있고, 3) 벨류가 'coupang'이면, 'couang'의 벨류 타입은 'string'일 수 있다. At this time, the
즉, 전자 장치(100)는 설정된 규칙에 기반하여 복수의 벨류 타입을 확인할 수 있고, 이에 따라 복수의 벨류 타입 및 복수의 데이터 필드를 포함하는 데이터 스키마를 확인할 수 있다. 다만, 전자 장치(100)는 복수의 제2 벨류를 설정된 규칙에 기반하여 처리할 때, 복수의 제2 벨류 중 적어도 일부의 벨류 타입에 오류가 생길 우려가 있다. 이에 따라, 전자 장치(100)는 데이터 스키마를 디바이스(110)에 제공하고, 디바이스(110)로부터 복수의 벨류 타입과 관련된 수정 입력을 수신할 수 있다. 보다 상세하게는, 전자 장치(100)는 디바이스(110) 상의 인터페이스를 통해, 복수의 벨류 타입과 관련된 수정 입력을 수신할 수 있다. 예를 들어, 벨류가 '1'인 벨류의 벨류 타입이 'integer'일 때, 복수의 벨류 타입과 관련된 수정 입력은 벨류가 '1'인 벨류의 벨류 타입을 'integer'에서 'float'으로 변경하는 입력을 포함할 수 있다. 디바이스(110)로부터 복수의 벨류 타입과 관련된 수정 입력을 수신함에 따라, 전자 장치(100)는 변경된 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성할 수 있다.That is, the
전자 장치(100)는 데이터 스키마에 기반하여 확인된 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성할 수 있다. 예를 들어, 전자 장치(100)는 데이터 스키마의 형식을 만족하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성할 수 있다. 보다 상세하게는, 전자 장치(100)는 복수의 데이터 필드의 설정된 범위 내의 벨류 중 하나를 복수의 제1 벨류로 임의로 결정할 수 있다. 예를 들어, 1) 벨류 타입이 'integer' 또는 'float'인 데이터 필드의 설정된 범위는 Max와 Min을 포함할 수 있다. 보다 상세하게는, 'float'인 데이터 필드의 설정된 범위는 소수점 자리의 개수에 대한 정보를 포함할 수 있다. 즉, 설정된 범위가 Max와 Min을 포함할 때, 벨류 타입이 'integer' 또는 'float'인 데이터 필드의 벨류는 Max와 Min 사이의 값 중 하나인 겄을 특징으로 할 수 있다. 2) 벨류 타입이 'string'인 데이터 필드의 설정된 범위는 문자열의 자릿수에 대한 정보를 포함할 수 있다. 따라서, 벨류 타입이 'string'인 데이터 필드의 벨류는 설정된 자릿수의 문자열인 것을 특징으로 할 수 있다.The
2) 일 실시 예에 따르면, 요청은 대상 API에 대한 정보를 포함할 수 있다. 여기서, 대상 API는 복수 개의 API 중 테스트의 대상이 되는 API이고, 및 정보는 대상 API를 호출하기 위한 경로 정보를 포함할 수 있다.2) According to one embodiment, the request may include information about the target API. Here, the target API is an API that is the target of testing among a plurality of APIs, and the information may include path information for calling the target API.
전자 장치(100)는 대상 API에 대한 정보에 기반하여 복수 개의 API 중 테스트의 대상이 되는 대상 API를 식별할 수 있다. 이에 따라, 전자 장치는 대상 API와 관련된 데이터 스키마를 대상 API에 요청할 수 있다. 요청은 대상 API의 리퀘스트에 대한 요청인지 또는 대상 APU의 리스펀스에 대한 요청인지에 대한 정보를 포함할 수 있다. 이에 따라, 전자 장치(100)는 대상 API로부터 데이터 스키마가 포함되는 응답을 수신할 수 있다. 전자 장치(100)는 대상 API로부터 데이터 스키마를 직접 수신할 수 있는 바, 대상 API로부터 수신한 데이터 스키마는 대상 API의 리퀘스트 또는 리스펀스와 동일한 구조일수 있다. 즉, 대상 API로부터 수신한 데이터 스키마는 대상 API와 관련된 테스트를 수행하기 위한 데이터 형식을 만족하는 것을 특징으로 할 수 있다.The
데이터 스키마가 대상 API의 리퀘스트와 관련된 데이터 스키마인 경우, 제1 데이터는 리퀘스트와 동일한 데이터 구조를 가지는 데이터인 것을 특징으로 할 수 있다. 반대로, 데이터 스키마가 대상 API의 리스펀스와 관련된 데이터 스키마인 경우, 제1 데이터는 리스펀스와 동일한 데이터 구조를 가지는 데이터인 것을 특징으로 할 수 있다. 또한, 생성되는 제1 데이터는 데이터 스키마의 형식을 만족하는 복수의 제1 벨류를 포함하고, 복수의 제1 벨류는 복수의 벨류 타입에 대응하는 벨류 중 하나의 벨류로 임의로 결정되는 것을 특징으로 할 수 있다.When the data schema is a data schema related to a request of the target API, the first data may be characterized as data having the same data structure as the request. Conversely, when the data schema is a data schema related to the response of the target API, the first data may be characterized as data having the same data structure as the response. In addition, the generated first data may include a plurality of first values that satisfy the format of the data schema, and the plurality of first values may be randomly determined to be one value among values corresponding to the plurality of value types. You can.
복수의 벨류 타입은 상기 복수의 데이터 필드에 대응하는 벨류가 스태틱 벨류인지 또는 다이나믹 벨류인지에 대한 정보를 더 포함할 수 있다. 1) 벨류가 스태틱 벨류이면, 벨류는 설정된 규칙에 의해 임의의 값으로 결정되는 것이 아닌, 고정된 값을 가지는 것을 특징으로 할 수 있다. 2) 또한, 벨류가 다이나믹 벨류이면, 벨류는 설정된 규칙에 의해 임의로 결정되는 것을 특징으로 할 수 있다. 또한, 복수의 데이 필드의 벨류는 디폴트로 다이나믹 벨류인 것으로 설정되어 있을 수 있다. 이와 관련하여, 앞서 살펴본 복수의 벨류 타입과 관련된 수정 입력은 일부 벨류의 벨류 타입을 다이나믹 벨류에서 스태틱 벨류로 변경하는 입력일 수 있다.The plurality of value types may further include information about whether the value corresponding to the plurality of data fields is a static value or a dynamic value. 1) If the value is a static value, the value may be characterized as having a fixed value rather than being determined as an arbitrary value according to a set rule. 2) Additionally, if the value is a dynamic value, the value may be randomly determined according to a set rule. Additionally, the values of a plurality of day fields may be set to dynamic values by default. In this regard, the correction input related to the plurality of value types discussed above may be an input that changes the value type of some values from dynamic value to static value.
정보를 제공하는 방법은 앞서 살펴본 1)의 실시 예 및 2의 실시 예에 한정되는 것은 아니다. 예를 들어, 정보를 제공하는 방법은 도 6과 같이 Script를 이용하여 정보를 제공할 수 있다. 이에 대한 구체적인 실시 예는 도 6에서 자세히 살펴보기로 한다.The method of providing information is not limited to the examples 1) and 2 discussed above. For example, information can be provided using a script as shown in FIG. 6. A specific example of this will be examined in detail in FIG. 6.
단계 S240에서, 전자 장치는 제1 데이터를 디바이스에 제공할 수 있다.In step S240, the electronic device may provide first data to the device.
전자 장치는 요청에 대응하는 데이터 스키마의 형식을 만족하는 제1 데이터를 디바이스(110)에 제공할 수 있다. 다만, 단계 S210에서의 요청은 하나의 데이터 생성과 관련된 요청에 한정되는 것은 아니다. 예를 들어, 요청은 복수의 데이터 생성과 관련된 요청일 수 있다. 이때, 제1 데이터는 복수의 제1 데이터일 수 있다. 보다 상세하게는, 전자 장치는 유사한 프로세스에 의해 생성된 복수의 제1 데이터를 디바이스(110)에 제공할 수 있다. 즉, 전자 장치(100)는 데이터 스키마에 대응하여, 동일한 데이터 구조를 가지는 복수 개의 데이터를 대량으로 생성함으로써, API 테스트를 포함하는 테스트에 많은 데이터를 활용하게 하는 것을 가능하게 할 수 있다.The electronic device may provide the
도 3은 전자 장치가 데이터 스키마를 확인하고, 데이터 스키마에 기반하여 복수의 제1 벨류를 포함하는 제1 데이터를 생성하는 방법을 설명하기 위한 도면이다.FIG. 3 is a diagram illustrating a method by which an electronic device verifies a data schema and generates first data including a plurality of first values based on the data schema.
도 3을 참조하면, 도 3은 데이터 생성과 관련된 인터페이스(300)를 도시하고 있다. 예를 들어, 데이터 생성과 관련된 요청의 Domain(301)은 'Eats Customer' 일 수 있고, 요청의 Data Title(302)은 'Test Data Generate Version 1' 일 수 있고, 요청의 Data Code(303)는 'TEST_DATA_GENERATE' 일 수 있고, 요청에 대한 설명인 Desc(304)은 'Version 1' 일 수 있다. 또한, 요청의 Data Type(305)은 'By Json Schema' 일 수 있다. 다만, 'By Json Schema'는 데이터 형식의 일 실시 예일뿐, 생성되는 데이터는 Json 형식에 한정되지 않을 수 있다. 예를 들어, 전자 장치(100)에 의해 생성되는 데이터는 Python 형식의 데이터일 수 있다.Referring to FIG. 3, FIG. 3 illustrates an
디바이스(110)의 사용자는 제1 인터페이스(310)에 샘플 데이터인 제2 데이터를 입력할 수 있다. 도 3을 참조하면, 입력된 제2 데이터는 Easts Customer와 관련된 데이터로, 제2 데이터의 복수의 필드는 shopName, dish, dishName, sellPrice, option을 포함할 수 있다. 또한, 복수의 필드에 대응하는 복수의 제2 벨류는 vvhup6xnc1g925, un80rezkpje8x1, 6245.33, zqr, 5429tfhozmt0ph2qs, vi를 포함할 수 있다. 보다 상세하게는, 복수의 필드 중 적어도 일부는 벨류가 복수 개인 것을 특징으로 할 수 있다. 예를 들어, 필드 option에 대응하는 벨류는 zqr, 5429tfhozmt0ph2qs, vi를 포함할 수 있다.The user of the
인터페이스(300)의 아이콘(320)을 통한 사용자 입력에 대응하여, 전자 장치(100)는 제2 데이터를 설정된 규칙에 기초하여 처리하여 데이터 스키마를 확인할 수 있다. 제2 인터페이스(330)는 데이터 스키마를 포함할 수 있다. 예를 들어, 데이터 스키마는 생성된 데이터 스키마가 draft-07 버전의 데이터 스키마라는 정보 및 데이터 타입이 object라는 정보를 포함할 수 있다.In response to a user input through the
또한, 전자 장치(100)는 데이터 생성과 관련된 요청에 포함되는 제2 데이터를 설정된 규칙에 기초하여 처리함에 따라 복수의 벨류 타입을 확인할 수 있다. 예를 들어, Property 중 shopName에 대응하는 벨류 타입은 string일 수 있고, Property 중 dishName에 대응하는 벨류 타입은 string일 수 있고, Property 중 sellPrice에 대응하는 벨류 타입은 float일 수 있다. 또한, 도시되지는 않았지만, Property 중 option에 대응하는 벨류 타입은 [string, string, string]일 수 있다. 즉, dishName에 대응되는 제1 벨류의 벨류 타입은 string으로 규정될 수 있고, sellPrice 대응되는 제1 벨류의 벨류 타입은 float으로 규정될 수 있다.Additionally, the
또한, 전자 장치(100)는 제2 인터페이스(330)를 통해 복수의 벨류 타입과 관련된 수정 입력을 수신할 수 있다. 비즈니스 요구 사항이 만족되도록, 디바이스(110)의 사용자는 복수의 벨류 타입 중 일부를 메뉴얼하게 수정할 필요가 있을 수 있다. 예를 들어, SellPrice의 벨류는 더 많은 소수점까지 표현되도록 'float'에서 'double'로 수정되는 것이 필요할 수 있다. 이에 따라, 디바이스(110)의 사용자는 제2 인터페이스(330)를 통해 SellPrice의 벨류 타입을 float'에서 'double'로 변경할 수 있고, 전자 장치(100)는 변경된 복수의 벨류 타입을 포함하는 데이터 스키마를 확인할 수 있다Additionally, the
또한, 전자 장치(100)는 데이터 스키마 저장 관련 아이콘(332)을 통한 사용자 입력에 대응하여 데이터 스키마를 저장할 수 있다. 여기서, 데이터 스키마는 일 실시 예에 따라 변경된 복수의 벨류 타입을 포함하는 데이터 스키마일 수 있다. 즉, 디바이스(110)의 사용자는 복수의 데이터 필드를 가지는 데이터 스키마를 사용자화할 수 있고, 이후에 전자 장치(100)가 디바이스(110)로부터 유사한 요청을 수신할 때, 저장된 복수의 벨류 타입을 포함하는 데이터 스키마를 재사용할 수 있다. 예를 들어, 전자 장치(100)는 디바이스(110)로부터 데이터 생성과 관련된 제1 요청을 수신하고, 제1 요청에 대응하는 제1 복수의 데이터 필드를 앞에서 논의된 복수의 데이터 필드로 확인할 수 있다. 이때, 제1 복수의 데이터 필드에 대응하는 복수의 벨류 타입은 저장된 데이트 스키마에 대응하는 복수의 벨류 타입일 수 있다. 특히, 제1 복수의 데이터 필드에 대응하는 복수의 벨류 타입은 변경된 복수의 벨류 타입일 수 있다.Additionally, the
다만, 디바이스(110)의 사용자만이 저장된 복수의 벨류 타입을 포함하는 데이터 스키마를 이용할 수 있는 것은 아니다. 예를 들어, 다른 단말의 사용자는 Data Code(303)인 'TEST_DATA_GENERATE' 를 입력함에 따라, 디바이스(110)의 사용자가 저장한 데이터 스키마를 이용할 수 있다. 본원에서, Data Code는 데이터 스키마를 식별하기 위한 문자열일 수 있다.However, not only the user of the
일 실시 예에 따르면, 전자 장치(100)는 실행 관련 아이콘(331)을 통한 사용자 입력에 대응하여 데이터 스키마에 따른 형식을 만족하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성할 수 있다.According to one embodiment, the
도 4는 요청이 대상 API에 대한 정보를 포함할 때, 데이터를 생성하는 방법을 설명하기 위한 도면이다.Figure 4 is a diagram to explain a method of generating data when a request includes information about the target API.
도 4를 참조하면, 도 4는 대상 API에 대한 정보와 관련된 페이지(400)를 도시하고 있다. 예를 들어, 페이지(400)는 대상 API의 경로에 대한 정보인 '/api/v1/blacklist/{level}/track'(410) 및 파라미터에 대한 정보인 Parameters(420)를 포함할 수 있다. Parameters(420)는 복수의 데이터 필드 및 복수의 벨류 타입을 포함할 수 있다.Referring to FIG. 4, FIG. 4 shows a
대상 API는 대상 API의 데이터 스키마와 관련된 요청을 수신함에 따라, 전자 장치(100)로 대상 API의 데이터 스키마에 대한 정보를 전송할 수 있다. 보다 상세하게는, 대상 API는 리퀘스트에 포함되는 복수의 데이터 필드 및 복수의 벨류 타입에 대한 정보를 전자 장치(100)로 전송할 수 있다. 도 4를 참조하면, 복수의 데이터 필드는 level, reason, starDate, endDate, page, size, objectiveIds를 포함할 수 있고, 복수의 데이터 필드에 대응하는 복수의 벨류 타입은 String, String, String(date-time), S tring(date-time), Integer, Integer, []를 포함할 수 있다.As the target API receives a request related to the data schema of the target API, information about the data schema of the target API may be transmitted to the
다만, 리퀘스트에 포함되는 복수의 데이터 필드 및 복수의 벨류 타입에 대한 정보에 한정되는 것은 아니고, 대상 API는 리스펀스에 포함되는 복수의 데이터 필드 및 복수의 벨류 타입에 대한 정보를 포함하는 응답을 전자 장치(100)에 전송할 수 있다.However, it is not limited to information about a plurality of data fields and a plurality of value types included in the request, and the target API sends a response containing information about a plurality of data fields and a plurality of value types included in the response to the electronic device. It can be sent to (100).
도 5는 대상 API와 관련된 리퀘스트 데이터를 생성하고, 대상 API에 대한 테스트를 수행하는 방법을 설명하기 위한 도면이다.Figure 5 is a diagram for explaining a method of generating request data related to a target API and performing a test on the target API.
도 5는 도 4에서 살펴본 방법에 따라, 전자 장치(100)가 대상 API로부터 획득한 데이터 스키마에 기반하여, 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성할 수 있다.FIG. 5 shows that according to the method discussed in FIG. 4, the
여기서, 제1 데이터는 대상 API의 리퀘스트와 동일한 데이터 구조를 가지는 것을 특징으로 할 수 있다. 도 5를 참조하면, 제1 데이터는 타이틀이 'displayv4'인 리퀘스트로, 데이터 경로에 대한 정보인 "/api/v1/checkout/display"(510)와 복수의 데이터 필드 및 복수의 제1 벨류에 대한 정보를 포함할 수 있다.Here, the first data may be characterized as having the same data structure as the request of the target API. Referring to FIG. 5, the first data is a request with the title 'displayv4', which includes "/api/v1/checkout/display" (510), which is information about the data path, a plurality of data fields, and a plurality of first values. It may contain information about
도 5를 참조하면, 리퀘스트의 CData Region(520)은 복수의 데이터 필드 및 복수의 제1 벨류에 대한 정보를 포함할 수 있다. 예를 들어, 복수의 데이터 필드는 couponId, description, discountPrice, discountType, userPromotionId 등을 포함할 수 있다. 또한, 복수의 제1 벨류는 8878.0, h2g8us99te27, 2482.26, 8d5p9rnemyflu, 3163.0을 포함할 수 있다. 살펴본 바와 같이, 복수의 제1 벨류는 복수의 벨류 타입에 대응하는 벨류 중 하나의 벨류로 임의로 결정되는 것을 특징으로 할 수 있다. 예를 들어, discountPrice의 벨류 타입은 소수점 둘째자리까지 표현되는 float 타입일 수 있는 바, 데이터 필드 중 discountPrice에 대응하는 벨류는 2482.26로 결정될 수 있다.Referring to FIG. 5, the
관련하여, 디바이스(110)는 대상 API의 리퀘스트와 동일한 구조의 제1 데이터를 수신할 수 있다. 또한, 디바이스(110)는 대상 API로 제1 데이터를 전송하고, 대상 API로부터 제1 데이터에 대응하는 리스펀스를 수신할 수 있다. 즉, 디바이스(110)는 전자 장치(100)에서 생성된 데이터에 기반하여, 대상 API와 관련된 테스트를 수행할 수 있다.In relation to this, the
도 6은 데이터를 생성하는 실시 예를 설명하기 위한 도면이다.Figure 6 is a diagram for explaining an embodiment of generating data.
도 6을 참조하면, 도 6은 데이터 타입이'By Script'일 때, 데이터 생성과 관련된 인터페이스(600)를 도시하고 있다. 예를 들어, Data Type(610)은 'By Script'일 수 있다. 디바이스(110)의 사용자는 생성하고자 하는 데이터의 형식에 맞는 Script ID를 확인할 수 있고, Data Content(620)에 Script ID를 입력할 수 있다. 보다 상세하게는, 사전에 설정된 복수의 Script는 전자 장치(100) 또는 서버에 저장되어 있을 수 있다. 이에 따라, Script ID와 관련된 사용자 입력을 수신함에 따라, 전자 장치(100)는 Script ID에 대응하는 데이터 스키마를 식별할 수 있다.Referring to FIG. 6, FIG. 6 shows an
전자 장치(100)는 데이터 스키마에 포함되는 복수의 데이터 필드가 확인될 수 있다. 관련하여, Arguments(630)은 Script ID에 대응하는 복수의 데이터 필드인 shopName과 dishId를 포함할 수 있다. 또한, 전자 장치(100)는 복수의 데이터 필드에 대응하는 복수의 제1 벨류를 임의로 결정할 수 있다. 도 6을 참조하면, shopName에 대응하는 제1 벨류는 test shop일 수 있고, dishId에 대응하는 제1 벨류는 123123일 수 있다. 관련하여, 전자 장치(100)는 실행 관련 아이콘(650)을 통한 사용자 입력에 대응하여, 복수의 데이터 필드 및 대응하는 복수의 제1 벨류를 결정할 수 있다.The
다만, 복수의 데이터 필드의 타이틀 및 복수의 제1 벨류는 인터페이스(600)를 통해 수정 가능할 수 있다. 예를 들어, 디바이스(110)의 사용자가 인터페이스(600)를 통해 dishId의 벨류인 123123을 12341234로 수정할 수 있고, dishId의 벨류는 123123에서 12341234로 변경될 수 있다. However, the titles of the plurality of data fields and the plurality of first values may be modified through the
또한, 인터페이스(600)는 데이터 필드를 추가하거나 삭제하기 위한 아이콘(640)을 포함할 수 있다. 예를 들어, dishId에 대응하는 삭제 아이콘을 클릭함에 대응하여, 전자 장치(100)는 인터페이스(600) 상의 dishId 및 dish ID에 대응하는 제1 벨류를 삭제할 수 있다. 또는, 데이터 필드를 추가하는 아이콘을 클릭함에 대응하여, 전자 장치(100)는 인터페이스(600) 상에 데이터 필드 및 벨류를 입력할 수 있는 칸을 제공할 수 있다. 도 6에서, 최종 복수의 데이터 필드 및 대응하는 복수의 제1 벨류는 데이터 필드와 관련된 수정 또는 추가 프로세스에 따른 최종적인 데이터 필드 및 벨류를 지칭할 수 있다.Additionally, the
복수의 데이터 필드 및 복수의 제1 벨류의 수정, 추가 등의 프로세스가 완료되면, 전자 장치(100)는 최종 복수의 데이터 필드 및 대응하는 복수의 제1 벨류를 저장할 수 있다. 보다 상세하게는, 전자 장치(100)는 저장 관련 아이콘(660)을 통한 사용자 입력에 대응하여, 최종 복수의 데이터 필드 및 대응하는 복수의 제1 벨류를 저장할 수 있다. 즉, 이후에 Script Id를 재 입력하게 되면, 전자 장치(100)는 최종 복수의 데이터 필드를 빠르게 확인할 수 있다.When the process of modifying or adding the plurality of data fields and the plurality of first values is completed, the
도 7a는 데이터 생성과 관련된 소스 코드를 설명하기 위한 도면이다.Figure 7a is a diagram for explaining source code related to data generation.
도 7b는 도 7a에 따른 소스 코드에 기반하여 생성된 데이터를 설명하기 위한 도면이다.FIG. 7B is a diagram for explaining data generated based on the source code according to FIG. 7A.
도 7a를 참조하면, 소스 코드(700)는 대상 API를 호출하기 위한 경로 정보인 "path":"/data/generate"(710)를 포함할 수 있다. 또한, 소스 코드(700)는 대상 API를 식별하기 위한 정보인 "datacode":"1231231"(720)를 포함할 수 있다. 즉, 전자 장치(100)는 소스 코드(700)에 대응하는 대상 API로부터 데이터 스키마를 식별할 수 있다.Referring to FIG. 7A, the
도 7b를 참조하면, 생성된 데이터와 관련된 결과 페이지(750)는 전자 장치(100)가 소스 코드(700)에 기반하여 생성한 데이터를 도시하고 있다. 예를 들어, 페이지(750)의 "path":"/data/generate"(751)은 소스 코드(700)의 "path":"/data/generate"(710)에 대응되고, 페이지(750)의 "datacode":"1231231"(752)은 소스 코드(700)의 "datacode":"1231231" (720)에 대응될 수 있다. 또한, 페이지(750)의 data(760)는 shopName, dishName, sellPrice, option 와 같은 복수의 데이터 필드를 포함할 수 있다. 또한, 복수의 데이터 필드에 대응하는 복수의 제1 벨류는 전자 장치(100)에 의해 임의로 결정된 벨류일 수 있다.Referring to FIG. 7B, a
도 8은 일 실시 예에 따른 데이터를 제공하기 위한 전자 장치를 도식화한 블록도이다.Figure 8 is a block diagram illustrating an electronic device for providing data according to an embodiment.
도 8의 전자 장치(800)는 본원 명세서의 전자 장치(100)에 대응될 수 있다.The
본 개시의 전자 장치(800)는 일 실시 예에 따라, 트랜시버(810), 스토리지(820) 및 프로세서(830)를 포함할 수 있다. 도 8에 도시된 구성요소들은 전자 장치를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 전자 장치(800)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 한편 실시 예에서 프로세서(830)는 적어도 하나의 프로세서를 포함할 수 있다.According to one embodiment, the
트랜시버(810)는 유무선 통신 기술을 이용하여 외부의 장치와 통신할 수 있으며 트랜시버(810)를 포함할 수 있다. 외부의 장치는 클라이언트 장치, 단말, 오픈소스 플랫폼 또는 서버가 될 수 있다. 예를 들어, 외부의 장치는 디바이스(110)를 포함할 수 있다. 또한, 트랜시버(810)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있을 수 있으며, 이에 한정되는 것은 아니다.The
일 실시 예에 따라, 트랜시버(810)는 디바이스(110)로부터 데이터 생성과 관련된 요청을 수신할 수 있다. 또한, 트랜시버(810)는 생서된 제1 데이터를 디바이스(110)로 제공할 수 있다. 뿐만 아니라, 트랜시버(810)는 대상 API와 관련된 데이터 스키마를 대상 API에 전송할 수 있고, 대상 API로부터 데이터 스키마를 포함하는 응답을 수신할 수 있다.According to one embodiment, the
스토리지(820)는 도 1 내지 도 8를 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보를 저장할 수 있다. 스토리지(820)는 메모리로 호칭될 수 있고, 휘발성 메모리 또는 비휘발성 메모리일 수 있다. 또한, 스토리지(820)는 프로세서(830)의 동작을 수행하는데 필요한 하나 이상의 명령어를 저장할 수 있고, 플랫폼 상에 저장되거나 외부 메모리에 저장되는 데이터를 임시적으로 저장할 수 있다. 예를 들어, 스토리지(820)는 벨류 타입을 만족시키는 벨류를 생성하기 위한 설정된 규칙을 저장할 수 있다.The
프로세서(830)는 전자 장치(800)의 전반적인 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 프로세서(830)는 도 1 내지 도 8를 통하여 전술한 하나의 방법을 수행할 수 있다. 프로세서(830)는 트랜시버(810) 및 스토리지(820)와, 나아가 전자 장치(800)가 더 포함할 수 있는 구성요소들과의 상호 작용을 통해 전자 장치(800)가 수행하는 실시 예들을 제어할 수 있다. 일 실시 예에 따라, 프로세서(830)는 디바이스(110)로부터 데이터 생성과 관련된 요청을 수신하고, 요청에 기반하여, 복수의 데이터 필드 및 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 데이터 스키마를 확인하고, 데이터 스키마에 기반하여, 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성하고, 및 제1 데이터를 디바이스(110)에 제공할 수 있다.The
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.Meanwhile, the specification and drawings disclose preferred embodiments of the present invention, and although specific terms are used, these are merely used in a general sense to easily explain the technical content of the present invention and aid understanding of the present invention. It is not intended to limit the scope of the invention. In addition to the embodiments disclosed herein, it is obvious to those skilled in the art that other modifications based on the technical idea of the present invention can be implemented.
전술한 실시 예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 아이콘 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다. The electronic device or terminal according to the above-described embodiments includes a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, and a key. , user interface devices such as icons, etc. Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor. Here, computer-readable recording media include magnetic storage media (e.g., ROM (read-only memory), RAM (random-access memory), floppy disk, hard disk, etc.) and optical read media (e.g., CD-ROM). ), DVD (Digital Versatile Disc), etc. The computer-readable recording medium is distributed among computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner. The media may be readable by a computer, stored in memory, and executed by a processor.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler), 파이썬(Python) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.This embodiment can be represented by functional block configurations and various processing steps. These functional blocks may be implemented in various numbers of hardware or/and software configurations that execute specific functions. For example, embodiments include integrated circuit configurations such as memory, processing, logic, look-up tables, etc. that can execute various functions under the control of one or more microprocessors or other control devices. can be hired. Similar to how the components can be implemented as software programming or software elements, the present embodiments include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java, assembler, Python, etc. Functional aspects may be implemented as algorithms running on one or more processors. Additionally, this embodiment may employ conventional technologies for electronic environment settings, signal processing, and/or data processing. Terms such as “mechanism,” “element,” “means,” and “composition” can be used broadly and are not limited to mechanical and physical components. The term may include the meaning of a series of software routines in connection with a processor, etc.
전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.The above-described embodiments are merely examples and other embodiments may be implemented within the scope of the claims described below.
Claims (12)
디바이스로부터, 테스트의 대상이 되는 대상 API와 관련된 데이터 생성에 대한 요청을 수신하는 단계;
상기 요청에 기반하여, 상기 대상 API와 관련된 데이터 스키마를 상기 대상 API에 요청하는 단계;
상기 대상 API로부터, 복수의 데이터 필드 및 상기 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 상기 데이터 스키마를 포함하는 응답을 수신하는 단계;
상기 데이터 스키마에 기반하여, 상기 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성하는 단계; 및
상기 제1 데이터를 상기 대상 API에 대한 상기 테스트를 수행할 상기 디바이스에 제공하는 단계를 포함하는, 데이터를 제공하는 방법.
In a method of providing data from an electronic device,
Receiving, from a device, a request for generating data related to a target API to be tested;
Based on the request, requesting a data schema related to the target API to the target API;
Receiving, from the target API, a response including the data schema including a plurality of data fields and a plurality of value types corresponding to the plurality of data fields;
Based on the data schema, generating first data including a plurality of first values corresponding to the plurality of value types; and
A method of providing data, comprising providing the first data to the device that will perform the test for the target API.
상기 요청은 데이터 생성을 위한 샘플 데이터인 제2 데이터를 더 포함하고, 및
상기 제2 데이터는 상기 복수의 데이터 필드 및 상기 복수의 데이터 필드에 대응하는 복수의 제2 벨류를 포함하는 것을 특징으로 하는 데이터를 제공하는 방법.
According to claim 1,
The request further includes second data that is sample data for data generation, and
The method of providing data, wherein the second data includes the plurality of data fields and a plurality of second values corresponding to the plurality of data fields.
상기 복수의 벨류 타입은 상기 복수의 제2 벨류를 설정된 규칙에 기초하여 처리함에 따라 결정되는 것을 특징으로 하는 데이터를 제공하는 방법.
According to clause 2,
A method of providing data, wherein the plurality of value types are determined by processing the plurality of second values based on a set rule.
상기 데이터 스키마를 상기 디바이스에 제공하는 단계; 및
상기 디바이스로부터 상기 복수의 벨류 타입과 관련된 수정 입력을 수신함에 따라 상기 복수의 벨류 타입 중 적어도 일부를 변경하는 단계를 더 포함하고,
상기 제1 데이터를 생성하는 단계는,
상기 변경된 복수의 벨류 타입에 대응하는 상기 복수의 제1 벨류를 포함하는 제1 데이터를 생성하는 단계를 포함하는 데이터를 제공하는 방법.
According to paragraph 2,
providing the data schema to the device; and
Further comprising changing at least some of the plurality of value types upon receiving a modification input related to the plurality of value types from the device,
The step of generating the first data is,
A method of providing data comprising generating first data including the plurality of first values corresponding to the changed plurality of value types.
상기 데이터 스키마가 상기 대상 API의 리퀘스트와 관련된 데이터 스키마인 경우, 상기 제1 데이터는 상기 리퀘스트와 동일한 데이터 구조를 가지는 데이터인 것을 특징으로 하는 데이터를 제공하는 방법.
According to claim 1,
When the data schema is a data schema related to a request of the target API, the first data is data having the same data structure as the request.
상기 데이터 스키마가 상기 대상 API의 리스펀스와 관련된 데이터 스키마인 경우, 상기 제1 데이터는 상기 리스펀스와 동일한 데이터 구조를 가지는 데이터인 것을 특징으로 하는 데이터를 제공하는 방법.
According to claim 1,
When the data schema is a data schema related to a response of the target API, the first data is data having the same data structure as the response.
상기 디바이스로부터 데이터 생성과 관련된 제1 요청을 수신하고, 상기 제1 요청에 대응하는 제1 복수의 데이터 필드가 상기 복수의 데이터 필드로 확인될 때, 상기 제1 복수의 데이터 필드에 대응하는 복수의 벨류 타입은 상기 변경된 복수의 벨류 타입으로 결정되는 것을 특징으로 하는 데이터를 제공하는 방법.
According to clause 4,
Upon receiving a first request related to data generation from the device, and when a first plurality of data fields corresponding to the first request are identified as the plurality of data fields, a plurality of data fields corresponding to the first plurality of data fields are received. A method of providing data, wherein the value type is determined by the plurality of changed value types.
상기 복수의 제1 벨류 각각은 설정된 범위 내에서 벨류 타입에 대응하는 벨류 중 하나로 결정되는 것인 데이터를 제공하는 방법.
According to claim 1,
A method of providing data, wherein each of the plurality of first values is determined to be one of the values corresponding to the value type within a set range.
상기 복수의 벨류 타입은 상기 복수의 데이터 필드에 대응하는 벨류가 스태틱 벨류인지 또는 다이나믹 벨류인지에 대한 정보를 더 포함하는 것을 특징으로 하는 데이터를 제공하는 방법.
According to claim 1,
The method of providing data, wherein the plurality of value types further include information about whether the value corresponding to the plurality of data fields is a static value or a dynamic value.
상기 대상 API는 복수 개의 API 중 테스트의 대상이 되는 API이고, 및
상기 요청은 상기 대상 API를 호출하기 위한 경로 정보를 포함하는 것을 특징으로 하는 데이터를 제공하는 방법.
According to claim 1,
The target API is an API that is the subject of testing among a plurality of APIs, and
A method of providing data, wherein the request includes path information for calling the target API.
트랜시버;
프로세서;
상기 프로세서에 의해 실행되는 하나 이상의 명령어를 저장하는 스토리지를 포함하고,
상기 프로세서는, 상기 하나 이상의 명령어를 실행함으로써,
디바이스로부터, 테스트의 대상이 되는 대상 API와 관련된 데이터 생성에 대한 요청을 수신하고,
상기 요청에 기반하여, 상기 대상 API와 관련된 데이터 스키마를 상기 대상 API에 요청하고,
상기 대상 API로부터, 복수의 데이터 필드 및 상기 복수의 데이터 필드에 대응하는 복수의 벨류 타입을 포함하는 상기 데이터 스키마를 포함하는 응답을 수신하고, 및
상기 데이터 스키마에 기반하여, 상기 복수의 벨류 타입에 대응하는 복수의 제1 벨류를 포함하는 제1 데이터를 생성하고, 및
상기 제1 데이터를 상기 대상 API에 대한 상기 테스트를 수행할 상기 디바이스에 제공하는, 데이터를 제공하기 위한 전자 장치.
An electronic device for providing data, comprising:
transceiver;
processor;
Comprising storage for storing one or more instructions executed by the processor,
The processor, by executing the one or more instructions,
Receiving a request from the device to generate data related to the target API that is the subject of testing,
Based on the request, request a data schema related to the target API to the target API,
Receive, from the target API, a response including the data schema including a plurality of data fields and a plurality of value types corresponding to the plurality of data fields, and
Based on the data schema, generate first data including a plurality of first values corresponding to the plurality of value types, and
An electronic device for providing data, providing the first data to the device that will perform the test for the target API.
A non-transitory computer-readable recording medium that records a program for executing the method of claim 1 on a computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020240042111A KR20240093402A (en) | 2022-12-15 | 2024-03-27 | Method and apparatus for providing data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220175883A KR102653516B1 (en) | 2022-12-15 | 2022-12-15 | Method and appartus for providing data |
KR1020240042111A KR20240093402A (en) | 2022-12-15 | 2024-03-27 | Method and apparatus for providing data |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220175883A Division KR102653516B1 (en) | 2022-12-15 | 2022-12-15 | Method and appartus for providing data |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240093402A true KR20240093402A (en) | 2024-06-24 |
Family
ID=90714610
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220175883A KR102653516B1 (en) | 2022-12-15 | 2022-12-15 | Method and appartus for providing data |
KR1020240042111A KR20240093402A (en) | 2022-12-15 | 2024-03-27 | Method and apparatus for providing data |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220175883A KR102653516B1 (en) | 2022-12-15 | 2022-12-15 | Method and appartus for providing data |
Country Status (2)
Country | Link |
---|---|
KR (2) | KR102653516B1 (en) |
WO (1) | WO2024128402A1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779039B2 (en) * | 2004-04-02 | 2010-08-17 | Salesforce.Com, Inc. | Custom entities and fields in a multi-tenant database system |
-
2022
- 2022-12-15 KR KR1020220175883A patent/KR102653516B1/en active
-
2023
- 2023-02-03 WO PCT/KR2023/001593 patent/WO2024128402A1/en unknown
-
2024
- 2024-03-27 KR KR1020240042111A patent/KR20240093402A/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024128402A1 (en) | 2024-06-20 |
KR102653516B1 (en) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10104672B2 (en) | Method and a system for identifying operating modes of communications in mobile edge computing environment | |
US8533691B2 (en) | Managing non-common features for program code translation | |
US10031841B2 (en) | Method and system for incrementally updating a test suite utilizing run-time application executions | |
US11741002B2 (en) | Test automation systems and methods using logical identifiers | |
US11138645B2 (en) | Virtualized services discovery and recommendation engine | |
US9703683B2 (en) | Software testing coverage | |
US8621442B2 (en) | Quicker translation of a computer program source code | |
US20160103761A1 (en) | Systems and methods for preparing an application testing environment and for executing an automated test script in an application testing environment | |
US10387125B2 (en) | Dynamically building mobile applications | |
KR102202108B1 (en) | System and method to automatically diagnose vulnerabilities in cloud infrastructure assets | |
US10169189B2 (en) | Functional test automation of mobile applications interacting with native stock applications | |
US10782940B2 (en) | Code library version management | |
US10831632B2 (en) | Cognitive in-memory API logging | |
KR102653516B1 (en) | Method and appartus for providing data | |
US11409585B2 (en) | Automatic code generation for API mashups | |
US8615744B2 (en) | Methods and system for managing assets in programming code translation | |
US20180131725A1 (en) | Method and apparatus for mobile terminal management supporting security policy | |
KR102614650B1 (en) | Electronic apparatus and managing api method thereof | |
KR102620097B1 (en) | Method and apparatus for providing code test | |
US20190391908A1 (en) | Methods and devices for intelligent selection of channel interfaces | |
WO2021133245A1 (en) | Computer-implemented method and non-transitory computer-readable memory for test result analysis and device for use with method | |
KR20240002424A (en) | Method and apparatus for providing information | |
KR102620693B1 (en) | Electronic apparatus for providing configuration for application testing and method thereof | |
KR102619571B1 (en) | Test method for the system based on virtual test information and electronic device for performing the same | |
KR20240036911A (en) | Method and appartus for providing a report about page |