KR102614650B1 - 전자 장치 및 그의 api 관리 방법 - Google Patents

전자 장치 및 그의 api 관리 방법 Download PDF

Info

Publication number
KR102614650B1
KR102614650B1 KR1020220161325A KR20220161325A KR102614650B1 KR 102614650 B1 KR102614650 B1 KR 102614650B1 KR 1020220161325 A KR1020220161325 A KR 1020220161325A KR 20220161325 A KR20220161325 A KR 20220161325A KR 102614650 B1 KR102614650 B1 KR 102614650B1
Authority
KR
South Korea
Prior art keywords
api
information
test case
document
electronic device
Prior art date
Application number
KR1020220161325A
Other languages
English (en)
Inventor
유안 린
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Priority to KR1020220161325A priority Critical patent/KR102614650B1/ko
Priority to PCT/KR2023/001504 priority patent/WO2024117381A1/ko
Priority to KR1020230179742A priority patent/KR20240079186A/ko
Application granted granted Critical
Publication of KR102614650B1 publication Critical patent/KR102614650B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)

Abstract

전자 장치의 API(application programming interface) 관리 방법이 제공된다. API 관리 방법은 API에 대한 적어도 하나의 테스트 케이스에 관한 정보 및 상기 적어도 하나의 테스트 케이스에 따른 결과 정보를 확인하는 단계; 상기 적어도 하나의 테스트 케이스에 관한 정보에 기초하여 API 요청(request) 정보를 확인하고, 상기 결과 정보에 기초하여 API 응답(response) 정보를 확인하는 단계; 및 상기 API 요청 정보 및 상기 API 응답 정보를 포함하는 API 문서를 생성하는 단계를 포함할 수 있다.

Description

전자 장치 및 그의 API 관리 방법{ELECTRONIC APPARATUS AND MANAGING API METHOD THEREOF}
본 개시는 사용자가 API를 보다 편리하게 관리 및 사용할 수 있도록, 다양한 정보를 포함하는 API 문서를 제공하기 위한 전자 장치 및 그 제어 방법에 관한 것이다.
유연성과 확장성은 현대 시스템의 필수적인 부분이 됨에 따라, 애플리케이션 서비스를 제공하기 위하여 API(application programming interface)의 사용이 필수적인 부분이 되었다. 따라서, 애플리케이션의 개발에 참여하는 다양한 분야의 개발자들이 API를 보다 쉽게 이해하고 효율적으로 사용하기 위해서는, 잘 작성된 API 문서가 요구된다.
그러나, 기존의 API 문서를 작성하는 툴은 API에 관한 파라미터의 유형 및 데이터 형식 등에 관한 정보를 제공하지만, 해당 필드가 어떠한 값을 가져오는지에 관한 정보는 제공하지 않으므로, 사용자가 API를 사용하기 위해 많은 노력을 요하는 문제점이 존재한다.
관련하여, KR 2359069 B1 건 등의 선행문헌들을 참조할 수 있다.
개시된 실시 예들은 전자 장치 및 그의 API 관리 방법을 제공하고자 한다. 보다 구체적으로는, 사용자가 API를 보다 편리하게 관리 및 사용할 수 있도록, 다양한 정보를 포함하는 API 문서를 제공하기 위한 전자 장치 및 그 제어 방법을 제공하는 것을 목적으로 한다.
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
본 개시의 일 측면은 API(application programming interface) 관리 방법으로서, API에 대한 적어도 하나의 테스트 케이스에 관한 정보 및 상기 적어도 하나의 테스트 케이스에 따른 결과 정보를 확인하는 단계; 상기 적어도 하나의 테스트 케이스에 관한 정보에 기초하여 API 요청(request) 정보를 확인하고, 상기 결과 정보에 기초하여 API 응답(response) 정보를 확인하는 단계; 및 상기 API 요청 정보 및 상기 API 응답 정보를 포함하는 API 문서를 생성하는 단계를 포함하는, API 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 API 문서는 상기 API에 관한 하나 이상의 파라미터 정보를 더 포함하고, 상기 하나 이상의 파라미터 정보는, 파라미터의 타입 정보, 파라미터의 이름 정보, 파라미터에 관한 설명 정보 및 파라미터의 자료형 정보 중 적어도 하나를 포함하는, API 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 API 문서는 상기 적어도 하나의 테스트 케이스의 식별자 정보 및 상기 적어도 하나의 테스트 케이스의 요약 정보 중 적어도 하나를 더 포함하고, 상기 적어도 하나의 테스트 케이스의 식별자 정보 및 상기 적어도 하나의 테스트 케이스의 요약 정보는 상기 테스트 케이스의 스크립트에 관한 정보에 기초하여 획득되는, API 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 API 응답 정보는, API 응답 메시지의 스크립트 캡처 정보 및 상기 API 응답 메시지에 따른 웹 페이지 캡처 정보 중 적어도 하나를 포함하는, API 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 API 응답 메시지의 스크립트 캡처 정보 또는 상기 API 응답 메시지에 따른 웹 페이지 캡처 정보 중 설정된 영역이 설정된 방법으로 표시되는, API 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 적어도 하나의 테스트 케이스에 관한 정보 및 상기 결과 정보를 확인하는 단계는, 상기 API에 대한 복수의 테스트 케이스들에 관한 정보를 확인하는 단계; 및 상기 복수의 테스트 케이스들 각각의 실행 횟수에 기초하여, 상기 복수의 테스트 케이스들 중 상기 적어도 하나의 테스트 케이스를 선택하는 단계를 포함하는, API 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 적어도 하나의 테스트 케이스에 관한 정보 및 상기 결과 정보를 확인하는 단계는, 상기 API에 대한 복수의 테스트 케이스들에 관한 정보를 확인하는 단계; 및 상기 복수의 테스트 케이스들 각각에 따른 결과 정보에 기초하여, 상기 복수의 테스트 케이스들 중 상기 적어도 하나의 테스트 케이스를 선택하는 단계를 포함하는, API 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 API 관리 방법은, 상기 API 문서에 반영되지 않은 테스트 케이스에 관한 정보를 확인하는 단계; 상기 테스트 케이스에 관한 정보에 기초하여, 상기 API 문서를 업데이트할지 여부에 관한 사용자 입력을 획득하는 단계; 및 상기 사용자 입력에 기초하여, 상기 API 문서를 업데이트하는 단계를 포함하는, API 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 API 관리 방법은, API 문서 양식에 관한 사용자 입력을 획득하는 단계를 더 포함하고, 상기 API 문서는 상기 API 문서 양식에 기초하여 생성되는, API 관리 방법을 제공할 수 있다.
또한, 본 개시의 일 실시 예에서 상기 API 관리 방법은, 상기 적어도 하나의 테스트 케이스에 관한 정보 및 상기 결과 정보에 기초하여 하나 이상의 API 문서 양식들을 제공하는 단계; 및 상기 하나 이상의 API 문서 양식들 중 하나의 API 문서 양식을 선택하는 사용자 입력을 획득하는 단계를 더 포함하고, 상기 API 문서는 상기 API 문서 양식에 기초하여 생성되는, API 관리 방법을 제공할 수 있다.
본 개시의 다른 측면은 통신부, 메모리 및 제어부(controller)를 포함하고, 상기 제어부는, API에 대한 적어도 하나의 테스트 케이스에 관한 정보 및 상기 적어도 하나의 테스트 케이스에 따른 결과 정보를 확인하고, 상기 적어도 하나의 테스트 케이스에 관한 정보에 기초하여 API 요청(request) 정보를 확인하고, 상기 결과 정보에 기초하여 API 응답(response) 정보를 확인하고, 상기 API 요청 정보 및 상기 API 응답 정보를 포함하는 API 문서를 생성하는, 전자 장치를 제공할 수 있다.
본 개시의 또 다른 측면은 전자 장치에 의해 수행되는 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공할 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
제안되는 실시 예에 따를 경우 다음과 같은 효과를 하나 혹은 그 이상 기대할 수 있다.
본 명세서의 실시 예에 의할 경우, 사용자들은 API 요청 정보 및 API 응답 정보를 포함하는 API 문서를 확인함으로써, 해당 API를 사용하기 위해 필요한 함수, 매개변수 또는 클래스 등에 대응하는 리턴 값이 실제로 어떤 값을 갖는지 보다 편리하게 확인할 수 있다.
또한, 본 명세서의 실시 예에 의할 경우, 사용자들은 API 문서를 확인함으로써, 해당 API에 대하여 빈번하게 수행되는 테스트 케이스에 관한 정보를 보다 편리하게 확인할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시 예에 따른 시스템을 나타낸다.
도 2는 일 실시 예에 따라 전자 장치가 API 문서를 생성하는 과정을 설명하기 위한 도면이다.
도 3은 일 실시 예에 따라 전자 장치가 API 문서를 생성하는 과정을 설명하기 위한 도면이다.
도 4는 일 실시 예에 따른 API 문서 양식의 일 예를 도시한다.
도 5는 일 실시 예에 따른 API 문서의 일 예를 도시한다.
도 6a 및 도 6b는 일 실시 예에 따른 API 응답 정보의 일 예를 도시한다.
도 7a 및 도 7b는 일 실시 예에 따른 API 응답 정보의 일 예를 도시한다.
도 8은 일 실시 예에 따른 전자 장치의 API 관리 방법의 흐름도를 나타낸다. 중복되는 내용에 대해서는 전술한 기재가 적용될 수 있다.
도 9는 일 실시 예에 따른 전자 장치의 블록도를 나타낸다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
명세서 전체에서 기재된 "a, b, 및 c 중 적어도 하나"의 표현은, 'a 단독', 'b 단독', 'c 단독', 'a 및 b', 'a 및 c', 'b 및 c', 또는 '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) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 개시의 실시 예들을 상세히 설명한다.
도 1은 일 실시 예에 따른 시스템을 나타낸다.
도 1을 참조하면, 시스템은 전자 장치(100), 하나 이상의 사용자 단말들(120, 140, 160) 및 네트워크(180) 중에서 적어도 하나를 포함할 수 있다. 한편, 도 1에 도시된 시스템은 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전자 장치(100)는 다양한 정보를 구성하여 제공하는 장치이다. 전자 장치(100)는 구성된 정보를 웹 페이지 또는 어플리케이션 화면 등으로 제공하거나, 제공받는 단말에서 웹 페이지 또는 어플리케이션 화면 등으로 표시할 수 있는 형태의 정보로 제공할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 API(application programming interface)에 대한 테스트 케이스에 관한 정보 및 테스트 케이스에 따른 결과 정보를 확인하고, 테스트 케이스에 관한 정보 및 결과 정보 각각에 기초하여 API 요청 정보 및 API 응답 정보를 확인할 수 있다. 이후, 전자 장치(100)는 API 요청 정보 및 API 응답 정보를 포함하는 API 문서를 생성할 수 있다.
일 실시 예에 따르면, 하나 이상의 사용자 단말들(120, 140, 160)은 사용자들 각각이 사용하는 단말로서, 사용자들은 각자의 사용자 단말(120, 140, 160)을 이용하여 네트워크(180)에 의해 제공되는 서비스에 접근할 수 있다. 예를 들어, 사용자들은 각자의 사용자 단말(120, 140, 160)에 설치된 플랫폼 또는 어플리케이션 등을 이용하여 테스트 케이스를 작성 및 실행할 수 있고, 작성된 테스트 케이스 및 실행 결과 정보가 반영된 API 문서를 검색 및 확인할 수 있다.
하나 이상의 사용자 단말들(120, 140, 160)과 전자 장치(100)는 네트워크(180) 내에서 서로 통신할 수 있다. 네트워크(180)는 근거리 통신망(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) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
도 2는 일 실시 예에 따라 전자 장치(100)가 API 문서(200)를 생성하는 과정을 설명하기 위한 도면이다.
일 실시 예에 따르면, 전자 장치(100)는 API 스크립트(210), 테스트 케이스에 관한 정보(220) 및 결과 정보(230)에 기초하여 API 문서를 생성할 수 있다. 예를 들어, 전자 장치(100)는 API 스크립트(210), 테스트 케이스에 관한 정보(220) 및 결과 정보(230)에 기초하여 파라미터 정보(240), API 요청 정보(250) 및 API 응답 정보(260)를 확인하고, 파라미터 정보(240), API 요청 정보(250) 및 API 응답 정보(260) 중 적어도 하나를 포함하는 API 문서(200)를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 API 스크립트(210)에 기초하여 파라미터 정보(240)를 확인할 수 있다. 예를 들어, 전자 장치(100)는 API에 관한 설계 코드를 파싱(parsing)하여 해당 API에 관한 파라미터 정보를 획득할 수 있다. 이때, API에 관한 파라미터 정보는 API를 사용하기 위해 필요한 함수, 매개변수 또는 클래스 등에 관한 정보를 나타내는 것으로, 파라미터의 타입(type) 정보, 파라미터의 이름(name) 정보, 파라미터에 관한 설명(description) 정보 및 파라미터의 자료형(schema) 정보 중 적어도 하나를 포함할 수 있다. 다만, 파라미터 정보(240)에 포함되는 정보의 종류는 전술한 바에 한정되는 것은 아니다.
일 실시 예에 따르면, 전자 장치(100)는 테스트 케이스에 관한 정보(220)에 기초하여 API 요청 정보(250)를 확인할 수 있다. 예를 들어, 전자 장치(100)는 API를 테스트하기 위해 작성된 코드를 실행함에 따라, 프론트 엔드(front-end) 또는 클라이언트 단에서 백 엔드(back-end) 또는 서버로 전송되는 API 요청 메시지를 확인하고, API 요청 메시지의 캡처 정보를 획득할 수 있다. 이때, API 요청 메시지는 HTTP(hypertext transfer protocol) 메시지의 형태를 가질 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 따르면, 전자 장치(100)는 결과 정보(230)에 기초하여 API 응답 정보(260)를 확인할 수 있다. 예를 들어, 전자 장치(100)는 API를 테스트하기 위해 작성된 코드를 실행함에 따라, 백 엔드 또는 서버에서 프론트 엔드 또는 클라이언트 단으로 전송되는 API 응답 메시지를 확인하고, API 응답 메시지의 캡처 정보를 획득할 수 있다. 이때, API 응답 메시지는 HTTP 메시지의 형태를 가질 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 따르면, 전자 장치(100)는 하나 이상의 API 요청 정보(250) 및 하나 이상의 API 응답 정보(260)를 포함하는 API 문서(200)를 생성할 수 있다. 보다 구체적으로, 전자 장치(100)는 API를 다양한 상황 또는 시나리오에서 테스트하기 위해 작성된 하나 이상의 코드들 및 하나 이상의 코드들 각각에 따른 수행 결과 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 비회원이 상품을 검색하는 시나리오, 일반 회원이 상품을 검색하는 시나리오 또는 프리미엄 멤버십 회원이 상품을 검색하는 시나리오 각각에서 API를 테스트 하기 위해 작성된 하나 이상의 코드들 및 하나 이상의 코드들 각각에 따른 수행 결과 정보를 확인할 수 있다. 이후, 전자 장치(100)는 하나 이상의 코드들 및 그에 따른 수행 결과 정보 각각에 대응하는 하나 이상의 API 요청 정보(250) 및 하나 이상의 API 응답 정보(260)를 확인하고, 하나 이상의 API 요청 정보(250) 및 하나 이상의 API 응답 정보(260)를 포함하는 API 문서(200)를 생성할 수 있다.
한편, 도 2는 API 문서(200)가 파라미터 정보(240), API 요청 정보(250) 및 API 응답 정보(260) 중 적어도 하나를 포함하는 것으로 도시하나, 이는 일 실시 예에 불과하며, API 문서(200)는 파라미터 정보(240), API 요청 정보(250) 및 API 응답 정보(260) 이외에 API에 관한 정보를 추가로 포함할 수 있다. 예를 들어, API 문서(200)는 API에 대한 간략한 소개, 개발 배경, 비즈니스 목적, API의 장점, 공통 요청(Request)과 응답(Response) 형식 또는 API 간 공통되는 에러 코드 등에 관한 정보를 추가로 포함할 수 있다. 또한, API 문서(200)는 테스트 케이스의 식별자 정보 및 테스트 케이스의 요약 정보 등을 추가로 포함할 수 있으나, API 문서(200)에 포함되는 정보는 전술한 바에 한정되지 않는다.
도 3은 일 실시 예에 따라 전자 장치(100)가 API 문서를 생성하는 과정을 설명하기 위한 도면이다.
S300 단계에서, 전자 장치(100)는 일 실시 예에 따라 테스트 케이스에 관한 정보를 획득할 수 있다. 예를 들어, 전자 장치(100)는 API를 테스트하기 위해 사용자가 작성한 코드를 사용자 단말로부터 수신할 수 있다.
S310 단계에서, 전자 장치(100)는 일 실시 예에 따라 테스트 케이스를 실행할 수 있다. 예를 들어, 전자 장치(100)는 API를 테스트하기 위해 작성된 코드를 실행할 수 있고, 그에 따라 프론트 엔드에서 백 엔드로 API 요청 메시지가 전송될 수 있다.
S320 단계에서, 전자 장치(100)는 일 실시 예에 따라 테스트 케이스의 실행에 따른 결과 정보를 생성할 수 있다. 예를 들어, 전자 장치(100)는 API를 테스트하기 위해 작성된 코드를 실행함에 따라, 백 엔드에서 프론트 엔드로 전송되는 API 응답 메시지를 확인할 수 있다.
이때, 결과 정보는 테스트 케이스가 실행됨에 따라 프론트 엔드가 요청한 동작을 백 엔드가 성공적으로 수신하여 이해하고 처리했을 때, 백 엔드에서 프론트 엔드로 전송되는 API 응답 메시지를 포함할 수 있으며, 골든 파일(golden file)로 지칭될 수 있다.
S330 단계에서, 전자 장치(100)는 일 실시 예에 따라 API에 대한 적어도 하나의 테스트 케이스에 관한 정보를 확인할 수 있다. 보다 구체적으로, 전자 장치(100)는 API에 대한 복수의 테스트 케이스들에 관한 정보를 확인하고, 설정된 기준에 따라 복수의 테스트 케이스들 중 적어도 하나의 테스트 케이스를 선택할 수 있다.
예를 들어, 전자 장치(100)는 복수의 테스트 케이스들 각각의 실행 횟수에 기초하여, 복수의 테스트 케이스들 중 적어도 하나의 테스트 케이스를 선택할 수 있다. 보다 구체적으로, 전자 장치(100)는 복수의 테스트 케이스들 각각의 실행 횟수를 확인하고, 실행 횟수가 많은 순서대로 설정된 수의 테스트 케이스를 선택할 수 있다.
또는, 전자 장치(100)는 복수의 테스트 케이스들 각각에 따른 결과 정보에 기초하여, 복수의 테스트 케이스들 중 적어도 하나의 테스트 케이스를 선택할 수 있다. 보다 구체적으로, 전자 장치(100)는 복수의 테스트 케이스들 각각에 따른 결과 정보를 확인하고, 결과 정보에 포함된 리턴 값의 크기가 큰 순서대로 설정된 수의 테스트 케이스를 선택할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 사용자 입력에 기초하여 API 문서에 반영되지 않은 테스트 케이스에 관한 정보를 API 문서에 반영할지 여부를 결정할 수 있다. 예를 들어, 전자 장치(100)는 API 문서에 반영되지 않은 테스트 케이스에 관한 정보를 확인하고, API 문서를 업데이트할지 여부에 관한 사용자 입력을 획득할 수 있다. 이후, 전자 장치(100)는 사용자 입력에 따라, API 문서에 반영되지 않은 테스트 케이스에 관한 정보 및 그에 따른 결과 정보에 기초하여 API 요청 정보 및 API 응답 정보를 확인하고, API 요청 정보 및 API 응답 정보를 API 문서에 추가할 수 있다.
S340 단계에서, 전자 장치(100)는 일 실시 예에 따라 적어도 하나의 테스트 케이스에 따른 결과 정보를 확인할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 테스트 케이스를 실행함에 따라 생성된 API 응답 메시지를 확인할 수 있다.
S350 단계에서, 전자 장치(100)는 일 실시 예에 따라 API 문서 양식에 관한 사용자 입력을 획득할 수 있다. 예를 들어, 전자 장치(100)는 API 문서 양식을 직접 기입하는 사용자 입력을 사용자 단말로부터 수신할 수 있다. 또는, 전자 장치(100)는 적어도 하나의 테스트 케이스에 관한 정보 및 결과 정보에 기초하여 하나 이상의 API 문서 양식들을 사용자에게 제공하고, 하나 이상의 API 문서 양식들 중 하나의 API 문서 양식을 선택하는 사용자 입력을 획득할 수 있다. 이때, API 문서 양식은 AsciiDoc 포맷 등으로 작성될 수 있으나, 전술한 바에 한정되지 않는다.
S360 단계에서, 전자 장치(100)는 일 실시 예에 따라 API 문서 양식을 파싱할 수 있다. 예를 들어, 전자 장치(100)는 사용자가 선택한 API 문서 양식을 파싱할 수 있다.
S370 단계에서, 전자 장치(100)는 일 실시 예에 따라 API 문서를 생성할 수 있다. 예를 들어, 전자 장치(100)는 적어도 하나의 테스트 케이스에 관한 정보에 기초하여 API 요청 정보를 확인하고, 결과 정보에 기초하여 API 응답 정보를 확인할 수 있다. 이후, 전자 장치(100)는 파싱한 API 문서 양식에 기초하여, API 요청 정보 및 API 응답 정보를 포함하는 API 문서를 생성할 수 있다.
도 4는 일 실시 예에 따른 API 문서 양식(400)의 일 예를 도시한다.
일 실시 예에 따르면, 전자 장치(100)는 API에 관한 문서 양식에 기초하여 API 문서를 생성할 수 있다. 예를 들어, 전자 장치(100)는 SDP-FRONT API에 관한 문서 양식에 관한 사용자 입력을 획득하고, 선택된 양식에 기초하여 SDP-FRONT API 문서를 생성할 수 있다. 이때, SDP(single detail page)는 사용자가 특정 상품을 검색했을 때, 같은 브랜드의 상품을 하나로 묶고, 가격, 품질, 배송 등을 비교해 가장 좋은 상품을 제공하는 기술을 나타낸다.
일 실시 예에 따르면, 전자 장치(100)는 다양한 콘텐츠에 관한 API 응답 정보를 포함하는 API 문서 양식(400)에 기초하여 API 문서를 생성할 수 있다. 예를 들어, API 문서 양식(400)은 상품명(product title)에 관한 API 응답 정보(420), 가격(price)에 관한 API 응답 정보(440), 상품 도착 예상 시각(product delivery date, PDD)에 관한 API 응답 정보(460) 및 혜택(benefits)에 관한 API 응답 정보(480)를 포함할 수 있다. 다만, 도 4에 개시된 API 응답 정보에 대응하는 콘텐츠는 일 실시 예에 불과하며, API 문서 양식(400)에 포함되는 콘텐츠는 전술한 바에 한정되지 않는다.
일 실시 예에 따르면, 전자 장치(100)는 각각의 콘텐츠마다 다양한 상황 또는 시나리오에 대응하는 API 응답 정보를 포함하는 API 문서 양식(400)에 기초하여 API 문서를 생성할 수 있다. 예를 들어, API 문서 양식(400)은 상품 도착 예상 시각에 관한 시나리오로서, 상품의 배송 방법이 로켓(rocket) 배송인 시나리오, 로켓 프레시(rocket fresh) 배송인 시나리오, 로켓 글로벌(rocket global) 배송인 시나리오, 로켓 로드(rocket rod) 배송인 시나리오, 로켓 인스톨(rocket install) 배송인 시나리오 또는 로켓 플러스 2(rocket plus 2) 배송인 시나리오에 대응하는 API 응답 정보를 포함할 수 있다. 다만, 도 4에 개시된 상품 도착 예상 시각에 관한 시나리오는 일 실시 예에 불과하며, API 문서 양식(400)에 포함되는 시나리오는 전술한 바에 한정되지 않는다.
도 5는 일 실시 예에 따른 API 문서(500)의 일 예를 도시한다.
일 실시 예에 따르면, 전자 장치(100)는 테스트 케이스에 관한 정보(520), API에 관한 하나 이상의 파라미터 정보(540), API 응답 상태에 관한 정보(560) 및 API 응답 메시지의 포맷에 관한 정보(580)를 포함하는 API 문서(500)를 생성할 수 있다. 다만, 도 5에 도시된 API 문서의 양식 또는 API 문서에 포함된 정보는 일 실시 예에 불과하며, 전술한 바에 한정되지 않는다.
일 실시 예에 따르면, 전자 장치(100)는 테스트 케이스에 관한 정보(520)를 포함하는 API 문서(500)를 생성할 수 있다. 보다 구체적으로, API 문서(500)는 테스트 케이스의 스크립트 또는 이름을 확인하고, 테스트 케이스의 스크립트 또는 이름에 기초하여 테스트 케이스의 식별자 정보 또는 테스트 케이스의 요약 정보를 확인할 수 있다. 이후, 전자 장치(100)는 테스트 케이스의 식별자 정보 또는 테스트 케이스의 요약 정보를 포함하는 API 문서(500)를 생성할 수 있다.
예를 들어, 도 5를 참조하면, 전자 장치(100)는 테스트 케이스의 스크립트에 기초하여, 해당 테스트 케이스가 옵션 리스트의 위젯을 가져오는 시나리오에 관한 것임을 확인할 수 있다. 이후, 전자 장치(100)는 확인한 테스트 케이스에 관한 정보(520)를 포함하는 API 문서(500)를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 API에 관한 하나 이상의 파라미터 정보(540)를 포함하는 API 문서(500)를 생성할 수 있다. 보다 구체적으로, 전자 장치(100)는 API에 관한 파라미터의 타입 정보, 파라미터의 이름 정보, 파라미터에 관한 설명 정보 및 파라미터의 자료형 정보 중 적어도 하나를 포함하는 API 문서(500)를 생성할 수 있다.
예를 들어, 도 5를 참조하면, 전자 장치(100)는 API에 관한 설계 코드에 기초하여 API를 사용하기 위해 필요한 파라미터 productId, expandType, itemId, selectedValue 및 vendorItemId에 관한 정보를 확인할 수 있다. 이후, 전자 장치(100)는 확인한 파라미터 productId, expandType, itemId, selectedValue 및 vendorItemId의 타입 정보, 이름 정보, 설명 정보 및 자료형 정보를 포함하는 API 문서(500)를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 API 응답 상태에 관한 정보(560)를 포함하는 API 문서(500)를 생성할 수 있다. 예를 들어, 도 5를 참조하면, 전자 장치(100)는 API 응답의 HTTP 상태 코드들 및 HTTP 상태 코드들 각각에 대응하는 설명 정보 및 자료형 정보를 포함하는 API 문서(500)를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 API 응답 메시지의 포맷에 관한 정보(580)를 포함하는 API 문서(500)를 생성할 수 있다. 예를 들어, 도 5를 참조하면, 전자 장치(100)는 API 응답 메시지가 json(javascript object notation) 포맷에 기초하여 작성되었다는 정보를 포함하는 API 문서(500)를 생성할 수 있다.
도 6a 및 도 6b는 일 실시 예에 따른 API 응답 정보(600, 650)의 일 예를 도시한다.
일 실시 예에 따르면, 전자 장치(100)는 API 응답 메시지의 캡처 정보(600, 650)를 포함하는 API 문서를 생성할 수 있다. 보다 구체적으로, 전자 장치(100)는 API 응답 메시지의 스크립트 캡처 정보 및 API 응답 메시지에 따른 웹 페이지 캡처 정보 중 적어도 하나를 포함하는 API 문서를 생성할 수 있다.
예를 들어, 전자 장치(100)는 상품의 브랜드 및 속성에 관한 API 응답 메시지의 스크립트 캡처 정보(600)를 포함하는 API 문서를 생성할 수 있다. 도 6a를 참조하면, 상품의 브랜드 및 속성에 관한 API 응답 메시지의 스크립트 캡처 정보(600)는 상품에 관한 텍스트들의 내용, 크기 및 색상에 관한 정보를 포함할 수 있다.
또다른 예를 들어, 전자 장치(100)는 일반 회원이 로그인한 시나리오에서 상품 도착 예상 시각(product delivery date, PDD)에 관한 API 응답 메시지의 스크립트 캡처 정보(650)를 포함하는 API 문서를 생성할 수 있다. 도 6b를 참조하면, 일반 회원이 로그인한 시나리오에서 상품 도착 예상 시각(product delivery date, PDD)에 관한 API 응답 메시지의 스크립트 캡처 정보(650)는 상품 도착 예상 시각에 관한 텍스트들의 내용, 크기 및 색상에 관한 정보를 포함할 수 있다.
도 7a 및 도 7b는 일 실시 예에 따른 API 응답 정보(700, 720, 740, 760)의 일 예를 도시한다.
일 실시 예에 따르면, 전자 장치(100)는 API 응답 메시지의 캡처 정보(700, 720, 740, 760)를 포함하는 API 문서를 생성할 수 있다. 보다 구체적으로, 전자 장치(100)는 API 응답 메시지의 스크립트 캡처 정보 및 API 응답 메시지에 따른 웹 페이지 캡처 정보 중 적어도 하나를 포함하는 API 문서를 생성할 수 있다.
예를 들어, 전자 장치(100)는 SDP 화면의 스켈레톤(skeleton) 코드 및 위젯들을 가져오는 시나리오에 관한 API 응답 메시지의 스크립트 캡처 정보(700)를 포함하는 API 문서를 생성할 수 있다. 도 7a를 참조하면, SDP 화면의 스켈레톤 코드 및 위젯들을 가져오는 시나리오에 관한 API 응답 메시지의 스크립트 캡처 정보(700)는 스켈레톤 코드 및 위젯들의 속성에 관한 정보를 포함할 수 있다.
또다른 예를 들어, 전자 장치(100)는 사용자가 특성 상품을 검색한 시나리오에 관한 API 응답 메시지에 따른 웹 페이지 캡처 정보(720, 740, 760)를 포함하는 API 문서를 생성할 수 있다. 도 7b를 참조하면, API 문서는 비회원이 상품을 검색하는 시나리오에 대응하는 API 응답 메시지에 따른 캡처 정보(720), 일반 회원이 상품을 검색하는 시나리오에 대응하는 API 응답 메시지에 따른 캡처 정보(740) 또는 프리미엄 멤버십 회원이 상품을 검색하는 시나리오에 대응하는 API 응답 메시지에 따른 캡처 정보(760)를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 API 응답 정보(700, 720, 740, 760) 중 설정된 영역을 설정된 방법으로 표시할 수 있다. 예를 들어, 도 7a를 참조하면, 전자 장치(100)는 SDP 화면의 스켈레톤 코드 및 위젯들을 가져오는 시나리오에 관한 API 응답 메시지의 스크립트 캡처 정보(700) 중 일부 영역을 하이라이트로 표시할 수 있다. 또는, 도 7b를 참조하면, 전자 장치(100)는 사용자가 특성 상품을 검색한 시나리오에 관한 API 응답 메시지에 따른 웹 페이지 캡처 정보(720, 740, 760) 중 일부 영역을 빨간색 박스로 표시할 수 있다.
이때, API 응답 메시지의 캡처 정보(700, 720, 740, 760) 중 설정된 영역은 사용자가 테스트 케이스를 통해 확인하고자 하는 리턴 값에 대응하는 영역을 나타낼 수 있으며, 사용자 입력에 따라 변경될 수 있다. 예를 들어, 전자 장치(100)는 비회원이 상품을 검색하는 시나리오에 대응하는 API 응답 메시지에 따른 캡처 정보(720) 중 상품 전체 대응하는 영역을 빨간색 박스로 표시할 수 있다. 또는, 전자 장치(100)는 일반 회원이 상품을 검색하는 시나리오에 대응하는 API 응답 메시지에 따른 캡처 정보(740) 중 특정 상품의 가격에 대응하는 영역을 빨간색 박스로 표시하거나, 프리미엄 멤버십 회원이 상품을 검색하는 시나리오에 대응하는 API 응답 메시지에 따른 캡처 정보(760) 중 특정 상품의 도착 예상 시각에 대응하는 영역을 빨간색 박스로 표시할 수 있다.
도 8은 일 실시 예에 따른 전자 장치의 API 관리 방법의 흐름도를 나타낸다. 중복되는 내용에 대해서는 전술한 기재가 적용될 수 있다.
S800 단계에서, 전자 장치는 API에 대한 적어도 하나의 테스트 케이스에 관한 정보 및 적어도 하나의 테스트 케이스에 따른 결과 정보를 확인할 수 있다.
일 실시 예에 따르면, 전자 장치는 적어도 하나의 테스트 케이스에 관한 정보 및 결과 정보를 확인할 때, API에 대한 복수의 테스트 케이스들에 관한 정보를 확인하고, 복수의 테스트 케이스들 각각의 실행 횟수에 기초하여, 복수의 테스트 케이스들 중 적어도 하나의 테스트 케이스를 선택할 수 있다.
일 실시 예에 따르면, 전자 장치는 적어도 하나의 테스트 케이스에 관한 정보 및 결과 정보를 확인할 때 API에 대한 복수의 테스트 케이스들에 관한 정보를 확인하고, 복수의 테스트 케이스들 각각에 따른 결과 정보에 기초하여, 복수의 테스트 케이스들 중 적어도 하나의 테스트 케이스를 선택할 수 있다.
S820 단계에서, 전자 장치는 적어도 하나의 테스트 케이스에 관한 정보에 기초하여 API 요청(request) 정보를 확인하고, 결과 정보에 기초하여 API 응답(response) 정보를 확인할 수 있다.
일 실시 예에 따르면, API 응답 정보는, API 응답 메시지의 스크립트 캡처 정보 및 API 응답 메시지에 따른 웹 페이지 캡처 정보 중 적어도 하나를 포함할 수 있다. 이때, API 응답 메시지의 스크립트 캡처 정보 또는 API 응답 메시지에 따른 웹 페이지 캡처 정보 중 설정된 영역이 설정된 방법으로 표시될 수 있다.
S840 단계에서, 전자 장치는 API 요청 정보 및 API 응답 정보를 포함하는 API 문서를 생성할 수 있다.
일 실시 예에 따르면, API 문서는 API에 관한 하나 이상의 파라미터 정보를 더 포함하고, 하나 이상의 파라미터 정보는, 파라미터의 타입 정보, 파라미터의 이름 정보, 파라미터에 관한 설명 정보 및 파라미터의 자료형 정보 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, API 문서는 적어도 하나의 테스트 케이스의 식별자 정보 및 적어도 하나의 테스트 케이스의 요약 정보 중 적어도 하나를 더 포함하고, 적어도 하나의 테스트 케이스의 식별자 정보 및 적어도 하나의 테스트 케이스의 요약 정보는 테스트 케이스의 스크립트에 관한 정보에 기초하여 획득될 수 있다.
일 실시 예에 따르면, 전자 장치는 API 문서에 반영되지 않은 테스트 케이스에 관한 정보를 확인하고, 테스트 케이스에 관한 정보에 기초하여, API 문서를 업데이트할지 여부에 관한 사용자 입력을 획득하며, 사용자 입력에 기초하여, API 문서를 업데이트할 수 있다.
일 실시 예에 따르면, 전자 장치는 API 문서 양식에 관한 사용자 입력을 획득할 수 있고, API 문서는 API 문서 양식에 기초하여 생성될 수 있다.
일 실시 예에 따르면, 전자 장치는 적어도 하나의 테스트 케이스에 관한 정보 및 결과 정보에 기초하여 하나 이상의 API 문서 양식들을 제공하고, 하나 이상의 API 문서 양식들 중 하나의 API 문서 양식을 선택하는 사용자 입력을 획득할 수 있고, API 문서는 API 문서 양식에 기초하여 생성될 수 있다.
도 9는 일 실시 예에 따른 전자 장치(100)의 블록도를 나타낸다.
전자 장치(100)는 일 실시 예에 따라, 통신부(communication device)(920), 메모리(940) 및 제어부(controller)(960)를 포함할 수 있다. 도 9에 도시된 전자 장치(100)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 9에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 전자 장치(100)는 전술한 서버에 관한 내용을 포함할 수 있는 바, 중복되는 내용에 대해서는 설명을 생략한다. 실시 예에서 통신부는 하나 이상의 트랜시버(transceiver)를 포함할 수 있다. 또한, 실시 예에서 제어부는 하나 이상의 프로세서(processor)를 포함할 수 있다.
통신부(920)는 유/무선 통신을 수행하기 위한 장치로서, 외부의 전자 장치와 통신할 수 있다. 외부의 전자 장치는 단말 또는 서버가 될 수 있다. 또한, 통신부(920)가 이용하는 통신 기술에는 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) 등이 있을 수 있다.
제어부(960)는 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 제어부(960)는 적어도 하나의 하드웨어 유닛으로 구성될 수 있다. 또한, 제어부(960)는 메모리(940)에 저장된 프로그램 코드를 실행하여 생성되는 하나 이상의 소프트웨어 모듈에 의해 동작할 수 있다. 제어부(960)는 프로세서 및 메모리를 포함할 수 있는 바, 프로세서는 메모리에 저장된 프로그램 코드를 실행하여 전자 장치(100)의 전반의 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 또한 실시 예에서 제어부(960)는 적어도 하나의 프로세서를 포함할 수 있다.
제어부(960)는 API에 대한 적어도 하나의 테스트 케이스에 관한 정보 및 적어도 하나의 테스트 케이스에 따른 결과 정보를 확인하고, 적어도 하나의 테스트 케이스에 관한 정보에 기초하여 API 요청(request) 정보를 확인하고, 결과 정보에 기초하여 API 응답(response) 정보를 확인하고, API 요청 정보 및 API 응답 정보를 포함하는 API 문서를 생성할 수 있다.
전술한 실시 예들에 따른 전자 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독 가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.

Claims (12)

  1. 전자 장치의 API(application programming interface) 관리 방법에 있어서,
    API에 대한 적어도 하나의 테스트 케이스에 관한 정보 및 상기 적어도 하나의 테스트 케이스에 따른 결과 정보를 확인하는 단계;
    상기 적어도 하나의 테스트 케이스에 관한 정보에 기초하여 API 요청(request) 정보를 확인하고, 상기 결과 정보에 기초하여 API 응답(response) 정보를 확인하는 단계; 및
    상기 API 요청 정보 및 상기 API 응답 정보를 포함하는 API 문서를 생성하는 단계를 포함하고,
    상기 API 요청 정보 및 상기 API 응답 정보를 확인하는 단계는, 상기 적어도 하나의 테스트 케이스를 실행함에 따라 서버 단에서 클라이언트 단으로 송신되는 API 응답 메시지를 확인하는 단계를 포함하고,
    상기 API 문서를 생성하는 단계는, 상기 API에 관한 설계 코드에 기초하여, 상기 API를 사용하기 위해 필요한 하나 이상의 파라미터에 관한 정보를 확인하는 단계를 포함하고,
    상기 API 문서는, 상기 하나 이상의 파라미터의 타입 정보, 상기 하나 이상의 파라미터의 이름 정보, 상기 하나 이상의 파라미터의 필수 사용 여부에 관한 정보, 상기 하나 이상의 파라미터의 설명 정보, 상기 하나 이상의 파라미터의 자료형 정보, 상기 API 응답 메시지의 하나 이상의 상태 코드에 관한 정보, 상기 API 응답 메시지의 포맷에 관한 정보 및 상기 API 응답 메시지의 스크립트 캡처 정보를 포함하는, API 관리 방법.
  2. 삭제
  3. 제1 항에 있어서,
    상기 API 문서는 상기 적어도 하나의 테스트 케이스의 식별자 정보 및 상기 적어도 하나의 테스트 케이스의 요약 정보 중 적어도 하나를 더 포함하고,
    상기 적어도 하나의 테스트 케이스의 식별자 정보 및 상기 적어도 하나의 테스트 케이스의 요약 정보는 상기 테스트 케이스의 스크립트에 관한 정보에 기초하여 획득되는, API 관리 방법.
  4. 제1 항에 있어서, 상기 API 응답 정보는,
    상기 API 응답 메시지에 따른 웹 페이지 캡처 정보를 포함하는, API 관리 방법.
  5. 제4 항에 있어서,
    상기 API 응답 메시지의 스크립트 캡처 정보 또는 상기 API 응답 메시지에 따른 웹 페이지 캡처 정보 중 설정된 영역이 설정된 방법으로 표시되는, API 관리 방법.
  6. 제1 항에 있어서, 상기 적어도 하나의 테스트 케이스에 관한 정보 및 상기 결과 정보를 확인하는 단계는,
    상기 API에 대한 복수의 테스트 케이스들에 관한 정보를 확인하는 단계; 및
    상기 복수의 테스트 케이스들 각각의 실행 횟수에 기초하여, 상기 복수의 테스트 케이스들 중 상기 적어도 하나의 테스트 케이스를 선택하는 단계를 포함하는, API 관리 방법.
  7. 제1 항에 있어서, 상기 적어도 하나의 테스트 케이스에 관한 정보 및 상기 결과 정보를 확인하는 단계는,
    상기 API에 대한 복수의 테스트 케이스들에 관한 정보를 확인하는 단계; 및
    상기 복수의 테스트 케이스들 각각에 따른 결과 정보에 기초하여, 상기 복수의 테스트 케이스들 중 상기 적어도 하나의 테스트 케이스를 선택하는 단계를 포함하는, API 관리 방법.
  8. 제1 항에 있어서, 상기 API 관리 방법은,
    상기 API 문서에 반영되지 않은 테스트 케이스에 관한 정보를 확인하는 단계;
    상기 테스트 케이스에 관한 정보에 기초하여, 상기 API 문서를 업데이트할지 여부에 관한 사용자 입력을 획득하는 단계; 및
    상기 사용자 입력에 기초하여, 상기 API 문서를 업데이트하는 단계를 포함하는, API 관리 방법.
  9. 제1 항에 있어서,
    상기 API 관리 방법은, API 문서 양식에 관한 사용자 입력을 획득하는 단계를 더 포함하고,
    상기 API 문서는 상기 API 문서 양식에 기초하여 생성되는, API 관리 방법.
  10. 제1 항에 있어서, 상기 API 관리 방법은,
    상기 적어도 하나의 테스트 케이스에 관한 정보 및 상기 결과 정보에 기초하여 하나 이상의 API 문서 양식들을 제공하는 단계; 및
    상기 하나 이상의 API 문서 양식들 중 하나의 API 문서 양식을 선택하는 사용자 입력을 획득하는 단계를 더 포함하고,
    상기 API 문서는 상기 API 문서 양식에 기초하여 생성되는, API 관리 방법.
  11. 제1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
  12. 전자 장치로서,
    통신부;
    메모리; 및
    제어부(controller)를 포함하고, 상기 제어부는,
    API에 대한 적어도 하나의 테스트 케이스에 관한 정보 및 상기 적어도 하나의 테스트 케이스에 따른 결과 정보를 확인하고,
    상기 적어도 하나의 테스트 케이스에 관한 정보에 기초하여 API 요청(request) 정보를 확인하고, 상기 결과 정보에 기초하여 API 응답(response) 정보를 확인하고,
    상기 API 요청 정보 및 상기 API 응답 정보를 포함하는 API 문서를 생성하고,
    상기 제어부는 상기 API 요청 정보 및 상기 API 응답 정보를 확인할 때, 상기 적어도 하나의 테스트 케이스를 실행함에 따라 서버 단에서 클라이언트 단으로 송신되는 API 응답 메시지를 확인하고,
    상기 제어부는 상기 API 문서를 생성할 때, 상기 API에 관한 설계 코드에 기초하여, 상기 API를 사용하기 위해 필요한 하나 이상의 파라미터에 관한 정보를 확인하고,
    상기 API 문서는, 상기 하나 이상의 파라미터의 타입 정보, 상기 하나 이상의 파라미터의 이름 정보, 상기 하나 이상의 파라미터의 필수 사용 여부에 관한 정보, 상기 하나 이상의 파라미터의 설명 정보, 상기 하나 이상의 파라미터의 자료형 정보, 상기 API 응답 메시지의 하나 이상의 상태 코드에 관한 정보, 상기 API 응답 메시지의 포맷에 관한 정보 및 상기 API 응답 메시지의 스크립트 캡처 정보를 포함하는, 전자 장치.
KR1020220161325A 2022-11-28 2022-11-28 전자 장치 및 그의 api 관리 방법 KR102614650B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220161325A KR102614650B1 (ko) 2022-11-28 2022-11-28 전자 장치 및 그의 api 관리 방법
PCT/KR2023/001504 WO2024117381A1 (ko) 2022-11-28 2023-02-02 전자 장치 및 그의 api 관리 방법
KR1020230179742A KR20240079186A (ko) 2022-11-28 2023-12-12 전자 장치 및 그의 api 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220161325A KR102614650B1 (ko) 2022-11-28 2022-11-28 전자 장치 및 그의 api 관리 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230179742A Division KR20240079186A (ko) 2022-11-28 2023-12-12 전자 장치 및 그의 api 관리 방법

Publications (1)

Publication Number Publication Date
KR102614650B1 true KR102614650B1 (ko) 2023-12-19

Family

ID=89385348

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220161325A KR102614650B1 (ko) 2022-11-28 2022-11-28 전자 장치 및 그의 api 관리 방법
KR1020230179742A KR20240079186A (ko) 2022-11-28 2023-12-12 전자 장치 및 그의 api 관리 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230179742A KR20240079186A (ko) 2022-11-28 2023-12-12 전자 장치 및 그의 api 관리 방법

Country Status (2)

Country Link
KR (2) KR102614650B1 (ko)
WO (1) WO2024117381A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008226238A (ja) * 2007-03-12 2008-09-25 Sharp Corp ドキュメントを操作するための方法
JP2016177659A (ja) * 2015-03-20 2016-10-06 ヤフー株式会社 検証プログラム、検証装置及び検証方法
JP2019101538A (ja) * 2017-11-29 2019-06-24 日本電信電話株式会社 テストスクリプト修正装置及びプログラム
KR20210100600A (ko) * 2018-10-02 2021-08-17 타마스 씨저 소프트웨어 테스팅

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020157795A1 (ja) * 2019-01-28 2020-08-06 三菱電機株式会社 試験装置、試験方法および試験プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008226238A (ja) * 2007-03-12 2008-09-25 Sharp Corp ドキュメントを操作するための方法
JP2016177659A (ja) * 2015-03-20 2016-10-06 ヤフー株式会社 検証プログラム、検証装置及び検証方法
JP2019101538A (ja) * 2017-11-29 2019-06-24 日本電信電話株式会社 テストスクリプト修正装置及びプログラム
KR20210100600A (ko) * 2018-10-02 2021-08-17 타마스 씨저 소프트웨어 테스팅

Also Published As

Publication number Publication date
WO2024117381A1 (ko) 2024-06-06
KR20240079186A (ko) 2024-06-04

Similar Documents

Publication Publication Date Title
US10698647B2 (en) Selective sharing for collaborative application usage
US11762634B2 (en) Systems and methods for seamlessly integrating multiple products by using a common visual modeler
US9524283B2 (en) Techniques to remotely access form information and generate a form
US11249734B2 (en) Tri-affinity model driven method and platform for authoring, realizing, and analyzing a cross-platform application
US10158701B2 (en) Method and system for providing a state model of an application program
US9436362B2 (en) OData service provisioning on top of GenIL layer
US20130117652A1 (en) Techniques to generate custom electronic forms
CN112800370B (zh) 业务单据的处理方法、装置、计算机设备和存储介质
US8239467B2 (en) Extending business processes to mobile devices
CN114036425A (zh) 页面访问方法、客户端、服务端及***
US11516298B2 (en) Integrating a plurality of third party service interactions into a portal system
US11797430B2 (en) Configuration-driven data conversion and hosting for software development systems and methods
US11409585B2 (en) Automatic code generation for API mashups
KR102614650B1 (ko) 전자 장치 및 그의 api 관리 방법
US20230208843A1 (en) Systems and methods for providing software components as a service
KR20190007798A (ko) O2o 플랫폼 제작 지원 방법 및 시스템
KR20190007800A (ko) O2o 플랫폼 제작 지원 방법 및 시스템
CN114817794A (zh) 网页内容控制方法、装置、设备及介质
US20090222471A1 (en) Database exploration for building wireless component applications
KR102653516B1 (ko) 데이터를 제공하는 방법 및 장치
KR102679462B1 (ko) 전자 장치 및 그의 사용자 인터페이스를 제공하는 방법
KR102616785B1 (ko) 전자 장치 및 그의 정보 제공 방법
KR102582031B1 (ko) 전자 장치 및 그의 정보 제공 방법
KR102653900B1 (ko) 전자 장치 및 그의 정보 제공 방법
KR20240014205A (ko) 전자 장치 및 그의 패키지 관리 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant