KR102292901B1 - Method and apparatus for generating test case for web pages - Google Patents

Method and apparatus for generating test case for web pages Download PDF

Info

Publication number
KR102292901B1
KR102292901B1 KR1020190036146A KR20190036146A KR102292901B1 KR 102292901 B1 KR102292901 B1 KR 102292901B1 KR 1020190036146 A KR1020190036146 A KR 1020190036146A KR 20190036146 A KR20190036146 A KR 20190036146A KR 102292901 B1 KR102292901 B1 KR 102292901B1
Authority
KR
South Korea
Prior art keywords
test case
function
data
source code
module
Prior art date
Application number
KR1020190036146A
Other languages
Korean (ko)
Other versions
KR20190113680A (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 주식회사 테스트웍스
Publication of KR20190113680A publication Critical patent/KR20190113680A/en
Application granted granted Critical
Publication of KR102292901B1 publication Critical patent/KR102292901B1/en

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/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Abstract

호스트 서버로부터, 테스트하고자 하는 웹 페이지에서 HTML 소스코드를 수집하는 소스 코드 수집 모듈과, 수집된 HTML 소스코드를, 저차원 벡터 매핑 방법으로 전처리하는 전처리 모듈과, CNN (convolution neural network) 엔진에 의하여 HTML 기능코드를 분류하는 분류 모듈과, 해당 기능 분류에 대한 테스트 케이스 생성 데이터를 로드, 케이스 생성 데이터와 코드 레벨 분석 자료를 활용하여 테스트 케이스를 생성하는 테스트 케이스 생성 모듈과, 기능 분류 시 사용한 기능 요소들의 속성값을 활용하여 스크립트를 자동으로 생성하는 스크립트 생성 모듈을 포함하는 웹사이트 테스트 장치가 개시된다.A source code collection module that collects HTML source code from a web page to be tested from a host server, a preprocessing module that preprocesses the collected HTML source code by a low-dimensional vector mapping method, and a convolution neural network (CNN) engine. A classification module that classifies HTML function codes, a test case generation module that loads test case generation data for the function classification, and creates a test case by using case generation data and code level analysis data, and functional elements used for function classification Disclosed is a website testing device including a script generating module that automatically generates a script by using their attribute values.

Description

웹 페이지의 테스트 케이스 생성 방법 및 장치 {METHOD AND APPARATUS FOR GENERATING TEST CASE FOR WEB PAGES}Method and device for generating test cases for web pages {METHOD AND APPARATUS FOR GENERATING TEST CASE FOR WEB PAGES}

본 발명은 인공 신경망 (Newral Networks)을 활용한 웹 페이지 내 기능 테스트가 필요한 부분의 기능 유형 분류, 그리고 각 기능 유형에 대한 테스트 케이스 및 스트립트의 자동 생성 방식에 관한 것이다. 이를 통하여, 저차원 벡터 매핑 방법의 데이터 전처리를 통해 코드를 측정 가능하게 하고, 테스트하고자 하는 웹 페이지의 코드 내에서 발견한 기능 코드를 컨볼루션 (convolution) 인공 신경망을 통해 기존 데이터의 레이블에 따라 분류하고, 각 레이블에 속한 기능에 대한 테스트 케이스 생성 데이터를 통해 적합한 테스트 케이스 생성 후 이에 대한 스크립트를 자동 생성하고자 하는 방법 및 시스템에 관한 것이다. 또다른 실시예로서, 테스트하고자 하는 웹 페이지의 코드 내에서 발견한 레이블링되지 않은 기능 코드를 컨볼루션 (convolution) 인공 신경망을 통해 객체 검출 (object detection)으로 기능 요소를 추출하고 분류한 후 각 기능별 테스트 케이스 생성 데이터를 통해 적합한 테스트 케이스 생성 후 이에 대한 스크립트를 자동 생성하고자 하는 방법 및 시스템에 관한 것이다.The present invention relates to a functional type classification of a part requiring a functional test in a web page using artificial neural networks, and a method for automatically generating test cases and scripts for each functional type. Through this, the code can be measured through data preprocessing of the low-dimensional vector mapping method, and the function code found in the code of the web page to be tested is classified according to the label of the existing data through a convolution artificial neural network. And, it relates to a method and system for automatically generating a script after generating an appropriate test case through test case generation data for functions belonging to each label. As another embodiment, the unlabeled function code found in the code of the web page to be tested is extracted and classified by object detection through a convolution artificial neural network, and then each function is tested. It relates to a method and a system for automatically generating a script for a suitable test case through case creation data.

웹 페이지 개발 시 포함된 기능에 대한 테스트는 개발 과정에서 개발하는 서비스의 품질을 확보하고, 이를 통해 최종 사용자의 만족도를 높이고 출시 이후 사용자의 결함 발견에 의해 발생하는 직간접적 비용을 줄이기 위해 필수적으로 이루어져야 한다.Testing of functions included in web page development should be essential to secure the quality of services developed during the development process, thereby increasing end-user satisfaction and reducing direct and indirect costs caused by user's defect discovery after launch. do.

웹 페이지에 대한 테스트를 효율적으로 수행하기 위해서는 웹 페이지 내의 다양한 표시 아이템들 중 사용자의 입력을 받아서 상호 작용하는 기능 요소들을 식별하고, 이들 기능 요소들 각각에 대해 웹 페이지가 의도대로 동작하는지를 검증할 수 있는 적절한 테스트 방법을 설계하여 테스트 케이스를 생성해야 한다. 이러한 기능 요소들의 예로서, 사용자의 로그인 정보를 입력 받는 로그인 입력란, 버튼 입력란, 데이터 입력란 등이 있다.In order to efficiently test the web page, it is possible to identify functional elements that interact with the user's input among various display items in the web page, and verify whether the web page operates as intended for each of these functional elements. A test case should be created by designing an appropriate test method. Examples of such functional elements include a login input field for receiving user's login information, a button input field, a data input field, and the like.

하지만, 시간과 자원의 부족으로 인해 웹 페이지의 개발 시 해당 페이지 내에 포함된 모든 기능 요소를 제대로 테스트하지 못하거나, 테스트를 수행해도 테스터 간 역량 차이로 인해 테스트 결과의 일관성 확보가 어려운 문제가 있다.However, due to the lack of time and resources, it is difficult to properly test all the functional elements included in the web page when developing the web page, or to ensure consistency of test results due to the difference in tester competency even after performing the test.

이를 해결하기 위해서는 서로 다른 기능에 대해서도 일정 수준 이상의 커버리지를 일관성 있게 확보할 수 있도록 각 기능별로 다수의 적절한 테스트 케이스를 효과적으로 생성할 수 있어야 한다.In order to solve this problem, it is necessary to be able to effectively create a large number of appropriate test cases for each function so that coverage of a certain level or more can be consistently secured for different functions.

대부분 비슷한 기능에서 비슷한 테스트 케이스를 도출하지만, 테스터의 역량에 따라 그 시간과 품질이 달라지고, 같은 사람이 같은 기능에 대한 테스트 케이스를 도출할 때도 여러 요인(기능에 대한 이해, 요구사항 문서의 상세함 정도 등)에 따라 그 품질이 달라질 수 있다.Most of them derive similar test cases from similar functions, but the time and quality vary depending on the competency of the tester, and even when the same person derives test cases for the same function, several factors (understanding the function, details of the requirements document) quality, etc.) may vary

기존의 웹 페이지 내 각 기능에 대한 테스트 케이스 생성 및 스크립트 생성 방법은 테스터가 직접 눈으로 기능을 확인하고, 기능 요구사항 문서에 기재된 사항을 확인하기 위해 테스트 케이스를 생성하는 방식으로서, 예를 들면 대한민국 공개특허 제 10-2010-0069147 호 (특허문헌 1)와 같은 방식이 제안되어 있다.The test case generation and script generation method for each function in the existing web page is a method in which the tester directly checks the function and creates a test case to check the items described in the functional requirements document. For example, in the Republic of Korea The same method as in Patent Publication No. 10-2010-0069147 (Patent Document 1) has been proposed.

특허문헌 1에서는, 해당하는 URL의 입력을 통한 웹 페이지 내에 표시되는 모든 객체에 대응하는 소스정보를 획득하는 소스정보 획득모듈, 상기 소스정보를 분석하여 상기 각 객체를 독립적으로 체계화하여 각 객체의 위치정보를 획득하는 위치정보 분석모듈, 사용자에 의해 발생된 마우스 이벤트와 키보드 이벤트의 테스트 조건에 따라 상기 위치정보를 해당하는 상기 소스정보에 맵핑하여 스크립트화한 결과로 테스트 결과 정보를 도출하는 테스트 결과 생성모듈, 및 상기 위치정보와 소스정보를 토대로 객체를 화면에 표시하고, 상기 화면에 표시된 객체에 대하여 속성 및 검증 포인트를 정의, 설정하는 상기 테스트 조건을 더 표시하는 객체 표시모듈을 포함하는 장치가 제공된다. 이러한 장치를 통해, 특허문헌 1에서는, 개발자 관점이 아닌 사용자 관점에서 다양한 테스트 조건을 설정하고, 객체를 검출하고 그에 따른 상관관계를 분석하여 다이나믹한 테스트가 가능한 사용자 편의적인 사용자 인터페이스(UI) 환경의 제공으로, 웹사이트에 표시되는 전체 또는 개별적인 객체에 대한 품질 테스트를 행할 수 있도록 한다.In Patent Document 1, a source information acquisition module that acquires source information corresponding to all objects displayed in a web page through input of a corresponding URL, analyzes the source information and organizes each object independently to position each object A location information analysis module that acquires information, and a test result that derives test result information as a result of scripting the location information by mapping the location information to the corresponding source information according to test conditions of mouse events and keyboard events generated by the user A device comprising a module, and an object display module for displaying an object on a screen based on the location information and the source information, and further displaying the test condition for defining and setting attributes and verification points for the object displayed on the screen do. Through this device, in Patent Document 1, a user-friendly user interface (UI) environment in which dynamic testing is possible by setting various test conditions from a user's point of view rather than a developer's point of view, detecting an object, and analyzing the correlation thereof By providing, it is possible to conduct quality testing on all or individual objects displayed on the website.

한국 공개 특허 제10-2010-0069147호Korean Patent Publication No. 10-2010-0069147

그러나, 특허문헌 1을 비롯한 웹사이트 품질 테스트 방식에서는, 테스트의 대상이 되는 기능 요소들을 사용자로 하여금 용이하게 입력할 수 있게는 하지만, 테스터로 하여금 테스트하고자 하는 웹 페이지 내에 포함된 다양한 기능 요소 혹은 객체들을 쉽게 식별하고 이를 검증할 수 있도록 하는 방법은 제시하지 않고 있다.However, in the website quality test method including Patent Document 1, although the user can easily input the functional elements to be tested, various functional elements or objects included in the web page that the tester wants to test It does not provide a method for easily identifying and verifying them.

특히, 웹 페이지 내의 로그인 입력란, 버튼 입력란, 데이터 입력란을 포함하는 다양한 기능 요소들은 그 종류 및 속성에 따라 각기 다른 방식으로 검증이 이루어져야 하지만, 매 기능 요소마다 어떠한 방식으로 테스트를 진행해야 하는지를 단순히 육안으로 판별하여 진행하는 현재의 방식은 효율이 떨어질 뿐 아니라 테스트의 완전성도 테스터 개인에 따라 달라진다는 문제점을 가지고 있다.In particular, various functional elements including the login input box, button input box, and data input box in the web page must be verified in different ways according to their types and properties, but how to test each functional element is simply visually inspected. The current method of discriminating and proceeding has a problem that not only the efficiency is lowered, but also the completeness of the test varies depending on the individual tester.

본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 이루어진 것으로, 테스트하고자 하는 웹 페이지 내의 다양한 기능 요소들을 각 기능 요소에 연관된 명칭 및 수치값, 코멘트 등의 속성에 따라 CNN (convolution neural network) 엔진에 의하여복수의 카테고리로 분류하고, 이와 같이 분류된 복수의 카테고리를 서로 연관성이 높은 카테고리끼리 모은 후, 모아진 카테고리 마다 해당 카테고리에 속하는 기능 요소들에 대응하는 HTML 코드들을 함께 수집함으로써, 테스터로 하여금 보다 효율 높게 웹 페이지 내의 대응하는 기능 요소들을 검증할 수 있도록 한 것이다.The present invention has been made to solve the above problems, and various functional elements in a web page to be tested are configured by a convolutional neural network (CNN) engine according to attributes such as names, numerical values, and comments associated with each functional element. After classifying into a plurality of categories, collecting the categories with high relevance to the plurality of categories classified in this way, and collecting HTML codes corresponding to functional elements belonging to the corresponding category for each collected category, the tester can be more efficiently This is to enable verification of the corresponding functional elements in the web page.

본 발명의 한 실시예로서, 상기 CNN 엔진은 embedding layer, convolution layer, Max-Pooling Layer, Dropout Layer의 레이어를 구비할 수 있다.As an embodiment of the present invention, the CNN engine may include an embedding layer, a convolution layer, a Max-Pooling layer, and a dropout layer.

본 발명의 한 실시예로서, 상기 CNN 엔진은 계층적 군집분석을 사용할 수 있다.As an embodiment of the present invention, the CNN engine may use hierarchical clustering analysis.

본 발명의 한 실시예로서, 상기 CNN 엔진은 계층적 군집분석을 사용할 수 있다.또한 본 발명의 한 실시예로서, 각 기능별 HTML 코드를 수집하고, 테스트 대상 웹 페이지에서 발견한 기능의 코드 패턴, 속성 및 특성을 토대로 해당 기능을 데이터의 레이블 중 하나에 분류하고, 분류에 대한 테스트 케이스 생성 데이터를 베이스로 테스트 대상 코드의 코드 레벨 분석 자료를 활용해서 테스트 케이스를 생성하여 일정 수준 이상의 테스트 품질을 상시 확보하고, 이후 분류 시 수집한 요소의 속성값을 활용하여 스크립트까지 자동 생성하여 시간과 자원에 대한 제약을 크게 완화할 수 있게끔 하는 방법 및 시스템을 제공하고자 한다. 또다른 실시예로서, 테스트하고자 하는 웹 페이지의 코드 내에서 발견한 레이블링되지 않은 기능 코드를 컨볼루션 (convolution) 인공 신경망을 통해 객체 검출 (object detection)로 기능 요소를 추출하고 분류한 후 각 기능별 테스트 케이스 생성 데이터를 통해 적합한 테스트 케이스 생성 후 이에 대한 스크립트를 자동 생성하는 방법 및 시스템을 제공하고자 한다.As an embodiment of the present invention, the CNN engine may use hierarchical cluster analysis. In addition, as an embodiment of the present invention, HTML codes for each function are collected, code patterns of functions found in the test target web page, Based on the properties and characteristics, the function is classified into one of the labels of the data, and test cases are generated using the code level analysis data of the code to be tested based on the test case generation data for the classification to ensure test quality above a certain level at all times. It is intended to provide a method and system that can greatly relieve time and resource constraints by automatically generating scripts by using the attribute values of elements collected during classification afterward. As another embodiment, the unlabeled function code found in the code of the web page to be tested is extracted and classified by object detection through a convolution artificial neural network, and then each function is tested. It is intended to provide a method and system for automatically generating a script for a suitable test case through case creation data.

본 발명에서, 기능 분류는 파이썬의 텐서플로우(Tensorflow)를 활용하여 컨볼루션 인공 신경망을 구성하고, 학습시킨 엔진을 사용하여 구현한다. 텐서플로우 는 머신 러닝에 특화된 프레임워크로서, 머신러닝에 필요한 대부분의 함수들을 모듈로서 제공한다. 테스트 케이스 생성 과정은 테스트 전문가 집단이 생성한 각 기능별 테스트 케이스 생성 방법에 대한 데이터를 이용하고, 스크립트는 테스트 케이스에 나열된 기능을 수행하는 셀레니움(Selenium)스크립트를 자동 생성한다. 또한, 수집 데이터의 알고리즘 분석 방법으로 알려진 계층적 군집분석과 비계층적 군집분석 중 계층적 군집분석을 사용한다.In the present invention, function classification is implemented using a trained engine by constructing a convolutional artificial neural network by utilizing Python's Tensorflow. TensorFlow is a framework specialized for machine learning, and provides most of the functions required for machine learning as modules. The test case creation process uses the data on the test case creation method for each function generated by the test expert group, and the script automatically creates a Selenium script that performs the functions listed in the test case. Also, hierarchical clustering analysis is used among the hierarchical and non-hierarchical clustering analysis, known as algorithmic analysis methods of collected data.

본 발명에 따르면, 수집된 카테고리 마다 해당 카테고리에 속하는 기능 요소들에 대응하는 HTML 코드들을 함께 수집함으로써, 테스터로 하여금 보다 효율 높게 웹 페이지 내의 대응하는 기능 요소들을 검증할 수 있도록 하여, 웹 페이지의 테스트 효율을 증대시킬 수 있다. 또한, 수집된 카테고리마다 동일 또는 유사한 방식으로 테스트를 진행할 수 있으므로, 테스터의 경험이 많고 적음에 무관하게 일정 수준의 테스트가 이루어질 것을 기대할 수 있다.According to the present invention, by collecting the HTML codes corresponding to the functional elements belonging to the corresponding category for each collected category together, the tester can more efficiently verify the corresponding functional elements in the web page, so that the test of the web page efficiency can be increased. In addition, since the test can be conducted in the same or similar manner for each collected category, it can be expected that a certain level of testing will be performed regardless of the experience of the tester.

도 1은 본 발명의 일 실시예에 따른 웹사이트의 품질을 테스트하기 위한 장치의 구성을 예시적으로 나타낸 도면,
도 2는 도 1 에 도시된 웹사이트 품질 테스트 장치를 사용하여, 대상 웹사이트에 대한 품질을 테스트하는 방법을 도시한 도면,
도 3은, 사전을 통해 코드를 각 단어 ID의 나열로 변환한 것을 도시한 도면,
도 4는 본 발명의 일 실시예에 따른 덴드로그램을 생성한 일예를 도시한 도면.
도 5는, 본 발명의 일 실시예에 따라 품질을 테스트하기 위한 웹페이지의 일예를 도시한 도면.
도 6은, 도 5에 도시된 웹페이지를 컴퓨터 디스플레이 상에 구현하기 위한 HTML 스크립트의 일예를 나타낸 것이다.
1 is a view exemplarily showing the configuration of an apparatus for testing the quality of a website according to an embodiment of the present invention;
FIG. 2 is a diagram showing a method of testing the quality of a target website using the website quality testing apparatus shown in FIG. 1; FIG.
3 is a diagram showing the conversion of the code into a sequence of each word ID through the dictionary;
4 is a diagram illustrating an example of generating a dendrogram according to an embodiment of the present invention.
5 is a diagram illustrating an example of a web page for testing quality according to an embodiment of the present invention.
6 shows an example of an HTML script for implementing the web page shown in FIG. 5 on a computer display.

이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예에 대하여 첨부한 도면을 참고로 하여 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily carry out the present invention. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. Throughout the specification, like reference numerals are assigned to similar parts.

도 1은 본 발명의 일 실시예에 따른 웹사이트의 품질을 테스트하기 위한 장치의 구성을 예시적으로 나타낸 도면이다.1 is a diagram exemplarily showing the configuration of an apparatus for testing the quality of a website according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 테스트 장치 (100)는, 소스 코드를 수집하기 위한 소스 코드 수집 모듈 (110), 전처리 모듈 (120), CNN 엔진 모듈 (130), 테스트 케이스 생성 모듈 (140), 스크립트 생성 모듈 (150)을 포함한다. 이하 각각의 모듈에 대하여 구체적으로 설명한다.1, the test apparatus 100 of the present invention includes a source code collection module 110, a preprocessing module 120, a CNN engine module 130, and a test case generation module ( 140 ), and a script generation module 150 . Hereinafter, each module will be described in detail.

도 2는 도 1 에 도시된 웹사이트 품질 테스트 장치를 사용하여, 대상 웹사이트에 대한 품질을 테스트하는 방법을 도시한 도면이다.FIG. 2 is a diagram illustrating a method of testing the quality of a target website using the website quality testing apparatus shown in FIG. 1 .

먼저, 소스 코드 수집 모듈 (110)은 호스트 서버로부터, 테스트하고자 하는 웹 페이지에서 기능 요소 별로 레이블링된 HTML 소스코드를 수집한다 (S210). 다음으로, 전처리 모듈 (120)은, 수집된 HTML 소스코드를, 저차원 벡터 매핑 방법으로 전처리한다 (S220). 다음으로, 이미 학습된 CNN 딥러닝 엔진을 통해 (S230), HTML 기능코드를 분류한다 (S240). 그리고 난 후, 해당 기능 분류에 대한 테스트 케이스 생성 데이터를 로드하고 (S250), 케이스 생성 데이터와 코드 레벨 분석 자료를 활용하여 테스트 케이스를 생성한다 (S260). 그리고 난 후, 기능 분류 시 사용한 기능 요소들의 속성값을 활용하여 스크립트를 자동으로 생성한다 (S270).First, the source code collection module 110 collects HTML source codes labeled for each functional element in the web page to be tested from the host server (S210). Next, the pre-processing module 120 pre-processes the collected HTML source code by a low-dimensional vector mapping method (S220). Next, through the already learned CNN deep learning engine (S230), the HTML function code is classified (S240). Then, the test case generation data for the corresponding function classification is loaded (S250), and a test case is generated using the case generation data and code level analysis data (S260). After that, a script is automatically generated by using the attribute values of the function elements used in the function classification (S270).

기능 분류는 파이썬의 텐서플로우(Tensorflow)를 활용하여 컨볼루션 인공 신경망을 구성하고, 학습시킨 엔진을 사용하여 구현한다. 텐서플로우 는 머신 러닝에 특화된 프레임워크로서, 머신러닝에 필요한 대부분의 함수들을 모듈로서 제공한다. 테스트 케이스 생성 과정은 테스트 전문가 집단이 생성한 각 기능별 테스트 케이스 생성 방법에 대한 데이터를 이용하고, 스크립트는 테스트 케이스에 나열된 기능을 수행하는 셀레니움(Selenium)스크립트를 자동 생성한다. 또한, 수집 데이터의 알고리즘 분석 방법으로 알려진 계층적 군집분석과 비계층적 군집분석 중 계층적 군집분석을 사용한다.Function classification is implemented using the trained engine by constructing a convolutional artificial neural network using Python's Tensorflow. TensorFlow is a framework specialized for machine learning, and provides most of the functions required for machine learning as modules. The test case creation process uses the data on the test case creation method for each function generated by the test expert group, and the script automatically creates a Selenium script that performs the functions listed in the test case. Also, hierarchical clustering analysis is used among the hierarchical and non-hierarchical clustering analysis, known as algorithmic analysis methods of collected data.

이하 각각의 단계에 대하여 상세히 설명한다.Hereinafter, each step will be described in detail.

호스트 서버로부터 기능별로 레이블링 된 HTML 소스 코드 수집Gather HTML source code labeled by function from host server

먼저, 소스 코드 수집 모듈 (110)은, 테스트하고자 하는 웹 페이지를 호스트 서버로부터 제공받고자 사용자에 의해 URL이 입력될 경우에, 호스트 서버로부터 웹사이트 내에 표시되는 모든 기능 요소에 대응하는 HTML 소스코드 데이터를 수집하여, 이를 전처리 모듈 (120)로 전달한다. 이때, 호스트 서버로부터 수집하는 HTML 소스코드 데이터는 각각의 기능 별로 레이블링되어 있는 것으로 가정한다. 소스코드 데이터는, 웹사이트내에 이미지(동영상)의 별도의 형태에 상응하여 코딩된 플래쉬(FLASH) 정보 등과 같은 임베딩된 정보를 포함한 태그 정보뿐만 아니라 태그정보와 시스템 프로그램과의 원활한 연동이 이루어지도록 하는 자바 스크립트 정보를 포함하는 넓은 개념을 의미할 수 있다.First, the source code collection module 110, when a URL is input by a user to receive a web page to be tested from the host server, HTML source code data corresponding to all functional elements displayed in the website from the host server is collected and delivered to the pre-processing module 120 . In this case, it is assumed that the HTML source code data collected from the host server is labeled for each function. The source code data includes not only tag information including embedded information such as FLASH information coded according to a separate form of image (video) in the website, but also tag information to facilitate smooth interworking between tag information and system programs. It can mean a broad concept including JavaScript information.

저차원 벡터 매핑 방법으로 HTML코드 데이터 전처리HTML code data preprocessing with low-dimensional vector mapping method

전처리 모듈 (120)은 소스 코드 수집 모듈 (110)로부터 HTML 소스코드 데이터를 전달 받아서, 이에 대한 전처리를 수행한다. 구체적으로, 전처리 모듈 (120)은 HTML 전달 받은 소스코드 데이터에 포함된 태그 및 속성, 예상되는 속성값(특정 기능을 의미하는 단어 혹은 알파벳 조합)에 대하여 고유 ID를 부여하여 사전 생성 후 태그, 속성, 속성값을 숫자로 변환한다.The preprocessing module 120 receives HTML source code data from the source code collection module 110 and performs preprocessing on it. Specifically, the pre-processing module 120 assigns a unique ID to the tags, attributes, and expected attribute values (words or alphabet combinations meaning specific functions) included in the HTML-delivered source code data, and creates the dictionary after generating tags and attributes. , to convert the attribute value to a number.

도 3은, 사전을 통해 코드를 각 단어 ID의 나열로 변환한 것을 도시한 도면이다.3 is a diagram illustrating a code converted into a sequence of word IDs through a dictionary.

구체적으로, 사전을 통해 코드를, 도 3에 도시된 바와 같이, 각 단어 ID의 나열로 변환한다. 그리고 ID별 벡터 매핑을 위한 Lookup 테이블을 만들어 개별 ID를 대응하는 벡터로 변환 후 변환된 데이터를 기존의 순서로 배치한다 (도 3 참조). 이와 같은 전처리 과정을 통해 HTML 코드 내 태그 및 속성, 속성값을 벡터의 나열로 변환할 수 있다. 전처리 모듈 (120)은 이와 같이 전처리를 수행한 소스코드 데이터를, CNN 엔진 모듈 (130)로 전달하여, CNN 엔진 모듈 (130)로 하여금, 소스코드 데이터에 기반한 학습을 수행하도록 한다.Specifically, the code through the dictionary is converted into a sequence of each word ID, as shown in FIG. 3 . Then, a lookup table for vector mapping for each ID is created, each ID is converted into a corresponding vector, and the converted data is placed in the existing order (see FIG. 3 ). Through this pre-processing process, tags, attributes, and attribute values in HTML code can be converted into a list of vectors. The pre-processing module 120 transmits the source code data that has been pre-processed in this way to the CNN engine module 130 so that the CNN engine module 130 performs learning based on the source code data.

군집화clustering

CNN 딥러닝 엔진 (130)은, 전처리 모듈(120)로부터 전달 받은, 전처리가 수행된HTML 소스코드 데이터에 대하여 Hierarchical clustering algorithm을 사용하여 군집화를 수행한다. 즉, 앞의 전처리를 통하여 얻은 테이블의 유사도에 따라 군집화를 수행하는데, 계층적 트리 모형을 이용해 개별 개체들을 순차적, 계층적으로 유사한 개체 내지 그룹과 통합하여 군집화를 수행하는 알고리즘을 활용할 수 있다. 일예로서, 개체들이 결합되는 순서를 나타내는 트리형태의 구조인 덴드로그램(Dendrogram) 을 활용하여, 도 4에 도시된 바와 같은 덴드로그램을 생성한 후 적절한 수준에서 트리를 자르면 전체 데이터를 몇 개 군집으로 나눌 수 있게 된다. 분류 후 각 분류에 대한 색인을 데이터에 추가하여 데이터에 대해 레이블을 생성한다.The CNN deep learning engine 130 performs clustering using a hierarchical clustering algorithm on the HTML source code data that has been pre-processed and received from the pre-processing module 120 . That is, clustering is performed according to the degree of similarity of the table obtained through the previous preprocessing, and an algorithm that performs clustering by sequentially and hierarchically integrating individual objects with similar objects or groups using a hierarchical tree model can be utilized. As an example, using a dendrogram, which is a tree-shaped structure indicating the order in which objects are combined, creates a dendrogram as shown in FIG. be able to share After classification, an index for each classification is added to the data to create a label for the data.

본 발명은, 상기한 바와 같이 계층적 군집분석에 근거하여 군집화를 수행하는 것으로 하였으나, 비계층적 군집분석을 사용하는 것도 가능하다.In the present invention, as described above, clustering is performed based on hierarchical clustering analysis, but it is also possible to use non-hierarchical clustering analysis.

CNN 딥러닝 엔진 모듈CNN Deep Learning Engine Module

CNN (Convolutional Neural Network) 엔진 모듈 (130)을 구성하는 여러가지 다양한 방법이 알려져 있다. 본 발명의 일 실시예에서, CNN 엔진 모듈 (130)은 embedding layer, convolution layer, Max-Pooling Layer, Dropout Layer의 레이어를 가지는 것으로 설명하였지만, CNN 엔진 모듈 (130)의 구체적인 구조는 이에 한정되지 않고 여러가지 다양한 실시예를 사용할 수 있다.Various methods of configuring the Convolutional Neural Network (CNN) engine module 130 are known. In an embodiment of the present invention, the CNN engine module 130 has been described as having layers of an embedding layer, a convolution layer, a Max-Pooling layer, and a Dropout layer, but the specific structure of the CNN engine module 130 is not limited thereto. A number of different embodiments may be used.

Embedding LayerEmbedding Layer

CNN 엔진 모듈 (130)의 Embedding layer는, 전처리 모듈 (120)에 의한 전처리 과정을 통해 얻어진 단어 색인을 저차원 벡터 표현으로 매핑하는 작업을 한다.The embedding layer of the CNN engine module 130 maps the word index obtained through the preprocessing process by the preprocessing module 120 to a low-dimensional vector representation.

Convolution LayerConvolution Layer

CNN 엔진 모듈 (130)의 Convolution layer는, 입력 데이터의 특징을 추출하는 층으로서, 여러 개의 학습된 w(weight)값을 가지고 있는 filter를 통해 입력 데이터로부터, 해당 입력 데이터의 분류에 도움이 될 만한 특징들을 추출하는 작업을 한다.The convolution layer of the CNN engine module 130 is a layer that extracts the features of the input data. From the input data through a filter having several learned w (weight) values, it is possible to help classify the input data. Working to extract features.

먼저 벡터의 나열로 변환된 데이터는 배치(batch) 단위로 CNN에 입력값으로 들어가게 된다. 이에 따라 입력값의 구조는 4차원 텐서 [배치의 크기, 코드 길이, 벡터 차원수, 채널 수(Depth)]가 된다. 배치는 한번에 처리할 코드의 수를 의미하고, 채널 수는 자료에서 특성의 수를 의미하는데, 여기서는 단어당 벡터가 1개씩 매핑되었기 때문에 1로 정의한다. 그리고 필터의 구조는 [필터의 높이(단어 수), 필터의 너비(벡터 차원수), 채널 수, 필터 크기별 필터 수]가 된다. 단어 단위로 필터를 적용하기 위해 필터의 너비를 벡터 차원수로 정의할 수 있고, 이 경우 필터의 크기는 각 필터가 몇 개의 단어를 포함할 것인지를 정한다. 필터는 입력 데이터와 합성곱(Convolution)하기 때문에 필터를 거친 값의 차원 수는 [배치 크기, 코드 길이 - 필터 크기+1, 1, 필터 수]가 된다. 마지막으로 ReLU(Recified Linear Unit) 함수를 사용해서 비선형성을 확보할 수 있다.First, the data converted into a sequence of vectors is entered as an input to the CNN in batch units. Accordingly, the structure of the input value becomes a four-dimensional tensor [size of batch, code length, number of vector dimensions, number of channels (Depth)]. Batch means the number of codes to be processed at one time, and the number of channels means the number of features in the data. And the structure of the filter is [the height of the filter (number of words), the width of the filter (the number of vector dimensions), the number of channels, the number of filters per filter size]. To apply a filter on a word-by-word basis, the width of the filter can be defined as the number of vector dimensions, and in this case, the size of the filter determines how many words each filter will contain. Since the filter convolutions with the input data, the number of dimensions of the filtered value becomes [batch size, code length - filter size+1, 1, number of filters]. Finally, the nonlinearity can be obtained by using the Recified Linear Unit (ReLU) function.

Max-Pooling Layer : Max-Pooling Layer :

Max-pooling layer는 activation map을 적당한 크기로 잘라낸 후 그 안에서 가장 큰 값을 뽑아내는 방법이다. Max-pooling layer를 통해, Convolution을 통해 데이터의 특징이 정돈된 상태에서 가장 핵심적인 부분을 추출한다. 즉, 해당 filter 사이즈에서 가장 큰 값을 추출하게 된다. Max-Pooling할 영역의 크기는 [배치 데이터 수, 코드 길이 - 필터 크기 + 1, 세로 차원 수, 출력 결과 수]로 정의 된다. 예를 들어 배치데이터 1개씩, 1칸씩 Max-pooling할 경우 Max-pooling이 적용된 값의 차원 수는 [배치 크기, 1, 1, 필터 개수]가 된다.The Max-pooling layer is a method of extracting the largest value from the activation map after cutting it to an appropriate size. Through the Max-pooling layer, the most essential part is extracted from the state in which the data features are arranged through convolution. That is, the largest value is extracted from the corresponding filter size. The size of the max-pooling area is defined as [number of batch data, code length - filter size + 1, number of vertical dimensions, number of output results]. For example, when Max-pooling 1 batch data by 1 column, the number of dimensions of the value to which Max-pooling is applied becomes [batch size, 1, 1, number of filters].

Dropout Layer : Dropout Layer :

인공 신경망의 오버피팅을 방지하는 대표적인 방법으로 뉴런의 일부를 확률적으로 ‘비활성화’할 수 있다. 이는 뉴런의 동시 적응을 방지하고 특징을 개별적으로 학습하도록 강제한다. As a representative method of preventing overfitting of artificial neural networks, it is possible to probabilistically ‘deactivate’ a part of neurons. This prevents simultaneous adaptation of neurons and forces them to learn features individually.

Scores and Predictions : Scores and Predictions :

앞의 과정을 모두 거친 후 가장 높은 점수로 코드에 대한 분류를 수행한다.After going through all the previous steps, the code is classified with the highest score.

Loss and Accuracy : Loss and Accuracy :

앞의 과정을 통해 얻어진 점수를 이용해 학습에 이용할 손실을 정의한다. 손실이란 인공 신경망의 예측과 정답 간의 차이를 의미한다. 여기서는 필터 가중치와 함께 단어에 매핑되는 벡터 값도 업데이트 된다.Using the score obtained through the previous process, we define the loss to be used for learning. The loss means the difference between the prediction of the artificial neural network and the correct answer. Here, the vector values mapped to words along with the filter weights are also updated.

Instantiating and Minimizing the Loss : Instantiating and Minimizing the Loss :

텐서플로우의 옵티마이저를 이용하여 손실 함수를 최적화(Optimize)한다.Optimize the loss function using the optimizer of TensorFlow.

학습된 엔진을 통한 HTML기능 코드의 분류Classification of HTML function codes through learned engine

이상 설명한 텐서플로우의 모듈들을 활용하여 구현한 엔진을 통해, 테스트 대상 HTML 코드에서 기능을 의미하는 부분을 식별하고, 학습된 CNN 엔진을 통해 해당 부분의 기능을 분류한다.Through the engine implemented by utilizing the modules of TensorFlow described above, the part meaning the function in the test target HTML code is identified, and the function of the corresponding part is classified through the learned CNN engine.

분류 후 해당 기능 분류에 대한 테스트 케이스 생성 데이터 로드After classification, load test case generation data for the corresponding functional classification

분류된 각 기능에 대한 테스트 케이스 생성을 위한 데이터를 불러온다. 각 기능별로 적용할 수 있는 테스트 설계 기법에 따른 테스트 케이스와 기능별 특징에 따른 예외사항 등이 포함된다.Loads data for generating test cases for each classified function. Test cases according to the test design technique applicable to each function and exceptions according to the characteristics of each function are included.

객체 검출 (Object detection) 알고리즘Object detection algorithm

이상, 레이블링된 소스코드 수집, 전처리, 군집화, 분류 색인, 각 기능ㅇ별 테스트 생성 데이터 로드의 순서로 프로세스가 진행되는 실시예에 대해서 기재하였으나, 이와 달리 다음과 같은 절차로 공정을 수행하는 것도 가능하다.As described above, the embodiment in which the process is carried out in the order of labeled source code collection, preprocessing, clustering, classification index, and test generation data loading for each function has been described. do.

(i) 레이블링되지 않은 소스 코드 수집 (i) unlabeled source code collection

(ii) HTML 소스코드 전체 전처리 (ii) All HTML source code preprocessing

(iii) object detection으로 기능 요소 추출 및 분류(iii) Extraction and classification of functional elements by object detection

(iv) 각 기능별 테스트 생성 데이터 로드(iv) Loading test-generated data for each function

이와 같이 객체 검출 (object detection)을 사용하여 기능요소를 추출하고 분류할 경우, 레이블링 및 군집화가 필요 없어지는 장점이 있다.In this way, when functional elements are extracted and classified using object detection, there is an advantage in that labeling and clustering are not required.

케이스 생성 데이터와 코드레벨 분석자료를 활용하여 테스트 케이스 생성Create test cases using case creation data and code-level analysis data

불러온 데이터를 기반으로 각 기능에 대한 다수의 테스트 케이스를 생성한다. 이를 통해 모든 기능에 대해 일관성 있게 일정 수준 이상의 커버리지를 확보하는 테스트 케이스를 생성할 수 있다.Generates multiple test cases for each function based on the imported data. Through this, it is possible to create test cases that consistently secure coverage above a certain level for all functions.

기능 분류 시 사용한 요소의 속성값을 활용하여 스크립트 자동 생성Scripts are automatically generated by using the attribute values of the elements used to classify functions.

코드 분석 시 확인한 각 요소들의 속성값을 활용하여 셀레니움 스크립트를 자동 생성한다.Selenium script is automatically generated by using the attribute values of each element checked during code analysis.

도 5는, 본 발명의 일 실시예에 따라 품질을 테스트하기 위한 웹페이지의 일예를 도시한 도면이다. 도 5의 웹페이지는 복수의 동적 웹페이지 구성요소들 510, 520, 530, 540을 포함하고 있고, 이들이 품질 테스트의 대상이 되는 구성 요소들이다.5 is a diagram illustrating an example of a web page for testing quality according to an embodiment of the present invention. The web page of FIG. 5 includes a plurality of dynamic web page components 510 , 520 , 530 , and 540 , and these are components to be subjected to a quality test.

도 6은, 도 5에 도시된 웹페이지를 컴퓨터 디스플레이 상에 구현하기 위한 HTML 스크립트의 일예를 나타낸 것이다. 도면에서, 스크립트 부분 610, 620, 630, 640이 각각 도 5에 도시된 복수의 동적 웹페이지 구성요소들 510, 520, 530, 540을 구현하는 스크립트인 것으로 가정한다.6 shows an example of an HTML script for implementing the web page shown in FIG. 5 on a computer display. In the figure, it is assumed that script portions 610, 620, 630, and 640 are scripts for implementing a plurality of dynamic webpage components 510, 520, 530, 540 shown in FIG. 5, respectively.

본 발명의 일 실시예에 따른 웹사이트의 품질을 테스트하기 위한 장치는, 도 6에 도시된 바와 같은 HTML 스크립트를 입력 받아서, 기능 요소별로 레이블링된 HTML 소스코드를 수집한다 (S210). 다음으로, 각각의 스크립트 구성요소들, 예를 들면 도 6에 도시된 스크립트 부분 610, 620, 630, 640에 대하여 저차원 벡터 매핑 방법으로 코드 데이터를 전처리한다.The apparatus for testing the quality of a website according to an embodiment of the present invention receives an HTML script as shown in FIG. 6 and collects HTML source codes labeled for each functional element (S210). Next, code data is pre-processed by a low-dimensional vector mapping method for each of the script components, for example, the script parts 610, 620, 630, and 640 shown in FIG.

다음으로, CNN 딥러닝 엔진에 의한 처리를 수행하여(S230), HTML 코드를 분류한다 (S240). 다음으로, 해당 기능 분류에 대한 테스트 케이스 생성 데이터를 로드하고 (S250), 해당 케이스 생성 데이터와 코드레벨 분석 자료를 활용하여 테스트 케이스를 생성한다 (S260). 다음으로, 기능 분류시 사용한 기능 요소의 속성값을 활용하여 스크립트를 자동으로 생성한다 (S270).Next, processing by the CNN deep learning engine is performed (S230), and the HTML code is classified (S240). Next, the test case generation data for the corresponding function classification is loaded (S250), and a test case is generated using the corresponding case generation data and code level analysis data (S260). Next, a script is automatically generated by using the attribute value of the function element used in the function classification (S270).

이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the preferred embodiment of the present invention has been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention as defined in the following claims are also provided. is within the scope of the

110 : 소스코드 수집모듈 120 : 전처리 모듈
130 : CNN 딥러닝 엔진 140 : 테스트케이스 생성모듈
150 : 스크립트 생성모듈
110: source code collection module 120: pre-processing module
130: CNN deep learning engine 140: test case generation module
150: script generation module

Claims (8)

호스트 서버로부터, 테스트하고자 하는 웹 페이지에서 HTML 소스코드를 수집하는 소스 코드 수집 모듈과,
수집된 HTML 소스코드를, 저차원 벡터 매핑 방법으로 전처리하는 전처리 모듈과,
계층적 군집 분석을 사용함으로써 CNN (convolution neural network) 엔진에 의하여 HTML 기능코드를 분류하는 분류 모듈과,
해당 기능 분류에 대한 테스트 케이스 생성 데이터를 로드, 케이스 생성 데이터와 코드 레벨 분석 자료를 활용하여 테스트 케이스를 생성하는 테스트 케이스 생성 모듈과,
기능 분류 시 사용한 기능 요소들의 속성값에 근거하여 스크립트를 자동으로 생성하는 스크립트 생성 모듈을 포함하는,
웹사이트 테스트 장치.
A source code collection module that collects HTML source code from the web page to be tested from the host server;
A preprocessing module that preprocesses the collected HTML source code by a low-dimensional vector mapping method;
A classification module for classifying HTML function codes by a convolution neural network (CNN) engine by using a hierarchical cluster analysis;
A test case generation module that loads the test case generation data for the corresponding function classification and creates a test case by using the case generation data and code level analysis data;
Including a script generation module that automatically generates a script based on the attribute values of the function elements used when classifying the function,
Website testing device.
제 1 항에 있어서, 상기 CNN 엔진은 embedding layer, convolution layer, Max-Pooling Layer, Dropout Layer의 레이어를 구비하는 것을 특징으로 하는
웹사이트 테스트 장치.
The CNN engine of claim 1, wherein the CNN engine comprises layers of an embedding layer, a convolution layer, a Max-Pooling layer, and a Dropout layer.
Website testing device.
삭제delete 제 1 항에 있어서, 상기 CNN 엔진은 객체 검출 (object detection)을 사용하는 것을 특징으로 하는
웹사이트 테스트 장치.
The method of claim 1, wherein the CNN engine uses object detection.
Website testing device.
호스트 서버로부터, 테스트하고자 하는 웹 페이지에서 HTML 소스코드를 수집하는 소스 코드 수집 단계와,
수집된 HTML 소스코드를, 저차원 벡터 매핑 방법으로 전처리하는 전처리 단계와,
계층적 군집 분석을 사용함으로써 CNN (convolution neural network) 엔진에 의하여 HTML 기능코드를 분류하는 분류 단계와,
테스트 케이스 생성 데이터를 로드, 케이스 생성 데이터와 코드 레벨 분석 자료를 활용하여 테스트 케이스를 생성하는 테스트 케이스 생성 단계와,
기능 분류 시 사용한 기능 요소들의 속성값에 근거하여 스크립트를 자동으로 생성하는 스크립트 생성 단계를 포함하는,
웹사이트 테스트 방법.
A source code collection step of collecting HTML source code from the web page to be tested from the host server;
A preprocessing step of preprocessing the collected HTML source code by a low-dimensional vector mapping method;
A classification step of classifying HTML function codes by a convolution neural network (CNN) engine by using a hierarchical cluster analysis;
A test case creation step of loading the test case creation data, creating a test case by using the case creation data and code-level analysis data;
Including a script generation step of automatically generating a script based on the attribute values of the function elements used when classifying the function,
How to test your website.
제 5 항에 있어서, 상기 HTML 분류 단계는 embedding layer, convolution layer, Max-Pooling Layer, Dropout Layer의 레이어를 통해 수행하는 것을 특징으로 하는 웹사이트 테스트 방법.
[6] The method of claim 5, wherein the HTML classification step is performed through layers of an embedding layer, a convolution layer, a Max-Pooling layer, and a Dropout layer.
삭제delete 제 5 항에 있어서, 상기 CNN 엔진은 객체 검출 (object detection)을 사용하는 것을 특징으로 하는
웹사이트 테스트 방법.
6. The method of claim 5, wherein the CNN engine uses object detection.
How to test your website.
KR1020190036146A 2018-03-28 2019-03-28 Method and apparatus for generating test case for web pages KR102292901B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180035885 2018-03-28
KR1020180035885 2018-03-28

Publications (2)

Publication Number Publication Date
KR20190113680A KR20190113680A (en) 2019-10-08
KR102292901B1 true KR102292901B1 (en) 2021-08-24

Family

ID=68208944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190036146A KR102292901B1 (en) 2018-03-28 2019-03-28 Method and apparatus for generating test case for web pages

Country Status (1)

Country Link
KR (1) KR102292901B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102475305B1 (en) * 2019-10-16 2022-12-12 카페24 주식회사 Method, Apparatus and System for Automatic Interlocking Between Heterogeneous Platform
KR102396110B1 (en) * 2019-10-16 2022-05-19 카페24 주식회사 Method, Apparatus and System for Interlocking Between Heterogeneous Shopping Mall
KR102289884B1 (en) * 2020-02-12 2021-08-17 현대오토에버 주식회사 Method and system for extracting objects from application test
WO2022220311A1 (en) * 2021-04-12 2022-10-20 카페24 주식회사 Automatic interworking method, device, and system between heterogeneous platforms
KR102470683B1 (en) * 2021-11-25 2022-11-25 숭실대학교 산학협력단 Security design flaw detection method based on unit test case, recording medium and device for performing the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101768521B1 (en) 2016-05-02 2017-08-17 네이버 주식회사 Method and system providing informational data of object included in image

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100506521B1 (en) * 2003-02-13 2005-08-04 삼성전자주식회사 An browser test device and browser test server and browser test system and method thereof
KR20100069147A (en) 2008-12-16 2010-06-24 주식회사 트로젝트 Method and apparatus for testing quality of website

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101768521B1 (en) 2016-05-02 2017-08-17 네이버 주식회사 Method and system providing informational data of object included in image

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
이정규 외, 'Record-Playback 기술 기반의 GUI 테스트 케이스 자동 생성', 한국정보과학회, 2007.
조현정 외, '철도시스템 소프트웨어 테스트 커버리지 자동화 도구 및 기준 분석', 한국산학기술학회, 2010.

Also Published As

Publication number Publication date
KR20190113680A (en) 2019-10-08

Similar Documents

Publication Publication Date Title
KR102292901B1 (en) Method and apparatus for generating test case for web pages
CN109543084B (en) Method for establishing detection model of hidden sensitive text facing network social media
Fayyad et al. Skicat: A machine learning system for automated cataloging of large scale sky surveys
CN107168992A (en) Article sorting technique and device, equipment and computer-readable recording medium based on artificial intelligence
CN109766277A (en) A kind of software fault diagnosis method based on transfer learning and DNN
CN109919252B (en) Method for generating classifier by using few labeled images
CN112597038B (en) Software defect prediction method and system
CN110796204A (en) Video tag determination method and device and server
US11675970B2 (en) Machine learning systems and methods for automatically tagging documents to enable accessibility to impaired individuals
CN112257441B (en) Named entity recognition enhancement method based on counterfactual generation
CN112100377B (en) Text classification method, apparatus, computer device and storage medium
US11600088B2 (en) Utilizing machine learning and image filtering techniques to detect and analyze handwritten text
KR102103511B1 (en) Code generating apparatus and method
CN116361147A (en) Method for positioning root cause of test case, device, equipment, medium and product thereof
CN107506349A (en) A kind of user's negative emotions Forecasting Methodology and system based on network log
CN113762257A (en) Identification method and device for marks in makeup brand images
CN113535960A (en) Text classification method, device and equipment
Choudhary et al. Offline handwritten mathematical expression evaluator using convolutional neural network
CN112989256B (en) Method and device for identifying web fingerprint in response information
CN113837167A (en) Text image recognition method, device, equipment and storage medium
Sari et al. Parking Lots Detection in Static Image Using Support Vector Machine Based on Genetic Algorithm.
CN114022698A (en) Multi-tag behavior identification method and device based on binary tree structure
CN114003493A (en) Test data processing method, device, equipment and storage medium
CN117521673B (en) Natural language processing system with analysis training performance
CN115292542B (en) Test question searching method, system, storage medium and equipment based on test question matching chart

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant