KR102536392B1 - Method, apparatus and computer program for providing guide to create user customized test case for software quality assurance - Google Patents
Method, apparatus and computer program for providing guide to create user customized test case for software quality assurance Download PDFInfo
- Publication number
- KR102536392B1 KR102536392B1 KR1020220143621A KR20220143621A KR102536392B1 KR 102536392 B1 KR102536392 B1 KR 102536392B1 KR 1020220143621 A KR1020220143621 A KR 1020220143621A KR 20220143621 A KR20220143621 A KR 20220143621A KR 102536392 B1 KR102536392 B1 KR 102536392B1
- Authority
- KR
- South Korea
- Prior art keywords
- test
- providing
- software
- cases
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/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
- 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/3676—Test management for coverage analysis
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법, 장치 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 케이스(Test Case, TC) 생성 요청을 획득하는 단계 및 상기 획득된 테스트 케이스 생성 요청에 대응하여, 상기 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스(User Interface, UI)를 제공하는 단계를 포함하며, 상기 사용자 인터페이스를 제공하는 단계는, 상기 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함한다.A method for providing a user-customized test case creation guide for software quality assurance, a device and a computer program are provided. A method for providing a user-customized test case creation guide for software quality assurance according to various embodiments of the present invention is a method performed by a computing device, wherein a test case (Test Case) for software quality assurance (Quality Assurance, QA) is Case, TC) obtaining a request for generating a test case and providing a user interface (UI) for creating a test case to the user in response to the acquired test case creation request, wherein the user interface The providing step includes providing guide information for test case generation to the user.
Description
본 발명의 다양한 실시예는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법, 장치 및 컴퓨터프로그램에 관한 것이다.Various embodiments of the present invention relate to a method, apparatus, and computer program for providing a user-customized test case creation guide for software quality assurance.
스마트 기기(예를 들어, 스마트 폰, 태블릿 PC 또는 노트 등)의 애플리케이션 프로그램이 처음 등장한 이후 경쟁이 심해지고 있으며, 애플리케이션 프로그램의 성공 요소는 아이디어 뿐만 아니라 기능이 완벽해야 하고 사용하기도 편리해야만 하는 시대가 되었다.Since application programs for smart devices (for example, smart phones, tablet PCs, or notebooks, etc.) first appeared, competition has been intensifying, and the success factors of application programs are not only ideas, but also an era in which functions must be perfect and easy to use. It became.
즉, 현재 애플리케이션 프로그램의 경우, 좋은 아이디어만 가지고는 성공하기 어렵고, 추가적으로 홍보도 잘해야 하며, 기능도 완벽하면서도 사용이 편리하게 제작되어야 성공할 수 있다.In other words, in the case of the current application program, it is difficult to succeed with only good ideas, and additionally, it must be well promoted, and it can be successful only when it has perfect functions and is easy to use.
따라서, 현재 또는 향후에는 개발된 애플리케이션 프로그램을 철저하게 검증한 후에 시장에 출시해야 하는 상황이 되었으며, 이를 위해서는 소프트웨어의 품질보증(Quality Assurance, QA) 과정이 매우 중요한 역할을 담당한다.Therefore, now or in the future, it has become a situation where developed application programs must be thoroughly verified before being released to the market. To this end, the software quality assurance (QA) process plays a very important role.
종래의 소프트웨어 품질보증 방법은 다수의 사용자들이 다양한 시나리오에 따라 플랫폼을 사용함으로써, 즉, 다수의 사용자들이 소프트웨어를 대상으로 다양한 종류의 테스트를 수행함으로써, 소프트웨어에 대한 QA 작업을 직접 수행하였다.In the conventional software quality assurance method, a number of users directly perform QA work on the software by using the platform according to various scenarios, that is, by performing various types of tests on the software as a target.
하지만, IT 분야의 성장과 함께, 플랫폼이 포함해야 하는 기능의 종류와 수가 대폭 증가하면서, 기존의 플랫폼의 운영 기간 및 신규 플랫폼의 출시에 걸리는 기간을 단축시켰고, 결과적으로 신규 플랫폼에 대한 QA 작업에 소요되는 인력, 시간 및 비용이 대폭 증가되는 문제가 발생하였다.However, along with the growth of the IT field, the types and number of functions to be included in the platform increased significantly, shortening the operating period of the existing platform and the time required for the release of a new platform. There was a problem that the required manpower, time and cost were greatly increased.
본 발명이 해결하고자 하는 과제는 사용자에게 테스트 케이스를 생성할 수 있는 환경을 제공하되, 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공함으로써, 사용자가 보다 쉽게 테스트 케이스를 생성할 수 있는 환경을 제공할 수 있는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.The problem to be solved by the present invention is to provide an environment in which the user can create a test case, but provide an environment in which the user can more easily create a test case by providing guide information for creating a test case to the user. It is to provide a user-customized test case generation guide providing method, device, and computer program for software quality assurance.
본 발명이 해결하고자 하는 다른 과제는 사용자로부터 소프트웨어의 품질보증을 위한 테스트 요청을 획득함에 따라 테스트를 위한 테스트 케이스를 자동으로 생성하여 사용자에게 제공함으로써, 사용자가 소프트웨어의 품질보증을 위한 테스트를 보다 용이하게 수행할 수 있는 환경을 제공할 수 있는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.Another problem to be solved by the present invention is to automatically generate a test case for testing and provide it to the user according to obtaining a test request for software quality assurance from the user, so that the user can more easily test for software quality assurance. It is to provide a user-customized test case generation guide providing method, device, and computer program for software quality assurance that can provide an environment in which it can be performed properly.
본 발명이 해결하고자 하는 또 다른 과제는 소프트웨어의 품질보증을 위한 테스트 업무를 다수의 사용자에게 분배 및 할당하되, 테스트 업무의 속성에 따라 테스트를 수행하기에 적합한 사용자에게 테스트 업무를 분배 및 할당함으로써, 소프트웨어에 대한 다수의 테스트 업무를 보다 효과적으로 처리할 수 있는 환경을 제공할 수 있는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.Another problem to be solved by the present invention is to distribute and allocate test tasks for software quality assurance to a plurality of users, but distribute and allocate test tasks to users suitable for performing tests according to the attributes of the test tasks, An object of the present invention is to provide a user-customized test case creation guide providing method, device, and computer program for software quality assurance that can provide an environment capable of more effectively handling multiple test tasks for software.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 케이스(Test Case, TC) 생성 요청을 획득하는 단계 및 상기 획득된 테스트 케이스 생성 요청에 대응하여, 상기 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스(User Interface, UI)를 제공하는 단계를 포함하며, 상기 사용자 인터페이스를 제공하는 단계는, 상기 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함할 수 있다.A method for providing a user-customized test case creation guide for software quality assurance according to an embodiment of the present invention for solving the above problems is a method performed by a computing device, in which software quality assurance (Quality Assurance, QA Obtaining a request for generating a test case (TC) for the ) and providing a user interface (UI) for creating a test case to the user in response to the obtained request for generating a test case. The providing of the user interface may include providing guide information for generating a test case to the user.
다양한 실시예에서, 상기 가이드 정보를 제공하는 단계는, 상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 테스트 케이스를 생성하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 단계 및 가이드 정보로서, 상기 선정된 하나 이상의 추천 테스트에 관한 정보 및 상기 선정된 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 상기 선정된 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 제공하는 단계를 포함할 수 있다.In various embodiments, the providing of the guide information may include, when the user wants to generate a test case for testing at least one function among a plurality of functions included in the software, a test case for the at least one function. As the step of selecting the one or more recommended tests and guide information, guide information including information on the one or more selected recommended tests and information on how to generate a test case corresponding to the one or more selected recommended tests is provided, or , providing sample test cases corresponding to the selected one or more recommended tests.
다양한 실시예에서, 상기 하나 이상의 추천 테스트를 선정하는 단계는, 상기 사용자의 테스트 수행 이력에 기초하여 상기 사용자의 테스트 수행 능력을 판단하고, 상기 판단된 테스트 수행 능력에 기초하여 상기 사용자에 대한 테스트 난이도를 결정하는 단계 및 상기 결정된 테스트 난이도에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함할 수 있다.In various embodiments, the step of selecting one or more recommended tests may include determining test performance ability of the user based on a test performance history of the user, and test difficulty level for the user based on the determined test performance capability. and selecting a recommended test for the at least one function based on the determined test difficulty.
다양한 실시예에서, 상기 하나 이상의 추천 테스트를 선정하는 단계는, 상기 소프트웨어에 대한 테스트를 수행하는 상기 사용자의 단말의 속성에 기초하여 상기 사용자에 대한 테스트 범위를 결정하는 단계 및 상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함할 수 있다.In various embodiments, the selecting of one or more recommended tests may include determining a test range for the user based on attributes of a terminal of the user performing the software test, and based on the determined test range. and selecting a recommended test for the at least one function.
다양한 실시예에서, 복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 수집하고, 상기 수집된 복수의 테스트 케이스를 분류 및 저장함에 따라 테스트 케이스 데이터베이스를 구축하는 단계를 더 포함하며, 상기 가이드 정보를 제공하는 단계는, 상기 구축된 테스트 케이스 데이터베이스로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 테스트 케이스를 추출하는 단계, 상기 추출된 복수의 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 테스트 케이스의 패턴을 추출하는 단계 및 상기 추출된 패턴에 기초하여, 상기 테스트 대상에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함할 수 있다.In various embodiments, a plurality of pre-generated test cases are collected to test a plurality of software and a plurality of functions included in each of the plurality of software, and the collected plurality of test cases are classified and stored to test the test cases. The step of constructing a database is further included, and the step of providing the guide information corresponds to a test object, wherein the test object is at least one function among a plurality of functions included in the software, from the built test case database. extracting a plurality of test cases, extracting patterns of the extracted plurality of test cases through big data analysis of the extracted plurality of test cases, and based on the extracted patterns, A step of providing guide information for generating a corresponding test case may be included.
다양한 실시예에서, 복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 학습 데이터로 하여 학습시킴에 따라 테스트 케이스 생성 모델을 생성하는 단계를 더 포함하며, 상기 가이드를 제공하는 단계는, 상기 생성된 테스트 케이스 생성 모델에 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 관한 정보를 입력함에 따라 하나 이상의 테스트 케이스를 추출하는 단계 및 상기 추출된 하나 이상의 테스트 케이스를 상기 테스트 대상에 대한 샘플 테스트 케이스로서 상기 사용자에게 제공하는 단계를 포함할 수 있다.In various embodiments, generating a test case generation model by learning a plurality of pre-generated test cases as learning data to test a plurality of software and a plurality of functions included in each of the plurality of software. In the step of providing the guide, one or more information about the test object (the test object being at least one function among a plurality of functions included in the software) is input to the generated test case generation model. The method may include extracting test cases and providing the extracted one or more test cases to the user as sample test cases for the test target.
다양한 실시예에서, 상기 가이드 정보를 제공하는 단계는, 상기 사용자로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 제1 테스트 케이스가 생성된 경우, 기 구축된 테스트 케이스 데이터베이스 - 상기 기 구축된 테스트 케이스 데이터베이스는 복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스가 분류 및 저장된 것임 - 로부터 상기 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출하는 단계, 상기 추출된 복수의 제2 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 제2 테스트 케이스의 패턴을 추출하고, 상기 추출된 패턴에 기초하여 상기 생성된 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계 및 상기 생성된 복수의 제1 테스트에 대한 검증을 수행한 결과에 기초하여 상기 사용자에게 가이드 정보를 제공하는 단계를 포함할 수 있다.In various embodiments, the providing of the guide information may include generating a plurality of first test cases corresponding to a test target, wherein the test target is at least one function among a plurality of functions included in the software, from the user. In this case, a pre-constructed test case database - the pre-constructed test case database is a classification and storage of a plurality of pre-generated test cases to test a plurality of software and a plurality of functions included in each of the plurality of software - extracting a plurality of second test cases corresponding to the test target from, extracting a pattern of the extracted plurality of second test cases through big data analysis on the extracted plurality of second test cases; Performing verification on the generated plurality of first test cases based on the extracted pattern, and providing guide information to the user based on a result of performing verification on the generated plurality of first tests. can include
다양한 실시예에서, 상기 가이드 정보를 제공하는 단계는, 상기 사용자가 기 생성된 테스트 케이스에 따라 상기 소프트웨어에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 상기 소프트웨어에 대한 이슈가 발생한 것으로 판단되는 경우, 상기 발생된 이슈에 대한 하나 이상의 추가 테스트를 선정하는 단계 및 가이드 정보로서, 상기 선정된 하나 이상의 추가 테스트에 관한 정보 및 상기 선정된 하나 이상의 추가 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 상기 선정된 하나 이상의 추가 테스트에 대응하는 샘플 테스트 케이스를 제공하는 단계를 포함할 수 있다.In various embodiments, the providing of the guide information may include determining that an issue with the software has occurred based on a test performance result derived as the user performs a test for the software according to a pre-generated test case. If it is determined, selecting one or more additional tests for the generated issue and a method of generating test cases corresponding to the selected one or more additional tests and information on the selected one or more additional tests as guide information. It may include providing guide information including information about or providing sample test cases corresponding to the selected one or more additional tests.
다양한 실시예에서, 상기 가이드 정보를 제공하는 단계는, 서로 다른 둘 이상의 사용자로부터 동일한 테스트 대상에 대한 테스트 케이스 생성 요청이 획득되는 경우, 상기 동일한 테스트 대상에 대하여 상기 서로 다른 둘 이상의 사용자 각각이 서로 다른 종류의 테스트를 수행하도록 상기 서로 다른 둘 이상의 사용자 각각에게 상기 서로 다른 종류의 테스트에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함할 수 있다.In various embodiments, the providing of the guide information may include, when a test case generation request for the same test object is obtained from two or more different users, each of the two or more different users for the same test object is different from each other. The method may include providing guide information for generating test cases corresponding to the different types of tests to each of the two or more different users to perform tests of different types.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법을 수행하는 컴퓨팅 장치는 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 케이스(Test Case, TC) 생성 요청을 획득하는 인스트럭션(instruction) 및 상기 획득된 테스트 케이스 생성 요청에 대응하여, 상기 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스(User Interface, UI)를 제공하는 인스트럭션을 포함하며, 상기 사용자 인터페이스를 제공하는 인스트럭션은, 상기 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 인스트럭션을 포함할 수 있다.A computing device that performs a method for providing a user-customized test case generation guide for software quality assurance according to another embodiment of the present invention for solving the above problems is a processor, a network interface, a memory, and loaded into the memory, A computer program executed by the processor, wherein the computer program includes instructions for obtaining a request for generating a test case (TC) for quality assurance (QA) of software from a user and the In response to the acquired test case generation request, an instruction for providing a user interface (UI) for test case generation to the user is included, and the instruction for providing the user interface may cause the user to create a test case. It may include an instruction providing guide information for
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터프로그램은 컴퓨팅 장치와 결합되어, 사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 케이스(Test Case, TC) 생성 요청을 획득하는 단계 및 상기 획득된 테스트 케이스 생성 요청에 대응하여, 상기 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스(User Interface, UI)를 제공하는 단계를 포함하며, 상기 사용자 인터페이스를 제공하는 단계는, 상기 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함하는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장될 수 있다.A computer program according to another embodiment of the present invention for solving the above problems is combined with a computing device and receives a request for generating a test case (TC) for quality assurance (QA) of software from a user. In response to the acquiring step and the acquired test case creation request, providing a user interface (UI) for generating a test case to the user, wherein providing the user interface includes: It may be stored in a recording medium readable by a computing device in order to execute a user-customized test case generation guide providing method for software quality assurance, which includes providing guide information for test case generation to a computer.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.
본 발명의 다양한 실시예에 따르면, 사용자에게 테스트 케이스를 생성할 수 있는 환경을 제공하되, 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공함으로써, 사용자가 보다 쉽게 테스트 케이스를 생성할 수 있는 환경을 제공할 수 있다는 이점이 있다.According to various embodiments of the present invention, an environment in which a test case can be created is provided to the user, and guide information for test case creation is provided to the user, thereby providing an environment in which the user can more easily create the test case. There are advantages to being able to do it.
또한, 사용자로부터 소프트웨어의 품질보증을 위한 테스트 요청을 획득함에 따라 테스트를 위한 테스트 케이스를 자동으로 생성하여 사용자에게 제공함으로써, 사용자가 소프트웨어의 품질보증을 위한 테스트를 보다 용이하게 수행할 수 있는 환경을 제공할 수 있다는 이점이 있다.In addition, as a test request for software quality assurance is obtained from the user, test cases for testing are automatically generated and provided to the user, thereby creating an environment in which the user can more easily perform tests for software quality assurance. It has the advantage of being able to provide
또한, 소프트웨어의 품질보증을 위한 테스트 업무를 다수의 사용자에게 분배 및 할당하되, 테스트 업무의 속성에 따라 테스트를 수행하기에 적합한 사용자에게 테스트 업무를 분배 및 할당함으로써, 소프트웨어에 대한 다수의 테스트 업무를 보다 효과적으로 처리할 수 있는 환경을 제공할 수 있다는 이점이 있다.In addition, while distributing and allocating test tasks for software quality assurance to multiple users, multiple test tasks for software are distributed and allocated to users suitable for performing tests according to the nature of the test tasks. It has the advantage of being able to provide an environment that can be processed more effectively.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are 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 below.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 품질보증을 위한 솔루션 제공 시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 컴퓨팅 장치의 하드웨어 구성을 도시한 도면이다.
도 3은 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 케이스 생성을 위한 가이드를 제공하는 방법을 설명하기 위한 순서도이다.
도 4는 다양한 실시예에서, 빅데이터 분석 기반으로 가이드 정보를 제공하는 방법을 설명하기 위한 순서도이다.
도 5는 다양한 실시예에서, 테스트 케이스 생성 모델 기반으로 가이드 정보를 제공하는 방법을 설명하기 위한 순서도이다.
도 6은 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 케이스를 자동 생성하는 방법을 설명하기 위한 순서도이다.
도 7은 다양한 실시예에서, 빅데이터 분석 기반으로 테스트 케이스를 자동으로 생성하는 방법을 설명하기 위한 순서도이다.
도 8은 다양한 실시예에서, 테스트 케이스 생성 모델을 기반으로 테스트 케이스를 자동으로 생성하는 방법을 설명하기 위한 순서도이다.
도 9는 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.
도 10은 다양한 실시예에서, 난이도에 따라 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.
도 11은 다양한 실시예에서, 유형에 따라 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.
도 12는 다양한 실시예에서, 사용자에게 테스트 수행에 따른 보상을 제공하는 방법을 설명하기 위한 순서도이다.
도 13 내지 도 26은 다양한 실시예에서, 컴퓨팅 장치가 제공하는 사용자 인터페이스(User Interface, UI)를 예시적으로 도시한 도면이다.1 is a diagram illustrating a system for providing a solution for software quality assurance according to an embodiment of the present invention.
2 is a diagram illustrating a hardware configuration of a computing device according to another embodiment of the present invention.
3 is a flowchart illustrating a method of providing a guide for generating test cases as a solution for software quality assurance, in various embodiments.
4 is a flowchart illustrating a method of providing guide information based on big data analysis, in various embodiments.
5 is a flowchart illustrating a method of providing guide information based on a test case generation model in various embodiments.
6 is a flowchart illustrating a method of automatically generating test cases as a solution for software quality assurance in various embodiments.
7 is a flowchart illustrating a method of automatically generating test cases based on big data analysis, in various embodiments.
8 is a flowchart illustrating a method of automatically generating a test case based on a test case generation model, in various embodiments.
9 is a flow chart illustrating a method for allocating test tasks as a solution for software quality assurance, in various embodiments.
10 is a flowchart illustrating a method of allocating test tasks according to difficulty levels, in various embodiments.
11 is a flowchart illustrating a method of allocating test tasks according to types, in various embodiments.
12 is a flowchart illustrating a method of providing a reward for performing a test to a user, in various embodiments.
13 to 26 exemplarily illustrate a user interface (UI) provided by a computing device in various embodiments.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, only these embodiments are intended to complete the disclosure of the present invention, and are common in the art to which the present invention belongs. It is provided to fully inform the person skilled in the art of the scope of the invention, and the invention is only defined by the scope of the claims.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used herein, "comprises" and/or "comprising" does not exclude the presence or addition of one or more other elements other than the recited elements. Like reference numerals throughout the specification refer to like elements, and “and/or” includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various components, these components are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first element mentioned below may also be the second element within the technical spirit of the present invention.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those skilled in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.The term "unit" or "module" used in the specification means a hardware component such as software, FPGA or ASIC, and "unit" or "module" performs certain roles. However, "unit" or "module" is not meant to be limited to software or hardware. A “unit” or “module” may be configured to reside in an addressable storage medium and may be configured to reproduce one or more processors. Thus, as an example, a “unit” or “module” may refer to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. Functions provided within components and "units" or "modules" may be combined into smaller numbers of components and "units" or "modules" or may be combined into additional components and "units" or "modules". can be further separated.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.The spatially relative terms "below", "beneath", "lower", "above", "upper", etc. It can be used to easily describe a component's correlation with other components. Spatially relative terms should be understood as including different orientations of elements in use or operation in addition to the orientations shown in the drawings. For example, if you flip a component that is shown in a drawing, a component described as "below" or "beneath" another component will be placed "above" the other component. can Thus, the exemplary term “below” may include directions of both below and above. Components may also be oriented in other orientations, and thus spatially relative terms may be interpreted according to orientation.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In this specification, a computer means any kind of hardware device including at least one processor, and may be understood as encompassing a software configuration operating in a corresponding hardware device according to an embodiment. For example, a computer may be understood as including a smartphone, a tablet PC, a desktop computer, a laptop computer, and user clients and applications running on each device, but is not limited thereto.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Although each step described in this specification is described as being performed by a computer, the subject of each step is not limited thereto, and at least a part of each step may be performed in different devices according to embodiments.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 품질보증을 위한 솔루션 제공 시스템을 도시한 도면이다.1 is a diagram illustrating a system for providing a solution for software quality assurance according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 품질보증을 위한 솔루션 제공 시스템은 컴퓨팅 장치(100), 사용자 단말(200), 외부 서버(300) 및 네트워크(400)를 포함할 수 있다.Referring to FIG. 1 , a system for providing a solution for software quality assurance according to an embodiment of the present invention may include a
여기서, 도 1에 도시된 소프트웨어 품질보증을 위한 솔루션 제공 시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 1에 도시된 실시예에 한정되지 않으며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.Here, the solution providing system for software quality assurance shown in FIG. 1 is according to an embodiment, and its components are not limited to the embodiment shown in FIG. 1, and may be added, changed, or deleted as necessary. .
일 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 품질보증을 위한 솔루션 제공 서비스를 제공할 수 있다.In one embodiment, the
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드를 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 소프트웨어의 품질보증을 위한 테스트 케이스를 생성하고자 하는 경우, 사용자가 보다 용이하게 테스트 케이스를 생성할 수 있도록 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어의 품질보증을 위한 테스트 케이스를 자동 생성할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 소프트웨어의 품질보증을 위한 테스트를 수행하고자 하는 경우, 테스트를 위한 테스트 케이스를 자동으로 생성하여 사용자에게 제공할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어의 품질보증을 위한 테스트 업무를 사용자에게 할당할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 소프트웨어의 품질보증을 위한 테스트를 수행하고자 하는 경우, 소프트웨어의 테스트를 위한 복수의 테스트 업무를 생성하고, 테스트에 적합한 사용자들에게 테스트 업무를 할당할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)가 제공하는 소프트웨어 품질보증을 위한 솔루션 제공 서비스는 웹(web) 또는 애플리케이션(Application)과 같은 응용 소프트웨어 형태로 구현될 수 있으며, 웹 또는 응용 소프트웨어를 실행함에 따라 소프트웨어 품질보증을 위한 솔루션 제공 서비스 UI(예: 도 13 내지 도 26)를 제공할 수 있다.In various embodiments, the solution providing service for software quality assurance provided by the
일 실시예에서, 사용자 단말(200)은 네트워크(400)를 통해 컴퓨팅 장치(100)와 연결될 수 있으며, 사용자는 사용자 단말(200)을 통해 컴퓨팅 장치(100)로부터 제공되는 웹 또는 응용 소프트웨어를 실행함에 따라 소프트웨어 품질보증을 위한 솔루션 제공 서비스를 이용할 수 있다.In one embodiment, the
여기서, 사용자 단말(200)은 웹 또는 애플리케이션의 구동이 가능한 운영체제를 포함하며, 웹 또는 애플리케이션을 실행함에 따라 제공되는 UI를 출력할 수 있는 디스플레이가 적어도 일부분에 구비된 장치(예컨대, 내비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 태블릿 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치 등)일 수 있으나, 이에 한정되지 않는다.Here, the
또한, 여기서, 네트워크(400)는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함할 수 있다.Also, here, the
또한, 여기서, 무선 데이터 통신망은 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등을 포함할 수 있으나, 이에 한정되지는 않는다.In addition, here, the wireless data communication networks are 3G, 4G, 5G, 3GPP (3rd Generation Partnership Project), 5GPP (5th Generation Partnership Project), LTE (Long Term Evolution), WIMAX (World Interoperability for Microwave Access), Wi-Fi (Wi-Fi) Fi), Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), RF (Radio Frequency), Bluetooth network, A near-field communication (NFC) network, a satellite broadcasting network, an analog broadcasting network, a digital multimedia broadcasting (DMB) network, etc. may be included, but is not limited thereto.
일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 컴퓨팅 장치(100)와 연결될 수 있으며, 컴퓨팅 장치(100)가 소프트웨어 품질보증을 위한 솔루션 제공 서비스를 제공하기 위해 필요한 각종 정보 및 데이터(예컨대, 복수의 소프트웨어(또는 복수의 소프트웨어에 포함된 복수의 기능) 각각의 테스트를 위한 복수의 테스트 케이스, 복수의 사용자 정보(예컨대, 복수의 사용자 정보가 등록된 사용자 인력풀 등)를 저장 및 관리하거나, 컴퓨팅 장치(100)가 소프트웨어 품질보증을 위한 솔루션 제공 서비스를 제공함에 따라 생성되는 각종 정보 및 데이터(예컨대, 특정 소프트웨어(또는 특정 소프트웨어의 특정 기능)에 대한 테스트 케이스, 테스트 업무의 할당 이력 등)를 제공받아 저장 및 관리할 수 있다.In one embodiment, the
예컨대, 외부 서버(300)는 컴퓨팅 장치(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다. 이하, 도 2를 참조하여, 소프트웨어 품질보증을 위한 솔루션 제공 서비스를 제공하는 컴퓨팅 장치(100)의 하드웨어 구성에 대해 설명하도록 한다.For example, the
도 2는 본 발명의 다른 실시예에 따른 컴퓨팅 장치의 하드웨어 구성을 도시한 도면이다.2 is a diagram illustrating a hardware configuration of a computing device according to another embodiment of the present invention.
도 2를 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 2 , in various embodiments, a
프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.The
또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.Also, the
다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.In various embodiments, the
메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
버스(130)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The
통신 인터페이스(140)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.The
스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 컴퓨팅 장치(100)를 통해 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공 프로세스, 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 프로세스 및 소프트웨어의 품질보증을 위한 테스트 업무 할당 프로세스를 수행하는 경우, 스토리지(150)는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공 프로세스, 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 프로세스 및 소프트웨어의 품질보증을 위한 테스트 업무 할당 프로세스를 제공하기 위하여 필요한 각종 정보를 저장할 수 있다.The
스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The
컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.
일 실시예에서, 컴퓨터 프로그램(151)은 사용자로부터 소프트웨어의 품질보증)을 위한 테스트 케이스 생성 요청을 획득하는 단계 및 획득된 테스트 케이스 생성 요청에 대응하여, 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스를 제공하는 단계를 포함하며, 사용자 인터페이스를 제공하는 단계는, 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함하는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.In one embodiment, the
또한, 컴퓨터 프로그램(151)은 사용자로부터 소프트웨어의 품질보증을 위한 테스트 요청을 획득하는 단계, 상기 획득된 테스트 요청에 대응하여, 소프트웨어의 테스트를 위한 테스트 케이스를 생성하는 단계 및 사용자에게 생성된 테스트 케이스를 제공하는 단계를 포함하는 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.In addition, the
또한, 컴퓨터 프로그램(151)은 소프트웨어의 품질보증을 위한 테스트 업무를 생성하는 단계 및 생성된 테스트 업무의 속성에 기초하여, 기 등록된 복수의 사용자 중 적어도 하나의 사용자에게 생성된 테스트 업무를 할당하는 단계를 포함하는 소프트웨어의 품질보증을 위한 테스트 업무 할당 방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.In addition, the
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.Steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, implemented in a software module executed by hardware, or implemented by a combination thereof. A software module may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any form of computer readable recording medium well known in the art to which the present invention pertains.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 3 내지 도 12를 참조하여, 컴퓨팅 장치(100)가 제공하는 소프트웨어 품질보증을 위한 솔루션을 제공하는 방법들에 대해 보다 구체적으로 설명하도록 한다.Components of the present invention may be implemented as a program (or application) to be executed in combination with a computer, which is hardware, and stored in a medium. Components of the present invention may be implemented as software programming or software elements, and similarly, embodiments may include various algorithms implemented as data structures, processes, routines, or combinations of other programming constructs, such as C, C++ , Java (Java), can be implemented in a programming or scripting language such as assembler (assembler). Functional aspects may be implemented in an algorithm running on one or more processors. Hereinafter, with reference to FIGS. 3 to 12 , methods for providing a solution for software quality assurance provided by the
먼저, 도 3을 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법에 대해 설명하도록 한다.First, with reference to FIG. 3 , a method for providing a user-customized test case creation guide for software quality assurance performed by the
도 3은 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 케이스 생성을 위한 가이드를 제공하는 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a method of providing a guide for generating test cases as a solution for software quality assurance, in various embodiments.
도 3을 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 품질보증을 위한 솔루션으로서, 사용자가 보다 용이하게 테스트 케이스를 생성할 수 있도록 사용자에게 사용자 맞춤형 테스트 케이스 생성 가이드를 제공할 수 있다.Referring to FIG. 3 , in various embodiments, as a solution for software quality assurance, the
S110 단계에서, 컴퓨팅 장치(100)는 사용자로부터 소프트웨어의 품질보증(QA)을 위한 테스트 케이스(TC) 생성 요청을 획득할 수 있다.In step S110, the
다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자가 사용자 단말(200)을 통해 웹 또는 응용 소프트웨어를 실행함에 따라 사용자 단말(200)의 디스플레이 상에 UI(예: 도 13 내지 도 26)를 출력할 수 있으며, 출력된 UI를 통해 사용자로부터 테스트 케이스 생성 요청을 획득할 수 있다.In various embodiments, the
여기서, 사용자로부터 테스트 케이스 생성 요청을 획득하는 동작은 사용자가 UI를 통해 출력되는 테스트 케이스 생성 버튼을 선택함에 따라 출력되는 신호를 수집하는 동작을 의미하는 것일 수 있으나, 이에 한정되지 않고, 사용자로부터 테스트 케이스 생성 요청을 획득하는 동작 UI를 통해 출력된 소프트웨어의 테스트 요청 버튼을 선택함에 따라 출력되는 신호를 획득하는 동작 또는 사용자가 사용자 단말(200)을 통해 컴퓨팅 장치(100)가 제공하는 웹 또는 응용 소프트웨어를 실행하는 동작 자체일 수 있다.Here, the operation of obtaining a test case generation request from the user may mean an operation of collecting a signal output as the user selects a test case generation button output through the UI, but is not limited thereto, and a test from the user is not limited thereto. Operation of acquiring a case creation request Operation of acquiring a signal output by selecting the test request button of the software output through the UI or web or application software provided by the
여기서, 테스트 케이스는 소프트웨어 자체 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 것으로, 테스트 시나리오(Test Scenario, TS)(예: 소프트웨어 또는 소프트웨어를 통해 제공되는 기능 중 “무엇”을 테스트할 것인지가 정의된 데이터)에 기초하여, 테스트하고자 하는 대상을 "어떻게" 테스트할 것인지를 정의한 데이터를 의미할 수 있다.Here, a test case is for testing the software itself or at least one function among a plurality of functions included in the software, and a test scenario (Test Scenario, TS) (eg, “what” among the software or functions provided through the software) It may refer to data defining "how" to test an object to be tested, based on data defining what to test.
S120 단계에서, 컴퓨팅 장치(100)는 S110 단계를 거쳐 획득된 테스트 케이스 생성 요청에 대응하여, 사용자에게 테스트 케이스 생성을 위한 UI를 제공할 수 있다.In step S120, the
여기서, 컴퓨팅 장치(100)가 제공하는 테스트 케이스 생성을 위한 UI는 사용자가 직접 테스트 케이스를 작성 및 생성할 수 있는 환경을 제공하는 UI로서, 예컨대, 사용자가 직접 테스트 케이스를 작성 및 생성할 수 있도록 테스트 케이스 작성 템플릿을 출력할 수 있으나, 이에 한정되지 않는다.Here, the UI for test case generation provided by the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 보다 용이하게 테스트 케이스를 작성할 수 있도록, 사용자에게 사용자 맞춤형 테스트 케이스 생성 가이드를 제공할 수 있다.In various embodiments, the
일례로, 컴퓨팅 장치(100)는 사용자가 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 목적으로 테스트 케이스를 생성하고자 하는 경우, 사용자가 테스트하고자 하는 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정할 수 있고, 하나 이상의 추천 테스트에 관한 정보 및 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법(예컨대, 하나 이상의 추천 테스트를 수행하기 위한 테스트 케이스를 작성하는 방법 등)에 관한 정보를 포함하는 안내 정보를 가이드 정보로서 제공할 수 있다.For example, when a user wants to create a test case for the purpose of testing at least one function among a plurality of functions included in software, the
다른 예로, 컴퓨팅 장치(100)는 사용자가 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 목적으로 테스트 케이스를 생성하고자 하는 경우, 사용자가 테스트하고자 하는 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정할 수 있고, 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 가이드 정보로서 제공할 수 있다. 그러나, 이에 한정되지 않는다.As another example, when a user wants to create a test case for the purpose of testing at least one function among a plurality of functions included in software, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 목적으로 테스트 케이스를 생성하고자 하는 경우, 사용자가 테스트하고자 하는 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하되, 사용자의 테스트 수행 능력에 기초하여 추천 테스트 선정할 수 있다. 여기서, 사용자의 테스트 수행 능력을 판단 및 평가하는 구체적인 방법에 대해서는 도 12를 참조하여 후술한다.In various embodiments, when a user wants to create a test case for the purpose of testing at least one function among a plurality of functions included in software, the
일례로, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력에 기초하여 사용자에 적합한 테스트 난이도를 판단할 수 있고, 판단된 테스트 난이도에 따라 추천 테스트를 선정할 수 있다.For example, the
예컨대, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우, 사용자에 대한 테스트 난이도를 "낮음(Low level)"로 결정할 수 있고, 사용자에 대한 테스트 난이도에 따라 사전에 낮은 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.For example, when the user's ability to perform the test is lower than the first level or lower than the first level, the
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 사용자에 대한 테스트 난이도를 "중간(Middle level)"로 결정할 수 있고, 사용자에 대한 테스트 난이도에 따라 사전에 중간 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.In addition, the
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제2 등급 이상(제3 등급)이거나 제2 레벨 이상인 경우, 사용자에 대한 테스트 난이도를 "높음(High level)"로 결정할 수 있고, 사용자에 대한 테스트 난이도에 따라 사전에 높은 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.In addition, when the user's ability to perform the test is the second level or higher (third level) or higher than the second level, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력에 기초하여, 사용자의 테스트 수행 능력에 적합한 가이드 정보를 제공할 수 있다.In various embodiments, the
예컨대, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력에 기초하여, 사용자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우, 가이드 정보로서, 추천 테스트에 관한 정보와 추천 테스트에 대응하는 테스트 케이스 생성 방법에 관한 정보를 포함하는 안내 정보와 추천 테스트에 대응하는 샘플 테스트 케이스를 제공할 수 있다.For example, based on the user's test performance ability, when the user's test performance ability is lower than the first grade or lower than the first level, the
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 가이드 정보로서, 추천 테스트에 관한 정보와 추천 테스트에 대응하는 테스트 케이스 생성 방법에 관한 정보를 포함하는 안내 정보만을 제공하거나, 추천 테스트에 대응하는 샘플 테스트 케이스만을 제공할 수 있다.In addition, when the user's test performance ability is equal to or greater than the first level and less than the second level, or greater than or equal to the first level and less than the second level, the
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제2 등급 이상(제3 등급)이거나 제2 레벨 이상인 경우, 가이드 정보로서, 추천 테스트에 관한 정보만을 제공할 수 있다.In addition, when the user's test performance ability is the second level or higher (third level) or higher than the second level, the
다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 사용자로부터 테스트 케이스 작성을 위한 하나 이상의 키워드를 입력받는 경우, 자동완성 기능을 통해 하나 이상의 키워드에 대응하는 테스트 내용의 적어도 일부분을 자동 완성하되, 사용자의 테스트 수행 능력에 기초하여 테스트 내용의 자동 완성 정도를 결정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우 하나 이상의 키워드를 포함하는 구, 절 또는 문장을 자동 완성할 수 있다. 또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 하나 이상의 키워드를 포함하는 단어 또는 해당 단어와 동일한 의미를 가지는 다른 단어들을 추천 단어로서 제공할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어에 대한 테스트를 수행하는 사용자 단말(200)의 속성에 기초하여, 사용자 단말(200)에서 수행하기 적합한 테스트 케이스를 생성하기 위한 가이드 정보를 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자 단말(200)의 속성(예: 사용자 단말(200)의 종류(운영체제의 종류) 및 성능 등)에 기초하여, 사용자에 대한 테스트 범위(즉, 사용자 단말(200)에서 수행 가능한 테스트의 범위)를 결정할 수 있고, 결정된 테스트 범위에 기초하여 추천 테스트를 선정할 수 있으며, 선정된 추천 테스트에 대응하는 테스트 케이스를 생성하기 위한 가이드 정보를 제공할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 기 생성된 테스트 케이스에 따라 소프트웨어(또는 소프트웨어의 특정 기능)에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 가이드 정보를 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 기 생성된 테스트 케이스에 따라 소프트웨어에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 소프트웨어에 대한 이슈가 발생한 것으로 판단되는 경우(예컨대, 테스트 수행 결과가 "실패"인 경우), 발생된 이슈에 대응하는 하나 이상의 추가 테스트를 선정할 수 있고, 가이드 정보로서, 하나 이상의 추가 테스트에 관한 정보 하나 이상의 추가 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 하나 이상의 추가 테스트에 대응하는 샘플 테스트 케이스를 제공할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 제1 소프트웨어에 대한 테스트 케이스를 생성하고자 하는 경우, 제1 소프트웨어와 동일한 종류의 제2 소프트웨어의 이슈 발생 이력에 기초하여, 사용자에게 가이드 정보를 제공할 수 있다.In various embodiments, when the user wants to create a test case for the first software, the
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 사용자가 롤플레잉 게임을 제공하는 제1 소프트웨어에 대한 테스트 케이스를 생성하고자 하는 경우, 복수의 소프트웨어 중 제1 소프트웨어와 동일한 종류의 복수의 제2 소프트웨어(예: 롤플레잉 게임을 제공하는 복수의 제2 소프트웨어)를 선택하고, 선택된 복수의 제2 소프트웨어에 대한 복수의 테스트 수행 결과에 기초하여 복수의 제2 소프트웨어에 포함된 복수의 기능 각각에 대한 이슈 발생 횟수를 카운팅할 수 있다.More specifically, first, when a user wants to create a test case for a first software providing a role-playing game, the
이후, 컴퓨팅 장치(100)는 복수의 제2 소프트웨어에 포함된 복수의 기능 중 이슈 발생 횟수가 기준 횟수 이상인 기능을 요주의 기능으로 선택하고, 요주의 기능으로 선택된 기능을 테스트하기 위한 하나 이상의 추천 테스트를 선정할 수 있으며, 가이드 정보로서, 하나 이상의 추천 테스트에 관한 정보 및 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 제공할 수 있다.Thereafter, the
이때, 컴퓨팅 장치(100)는 요주의 기능으로 선택된 기능을 테스트하기 위한 추천 테스트를 선정하되, 이슈 발생 횟수에 기초하여 선정하고자 하는 추천 테스트의 개수를 결정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제1 횟수 미만인 경우 제1 기능에 대한 하나의 추천 테스트를 선정할 수 있고, 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제1 횟수 이상 제2 횟수 미만인 경우 제1 기능에 대한 두개의 추천 테스트를 선정할 수 있으며, 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제2 횟수 이상인 경우 제1 기능에 대한 셋 이상의 추천 테스트를 선정할 수 있다. 그러나, 이에 한정되지 않는다.At this time, the
다양한 실시예에서, 컴퓨팅 장치(100)는 서로 다른 둘 이상의 사용자로부터 동일한 테스트 대상(소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대한 테스트 케이스 생성 요청이 획득되는 경우, 동일한 테스트 대상에 대하여 서로 다른 둘 이상의 사용자 각각이 서로 다른 종류의 테스트를 수행하도록 서로 다른 둘 이상의 사용자 각각에게 서로 다른 종류의 테스트에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 대상에 대한 테스트 정도(테스트 중요도)를 사전에 설정할 수 있으며, 테스트 중요도가 낮은 테스트 대상에 대해서는 복수의 사용자가 서로 다른 종류의 테스트를 수행하도록 복수의 사용자에게 서로 다른 가이드 정보를 제공할 수 있고, 테스트 중요도가 높은 테스트 대상에 대해서는 복수의 사용자가 서로 동일한 종류의 테스트를 수행하도록 복수의 사용자에게 서로 동일한 가이드 정보를 제공할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 빅데이터 분석을 기반으로 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하거나, 인공지능 모델을 기반으로 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다. 이하, 도 4 및 도 5를 참조하여 보다 구체적으로 설명하도록 한다.In various embodiments, the
도 4는 다양한 실시예에서, 빅데이터 분석 기반으로 가이드 정보를 제공하는 방법을 설명하기 위한 순서도이다.4 is a flowchart illustrating a method of providing guide information based on big data analysis, in various embodiments.
도 4를 참조하면, S210 단계에서, 컴퓨팅 장치(100)는 테스트 케이스 데이터베이스를 구축할 수 있다.Referring to FIG. 4 , in step S210 , the
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 생성된 복수의 테스트 케이스를 수집할 수 있고, 복수의 테스트 케이스를 분류(예컨대, 테스트 대상의 종류(소프트웨어의 종류 또는 소프트웨어에 포함된 기능의 종류), 난이도, 유형 등에 따른 분류) 및 저장함으로써, 빅데이터 분석을 위한 테스트 케이스 데이터베이스를 구축할 수 있다.In various embodiments, the
여기서, 컴퓨팅 장치(100)에 의해 수집된 복수의 테스트 케이스는 컴퓨팅 장치(100)가 제공하는 플랫폼을 통해 사용자가 직접 생성한 테스트 케이스일 수 있으나, 이에 한정되지 않고, 컴퓨팅 장치(100)에 의해 수집된 복수의 테스트 케이스는 외부 프로그램을 통해 생성된 복수의 테스트 케이스를 수집하여 사전에 정의된 템플릿에 맞춰 가공한 것이거나, 컴퓨팅 장치(100)에 의해 수집된 복수의 테스트 케이스는 컴퓨팅 장치(100)에 의해 자동적으로 생성된 테스트 케이스(예컨대, 후술되는 도 6의 S420 단계를 거쳐 생성된 테스트 케이스)를 포함할 수 있다.Here, the plurality of test cases collected by the
또한, 여기서, 빅데이터 기반의 데이터 수집 및 저장 방법은 다양한 기술들이 기 공지(예: 빅데이터 수집 기술(로그 수집, 크롤링, 센싱, RSS, Open API) 및 빅데이터 저장 기술(NoSQL, File System, 클라우드, 네트워크))되어 있고, 상황에 따라 이러한 다양한 공지 기술들을 선택적으로 적용할 수 있는 바, 본 명세서에서는 컴퓨팅 장치(100)에 의해 수행되는 빅데이터 기반의 데이터 수집 및 저장 방법에 대해 구체적으로 개시하지 않는다.In addition, here, the big data-based data collection and storage method includes various technologies (e.g., big data collection technology (log collection, crawling, sensing, RSS, Open API) and big data storage technology (NoSQL, File System, Cloud, network)), and these various known technologies can be selectively applied according to circumstances, and in this specification, a method for collecting and storing data based on big data performed by the
S220 단계에서, 컴퓨팅 장치(100)는 S210 단계를 거쳐 구축된 테스트 케이스 데이터베이스로부터 테스트 대상(예컨대, 사용자가 테스트하고자 하는 대상으로, 소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대응하는 복수의 테스트 케이스를 추출할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 소프트웨어의 특정 기능에 대한 테스트를 수행하고자 하는 경우, 테스트 케이스 데이터베이스로부터 특정 기능에 대응하는 복수의 테스트 케이스를 추출할 수 있다.In step S220, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자의 테스트 선호도에 기초하여 테스트 케이스 데이터베이스로부터 추출된 복수의 테스트 케이스를 필터링할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자로부터 사용자의 선호 테스트 종류 및 비선호 테스트 종류에 관한 정보를 포함하는 선호도 정보를 획득할 수 있으며, 데이터베이스로부터 테스트 대상에 대응하는 복수의 테스트 케이스를 추출하되, 추출된 복수의 테스트 케이스 중 사용자가 선호하는 테스트 종류에 대응하는 테스트 케이스만을 선택하거나, 추출된 복수의 테스트 케이스 중 사용자가 선호하지 않는 테스트 종류에 대응하는 테스트 케이스를 필터링할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자의 테스트 수행 이력에 기초하여 테스트 케이스 데이터베이스로부터 추출된 복수의 테스트 케이스를 필터링할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자의 테스트 수행 이력(예: 사용자가 기 생성된 복수의 테스트 케이스에 따라 테스트 대상에 대한 테스트를 수행함으로써 도출된 복수의 테스트 수행 결과)에 기초하여, 테스트 종류별 수행 횟수를 카운팅할 수 있고, 데이터베이스로부터 테스트 대상에 대응하는 복수의 테스트 케이스를 추출하되, 추출된 복수의 테스트 케이스 중 카운팅된 수행 횟수가 기준 횟수 이상인 테스트 종류에 대응하는 테스트 케이스만을 선택하거나 추출된 복수의 테스트 케이스 중 카운팅된 수행 횟수가 기준 횟수 미만인 테스트 종류에 대응하는 테스트 케이스를 필터링할 수 있다.In various embodiments, the
S230 단계에서, 컴퓨팅 장치(100)는 S220 단계를 거쳐 추출된 복수의 테스트 케이스(또는 사용자의 선호도 및/또는 사용자의 테스트 수행 이력에 기초하여 필터링된 복수의 테스트 케이스)를 빅데이터 분석하여 테스트 대상에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다. In step S230, the
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 테스트 케이스 데이터베이스로부터 추출된 복수의 테스트 케이스를 빅데이터 분석함으로써, 복수의 테스트 케이스의 패턴을 추출할 수 있다. 예컨대, 컴퓨팅 장치(100)는 특정 기능에 대응하는 복수의 테스트 케이스를 빅데이터 분석함으로써, 특정 기능에 대하여 어떤 종류의 테스트가 수행되었는지, 어떤 종류의 테스트를 어떠한 방식으로 테스트하였는지 및/또는 어떤 종류의 테스트를 얼마나 수행하였는지 등과 같은 패턴 즉, 특정 기능에 대한 테스트 케이스 생성 패턴을 복수의 테스트 케이스에 대한 특징 데이터로 추출할 수 있다.More specifically, first, the
여기서, 기 저장된 빅데이터로부터 특정 데이터를 추출하는 방법은 다양한 기술들이 기 공지(예: 빅데이터 처리 기술(대용량 데이터베이스에서 쿼리를 통해 결과값을 추출하는 방법, 실시간 처리를 통해 결과값을 추출하는 방법))되어 있고, 상황에 따라 이러한 다양한 공지 기술들을 선택적으로 적용할 수 있는 바, 본 명세서에서는 컴퓨팅 장치(100)에 의해 수행되는 빅데이터 처리 방법에 대해 구체적으로 개시하지 않는다.Here, as for the method of extracting specific data from pre-stored big data, various technologies are already known (e.g., big data processing technology (a method of extracting result values from a large database through a query, a method of extracting result values through real-time processing) )), and these various known technologies can be selectively applied according to circumstances, and the present specification does not specifically disclose the big data processing method performed by the
이후, 컴퓨팅 장치(100)는 빅데이터 분석을 통해 추출된 특징 데이터(테스트 케이스 생성 패턴)에 기초하여, 테스트 대상에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다.Thereafter, the
예컨대, 컴퓨팅 장치(100)는 특정 기능에 대응하는 복수의 테스트 케이스를 빅데이터 분석한 결과, 특정 기능에 대하여 제1 테스트 및 제2 테스트가 수행된 것으로 판단되는 경우, 제1 테스트 및 제2 테스트를 추천 테스트로 선정할 수 있고, 추천 테스트로 선정된 제1 테스트 및 제2 테스트에 관한 정보, 제1 테스트 및 제2 테스트에 대응하는 테스트 케이스 생성 방법에 관한 정보를 포함하는 안내 정보나 제1 테스트 및 제2 테스트에 대응하는 샘플 테스트 케이스를 가이드 정보로 제공할 수 있다.For example, when the
여기서, 제1 테스트 및 제2 테스트에 대응하는 샘플 테스트 케이스는 S220 단계를 거쳐 추출된 복수의 테스트 케이스를 중 적어도 하나의 테스트 케이스일 수 있으나, 이에 한정되지 않는다.Here, the sample test case corresponding to the first test and the second test may be at least one test case among a plurality of test cases extracted through step S220, but is not limited thereto.
도 5는 다양한 실시예에서, 테스트 케이스 생성 모델 기반으로 가이드 정보를 제공하는 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating a method of providing guide information based on a test case generation model in various embodiments.
도 5를 참조하면, S310 단계에서, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델을 생성할 수 있다.Referring to FIG. 5 , in step S310 , the
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 소프트웨어 및 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 생성된 복수의 테스트 케이스를 학습 데이터로 하여 학습시킴에 따라 테스트 케이스 생성 모델을 생성할 수 있다.In various embodiments, the
예컨대, 컴퓨팅 장치(100)는 복수의 테스트 케이스 각각에 대하여, 테스트 대상에 관한 정보, 테스트에 관한 정보(테스트 종류, 유형, 난이도 등)를 레이블링(Labeling)함에 따라 학습 데이터를 생성할 수 있고, 지도학습(Supervised Learning)방법에 따라 테스트 케이스 생성 모델을 학습시킴으로써, 특정 테스트 대상에 관한 정보를 입력 데이터로 하여 특정 테스트 대상에 대한 추천 테스트를 추출하거나, 추천 테스트에 대응하는 테스트 케이스를 추출하는 테스트 케이스 생성 모델을 생성할 수 있다.For example, the
테스트 케이스 생성 모델(예: 신경망)은 하나 이상의 네트워크 함수로 구성되며, 하나 이상의 네트워크 함수는 일반적으로 ‘노드’라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 ‘노드’들은 ‘뉴런(neuron)’들로 지칭될 수도 있다. 하나 이상의 네트워크 함수는 적어도 하나 이상의 노드들을 포함하여 구성된다. 하나 이상의 네트워크 함수를 구성하는 노드(또는 뉴런)들은 하나 이상의 ‘링크’에 의해 상호 연결될 수 있다.A test case generation model (e.g., a neural network) consists of one or more network functions, which may consist of a set of interconnected computational units, commonly referred to as ‘nodes’. These 'nodes' may also be referred to as 'neurons'. One or more network functions include at least one or more nodes. Nodes (or neurons) that make up one or more network functions can be interconnected by one or more 'links'.
테스트 케이스 생성 모델 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다. In the test case generation model, one or more nodes connected through a link may form a relationship of a relative input node and an output node. The concept of an input node and an output node is relative, and any node in an output node relationship with one node may have an input node relationship with another node, and vice versa. As described above, the input node to output node relationship can be created around the link. More than one output node can be connected to one input node through a link, and vice versa.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 테스트 케이스 생성 모델이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.In a relationship between an input node and an output node connected through one link, the value of the output node may be determined based on data input to the input node. Here, a node interconnecting an input node and an output node may have a weight. Weights may be variable, and may be varied by a user or an algorithm in order to perform a desired function of a test case generation model. For example, when one or more input nodes are interconnected by respective links to one output node, the output node is set to a link corresponding to values input to input nodes connected to the output node and respective input nodes. An output node value may be determined based on the weight.
전술한 바와 같이, 테스트 케이스 생성 모델은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 테스트 케이스 생성 모델 내에서 입력 노드 및 출력 노드 관계를 형성한다. 테스트 케이스 생성 모델 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 테스트 케이스 생성 모델의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 테스트 케이스 생성 모델이 존재하는 경우, 두 개의 테스트 케이스 생성 모델들은 서로 상이한 것으로 인식될 수 있다.As described above, in the test case generation model, one or more nodes are interconnected through one or more links to form an input node and output node relationship in the test case generation model. Characteristics of the test case generation model may be determined according to the number of nodes and links in the test case generation model, the relationship between the nodes and links, and the value of the weight assigned to each link. For example, if there are two test case generation models with the same number of nodes and links and different weight values between the links, the two test case generation models may be recognized as different from each other.
테스트 케이스 생성 모델을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 테스트 케이스 생성 모델 내에서 레이어의 차수는 전술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.Some of the nodes constituting the test case generation model may constitute one layer based on distances from the first input node. For example, a set of nodes having a distance of n from the first input node may constitute n layers. The distance from the first input node may be defined by the minimum number of links that must be passed through to reach the corresponding node from the first input node. However, the definition of such a layer is arbitrary for explanation, and the order of a layer in the test case generation model may be defined in a different way from the above. For example, a layer of nodes may be defined by a distance from a final output node.
최초 입력 노드는 테스트 케이스 생성 모델 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 테스트 케이스 생성 모델 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 테스트 케이스 생성 모델 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 테스트 케이스 생성 모델을 구성하는 노드들을 의미할 수 있다. 본 발명의 일 실시예에 따른 테스트 케이스 생성 모델은 입력 레이어의 노드가 출력 레이어에 가까운 히든 레이어의 노드보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 테스트 케이스 생성 모델일 수 있다.The first input node may refer to one or more nodes to which data is directly input without going through a link in relation to other nodes among nodes in the test case generation model. Alternatively, in the relationship between nodes based on a link in the test case generation model network, it may mean nodes that do not have other input nodes connected by a link. Similarly, the final output node may mean one or more nodes that do not have an output node in relation to other nodes among nodes in the test case generation model. In addition, the hidden node may refer to nodes constituting the test case generation model other than the first input node and the last output node. In the test case generation model according to an embodiment of the present invention, the number of nodes of the input layer may be greater than the nodes of the hidden layer close to the output layer, and the number of nodes decreases as the number of nodes increases from the input layer to the hidden layer. can be a model
테스트 케이스 생성 모델은 하나 이상의 히든 레이어를 포함할 수 있다. 히든 레이어의 히든 노드는 이전의 레이어의 출력과 주변 히든 노드의 출력을 입력으로 할 수 있다. 각 히든 레이어 별 히든 노드의 수는 동일할 수도 있고 상이할 수도 있다. 입력 레이어의 노드의 수는 입력 데이터의 데이터 필드의 수에 기초하여 결정될 수 있으며 히든 노드의 수와 동일할 수도 있고 상이할 수도 있다. 입력 레이어에 입력된 입력 데이터는 히든 레이어의 히든 노드에 의하여 연산될 수 있고 출력 레이어인 완전 연결 레이어(FCL: fully connected layer)에 의해 출력될 수 있다.A test case generation model may include one or more hidden layers. A hidden node of a hidden layer may use outputs of previous layers and outputs of neighboring hidden nodes as inputs. The number of hidden nodes for each hidden layer may be the same or different. The number of nodes of the input layer may be determined based on the number of data fields of the input data and may be the same as or different from the number of hidden nodes. Input data input to the input layer may be operated by a hidden node of the hidden layer and may be output by a fully connected layer (FCL) that is an output layer.
다양한 실시예에서, 테스트 케이스 생성 모델은 딥러닝(Deep learning) 모델일 수 있다.In various embodiments, the test case generation model may be a deep learning model.
딥러닝 모델(예: 딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 테스트 케이스 생성 모델을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다.A deep learning model (e.g., a deep neural network (DNN)) may refer to a test case generation model that includes a plurality of hidden layers in addition to an input layer and an output layer. With a deep neural network, data can identify the latent structures of a photograph, text, video, sound, or music (e.g., what objects are in a photograph; what the content and emotion of a text are; content and emotions, etc.) can be grasped.
딥 뉴럴 네트워크는 컨벌루셔널 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있으나, 이에 한정되지 않는다.Deep neural networks include convolutional neural networks (CNN), recurrent neural networks (RNNs), auto encoders, generative adversarial networks (GANs), and restricted Boltzmann machines (RBMs). boltzmann machine), deep belief network (DBN), Q network, U network, Siamese network, etc., but is not limited thereto.
다양한 실시예에서, 네트워크 함수는 오토 인코더를 포함할 수도 있다. 여기서, 오토 인코더는 입력 데이터와 유사한 출력 데이터를 출력하기 위한 인공 신경망의 일종일 수 있다.In various embodiments, the network function may include an autoencoder. Here, the auto encoder may be a type of artificial neural network for outputting output data similar to input data.
오토 인코더는 적어도 하나의 히든 레이어를 포함할 수 있으며, 홀수 개의 히든 레이어가 입출력 레이어 사이에 배치될 수 있다. 각각의 레이어의 노드의 수는 입력 레이어의 노드의 수에서 병목 레이어(인코딩)라는 중간 레이어로 축소되었다가, 병목 레이어에서 출력 레이어(입력 레이어와 대칭)로 축소와 대칭되어 확장될 수도 있다. 차원 감소 레이어와 차원 복원 레이어의 노드는 대칭일 수도 있고 아닐 수도 있다. 또한, 오토 인코더는 비선형 차원 감소를 수행할 수 있다. 입력 레이어 및 출력 레이어의 수는 입력 데이터의 전처리 이후에 남은 센서들의 수와 대응될 수 있다. 오토 인코더 구조에서 인코더에 포함된 히든 레이어의 노드의 수는 입력 레이어에서 멀어질수록 감소하는 구조를 가질 수 있다. 병목 레이어(인코더와 디코더 사이에 위치하는 가장 적은 노드를 가진 레이어)의 노드의 수는 너무 작은 경우 충분한 양의 정보가 전달되지 않을 수 있으므로, 특정 수 이상(예를 들어, 입력 레이어의 절반 이상 등)으로 유지될 수도 있다.An auto-encoder may include at least one hidden layer, and an odd number of hidden layers may be disposed between input and output layers. The number of nodes of each layer may be reduced from the number of nodes of the input layer to an intermediate layer called the bottleneck layer (encoding), and then expanded symmetrically with the reduction from the bottleneck layer to the output layer (symmetrical to the input layer). Nodes of the dimension reduction layer and the dimension restoration layer may or may not be symmetrical. Also, autoencoders can perform nonlinear dimensionality reduction. The number of input layers and output layers may correspond to the number of remaining sensors after preprocessing of input data. In the auto-encoder structure, the number of hidden layer nodes included in the encoder may decrease as the distance from the input layer increases. If the number of nodes in the bottleneck layer (the layer with the fewest nodes located between the encoder and decoder) is too small, a sufficient amount of information may not be conveyed, so more than a certain number (e.g., more than half of the input layer, etc.) ) may be maintained.
S320 단계에서, 컴퓨팅 장치(100)는 S310 단계를 거쳐 생성된 테스트 케이스 생성 모델을 통해 결과 데이터를 출력할 수 있다. 예컨대, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상(예컨대, 사용자가 테스트하고자 하는 대상으로, 소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 관한 정보를 입력함에 따라 결과 데이터로서, 테스트 대상에 대한 추천 테스트를 출력하거나, 테스트 대상을 테스트하기 위한 테스트 케이스를 출력할 수 있다.In step S320, the
S330 단계에서, 컴퓨팅 장치(100)는 S320 단계를 거쳐 출력된 결과 데이터를 기반으로, 테스트 대상에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다. In step S330, the
일례로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 추천 테스트가 출력된 경우, 가이드 정보로서, 추천 테스트에 관한 정보 및 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 추천 테스트에 대응하는 샘플 테스트 케이스를 제공할 수 있다.For example, when the recommended test for the test target is output as information on the test target is input to the test case generation model, the
다른 예로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 하나 이상의 테스트 케이스가 출력된 경우, 하나 이상의 테스트 케이스를 테스트 대상에 대한 샘플 테스트 케이스로서 사용자에게 제공할 수 있다.As another example, when one or more test cases for the test object are output as information on the test object is input into the test case generation model, the
또 다른 예로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 복수의 테스트 케이스가 출력된 경우, 출력된 복수의 테스트 케이스를 분석하여 패턴을 추출할 수 있고, 추출된 패턴에 기초하여 추천 테스트를 선정할 수 있으며, 가이드 정보로서 추천 테스트에 관한 정보 및 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 추천 테스트에 대응하는 샘플 테스트 케이스를 제공할 수 있다.As another example, when a plurality of test cases for the test target are output as information on the test target is input to the test case generation model, the
다시, 도 3을 참조하면, S130 단계에서, 컴퓨팅 장치(100)는 S120 단계를 거쳐 제공된 사용자 인터페이스를 통해 획득되는 사용자 입력에 기초하여 테스트 케이스를 생성할 수 있다. 예컨대, 사용자는 컴퓨팅 장치(100)로부터 제공되는 가이드 정보를 참고하여, UI를 통해 테스트 케이스를 작성한 후, 테스트 케이스 작성 완료를 선택할 수 있으며, 컴퓨팅 장치(100)는 사용자로부터 테스트 케이스 작성 완료가 선택됨에 따라 사용자가 작성한 내용을 기반으로 테스트 케이스를 생성할 수 있다.Again, referring to FIG. 3 , in step S130 , the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 생성한 테스트 케이스에 대한 검증을 수행할 수 있고, 검증 결과에 기초하여 가이드 정보를 제공할 수 있다.In various embodiments, the
보다 구체적으로, 컴퓨팅 장치(100)는 사용자로부터 테스트 대상을 테스트하기 위한 제1 테스트 케이스가 생성된 경우, 테스트 케이스 데이터베이스로부터 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출할 수 있고, 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도를 산출할 수 있으며, 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도에 기초하여 제1 테스트 케이스를 검증할 수 있다.More specifically, when a first test case for testing a test object is generated by a user, the
예컨대, 컴퓨팅 장치(100)는 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도가 기준 유사도 이상인 경우, 제1 테스트 케이스가 정확하게 생성된 것으로 판단할 수 있고, 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도 기준 유사도 미만인 경우, 제1 테스트 케이스가 부정확하게 생성된 것으로 판단할 수 있다.For example, the
다양한 실시예에서, 컴퓨팅 장치(100)는 제1 테스트 케이스에 포함된 복수의 항목과 복수의 제2 테스트 케이스 각각에 포함된 복수의 항목 각각에 대한 복수의 단위 유사도를 산출할 수 있으며, 복수의 단위 유사도의 평균 값을 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도로 산출할 수 있다.In various embodiments, the
이때, 컴퓨팅 장치(100)는 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도 기준 유사도 미만임에 따라 제1 테스트 케이스가 부정확하게 생성된 것으로 판단되는 경우, 사용자에게 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공할 수 있다. In this case, when the
예컨대, 먼저, 컴퓨팅 장치(100)는 1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도 기준 유사도 미만인 경우, 제1 테스트 케이스에 포함된 복수의 항목 각각에 대응하는 복수의 단위 유사도와 기준 단위 유사도를 비교하여 기준 단위 유사도 미만인 적어도 하나의 항목을 수정이 필요한 항목으로 선택할 수 있다.For example, first, if the similarity between one test case and a plurality of second test cases is less than the criterion similarity, the
이후, 컴퓨팅 장치(100)는 수정이 필요한 항목에 관한 정보, 수정이 필요한 항목을 작성하는 방법에 관한 정보를 포함하는 안내 정보 또는 수정이 필요한 항목에 대응하는 샘플(예컨대, 복수의 제2 테스트 케이스에 포함된 복수의 항목 중 수정이 항목에 대응하는 항목들의 내용)을 제공할 수 있다.Thereafter, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 테스트 대상을 테스트하기 위한 복수의 제1 테스트 케이스가 생성된 경우, 테스트 케이스 데이터베이스로부터 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출할 수 있고, 복수의 제2 테스트 케이스에 대한 빅데이터 분석을 통해 추출된 패턴에 기초하여 복수의 제1 테스트 케이스에 대한 검증을 수행할 수 있다.In various embodiments, the
일례로, 컴퓨팅 장치(100)는 사용자로부터 생성된 복수의 제1 테스트 케이스에 따른 테스트 종류와 빅데이터 분석을 통해 추출된 테스트의 종류를 비교하여 복수의 제1 테스트 케이스에 대한 검증을 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 빅데이터 분석을 통해 추출된 패턴에 기초하여, 테스트 대상에 대한 제1 테스트, 제2 테스트 및 제3 테스트를 수행하는 패턴을 보이나, 사용자로부터 생성된 복수의 제1 테스트 케이스가 제1 테스트 및 제2 테스트에 대응하는 테스트 케이스만이 포함된 경우, 제3 테스트에 대응하는 테스트 케이스를 추가적으로 생성할 것을 안내하는 가이드 정보를 제공할 수 있다.For example, the
다른 예로, 컴퓨팅 장치(100)는 사용자로부터 생성된 복수의 제1 테스트 케이스에 따른 테스트별 테스트 케이스 비율과 빅데이터 분석을 통해 추출된 테스트별 테스트 케이스 비율을 비교하여 복수의 제1 테스트 케이스에 대한 검증을 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 빅데이터 분석을 통해 추출된 패턴에 기초하여, 테스트 대상에 대한 제1 테스트 및 제2 테스트를 1:2 비율로 수행하는 패턴을 보이나, 사용자로부터 생성된 복수의 제1 테스트 케이스에 따른 제1 테스트 및 제2 테스트의 비율이 2:1인 경우, 제1 테스트 및 제2 테스트의 비율이 1:2가 되도록 제1 테스트에 대응하는 테스트 케이스의 수를 줄이거나, 제2 테스트에 대응하는 테스트 케이스의 수를 늘리도록 안내하는 가이드 정보를 제공할 수 있다.As another example, the
다음으로, 도 6을 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법에 대해 설명하도록 한다.Next, with reference to FIG. 6 , a method for providing a user-customized test case creation guide for software quality assurance performed by the
도 6은 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 케이스를 자동 생성하는 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a method of automatically generating test cases as a solution for software quality assurance in various embodiments.
도 6을 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 품질보증을 위한 솔루션으로서, 사용자가 보다 용이하게 소프트웨어(또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대한 테스트를 수행할 수 있도록 테스트 케이스를 자동 생성하여 사용자에게 제공할 수 있다.Referring to FIG. 6 , in various embodiments, the
S410 단계에서, 컴퓨팅 장치(100)는 소프트웨어의 품질보증을 위한 테스트 요청을 획득할 수 있다.In step S410, the
다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자가 사용자 단말(200)을 통해 웹 또는 응용 소프트웨어를 실행함에 따라 사용자 단말(200)의 디스플레이 상에 UI(예: 도 13 내지 도 26)를 출력할 수 있으며, 출력된 UI를 통해 사용자로부터 소프트웨어에 대한 테스트 요청을 획득할 수 있다.In various embodiments, the
여기서, 사용자로부터 테스트 요청을 획득하는 동작은 사용자가 UI를 통해 출력되는 소프트웨어의 테스트 요청 버튼을 선택함에 따라 출력되는 신호를 수집하는 동작을 의미하는 것일 수 있으나, 이에 한정되지 않고, 사용자로부터 테스트 요청을 획득하는 동작은 UI를 통해 출력된 테스트 케이스 생성 버튼을 선택함에 따라 출력되는 신호를 획득하는 동작 또는 사용자가 사용자 단말(200)을 통해 컴퓨팅 장치(100)가 제공하는 웹 또는 응용 소프트웨어를 실행하는 동작 자체일 수 있다.Here, the operation of obtaining a test request from the user may mean an operation of collecting a signal output as the user selects a test request button of software output through the UI, but is not limited thereto, and a test request from the user The operation of obtaining is an operation of obtaining a signal output as the test case generation button outputted through the UI is selected, or an operation in which the user executes a web or application software provided by the
S420 단계에서, 컴퓨팅 장치(100)는 S410 단계를 거쳐 획득된 테스트 요청에 대응하여, 테스트 대상을 테스트하기 위한 테스트 케이스를 자동 생성할 수 있다. 여기서, 컴퓨팅 장치(100)에 의해 수행되는 테스트 케이스 자동 생성 방법은, 테스트 대상에 대응하여 수행하고자 하는 테스트의 종류 및 방법을 결정하고, 결정된 테스트의 종류 및 방법에 관한 내용(텍스트)을 생성하며, 사전에 정의된 테스트 케이스 템플릿 상에 포함된 복수의 항목 각각에 테스트의 종류 및 방법에 관한 내용을 대응시킴으로써 테스트 케이스를 자동 생성하는 것일 수 있으나, 이에 한정되지 않는다.In step S420, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하고자 하는 경우, 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정할 수 있고, 하나 이상의 추천 테스트에 대응하는 하나 이상의 테스트 케이스(하나 이상의 추천 테스트를 수행하기 위한 테스트 케이스)를 생성할 수 있다.In various embodiments, when a user wants to test at least one function among a plurality of functions included in software, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트를 수행하고자 하는 경우, 사용자가 테스트하고자 하는 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하되, 사용자의 테스트 수행 능력에 기초하여 사용자에 적합한 테스트 난이도를 판단할 수 있고, 판단된 테스트 난이도에 따라 추천 테스트를 선정할 수 있다.In various embodiments, when a user wants to test at least one function among a plurality of functions included in software, the
예컨대, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우, 사용자에 대한 테스트 난이도를 "낮음(Low level)"로 결정할 수 있고, 결정된 테스트 난이도에 따라 사전에 낮은 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.For example, when the user's ability to perform the test is lower than the first level or lower than the first level, the
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 사용자에 대한 테스트 난이도를 "중간(Middle level)"로 결정할 수 있고, 결정된 테스트 난이도에 따라 사전에 중간 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.In addition, the
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제2 등급 이상(제3 등급)이거나 제2 레벨 이상인 경우, 사용자에 대한 테스트 난이도를 "높음(High level)"로 결정할 수 있고, 결정된 테스트 난이도에 따라 사전에 높은 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.In addition, when the user's ability to perform the test is the second level or higher (third level) or higher than the second level, the
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어에 대한 테스트를 수행하는 사용자 단말(200)의 속성에 기초하여, 사용자 단말(200)에서 수행하기 적합한 테스트 케이스를 생성할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자 단말(200)의 속성(예: 사용자 단말(200)의 종류(운영체제의 종류) 및 성능 등)에 기초하여, 사용자에 대한 테스트 범위(즉, 사용자 단말(200)에서 수행 가능한 테스트의 범위)를 결정할 수 있고, 결정된 테스트 범위에 기초하여 추천 테스트를 선정할 수 있으며, 선정된 추천 테스트에 대응하는 테스트 케이스를 생성할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 기 생성된 테스트 케이스에 따라 소프트웨어(또는 소프트웨어의 특정 기능)에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 테스트 케이스를 자동 생성할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 기 생성된 테스트 케이스에 따라 소프트웨어에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 소프트웨어에 대한 이슈가 발생한 것으로 판단되는 경우(예컨대, 테스트 수행 결과가 "실패"인 경우), 발생된 이슈에 대응하는 하나 이상의 추가 테스트를 선정할 수 있고, 하나 이상의 추가 테스트에 대응하는 하나 이상의 추가 테스트 케이스를 생성할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 제1 소프트웨어에 대한 테스트 케이스를 생성하고자 하는 경우, 제1 소프트웨어와 동일한 종류의 제2 소프트웨어의 이슈 발생 이력에 기초하여, 테스트 케이스를 생성할 수 있다.In various embodiments, when a user wants to create a test case for the first software, the
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 사용자가 롤플레잉 게임을 제공하는 제1 소프트웨어에 대한 테스트 케이스를 생성하고자 하는 경우, 복수의 소프트웨어 중 제1 소프트웨어와 동일한 종류의 복수의 제2 소프트웨어(예: 롤플레잉 게임을 제공하는 복수의 제2 소프트웨어)를 선택하고, 선택된 복수의 제2 소프트웨어에 대한 복수의 테스트 수행 결과에 기초하여 복수의 제2 소프트웨어에 포함된 복수의 기능 각각에 대한 이슈 발생 횟수를 카운팅할 수 있다.More specifically, first, when a user wants to create a test case for a first software providing a role-playing game, the
이후, 컴퓨팅 장치(100)는 복수의 제2 소프트웨어에 포함된 복수의 기능 중 이슈 발생 횟수가 기준 횟수 이상인 기능을 요주의 기능으로 선택하고, 요주의 기능으로 선택된 기능을 테스트하기 위한 하나 이상의 추천 테스트를 선정할 수 있으며, 추천 테스트에 대응하는 테스트 케이스를 생성할 수 있다.Thereafter, the
이때, 컴퓨팅 장치(100)는 요주의 기능으로 선택된 기능을 테스트하기 위한 추천 테스트를 선정하고, 추천 테스트에 대응하는 테스트 케이스를 생성하되, 이슈 발생 횟수에 기초하여 생성하고자 하는 테스트 케이스의 개수를 결정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제1 횟수 미만인 경우 제1 기능에 대한 하나의 추천 테스트를 선정할 수 있고, 하나의 추천 테스트에 대응하는 하나의 테스트 케이스를 생성할 수 있다. 또한, 컴퓨팅 장치(100)는 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제1 횟수 이상 제2 횟수 미만인 경우 제1 기능에 대한 두개의 추천 테스트를 선정할 수 있고, 두개의 추천 테스트에 대응하는 두개의 테스트 케이스를 생성할 수 있다. 또한, 컴퓨팅 장치(100)는 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제2 횟수 이상인 경우 제1 기능에 대한 셋 이상의 추천 테스트를 선정할 수 있고, 셋 이상의 추천 테스트에 대응하는 셋 이상의 테스트 케이스를 생성할 수 있다. 그러나, 이에 한정되지 않는다.At this time, the
다양한 실시예에서, 컴퓨팅 장치(100)는 서로 다른 둘 이상의 사용자로부터 동일한 테스트 대상(소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대한 테스트를 수행하고자 하는 경우, 동일한 테스트 대상에 대하여 서로 다른 둘 이상의 사용자 각각이 서로 다른 종류의 테스트를 수행하도록 서로 다른 둘 이상의 사용자 각각에게 서로 다른 종류의 테스트에 대응하는 테스트 케이스 생성할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 대상에 대한 테스트 정도(테스트 중요도)를 사전에 설정할 수 있으며, 테스트 중요도가 낮은 테스트 대상에 대해서는 복수의 사용자가 서로 다른 종류의 테스트를 수행하도록 서로 다른 종류의 테스트에 대응하는 테스트 케이스 생성할 수 있고, 테스트 중요도가 높은 테스트 대상에 대해서는 복수의 사용자가 서로 동일한 종류의 테스트를 수행하도록 서로 동일한 테스트 에 대응하는 테스트 케이스를 생성할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 빅데이터 분석을 기반으로 테스트 대상을 테스트하기 위한 테스트 케이스를 자동 생성하거나, 인공지능 모델을 기반으로 테스트 대상을 테스트하기 위한 테스트 케이스를 자동 생성할 수 있다. 이하, 도 7 및 8을 참조하여 보다 구체적으로 설명하도록 한다.In various embodiments, the
도 7은 다양한 실시예에서, 빅데이터 분석 기반으로 테스트 케이스를 자동으로 생성하는 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a method of automatically generating test cases based on big data analysis, in various embodiments.
도 7을 참조하면, S510 단계에서, 컴퓨팅 장치(100)는 테스트 케이스 데이터베이스를 구축할 수 있다. 여기서, 컴퓨팅 장치(100)에 의해 수행되는 테스트 케이스 데이터베이스 구축 동작은 도 4의 S210 단계에서 수행되는 테스트 케이스 데이터베이스 구축 동작과 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.Referring to FIG. 7 , in step S510, the
S520 단계에서, 컴퓨팅 장치(100)는 S510 단계를 거쳐 구축된 테스트 케이스 데이터베이스로부터 테스트 대상(예컨대, 사용자가 테스트하고자 하는 대상으로, 소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대응하는 복수의 테스트 케이스를 추출할 수 있다. 여기서, 컴퓨팅 장치(100)에 의해 수행되는 복수의 테스트 케이스 추출 동작은 도 4의 S220 단계에서 수행되는 복수의 테스트 케이스 추출 동작과 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.In step S520, the
S530 단계에서, 컴퓨팅 장치(100)는 S520 단계를 거쳐 추출된 복수의 테스트 케이스를 빅데이터 분석하여 테스트 대상을 테스트하기 위한 테스트 케이스를 자동 생성할 수 있다.In step S530, the
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 테스트 케이스 데이터베이스로부터 추출된 복수의 테스트 케이스를 빅데이터 분석함으로써, 복수의 테스트 케이스의 패턴을 추출할 수 있다. 예컨대, 컴퓨팅 장치(100)는 특정 기능에 대응하는 복수의 테스트 케이스를 빅데이터 분석함으로써, 특정 기능에 대하여 어떤 종류의 테스트가 수행되었는지, 어떤 종류의 테스트를 어떠한 방식으로 테스트하였는지 및/또는 어떤 종류의 테스트를 얼마나 수행하였는지 등과 같은 패턴 즉, 특정 기능에 대한 테스트 케이스 생성 패턴을 복수의 테스트 케이스에 대한 특징 데이터로 추출할 수 있다.More specifically, first, the
이후, 컴퓨팅 장치(100)는 빅데이터 분석을 통해 추출된 특징 데이터(테스트 케이스 생성 패턴)에 기초하여, 테스트 대상을 테스트하기 위한 테스트 케이스를 생성할 수 있다. 예컨대, 컴퓨팅 장치(100)는 특정 기능에 대응하는 복수의 테스트 케이스를 빅데이터 분석한 결과, 특정 기능에 대하여 제1 테스트 및 제2 테스트가 수행된 것으로 판단되는 경우, 제1 테스트 및 제2 테스트를 추천 테스트로 선정할 수 있고, 추천 테스트로 선정된 제1 테스트 및 제2 테스트 각각에 대응하는 제1 테스트 케이스 및 제2 테스트 케이스를 생성할 수 있다.Thereafter, the
도 8은 다양한 실시예에서, 테스트 케이스 생성 모델을 기반으로 테스트 케이스를 자동으로 생성하는 방법을 설명하기 위한 순서도이다.8 is a flowchart illustrating a method of automatically generating a test case based on a test case generation model, in various embodiments.
도 8을 참조하면, S610 단계에서, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델을 생성할 수 있다. 여기서, 컴퓨팅 장치(100)에 의해 수행되는 테스트 케이스 생성 모델 생성 동작은 도 5의 S310 단계에서 수행되는 테스트 케이스 생성 모델 생성 동작과 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.Referring to FIG. 8 , in step S610, the
S620 단계에서, 컴퓨팅 장치(100)는 S610 단계를 거쳐 생성된 테스트 케이스 생성 모델을 통해 결과 데이터를 출력할 수 있고, 출력된 결과 데이터를 기반으로 테스트 케이스를 생성할 수 있다.In step S620, the
일례로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 추천 테스트가 출력된 경우, 출력된 추천 테스트에 대응하는 테스트 케이스를 자동 생성할 수 있다.For example, the
다른 예로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 하나 이상의 테스트 케이스가 출력된 경우, 출력된 테스트 케이스를 테스트 대상을 테스트하기 위한 테스트 케이스로 설정할 수 있다.As another example, the
또 다른 예로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 복수의 테스트 케이스가 출력된 경우, 복수의 테스트 케이스 각각을 테스트 대상을 테스트하기 위한 테스트 케이스로 설정할 수 있으나, 이에 한정되지 않고, 복수의 테스트 케이스를 분석하여 패턴을 추출할 수 있고, 추출된 패턴에 기초하여 추천 테스트를 선정할 수 있으며, 추천 테스트에 대응하는 테스트 케이스를 자동 생성할 수 있다.As another example, when a plurality of test cases for the test target are output as information on the test target is input to the test case generation model, the
다시, 도 6을 참조하면, S430 단계에서, 컴퓨팅 장치(100)는 S420 단계를 거쳐 생성된 테스트 케이스를 사용자에게 제공할 수 있다.Again, referring to FIG. 6 , in step S430, the
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 사용자로부터 하나의 테스트 대상에 대한 테스트 요청을 획득함에 따라 하나의 테스트 대상에 대하여 복수의 테스트 케이스가 생성된 경우, 테스트의 종류에 따라 복수의 테스트 케이스를 분류하고, 분류된 복수의 테스트 케이스 각각을 복수의 사용자에게 분배함으로써, 사용자 각각이 동일한 종류의 테스트를 수행하도록 하여 테스트 업무의 효율성을 향상시킬 수 있다.In various embodiments, when a plurality of test cases are generated for one test object as a result of obtaining test requests for one test object from a plurality of users, the
다음으로, 도 9를 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 소프트웨어의 품질보증을 위한 테스트 업무 할당 방법에 대해 설명하도록 한다.Next, referring to FIG. 9 , a test task assignment method for quality assurance of software performed by the
도 9는 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.9 is a flow chart illustrating a method for allocating test tasks as a solution for software quality assurance, in various embodiments.
도 9를 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 품질보증을 위한 솔루션으로서, 소프트웨어 품질보증을 위한 테스트 업무를 복수의 작업자에게 할당하되, 테스트 업무의 속성에 기초하여 테스트 업무를 수행하기 적합한 사용자에게 테스트 업무를 할당할 수 있다.Referring to FIG. 9 , in various embodiments, the
S710 단계에서, 컴퓨팅 장치(100)는 소프트웨어의 품질보증을 위한 테스트 업무를 생성할 수 있다.In step S710, the
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능에 대한 테스트를 수행하고자 하는 경우, 소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능에 대한 테스트 케이스를 생성할 수 있고, 생성된 테스트 케이스에 따라 테스트를 수행할 것을 지시하는 테스트 업무를 생성할 수 있다.In various embodiments, the
여기서, 테스트 대상(소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대한 테스트 케이스는 컴퓨팅 장치(100)가 제공하는 UI를 통해 작업자로부터 직접 생성(예컨대, 도 3의 S110 단계 내지 S130 단계)되거나, 컴퓨팅 장치(100)에 의해 자동적으로 생성(예컨대, 도 6의 S420 단계)될 수 있으나, 이에 한정되지 않는다.Here, the test case for the test target (software or at least one function among a plurality of functions included in the software) is directly generated by the operator through the UI provided by the computing device 100 (eg, steps S110 to S130 of FIG. 3 ). step) or automatically generated by the computing device 100 (eg, step S420 of FIG. 6), but is not limited thereto.
S720 단계에서, 컴퓨팅 장치(100)는 S710 단계를 거쳐 생성된 테스트 업무를 작업자에게 할당할 수 있다.In step S720, the
다양한 실시예에서, 컴퓨팅 장치(100)는 기 등록된 복수의 작업자 중 적어도 하나의 작업자에게 테스트 업무를 할당할 수 있다.In various embodiments, the
여기서, 기 등록된 복수의 작업자는 소프트웨어 또는 소프트웨어에 포함된 복수의 기능에 대한 테스트를 수행할 수 있는 테스터들로서, 복수의 제1 작업자와 복수의 제2 작업자를 포함할 수 있다.Here, the plurality of pre-registered workers are testers capable of performing tests on software or a plurality of functions included in the software, and may include a plurality of first workers and a plurality of second workers.
또한, 여기서, 복수의 제1 작업자는 전문 소프트웨어 테스터(Software Tester) 인력풀에 기 등록된 전문 소프트웨어 테스터로서, 예컨대, 소프트웨어의 품질보증을 위해 테스트를 수행하는 업체에 고용된 직원이거나, 소프트웨어 개발 업체 내에 소프트웨어의 품질보증을 위한 테스트 업무를 수행하는 팀에 소속된 직원을 의미할 수 있다.Also, here, the plurality of first workers are professional software testers pre-registered in the professional software tester (Software Tester) manpower pool, for example, employees employed by a company that performs testing for software quality assurance, or a software development company. It may refer to an employee belonging to a team that performs testing tasks for software quality assurance within the company.
또한, 여기서, 복수의 제2 작업자는 긱워커(Gig worker) 인력풀에 기 등록된 테스터로서, 예컨대, 소프트웨어의 품질보증을 위해 테스트를 수행하는 업체에 고용되거나 소프트웨어 개발 업체 내에 소프트웨어의 품질보증을 위한 테스트 업무를 수행하는 팀에 소속되지 않고, 단기적인 계약을 통해 일회성으로 소프트웨어에 대한 테스트 업무를 수행하는 초단기 작업자를 의미할 수 있다. 그러나, 이에 한정되지 않는다.In addition, here, the plurality of second workers are testers pre-registered in the Gig worker manpower pool, for example, employed by a company that performs testing for software quality assurance or software quality assurance within a software development company. It may refer to an ultra-short-term worker who does not belong to a team that performs test tasks for software and performs one-time software test tasks through a short-term contract. However, it is not limited thereto.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 테스트 업무를 복수의 작업자 각각에게 할당한 후, 복수의 테스트 중 할당이 거절된 적어도 하나의 거절 테스트 업무를 인식할 수 있다. 컴퓨팅 장치(100)는 테스트 업무의 할당을 거절한 거절 작업자로부터 거절 사유를 획득할 수 있다. 그리고, 컴퓨팅 장치(100)는 거절 사유에 기초하여, 적어도 하나의 거절 테스트 업무를 다른 작업자에게 할당할 수 있다.In various embodiments, the
구체적으로, 컴퓨팅 장치(100)는 적어도 하나의 거절 테스트 업무를 다른 작업자에게 할당할 때, 거절 사유가 단순 거절인 경우, 추가 리워드 없이 다른 작업자에게 할당할 수 있다. 그리고, 컴퓨팅 장치(100)는 거절 작업자에게 테스트 업무의 할당이 기 설정된 횟수만큼 제한되는 패널티를 부여할 수 있다.Specifically, when allocating at least one rejection test task to another worker, if the reason for rejection is simple rejection, the
한편, 컴퓨팅 장치(100)는 적어도 하나의 거절 테스트 업무를 다른 작업자에게 할당할 때, 거절 사유가 단순 거절이 아닌 경우, 적어도 하나의 거절 테스트 업무에 대한 작업 난이도를 결정할 수 있다. 또한, 컴퓨팅 장치(100)는 적어도 하나의 거절 테스트 업무에 작업 난이도에 대응하는 추가 리워드를 부여할 수 있다. 그리고, 컴퓨팅 장치(100)는 추가 리워드가 부여된 적어도 하나의 거절 테스트 업무를 긱워커 QA 플랫폼(복수의 제2 작업자가 등록된 긱워커 인력풀을 관리하는 플랫폼)에 공지하여, 적어도 하나의 거절 테스트 업무의 처리를 희망하는 다른 제2 작업자에게 할당할 수 있다.Meanwhile, when allocating at least one rejection test task to another worker, the
즉, 본 발명의 컴퓨팅 장치(100)는 테스트 업무가 거절되더라도, 다양한 방식(예를 들어, 재할당 또는 추가 리워드 제공)을 통해 거절 테스트 업무를 다른 작업자에게 할당하여 QA 업무를 처리할 수 있어, QA 업무 지속성을 보장할 수 있다.That is, even if the test task is rejected, the
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무의 속성에 기초하여 기 등록된 복수의 작업자 중 적어도 하나의 작업자를 선택하고, 선택된 적어도 하나의 작업자에게 테스트 업무를 할당할 수 있다. 이하, 도 10 및 도 11을 참조하여 보다 구체적으로 설명하도록 한다.In various embodiments, the
도 10은 다양한 실시예에서, 난이도에 따라 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.10 is a flowchart illustrating a method of allocating test tasks according to difficulty levels, in various embodiments.
도 10을 참조하면, S810 단계에서, 컴퓨팅 장치(100)는 테스트 대상에 대한 테스트를 수행하는 테스트 업무에 대한 난이도를 판단할 수 있다.Referring to FIG. 10 , in step S810, the
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 종류별 테스트 업무의 난이도를 사전에 정의할 수 있으며, 작업자에게 할당하고자 하는 테스트 업무에 포함된 테스트 케이스를 분석하여, 테스트 업무에 대응하는 테스트 종류를 판단할 수 있고, 사전에 정의된 테스트 종류별 테스트 업무의 난이도에 기초하여 판단된 테스트 종류에 대한 난이도를 판단함으로써, 테스트 업무에 대한 난이도를 판단할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무의 마감 기한에 기초하여 테스트 업무의 난이도를 조절할 수 있다. 통상적으로, 테스트 종류가 동일하더라도 테스트 업무의 마감 기한이 짧을수록 테스트 업무에 대한 체감 난이도가 높아지는 바, 이러한 점을 고려하여, 컴퓨팅 장치(100)는 테스트 업무의 마감 기한이 기준 마감 기한 이하인 경우 테스트 업무의 난이도를 상향 조정하고, 테스트 업무의 마감 기한이 기준 마감 기한 이상인 경우 테스트 업무의 난이도를 하향 조정할 수 있다.In various embodiments,
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 대상에 대한 테스트를 수행하는 테스트 업무에 복수의 테스트 케이스가 포함된 경우, 복수의 테스트 케이스 각각을 분석하여, 복수의 테스트 케이스 각각에 대응하는 복수의 테스트 종류를 판단할 수 있고, 사전에 정의된 테스트 종류별 테스트 업무의 난이도에 기초하여 복수의 테스트 종류 각각에 대한 복수의 난이도를 판단할 수 있으며, 복수의 난이도에 기초하여 테스트 업무에 대한 난이도를 결정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 복수의 난이도의 평균을 테스트 업무의 난이도로 판단할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)는 복수의 난이도 중 가장 높은 난이도를 테스트 업무의 난이도로 판단할 수 있다.In various embodiments, when a plurality of test cases are included in a test task for performing a test on a test target, the
이때, 컴퓨팅 장치(100)는 테스트 업무에 포함된 테스트 케이스의 개수에 기초하여, 복수의 테스트 케이스를 포함하는 테스트 업무의 난이도를 조정할 수 있다.At this time, the
S820 단계에서, 컴퓨팅 장치(100)는 S810 단계에서 판단된 테스트 업무의 난이도와 기준 난이도를 비교함으로써, 테스트 업무의 난이도가 기준 난이도 이상인지 여부를 판단할 수 있다.In step S820, the
S830 단계에서, 컴퓨팅 장치(100)는 S820 단계를 거쳐 테스트 업무의 난이도가 기준 난이도 이상인 것으로 판단되는 경우, 테스트 업무를 제1 작업자(전문 소프트웨어 테스터)에게 할당할 수 있다.In step S830, the
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제1 작업자 각각의 테스트 수행 이력에 기초하여, 복수의 제1 작업자 중 테스트 업무에 대응하는 테스트 종류의 수행 횟수가 가장 많은 제1 작업자부터 순차적으로 n명의 제1 작업자를 선택하여 테스트 업무를 할당할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무 할당을 위한 테스트 업무 의뢰 콘텐츠를 게시할 수 있고, 게시된 테스트 업무 의뢰 콘텐츠를 통해 복수의 제1 작업자로부터 테스트 업무 의뢰 요청을 획득할 수 있으며, 테스트 업무 의뢰 요청을 한 복수의 제1 작업자 중 적어도 하나의 제1 작업자를 선택하여 테스트 업무를 할당할 수 있다.In various embodiments, the
예컨대, 컴퓨팅 장치(100)는 복수의 제1 작업자 중 가장 먼저 테스트 업무 의뢰 요청을 한 제1 작업자부터 순차적으로 n명의 제1 작업자를 선택하여 테스트 업무를 할당할 수 있다.For example, the
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제1 작업자의 테스트 업무 일정 및 작업자들에게 할당하고자 하는 테스트 업무의 기한에 기초하여, 테스트 업무 수행이 가능한 제1 작업자들을 선택하고, 선택된 제1 작업자들 중 n명의 제1 작업자들을 임의로 선정하여 테스트 업무를 할당할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제1 작업자 중 테스트 업무를 할당할 제1 작업자가 없는 경우, 기 등록된 복수의 제2 작업자 중 적어도 하나의 제2 작업자에게 테스트 업무를 할당하되, 적어도 하나의 제2 작업자와 특정 제1 작업자를 매칭함으로써, 특정 제1 작업자가 적어도 하나의 제2 작업자의 테스트 수행 결과를 검증할 수 있도록 할 수 있다.In various embodiments, the
S840 단계에서, 컴퓨팅 장치(100)는 S820 단계를 거쳐 테스트 업무의 난이도가 기준 난이도 미만인 것으로 판단되는 경우, 테스트 업무를 제2 작업자(긱워커)에게 할당할 수 있다.In step S840, the
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제2 작업자 각각의 테스트 수행 이력에 기초하여, 복수의 제2 작업자 중 테스트 업무에 대응하는 테스트 종류의 수행 횟수가 가장 많은 제2 작업자부터 순차적으로 n명의 제2 작업자를 선택하여 테스트 업무를 할당할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무 할당을 위한 테스트 업무 의뢰 콘텐츠를 게시할 수 있고, 게시된 테스트 업무 의뢰 콘텐츠를 통해 복수의 제2 작업자로부터 테스트 업무 의뢰 요청을 획득할 수 있으며, 테스트 업무 의뢰 요청을 한 복수의 제2 작업자 중 적어도 하나의 제2 작업자를 선택하여 테스트 업무를 할당할 수 있다. 예컨대, 컴퓨팅 장치(100)는 복수의 제2 작업자 중 가장 먼저 테스트 업무 의뢰 요청을 한 제2 작업자부터 순차적으로 n명의 제2 작업자를 선택하여 테스트 업무를 할당할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제2 작업자의 테스트 업무 일정 및 작업자들에게 할당하고자 하는 테스트 업무의 기한에 기초하여, 테스트 업무 수행이 가능한 제2 작업자들을 선택하고, 선택된 제2 작업자들 중 n명의 제2 작업자들을 임의로 선정하여 테스트 업무를 할당할 수 있다.In various embodiments, the
도 11은 다양한 실시예에서, 유형에 따라 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.11 is a flowchart illustrating a method of allocating test tasks according to types, in various embodiments.
도 11을 참조하면, S910 단계에서, 컴퓨팅 장치(100)는 테스트 대상에 대한 테스트를 수행하는 테스트 업무에 대하여, 유형을 판단할 수 있다. 예컨대, 컴퓨팅 장치(100)는 테스트 종류별 테스트 업무의 유형을 사전에 정의할 수 있으며, 테스트 업무에 포함된 테스트 케이스를 분석하여 테스트 업무에 대응하는 테스트 종류를 판단할 수 있고, 사전에 정의된 테스트 종류별 테스트 업무의 유형에 기초하여 테스트 종류에 대응하는 유형을 결정할 수 있다.Referring to FIG. 11 , in step S910 , the
예컨대, 컴퓨팅 장치(100)는 업무기능 레벨 테이블을 사전에 정의할 수 있으며, 테스트 업무에 포함된 테스트 케이스에 기초하여, 테스트 업무에 포함된 테스트 케이스가 업무기능 1레벨 및 업무기능 2레벨에 해당하는 경우, 테스트 업무의 유형을 단순 작업으로 분류할 수 있고, 업무기능 3레벨 및 업무기능 4레벨에 해당하는 경우, 테스트 업무의 유형을 전문 작업으로 분류할 수 있다.For example, the
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무에 포함된 테스트 케이스의 수행 시간이 기 설정된 시간을 초과하거나 기 설정된 단계 수를 초과하는 경우, 테스트 업무의 유형을 전문 작업으로 분류할 수 있고, 테스트 업무에 포함된 테스트 케이스의 수행 시간이 기 설정된 시간을 이하이거나 기 설정된 단계 수를 이하인 경우 테스트 업무의 유형을 단순 작업으로 분류할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 테스트 케이스의 수행 시간이 30분을 초과하거나, 30단계를 초과하는 경우, 해당 테스트 업무의 유형을 전문 작업으로 분류할 수 있다. 한편, 컴퓨팅 장치(100)는 테스트 케이스의 수행 시간이 30분 이하 거나, 30단계 이하인 경우, 테스트 업무의 유형을 단순 작업으로 분류할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무에 포함된 테스트 케이스를 설명하기 위한 문장들에 특정 키워드가 포함된 경우, 해당 테스트 업무의 유형을 전문 작업으로 분류할 수 있다.In various embodiments, the
여기서, 특정 키워드는 기 설정된 기간 동안 작업자에게 할당되었다가 작업자로부터 거절된 거절 테스트 업무의 테스트 케이스에 포함된 문장에 포함된 단어들 중 기 설정된 횟수 이상 포함된 단어일 수 있다. 예를 들어, 특정 키워드는 최근 한달 동안 거절된 테스트 업무에 포함된 테스트 케이스에 30회이상 포함된 단어일 수 있다.Here, the specific keyword may be a word that is included a predetermined number of times or more among words included in a sentence included in a test case of a rejection test task assigned to a worker for a predetermined period of time and then rejected by the worker. For example, a specific keyword may be a word included more than 30 times in a test case included in a rejected test task in the last month.
S920 단계에서, 컴퓨팅 장치(100)는 S910 단계에서 판단된 테스트 업무의 유형이 기 설정된 유형인지 여부를 판단할 수 있다. 예컨대, 컴퓨팅 장치(100)는 테스트 업무의 유형이 전문 소프트웨어 테스터를 통해 수행되어야 하는 유형인지를 판단할 수 있다.In step S920, the
S930 단계에서, 컴퓨팅 장치(100)는 S920 단계를 거쳐 테스트 업무의 유형이 기 설정된 유형인 것으로 판단되는 경우 즉, 테스트 업무의 유형이 전문 소프트웨어 테스터를 통해 수행되어야 하는 업무(예컨대, 전문 작업으로 분류된 테스트 업무)인 것으로 판단되는 경우, 테스트 업무를 제1 작업자에게 할당할 수 있다.In step S930, the
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제1 작업자 중 적어도 하나의 제1 작업자를 선택하여 테스트 업무를 할당할 수 있다. 여기서, 적어도 하나의 제1 작업자를 선택하여 테스트 업무를 할당하는 동작은 도 10의 S830 단계에서 수행되는 동작과 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.In various embodiments, the
S940 단계에서, 컴퓨팅 장치(100)는 S920 단계를 거쳐 테스트 업무의 유형이 기 설정된 유형이 아닌 것으로 판단되는 경우 즉, 테스트 업무의 유형이 모든 작업자가 수행 가능한 업무(예컨대, 단순 작업으로 분류된 테스트 업무)인 것으로 판단되는 경우, 테스트 업무를 제1 작업자에게 할당할 수 있다.In step S940, the
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무의 유형이 모든 작업자가 수행 가능한 업무인 것으로 판단되는 경우, 복수의 제2 작업자 중 적어도 하나의 제2 작업자를 선택하여 테스트 업무를 할당할 수 있다.In various embodiments, when it is determined that the type of test task is a task that can be performed by all workers, the
이때, 컴퓨팅 장치(100)는 복수의 제2 작업자 중 테스트 업무를 할당할 제2 작업자가 부재한 경우, 기 등록된 복수의 제1 작업자 중 적어도 하나의 제1 작업자를 선택하여 테스트 업무를 할당할 수 있다.At this time, the
다시, 도 9를 참조하면, S730 단계에서, 컴퓨팅 장치(100)는 S720 단계를 거쳐 테스트 업무를 작업자에게 할당한 것에 대응하여, 작업자로부터 테스트 수행 결과를 획득할 수 있다. 예컨대, 컴퓨팅 장치(100)는 복수의 작업자 각각의 사용자 단말(200)과 연결되어, 복수의 작업자 각각이 사용자 단말(200)을 통해 테스트 업무를 수행함에 따라 도출되는 테스트 수행 결과를 수집할 수 있다.Again, referring to FIG. 9 , in step S730, the
다양한 실시예에서, 컴퓨팅 장치(100)는 하나의 테스트 대상에 대하여 복수의 작업자 각각에게 복수의 테스트 업무를 할당한 경우, 복수의 작업자로부터 복수의 테스트 업무 각각에 대응하는 복수의 테스트 수행 결과를 획득할 수 있고, 획득된 복수의 테스트 수행 결과를 취합하여 테스트 대상에 대한 테스트 진행 상황 및 테스트 결과를 도출하여 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 도 21 내지 도 26에 도시된 바와 같이, 복수의 작업자로부터 획득된 복수의 테스트 수행 결과를 종합하여 출력하는 대시보드 UI를 제공할 수 있으나, 이에 한정되지 않는다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 하나의 테스트 대상을 테스트하기 위한 복수의 테스트 업무가 생성되는 경우, 복수의 테스트 업무 각각을 복수의 제2 작업자에게 할당하되, 하나의 테스트 대상에 대한 적어도 하나의 제1 작업자를 매칭함으로써, 복수의 제2 작업자가 테스트를 수행함에 따라 도출되는 테스트 수행 결과를 적어도 하나의 제1 작업자를 통해 검증할 수 있다.In various embodiments, when a plurality of test tasks for testing one test object are generated, the
예컨대, 컴퓨팅 장치(100)는 복수의 제2 작업자 각각이 복수의 테스트 업무를 수행함에 따라 도출된 복수의 테스트 수행 결과를 적어도 하나의 제1 작업자에게 제공하고, 적어도 하나의 제1 작업자로부터 복수의 테스트 수행 결과에 대한 피드백(예컨대, 긍정의 피드백, 부정의 피드백)을 획득함으로써, 복수의 테스트 수행 결과에 대한 검증을 수행할 수 있다.For example, the
이때, 컴퓨팅 장치(100)는 복수의 테스트 수행 결과 중 적어도 하나의 테스트 수행 결과에 대한 부정의 피드백을 획득하는 경우, 부정의 피드백이 획득된 적어도 하나의 테스트 수행 결과를 입력한 제2 작업자에게 테스트 업무에 대한 재수행을 요청할 수 있다.In this case, when obtaining negative feedback on at least one test performance result among a plurality of test performance results, the
다양한 실시예에서, 컴퓨팅 장치(100)는 제2 작업자가 제2 작업자에게 할당된 제1 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과에 기초하여 소프트웨어에 대한 이슈가 발생된 것으로 판단되는 경우, 발생된 이슈에 대응하는 제2 테스트 업무(추가 테스트 업무)를 생성하여 제2 작업자에게 재할당할 수 있고, 제2 작업자가 제2 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 획득할 수 있다.In various embodiments, the
이때, 컴퓨팅 장치(100)는 제2 작업자가 제2 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과에 기초하여 소프트웨어에 대한 동일한 이슈가 재 발생된 것으로 판단되는 경우, 제1 테스트 업무 및 제2 테스트 업무를 제1 작업자에게 할당함으로써, 보다 전문적인 테스터를 통해 이슈에 대한 테스트가 수행되도록 할 수 있다.In this case, the
다양한 실시예에서, 컴퓨팅 장치(100)는 제2 작업자가 특정 테스트 업무의 수행을 완료하는 것에 대응하여 제2 작업자에게 소정의 보상을 제공할 수 있다. 이때, 제1 작업자는 소프트웨어의 품질보증을 위해 테스트를 수행하는 업체 또는 소프트웨어 개발 업체로부터 급여를 받는 직원인 바, 테스트 업무에 대한 별도의 보상을 제공하지 않을 수 있으나, 이에 한정되지 않고, 제2 작업자와 마찬가지로(후술되는 도 12의 방법) 제1 작업자가 테스트 업무의 수행을 완료할 경우, 테스트 업무 수행에 따른 보상을 제1 작업자에게 지급할 수 있다. 이하, 도 12를 참조하여 보다 구체적으로 설명하도록 한다.In various embodiments, the
도 12는 다양한 실시예에서, 작업자에게 테스트 수행에 따른 보상을 제공하는 방법을 설명하기 위한 순서도이다.12 is a flowchart illustrating a method of providing a reward according to test performance to an operator, in various embodiments.
도 12를 참조하면, S1010 단계에서, 컴퓨팅 장치(100)는 제2 작업자에 대한 테스트 수행 능력을 판단할 수 있다.Referring to FIG. 12 , in step S1010 , the
여기서, 제2 작업자에 대한 테스트 수행 능력을 판단하는 동작은 긱워커 인력풀에 등록되지 않은 제2 작업자로부터 긱워커 인력풀에 대한 등록 요청을 획득하는 것에 대응하여 수행되는 것 즉, 긱워커 인력풀에 등록되지 않은 제2 작업자를 긱워커 인력풀에 등록하기 위한 목적으로 수행되는 것일 수 있으나, 이에 한정되지 않는다.Here, the operation of determining the ability to perform the test for the second worker is performed in response to obtaining a registration request for the gig worker manpower pool from the second worker who is not registered in the gig worker manpower pool, that is, the gig worker manpower pool It may be performed for the purpose of registering a second worker who is not registered in the gig worker manpower pool, but is not limited thereto.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 제2 작업자에게 테스트 수행 능력 평가를 위한 훈련 테스트 업무를 제공할 수 있다.More specifically, first, the
여기서, 테스트 수행 능력 평가를 위한 훈련 테스트 업무는 제1 작업자에게 기 할당된 복수의 테스트 업무 중 적어도 하나의 테스트 업무 즉, 전문 소프트웨어 테스터를 통해 수행된 이력이 있는 테스트 업무를 의미하는 것일 수 있으나, 이에 한정되지 않는다.Here, the training test task for evaluating test performance capability may mean at least one test task among a plurality of test tasks pre-assigned to the first operator, that is, a test task having a history performed by a professional software tester, Not limited to this.
이후, 컴퓨팅 장치(100)는 제2 작업자가 훈련 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 획득할 수 있으며, 획득된 테스트 수행 결과와 훈련 테스트 업무의 정답 간의 유사도를 산출할 수 있다.Thereafter, the
여기서, 훈련 테스트 업무의 정답은 제1 작업자가 적어도 하나의 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 의미할 수 있다. 즉, 훈련 테스트 업무가 제1 작업자에게 기 할당된 제1 테스트 업무인 경우, 훈련 테스트 업무의 정답은 제1 작업자가 제1 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과일 수 있다.Here, the correct answer of the training test task may mean a test execution result derived as the first worker performs at least one test task. That is, when the training test task is a first test task pre-allocated to the first worker, the correct answer of the training test task may be a test execution result derived as the first worker performs the first test task.
여기서, 서로 다른 테스트 수행 결과 간의 유사도를 산출하는 방법은 다양한 기술들이 공지되어 있고, 이러한 공지 기술들을 선택적으로 적용할 수 있는 바(예컨대, 자카드 유사도(Jaccard similarity) 산출 방법에 기초하여 제2 작업자로부터 획득된 테스트 수행 결과와 훈련 테스트 업무의 정답에 포함된 전체 정보(합집합) 중 공통된 정보(교집합)의 비율을 산출하는 방식 등), 본 명세서에서는 테스트 수행 결과와 훈련 테스트 업무의 정답 간의 유사도를 산출하는 구체적인 방법에 대해서는 한정하지 않는다.Here, as a method for calculating the similarity between different test execution results, various techniques are known, and these known techniques can be selectively applied (eg, from a second operator based on a Jaccard similarity calculation method). A method for calculating the ratio of common information (intersection) among all information (union) included in the acquired test performance results and the correct answers of the training test task, etc.), in this specification, the similarity between the test performance results and the correct answers of the training test task is calculated The specific method for doing this is not limited.
이후, 컴퓨팅 장치(100)는 산출된 유사도에 기초하여 제2 작업자에 대한 테스트 수행 능력을 평가할 수 있다. 예컨대, 컴퓨팅 장치(100)는 제2 작업자에 대한 테스트 수행 능력으로서, 유사도에 비례하는 크기의 레벨(예컨대 1 내지 100 레벨)을 설정하거나, 레벨에 대응하는 등급(예: 1 내지 5 등급)을 설정할 수 있다.Thereafter, the
S1020 단계에서, 컴퓨팅 장치(100)는 제2 작업자가 특정 테스트 업무의 수행을 완료하는 것에 대응하여, 보상을 제공할 수 있다.In step S1020 , the
다양한 실시예에서, 컴퓨팅 장치(100)는 사전에 특정 테스트 업무에 대한 보상의 크기가 결정될 수 있으며, 제2 작업자가 특정 테스트 업무를 수행하는 경우, 특정 테스트 업무에 대응하여 기 결정된 크기의 보상을 제2 작업자에게 제공할 수 있다. 이때, 컴퓨팅 장치(100)는 제2 작업자의 테스트 수행 능력에 기초하여 보상의 크기를 조정할 수 있다.In various embodiments, the
일례로, 컴퓨팅 장치(100)는 제2 작업자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우 특정 테스트 업무에 대응하여 기 결정된 크기의 보상만을 제2 작업자에게 제공할 수 있다. 또한, 컴퓨팅 장치(100)는 제2 작업자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 특정 테스트 업무에 대응하여 기 결정된 크기의 보상과 제1 크기의 추가 보상을 제2 작업자에게 제공할 수 있다. 또한, 컴퓨팅 장치(100)는 제2 작업자의 제2 등급 이상(제3 등급)이거나 제2 레벨 이상인 경우, 특정 테스트 업무에 대응하여 기 결정된 크기의 보상과 제1 크기보다 큰 제2 크기의 추가 보상을 제2 작업자에게 제공할 수 있다.For example, when the second worker's test performance ability is lower than the first grade or lower than the first level, the
다른 예로, 컴퓨팅 장치(100)는 테스트 업무의 난이도와 제2 작업자의 테스트 수행 능력에 기초하여 보상의 크기를 조정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 테스트 업무의 난이도가 "중간(Middle level)"(예: 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 제2 작업자에게 적합한 난이도)일 때, 제2 작업자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우, 특정 테스트 업무에 대응하여 기 결정된 크기의 보상과 추가 보상을 제2 작업자에게 제공할 수 있다. 또한, 컴퓨팅 장치(100)는 테스트 업무의 난이도가 "중간(Middle level)"일 때, 제2 작업자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 특정 테스트 업무에 대응하여 기 결정된 크기의 보상만을 제2 작업자에게 제공할 수 있다. 한편, 컴퓨팅 장치(100)는 테스트 업무의 난이도가 "중간(Middle level)"일 때, 제2 작업자의 테스트 수행 능력이 제2 등급 이상(제3 등급)이거나 제2 레벨 이상인 경우, 특정 테스트 업무에 대응하여 기 결정된 크기의 보상의 적어도 일부분을 차감하여 제2 작업자에게 제공할 수 있다.As another example, the
여기서, 제2 작업자에게 제공되는 보상은 테스트 업무를 수행함에 따라 제공되는 금전적인 대가(테스트 업무 수행 비용)일 수 있으나, 이에 한정되지 않고, 제2 작업자에게 제공되는 보상은 제2 작업자의 테스트 수행 능력을 향상시키기 위한 포인트(점수 또는 경험치)일 수 있다.Here, the compensation provided to the second worker may be a monetary consideration (cost of performing the test task) provided for performing the test task, but is not limited thereto, and the reward provided to the second operator is the second worker performing the test. It can be points (scores or experience points) to improve abilities.
예컨대, 컴퓨팅 장치(100)는 제2 작업자가 특정 테스트 업무를 수행함에 따라 금전적인 보상과 함께 소정의 크기의 경험치(난이도에 비례한 크기의 경험치)를 제공함으로써, 제2 작업자라 테스트 업무를 수행할수록 제2 작업자의 테스트 수행 능력에 대응하는 레벨을 올릴 수 있는 환경을 구축할 수 있으며, 이에 따라 테스트 업무를 반복적으로 많이 수행하는 제2 작업자가 레벨을 많이 올려 더 많은 추가 보상을 받을 수 있도록 하는 환경을 구축할 수 있다. For example, the
다양한 실시예에서, 컴퓨팅 장치(100)는 제2 작업자의 테스트 수행 능력에 기초하여 제2 작업자에게 제공할 보상의 크기를 결정할 수 있고, 제2 작업자가 특정 테스트 업무를 수행하는 경우, 제2 작업자의 테스트 수행 능력에 기초하여 결정된 크기의 보상을 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 제2 작업자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우, 제2 작업자에 대한 보상의 크기를 제1 크기로 결정할 수 있다. 또한, 컴퓨팅 장치(100)는 제2 작업자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우 제2 작업자에 대한 보상의 크기를 제1 크기보다 큰 제2 크기로 결정할 수 있다. 또한, 컴퓨팅 장치(100)는 제2 작업자의 테스트 수행 능력이 제2 등급 이상(제3 등급)이거나 제2 레벨 이상인 경우, 제2 작업자에 대한 보상의 크기를 제2 크기보다 큰 제3 크기로 결정할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 둘 이상의 제2 작업자에게 동일한 테스트 업무를 할당한 경우, 둘 이상의 제2 작업자 각각에게 동일한 크기의 보상을 제공하되, 둘 이상의 제2 작업자 각각의 테스트 업무 완료 시간에 기초하여 보상의 크기를 차등 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 동일한 테스트 업무를 할당받은 둘 이상의 제2 작업자에게 동일한 크기의 보상을 제공하되, 테스트 업무를 완료한 순서에 따라 순차적으로 서로 다른 크기의 추가 보상을 제공할 수 있다.In various embodiments, when the same test task is assigned to two or more second workers, the
다양한 실시예에서, 컴퓨팅 장치(100)는 제2 작업자가 제2 작업자에게 할당된 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 소프트웨어에 대한 이슈가 발생된 것으로 판단되는 경우, 이슈 발생에 따른 보상을 제2 작업자에게 제공할 수 있다. 이때, 컴퓨팅 장치(100)는 제2 작업자에게 할당된 테스트 업무가 제2 작업자가 직접 작성한 테스트 케이스에 따라 생성된 테스트 업무인 경우, 즉, 제2 작업자가 직접 생성한 테스트 케이스에 따라 테스트 대상을 테스트함에 따라 소프트웨어에 대한 이슈를 발생시킨 경우, 제2 작업자에게 이슈 발생에 따른 보상 이외에 추가적인 보상을 지급할 수 있다.In various embodiments, the
다양한 실시예에서, 컴퓨팅 장치(100)는 제2 작업자가 제2 작업자에게 할당된 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 검수하기 위한 검수 작업을 생성하여 제1 작업자에게 할당할 수 있고, 제1 작업자에게 검수 작업을 할당함에 따라 제1 작업자로부터 테스트 수행 결과(제2 작업자의 결과물)에 대한 퀄리티 레벨을 획득할 수 있으며, 퀄리티 레벨에 기초하여 제2 작업자에게 보상을 제공할 수 있다.In various embodiments, the
전술한 소프트웨어 품질보증을 위한 솔루션 제공 방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 소프트웨어 품질보증을 위한 솔루션 제공 방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.The above-described method for providing a solution for software quality assurance has been described with reference to a flowchart shown in the drawings. For brief explanation, the method for providing a solution for software quality assurance has been illustrated and described as a series of blocks, but the present invention is not limited to the order of the blocks, and some blocks are performed in a different order than shown and performed herein. or can be performed concurrently. In addition, new blocks not described in the present specification and drawings may be added, or some blocks may be deleted or changed.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features of the present invention. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.
100 : 컴퓨팅 장치
200 : 사용자 단말
300 : 외부 서버
400 : 네트워크100: computing device
200: user terminal
300: external server
400: network
Claims (11)
사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 케이스(Test Case, TC) 생성 요청을 획득하는 단계; 및
상기 획득된 테스트 케이스 생성 요청에 대응하여, 상기 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스(User Interface, UI)를 제공하는 단계를 포함하며,
상기 사용자 인터페이스를 제공하는 단계는,
상기 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함하고,
상기 가이드 정보를 제공하는 단계는,
상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 테스트 케이스를 생성하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 단계; 및
가이드 정보로서, 상기 선정된 하나 이상의 추천 테스트에 관한 정보 및 상기 선정된 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 상기 선정된 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 제공하는 단계를 포함하고,
상기 가이드 정보를 제공하는 단계는,
테스트를 수행하는 단말에 대한 정보를 획득하는 단계;
상기 단말의 속성에 기초하여, 상기 단말에 대한 테스트 범위를 결정하는 단계; 및
상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함하고,
상기 가이드 정보를 제공하는 단계는,
상기 사용자로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 제1 테스트 케이스가 생성된 경우, 기 구축된 테스트 케이스 데이터베이스 - 상기 기 구축된 테스트 케이스 데이터베이스는 복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스가 분류 및 저장된 것임 - 로부터 상기 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출하는 단계;
상기 추출된 복수의 제2 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 제2 테스트 케이스의 패턴을 추출하고, 상기 추출된 패턴에 기초하여 상기 생성된 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계; 및
상기 생성된 복수의 제1 테스트에 대한 검증을 수행한 결과에 기초하여 상기 사용자에게 가이드 정보를 제공하는 단계를 포함하고,
상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계는,
상기 복수의 제1 테스트 케이스에 포함된 복수의 항목과 상기 복수의 제2 테스트 케이스에 포함된 복수의 항목 각각에 대한 복수의 단위 유사도를 산출하는 단계;
상기 복수의 단위 유사도의 평균 값을 상기 복수의 제1 테스트 케이스와 상기 복수의 제2 테스트 케이스 간의 유사도로 산출하는 단계; 및
상기 산출된 유사도가 기 설정된 기준 유사도 미만인 경우, 상기 복수의 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공하는 단계를 포함하고,
상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계는,
상기 복수의 제1 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제1 테스트 케이스의 패턴을 추출하는 단계;
상기 복수의 제2 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제2 테스트 케이스의 패턴을 추출하는 단계;
상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴을 비교하고, 상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴이 상이할 경우, 상기 복수의 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공하는 단계를 포함하고,
상기 테스트 케이스 생성 요청을 획득하는 단계는,
테스트 대상에 대한 중요도를 결정하는 단계를 포함하고,
상기 가이드 정보를 제공하는 단계는,
복수의 사용자로부터 동일한 테스트 대상에 대한 테스트 케이스 생성 요청이 획득되는 경우, 상기 테스트 대상의 중요도가 기 설정된 기준 값 이상인 경우 상기 복수의 사용자가 동일한 테스트 케이스를 생성하도록 동일한 가이드 정보를 제공하고, 상기 테스트 대상의 중요도가 기 설정된 기준 값 미만인 경우 상기 복수의 사용자가 서로 상이한 테스트 케이스를 생성하도록 상이한 가이드 정보를 제공하는 단계를 포함하고,
상기 생성된 테스트 케이스에 대한 테스트 업무를 기 등록된 복수의 작업자 중 적어도 하나의 작업자에게 할당하는 단계를 더 포함하고,
상기 기 등록된 복수의 작업자는,
전문 소프트웨어 테스터(Software Tester) 인력풀에 기 등록된 복수의 제1 작업자 및 긱워커(Gig worker) 인력풀에 기 등록된 복수의 제2 작업자를 포함하고,
상기 테스트 업무를 할당하는 단계는,
상기 복수의 제2 작업자 중 어느 하나의 제2 작업자가 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무의 수행을 완료하는 것에 대응하여 상기 어느 하나의 제2 작업자에게 소정의 보상을 제공하는 단계를 포함하며,
상기 소정의 보상을 제공하는 단계는,
상기 복수의 제2 작업자 중 둘 이상의 제2 작업자가 동일한 테스트 업무의 수행을 완료한 경우, 상기 둘 이상의 작업자의 테스트 업무 완료 순서에 기초하여 상기 둘 이상의 작업자에게 서로 다른 크기의 보상을 제공하는 단계;
상기 어느 하나의 제2 작업자가 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 소프트웨어에 대한 이슈가 발생된 것으로 판단되는 경우, 상기 어느 하나의 제2 작업자에게 이슈 발생에 따른 보상을 제공하되, 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무가 상기 어느 하나의 제2 작업자가 생성한 테스트 케이스에 따라 생성된 테스트 업무인 경우, 상기 어느 하나의 제2 작업자에게 상기 이슈 발생에 따른 보상 외에 추가 보상을 제공하는 단계; 및
상기 어느 하나의 제2 작업자가 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 검수하는 검수 작업을 생성하여 상기 복수의 제1 작업자 중 어느 하나의 제1 작업자에게 할당하고, 상기 어느 하나의 제1 작업자에게 상기 생성된 검수 작업을 할당함에 따라 상기 어느 하나의 제1 작업자로부터 상기 테스트 수행 결과에 대한 퀄리티 레벨을 획득하며, 상기 획득된 퀄리티 레벨에 기초하여 상기 어느 하나의 제2 작업자에게 보상을 제공하는 단계를 포함하는,
소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법.In a method performed by a computing device,
Obtaining a test case (Test Case, TC) generation request for software quality assurance (Quality Assurance, QA) from a user; and
In response to the obtained test case creation request, providing a user interface (UI) for test case creation to the user,
Providing the user interface,
Providing guide information for generating test cases to the user;
The step of providing the guide information,
selecting one or more recommended tests for the at least one function when the user wants to create a test case for testing at least one function among a plurality of functions included in the software; and
As the guide information, guide information including information on the one or more selected recommended tests and information on a method for generating a test case corresponding to the one or more selected recommended tests may be provided, or the one or more selected recommended tests may be provided. Providing sample test cases corresponding to
The step of providing the guide information,
obtaining information about a terminal performing a test;
determining a test range for the terminal based on the attribute of the terminal; and
Selecting a recommended test for the at least one function based on the determined test range;
The step of providing the guide information,
When a plurality of first test cases corresponding to a test object, wherein the test object is at least one function among a plurality of functions included in the software, are generated from the user, a pre-constructed test case database - the pre-constructed test case database The test case database classifies and stores a plurality of test cases previously created to test a plurality of software and a plurality of functions included in each of the plurality of software - a plurality of second test cases corresponding to the test target extracting;
Patterns of the extracted second test cases are extracted through big data analysis on the extracted second test cases, and the generated first test cases are verified based on the extracted patterns. performing; and
Providing guide information to the user based on a result of verifying the generated plurality of first tests;
The step of verifying the plurality of first test cases,
calculating a plurality of unit similarities for each of a plurality of items included in the plurality of first test cases and a plurality of items included in the plurality of second test cases;
calculating an average value of the plurality of unit similarities as similarities between the plurality of first test cases and the plurality of second test cases; and
When the calculated similarity is less than a predetermined reference similarity, providing guide information for guiding a modification request for the plurality of first test cases,
The step of verifying the plurality of first test cases,
extracting a pattern of the plurality of first test cases, which includes information about a ratio and a test order for each test type included in the plurality of first test cases;
extracting a pattern of the plurality of second test cases, which includes information about a ratio and a test order for each test type included in the plurality of second test cases;
The patterns of the plurality of first test cases are compared with the patterns of the plurality of second test cases, and when the patterns of the plurality of first test cases and the patterns of the plurality of second test cases are different, the patterns of the plurality of test cases are different. Providing guide information for guiding a modification request for the first test case;
Obtaining the test case creation request,
Including the step of determining the importance for the test object,
The step of providing the guide information,
When a test case generation request for the same test object is obtained from a plurality of users, the same guide information is provided so that the plurality of users create the same test case when the importance of the test object is greater than or equal to a preset reference value, and the test Providing different guide information so that the plurality of users create different test cases when the importance of the object is less than a preset reference value,
Allocating a test task for the generated test case to at least one operator among a plurality of previously registered operators;
The plurality of previously registered workers,
Including a plurality of first workers pre-registered in the professional software tester manpower pool and a plurality of second workers pre-registered in the gig worker manpower pool,
The step of assigning the test task,
Providing a predetermined reward to one of the plurality of second workers in response to completion of a specific test task assigned to the one of the second workers; Including,
The step of providing the predetermined reward,
When two or more second workers among the plurality of second workers complete the performance of the same test task, providing rewards of different sizes to the two or more workers based on the test task completion order of the two or more workers;
When it is determined that an issue with software has occurred based on a test performance result derived as the one second worker performs a specific test task assigned to the one or more second workers, the one or more Compensation is provided to the second worker according to the occurrence of an issue, but if the specific test task assigned to any one second worker is a test task created according to the test case created by the one or more second workers, any one of the above providing additional compensation to one second worker in addition to compensation according to the occurrence of the issue; and
By creating an inspection task for inspecting test performance results obtained as the one second operator performs a specific test task assigned to the one or more second operators, one of the plurality of first operators performs a test task. operator, and as the generated inspection task is assigned to any one first operator, a quality level for the test execution result is obtained from the one first operator, and based on the obtained quality level Comprising the step of providing a reward to any one of the second workers,
How to provide a user-customized test case creation guide for software quality assurance.
상기 하나 이상의 추천 테스트를 선정하는 단계는,
상기 사용자의 테스트 수행 이력에 기초하여 상기 사용자의 테스트 수행 능력을 판단하고, 상기 판단된 테스트 수행 능력에 기초하여 상기 사용자에 대한 테스트 난이도를 결정하는 단계; 및
상기 결정된 테스트 난이도에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함하는,
소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법.According to claim 1,
The step of selecting one or more recommended tests,
determining a test performance capability of the user based on a test performance history of the user, and determining a test difficulty level for the user based on the determined test performance capability; and
Selecting a recommended test for the at least one function based on the determined test difficulty,
How to provide a user-customized test case creation guide for software quality assurance.
복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 수집하고, 상기 수집된 복수의 테스트 케이스를 분류 및 저장함에 따라 테스트 케이스 데이터베이스를 구축하는 단계를 더 포함하며,
상기 가이드 정보를 제공하는 단계는,
상기 구축된 테스트 케이스 데이터베이스로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 테스트 케이스를 추출하는 단계;
상기 추출된 복수의 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 테스트 케이스의 패턴을 추출하는 단계; 및
상기 추출된 패턴에 기초하여, 상기 테스트 대상에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함하는,
소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법.According to claim 1,
Building a test case database by collecting a plurality of pre-generated test cases to test a plurality of software and a plurality of functions included in each of the plurality of software, and classifying and storing the collected plurality of test cases Including more,
The step of providing the guide information,
extracting a plurality of test cases corresponding to a test object, wherein the test object is at least one function among a plurality of functions included in the software, from the constructed test case database;
extracting patterns of the plurality of extracted test cases through big data analysis of the plurality of extracted test cases; and
Based on the extracted pattern, providing guide information for generating a test case corresponding to the test target,
How to provide a user-customized test case creation guide for software quality assurance.
복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 학습 데이터로 하여 학습시킴에 따라 테스트 케이스 생성 모델을 생성하는 단계를 더 포함하며,
상기 가이드를 제공하는 단계는,
상기 생성된 테스트 케이스 생성 모델에 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 관한 정보를 입력함에 따라 하나 이상의 테스트 케이스를 추출하는 단계; 및
상기 추출된 하나 이상의 테스트 케이스를 상기 테스트 대상에 대한 샘플 테스트 케이스로서 상기 사용자에게 제공하는 단계를 포함하는,
소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법.According to claim 1,
Further comprising generating a test case generation model by learning a plurality of pre-generated test cases as learning data to test a plurality of software and a plurality of functions included in each of the plurality of software,
The step of providing the guide,
extracting one or more test cases by inputting information about a test object, wherein the test object is at least one function among a plurality of functions included in the software, to the generated test case generation model; and
Providing the one or more extracted test cases to the user as sample test cases for the test object.
How to provide a user-customized test case creation guide for software quality assurance.
상기 가이드 정보를 제공하는 단계는,
상기 사용자가 기 생성된 테스트 케이스에 따라 상기 소프트웨어에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 상기 소프트웨어에 대한 이슈가 발생한 것으로 판단되는 경우, 상기 발생된 이슈에 대한 하나 이상의 추가 테스트를 선정하는 단계; 및
가이드 정보로서, 상기 선정된 하나 이상의 추가 테스트에 관한 정보 및 상기 선정된 하나 이상의 추가 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 상기 선정된 하나 이상의 추가 테스트에 대응하는 샘플 테스트 케이스를 제공하는 단계를 포함하는,
소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법.According to claim 1,
The step of providing the guide information,
If it is determined that an issue with the software has occurred based on the test results obtained by the user performing a test for the software according to a previously created test case, one or more additional tests for the generated issue selecting; and
As the guide information, guide information including information on the one or more selected additional tests and information on a method for generating a test case corresponding to the one or more selected additional tests may be provided, or the one or more selected additional tests may be provided. Including providing a sample test case corresponding to
How to provide a user-customized test case creation guide for software quality assurance.
네트워크 인터페이스;
메모리; 및
상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
상기 컴퓨터 프로그램은,
사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 케이스(Test Case, TC) 생성 요청을 획득하는 인스트럭션(instruction); 및
상기 획득된 테스트 케이스 생성 요청에 대응하여, 상기 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스(User Interface, UI)를 제공하는 인스트럭션을 포함하며,
상기 사용자 인터페이스를 제공하는 인스트럭션은,
상기 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 인스트럭션을 포함하고,
상기 가이드 정보를 제공하는 인스트럭션은,
상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 테스트 케이스를 생성하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 인스트럭션; 및
가이드 정보로서, 상기 선정된 하나 이상의 추천 테스트에 관한 정보 및 상기 선정된 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 상기 선정된 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 제공하는 인스트럭션을 포함하고,
상기 가이드 정보를 제공하는 인스트럭션은,
테스트를 수행하는 단말에 대한 정보를 획득하는 인스트럭션;
상기 단말의 속성에 기초하여, 상기 단말에 대한 테스트 범위를 결정하는 인스트럭션; 및
상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 인스트럭션을 포함하고,
상기 가이드 정보를 제공하는 인스트럭션은,
상기 사용자로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 제1 테스트 케이스가 생성된 경우, 기 구축된 테스트 케이스 데이터베이스 - 상기 기 구축된 테스트 케이스 데이터베이스는 복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스가 분류 및 저장된 것임 - 로부터 상기 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출하는 인스트럭션;
상기 추출된 복수의 제2 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 제2 테스트 케이스의 패턴을 추출하고, 상기 추출된 패턴에 기초하여 상기 생성된 복수의 제1 테스트 케이스에 대한 검증을 수행하는 인스트럭션; 및
상기 생성된 복수의 제1 테스트에 대한 검증을 수행한 결과에 기초하여 상기 사용자에게 가이드 정보를 제공하는 인스트럭션을 포함하고,
상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 인스트럭션은,
상기 복수의 제1 테스트 케이스에 포함된 복수의 항목과 상기 복수의 제2 테스트 케이스에 포함된 복수의 항목 각각에 대한 복수의 단위 유사도를 산출하는 인스트럭션;
상기 복수의 단위 유사도의 평균 값을 상기 복수의 제1 테스트 케이스와 상기 복수의 제2 테스트 케이스 간의 유사도로 산출하는 인스트럭션; 및
상기 산출된 유사도가 기 설정된 기준 유사도 미만인 경우, 상기 복수의 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공하는 인스트럭션을 포함하고,
상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 인스트럭션은,
상기 복수의 제1 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제1 테스트 케이스의 패턴을 추출하는 인스트럭션;
상기 복수의 제2 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제2 테스트 케이스의 패턴을 추출하는 인스트럭션;
상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴을 비교하고, 상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴이 상이할 경우, 상기 복수의 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공하는 인스트럭션을 포함하고,
상기 테스트 케이스 생성 요청을 획득하는 인스트럭션은,
테스트 대상에 대한 중요도를 결정하는 인스트럭션을 포함하고,
상기 가이드 정보를 제공하는 인스트럭션은,
복수의 사용자로부터 동일한 테스트 대상에 대한 테스트 케이스 생성 요청이 획득되는 경우, 상기 테스트 대상의 중요도가 기 설정된 기준 값 이상인 경우 상기 복수의 사용자가 동일한 테스트 케이스를 생성하도록 동일한 가이드 정보를 제공하고, 상기 테스트 대상의 중요도가 기 설정된 기준 값 미만인 경우 상기 복수의 사용자가 서로 상이한 테스트 케이스를 생성하도록 상이한 가이드 정보를 제공하는 인스트럭션을 포함하고,
상기 생성된 테스트 케이스에 대한 테스트 업무를 기 등록된 복수의 작업자 중 적어도 하나의 작업자에게 할당하는 인스트럭션을 더 포함하고,
상기 기 등록된 복수의 작업자는,
전문 소프트웨어 테스터(Software Tester) 인력풀에 기 등록된 복수의 제1 작업자 및 긱워커(Gig worker) 인력풀에 기 등록된 복수의 제2 작업자를 포함하고,
상기 테스트 업무를 할당하는 인스트럭션은,
상기 복수의 제2 작업자 중 어느 하나의 제2 작업자가 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무의 수행을 완료하는 것에 대응하여 상기 어느 하나의 제2 작업자에게 소정의 보상을 제공하는 인스트럭션을 포함하며,
상기 소정의 보상을 제공하는 인스트럭션은,
상기 복수의 제2 작업자 중 둘 이상의 제2 작업자가 동일한 테스트 업무의 수행을 완료한 경우, 상기 둘 이상의 작업자의 테스트 업무 완료 순서에 기초하여 상기 둘 이상의 작업자에게 서로 다른 크기의 보상을 제공하는 인스트럭션;
상기 어느 하나의 제2 작업자가 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 소프트웨어에 대한 이슈가 발생된 것으로 판단되는 경우, 상기 어느 하나의 제2 작업자에게 이슈 발생에 따른 보상을 제공하되, 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무가 상기 어느 하나의 제2 작업자가 생성한 테스트 케이스에 따라 생성된 테스트 업무인 경우, 상기 어느 하나의 제2 작업자에게 상기 이슈 발생에 따른 보상 외에 추가 보상을 제공하는 인스트럭션; 및
상기 어느 하나의 제2 작업자가 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 검수하는 검수 작업을 생성하여 상기 복수의 제1 작업자 중 어느 하나의 제1 작업자에게 할당하고, 상기 어느 하나의 제1 작업자에게 상기 생성된 검수 작업을 할당함에 따라 상기 어느 하나의 제1 작업자로부터 상기 테스트 수행 결과에 대한 퀄리티 레벨을 획득하며, 상기 획득된 퀄리티 레벨에 기초하여 상기 어느 하나의 제2 작업자에게 보상을 제공하는 인스트럭션을 포함하는,
소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법을 수행하는 컴퓨팅 장치.processor;
network interface;
Memory; and
A computer program loaded into the memory and executed by the processor,
The computer program,
An instruction for obtaining a request for generating a test case (TC) for software quality assurance (QA) from a user; and
In response to the obtained test case creation request, an instruction for providing a user interface (UI) for test case creation to the user,
The instruction providing the user interface,
Includes instructions for providing guide information for generating test cases to the user;
The instruction providing the guide information,
an instruction for selecting one or more recommended tests for the at least one function when the user wants to generate a test case for testing at least one function among a plurality of functions included in the software; and
As the guide information, guide information including information on the one or more selected recommended tests and information on a method for generating a test case corresponding to the one or more selected recommended tests may be provided, or the one or more selected recommended tests may be provided. Includes instructions that provide sample test cases corresponding to;
The instruction providing the guide information,
an instruction for obtaining information about a terminal performing a test;
instructions for determining a test range for the terminal based on the attributes of the terminal; and
Includes instructions for selecting a recommended test for the at least one function based on the determined test range;
The instruction providing the guide information,
When a plurality of first test cases corresponding to a test object, wherein the test object is at least one function among a plurality of functions included in the software, are generated from the user, a pre-constructed test case database - the pre-constructed test case database The test case database classifies and stores a plurality of test cases previously created to test a plurality of software and a plurality of functions included in each of the plurality of software - a plurality of second test cases corresponding to the test target instruction to extract;
Patterns of the extracted second test cases are extracted through big data analysis on the extracted second test cases, and the generated first test cases are verified based on the extracted patterns. instruction to perform; and
An instruction for providing guide information to the user based on a result of verifying the generated plurality of first tests;
The instruction for performing the verification of the plurality of first test cases,
an instruction for calculating a plurality of unit similarities for each of a plurality of items included in the plurality of first test cases and a plurality of items included in the plurality of second test cases;
an instruction for calculating an average value of the plurality of unit similarities as similarities between the plurality of first test cases and the plurality of second test cases; and
An instruction for providing guide information for guiding a modification request for the plurality of first test cases when the calculated similarity is less than a preset reference similarity,
The instruction for performing the verification of the plurality of first test cases,
an instruction for extracting a pattern of the plurality of first test cases, including information about a ratio and a test order for each test type included in the plurality of first test cases;
an instruction for extracting a pattern of the plurality of second test cases, which includes information about a ratio and a test order for each test type included in the plurality of second test cases;
The patterns of the plurality of first test cases are compared with the patterns of the plurality of second test cases, and when the patterns of the plurality of first test cases and the patterns of the plurality of second test cases are different, the patterns of the plurality of test cases are different. Includes instructions for providing guide information for guiding a modification request for the first test case;
The instruction for obtaining the test case creation request,
contains instructions for determining the importance of the test object;
The instruction providing the guide information,
When a test case generation request for the same test object is obtained from a plurality of users, the same guide information is provided so that the plurality of users create the same test case when the importance of the test object is greater than or equal to a preset reference value, and the test Including an instruction for providing different guide information so that the plurality of users create different test cases when the importance of the object is less than a preset reference value,
Further comprising an instruction for assigning a test task for the generated test case to at least one operator among a plurality of previously registered operators,
The plurality of previously registered workers,
Including a plurality of first workers pre-registered in the professional software tester manpower pool and a plurality of second workers pre-registered in the gig worker manpower pool,
The instructions for allocating the test task are:
Instructions for providing a predetermined reward to any one of the plurality of second workers in response to completion of a specific test task assigned to the one of the second workers Including,
The instruction for providing the predetermined reward,
instructions for providing different sizes of rewards to the two or more workers based on the test task completion order of the two or more workers, when two or more second workers among the plurality of second workers complete the same test task;
When it is determined that an issue with software has occurred based on a test performance result derived as the one second worker performs a specific test task assigned to the one or more second workers, the one or more Compensation is provided to the second worker according to the occurrence of an issue, but if the specific test task assigned to any one second worker is a test task created according to the test case created by the one or more second workers, any one of the above an instruction for providing additional compensation to one second worker in addition to compensation according to occurrence of the issue; and
By creating an inspection task for inspecting test performance results obtained as the one second operator performs a specific test task assigned to the one or more second operators, one of the plurality of first operators performs a test task. operator, and as the generated inspection task is assigned to any one first operator, a quality level for the test execution result is obtained from the one first operator, and based on the obtained quality level Including instructions for providing a reward to any one of the second workers,
A computing device that performs a method of providing a user-customized test case creation guide for software quality assurance.
사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 케이스(Test Case, TC) 생성 요청을 획득하는 단계; 및
상기 획득된 테스트 케이스 생성 요청에 대응하여, 상기 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스(User Interface, UI)를 제공하는 단계를 포함하며,
상기 사용자 인터페이스를 제공하는 단계는,
상기 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함하고,
상기 가이드 정보를 제공하는 단계는,
상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 테스트 케이스를 생성하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 단계; 및
가이드 정보로서, 상기 선정된 하나 이상의 추천 테스트에 관한 정보 및 상기 선정된 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 상기 선정된 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 제공하는 단계를 포함하고,
상기 가이드 정보를 제공하는 단계는,
테스트를 수행하는 단말에 대한 정보를 획득하는 단계;
상기 단말의 속성에 기초하여, 상기 단말에 대한 테스트 범위를 결정하는 단계; 및
상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함하고,
상기 가이드 정보를 제공하는 단계는,
상기 사용자로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 제1 테스트 케이스가 생성된 경우, 기 구축된 테스트 케이스 데이터베이스 - 상기 기 구축된 테스트 케이스 데이터베이스는 복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스가 분류 및 저장된 것임 - 로부터 상기 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출하는 단계;
상기 추출된 복수의 제2 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 제2 테스트 케이스의 패턴을 추출하고, 상기 추출된 패턴에 기초하여 상기 생성된 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계; 및
상기 생성된 복수의 제1 테스트에 대한 검증을 수행한 결과에 기초하여 상기 사용자에게 가이드 정보를 제공하는 단계를 포함하고,
상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계는,
상기 복수의 제1 테스트 케이스에 포함된 복수의 항목과 상기 복수의 제2 테스트 케이스에 포함된 복수의 항목 각각에 대한 복수의 단위 유사도를 산출하는 단계;
상기 복수의 단위 유사도의 평균 값을 상기 복수의 제1 테스트 케이스와 상기 복수의 제2 테스트 케이스 간의 유사도로 산출하는 단계; 및
상기 산출된 유사도가 기 설정된 기준 유사도 미만인 경우, 상기 복수의 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공하는 단계를 포함하고,
상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계는,
상기 복수의 제1 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제1 테스트 케이스의 패턴을 추출하는 단계;
상기 복수의 제2 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제2 테스트 케이스의 패턴을 추출하는 단계;
상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴을 비교하고, 상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴이 상이할 경우, 상기 복수의 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공하는 단계를 포함하고,
상기 테스트 케이스 생성 요청을 획득하는 단계는,
테스트 대상에 대한 중요도를 결정하는 단계를 포함하고,
상기 가이드 정보를 제공하는 단계는,
복수의 사용자로부터 동일한 테스트 대상에 대한 테스트 케이스 생성 요청이 획득되는 경우, 상기 테스트 대상의 중요도가 기 설정된 기준 값 이상인 경우 상기 복수의 사용자가 동일한 테스트 케이스를 생성하도록 동일한 가이드 정보를 제공하고, 상기 테스트 대상의 중요도가 기 설정된 기준 값 미만인 경우 상기 복수의 사용자가 서로 상이한 테스트 케이스를 생성하도록 상이한 가이드 정보를 제공하는 단계를 포함하고,
상기 생성된 테스트 케이스에 대한 테스트 업무를 기 등록된 복수의 작업자 중 적어도 하나의 작업자에게 할당하는 단계를 더 포함하고,
상기 기 등록된 복수의 작업자는,
전문 소프트웨어 테스터(Software Tester) 인력풀에 기 등록된 복수의 제1 작업자 및 긱워커(Gig worker) 인력풀에 기 등록된 복수의 제2 작업자를 포함하고,
상기 테스트 업무를 할당하는 단계는,
상기 복수의 제2 작업자 중 어느 하나의 제2 작업자가 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무의 수행을 완료하는 것에 대응하여 상기 어느 하나의 제2 작업자에게 소정의 보상을 제공하는 단계를 포함하며,
상기 소정의 보상을 제공하는 단계는,
상기 복수의 제2 작업자 중 둘 이상의 제2 작업자가 동일한 테스트 업무의 수행을 완료한 경우, 상기 둘 이상의 작업자의 테스트 업무 완료 순서에 기초하여 상기 둘 이상의 작업자에게 서로 다른 크기의 보상을 제공하는 단계;
상기 어느 하나의 제2 작업자가 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 소프트웨어에 대한 이슈가 발생된 것으로 판단되는 경우, 상기 어느 하나의 제2 작업자에게 이슈 발생에 따른 보상을 제공하되, 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무가 상기 어느 하나의 제2 작업자가 생성한 테스트 케이스에 따라 생성된 테스트 업무인 경우, 상기 어느 하나의 제2 작업자에게 상기 이슈 발생에 따른 보상 외에 추가 보상을 제공하는 단계; 및
상기 어느 하나의 제2 작업자가 상기 어느 하나의 제2 작업자에게 할당된 특정 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 검수하는 검수 작업을 생성하여 상기 복수의 제1 작업자 중 어느 하나의 제1 작업자에게 할당하고, 상기 어느 하나의 제1 작업자에게 상기 생성된 검수 작업을 할당함에 따라 상기 어느 하나의 제1 작업자로부터 상기 테스트 수행 결과에 대한 퀄리티 레벨을 획득하며, 상기 획득된 퀄리티 레벨에 기초하여 상기 어느 하나의 제2 작업자에게 보상을 제공하는 단계를 포함하는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장된, 컴퓨터프로그램.Combined with a computing device,
Obtaining a test case (Test Case, TC) generation request for software quality assurance (Quality Assurance, QA) from a user; and
In response to the obtained test case creation request, providing a user interface (UI) for test case creation to the user,
Providing the user interface,
Providing guide information for generating test cases to the user;
The step of providing the guide information,
selecting one or more recommended tests for the at least one function when the user wants to create a test case for testing at least one function among a plurality of functions included in the software; and
As the guide information, guide information including information on the one or more selected recommended tests and information on a method for generating a test case corresponding to the one or more selected recommended tests may be provided, or the one or more selected recommended tests may be provided. Providing sample test cases corresponding to
The step of providing the guide information,
obtaining information about a terminal performing a test;
determining a test range for the terminal based on the attribute of the terminal; and
Selecting a recommended test for the at least one function based on the determined test range;
The step of providing the guide information,
When a plurality of first test cases corresponding to a test object, wherein the test object is at least one function among a plurality of functions included in the software, are generated from the user, a pre-constructed test case database - the pre-constructed test case database The test case database classifies and stores a plurality of test cases previously created to test a plurality of software and a plurality of functions included in each of the plurality of software - a plurality of second test cases corresponding to the test target extracting;
Patterns of the extracted second test cases are extracted through big data analysis on the extracted second test cases, and the generated first test cases are verified based on the extracted patterns. performing; and
Providing guide information to the user based on a result of verifying the generated plurality of first tests;
The step of verifying the plurality of first test cases,
calculating a plurality of unit similarities for each of a plurality of items included in the plurality of first test cases and a plurality of items included in the plurality of second test cases;
calculating an average value of the plurality of unit similarities as similarities between the plurality of first test cases and the plurality of second test cases; and
When the calculated similarity is less than a predetermined reference similarity, providing guide information for guiding a modification request for the plurality of first test cases,
The step of verifying the plurality of first test cases,
extracting a pattern of the plurality of first test cases, which includes information about a ratio and a test order for each test type included in the plurality of first test cases;
extracting a pattern of the plurality of second test cases, which includes information about a ratio and a test order for each test type included in the plurality of second test cases;
The patterns of the plurality of first test cases are compared with the patterns of the plurality of second test cases, and when the patterns of the plurality of first test cases and the patterns of the plurality of second test cases are different, the patterns of the plurality of test cases are different. Providing guide information for guiding a modification request for the first test case;
Obtaining the test case creation request,
Including the step of determining the importance for the test object,
The step of providing the guide information,
When a test case generation request for the same test object is obtained from a plurality of users, the same guide information is provided so that the plurality of users create the same test case when the importance of the test object is greater than or equal to a preset reference value, and the test Providing different guide information so that the plurality of users create different test cases when the importance of the object is less than a preset reference value,
Allocating a test task for the generated test case to at least one operator among a plurality of previously registered operators;
The plurality of previously registered workers,
Including a plurality of first workers pre-registered in the professional software tester manpower pool and a plurality of second workers pre-registered in the gig worker manpower pool,
The step of assigning the test task,
Providing a predetermined reward to one of the plurality of second workers in response to completion of a specific test task assigned to the one of the second workers; Including,
The step of providing the predetermined reward,
When two or more second workers among the plurality of second workers complete the performance of the same test task, providing rewards of different sizes to the two or more workers based on the test task completion order of the two or more workers;
When it is determined that an issue with software has occurred based on a test performance result derived as the one second worker performs a specific test task assigned to the one or more second workers, the one or more Compensation is provided to the second worker according to the occurrence of an issue, but if the specific test task assigned to any one second worker is a test task created according to the test case created by the one or more second workers, any one of the above providing additional compensation to one second worker in addition to compensation according to the occurrence of the issue; and
By creating an inspection task for inspecting test performance results obtained as the one second operator performs a specific test task assigned to the one or more second operators, one of the plurality of first operators performs a test task. operator, and as the generated inspection task is assigned to any one first operator, a quality level for the test execution result is obtained from the one first operator, and based on the obtained quality level A computer program stored in a recording medium readable by a computing device in order to execute a method for providing a user-customized test case generation guide for software quality assurance comprising providing a reward to any one of the second workers.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220143621A KR102536392B1 (en) | 2022-11-01 | 2022-11-01 | Method, apparatus and computer program for providing guide to create user customized test case for software quality assurance |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220143621A KR102536392B1 (en) | 2022-11-01 | 2022-11-01 | Method, apparatus and computer program for providing guide to create user customized test case for software quality assurance |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102536392B1 true KR102536392B1 (en) | 2023-05-26 |
Family
ID=86536927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220143621A KR102536392B1 (en) | 2022-11-01 | 2022-11-01 | Method, apparatus and computer program for providing guide to create user customized test case for software quality assurance |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102536392B1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040169591A1 (en) * | 2003-02-21 | 2004-09-02 | Erkkinen Thomas J. | Certifying software for safety-critical systems |
KR101554424B1 (en) * | 2014-05-02 | 2015-09-30 | (주)씽크포비엘 | Method and apparatus for auto generation of test case |
KR101588027B1 (en) * | 2014-10-10 | 2016-01-25 | (주)씽크포비엘 | Method and apparatus for generating test case to support localization of software |
EP3220272A1 (en) * | 2016-03-15 | 2017-09-20 | Wipro Limited | A method and system for performing regression integration testing |
US20190243751A1 (en) * | 2018-02-02 | 2019-08-08 | Ca, Inc. | Automated selection of test cases for regression testing |
JP2022129520A (en) * | 2021-02-25 | 2022-09-06 | アミフィアブル株式会社 | Test support system, test support method and program |
-
2022
- 2022-11-01 KR KR1020220143621A patent/KR102536392B1/en active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040169591A1 (en) * | 2003-02-21 | 2004-09-02 | Erkkinen Thomas J. | Certifying software for safety-critical systems |
KR101554424B1 (en) * | 2014-05-02 | 2015-09-30 | (주)씽크포비엘 | Method and apparatus for auto generation of test case |
KR101588027B1 (en) * | 2014-10-10 | 2016-01-25 | (주)씽크포비엘 | Method and apparatus for generating test case to support localization of software |
EP3220272A1 (en) * | 2016-03-15 | 2017-09-20 | Wipro Limited | A method and system for performing regression integration testing |
US20190243751A1 (en) * | 2018-02-02 | 2019-08-08 | Ca, Inc. | Automated selection of test cases for regression testing |
JP2022129520A (en) * | 2021-02-25 | 2022-09-06 | アミフィアブル株式会社 | Test support system, test support method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10402039B2 (en) | Adaptive user interface using machine learning model | |
US20150142423A1 (en) | Phrase-based data classification system | |
KR102164844B1 (en) | Method for evaluating workers using the unit of work difficulty of crowdsourcing based projects for artificial intelligence training data generation | |
US20150154564A1 (en) | Weighted evaluation comparison | |
KR102500433B1 (en) | Method, apparatus and computer program for automatically generating test case for software quality assurance | |
EP4290351A1 (en) | Environment modeling method and apparatus based on decision flow graph, and electronic device | |
CN109285024B (en) | Online feature determination method and device, electronic equipment and storage medium | |
Muñoz et al. | A cognitive agent for mining bugs reports, feature suggestions and sentiment in a mobile application store | |
KR102620575B1 (en) | Method, server and computer program for determining and managing important message about project through message analysis among project participants | |
KR102536392B1 (en) | Method, apparatus and computer program for providing guide to create user customized test case for software quality assurance | |
KR102484694B1 (en) | Method, apparatus and computer program for inspecting work quality of gig workers qa platform worker and calculating rewards | |
KR102496337B1 (en) | Method, apparatus and computer program for assigning test tasks for software quality assurance | |
US20220019916A1 (en) | Apparatus and method for recommending federated learning based on tendency analysis of recognition model and method for federated learning in user terminal | |
García-Saiz et al. | A meta-learning based framework for building algorithm recommenders: An application for educational arena | |
CN113837210A (en) | Applet classifying method, device, equipment and computer readable storage medium | |
KR102215416B1 (en) | Method for periodically updating and optimizing groups of workers and inspectors of crowdsourcing based projects for artificial intelligence training data generation | |
Gebhart et al. | Quality-oriented requirements engineering for agile development of restful participation service | |
KR20230134658A (en) | Method, apparatus and computer program for creating customized character based on personality type of user | |
CN114676295A (en) | AI-based personalized teaching method, device, equipment and readable storage medium | |
CN113792189A (en) | Crowd-sourcing software development contribution efficiency evaluation method, device, equipment and medium | |
CN113313470A (en) | Employment type evaluation method and system based on big data | |
CN109992514B (en) | Mobile application dynamic analysis method based on visual content | |
KR102505411B1 (en) | Method, apparatus and computer program for task assignment and monitoring for gig workers qa platform worker | |
KR102659992B1 (en) | Method, server and computer program for extracting summary based on message analysis, registering and managing project schedules through the summary | |
Fernandez et al. | Automatic enhancement of the reference set for multi-criteria sorting in the frame of THESEUS method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |