KR102500433B1 - 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램 - Google Patents

소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램 Download PDF

Info

Publication number
KR102500433B1
KR102500433B1 KR1020220143622A KR20220143622A KR102500433B1 KR 102500433 B1 KR102500433 B1 KR 102500433B1 KR 1020220143622 A KR1020220143622 A KR 1020220143622A KR 20220143622 A KR20220143622 A KR 20220143622A KR 102500433 B1 KR102500433 B1 KR 102500433B1
Authority
KR
South Korea
Prior art keywords
test
software
cases
user
providing
Prior art date
Application number
KR1020220143622A
Other languages
English (en)
Inventor
길호웅
Original Assignee
주식회사 큐로드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 큐로드 filed Critical 주식회사 큐로드
Priority to KR1020220143622A priority Critical patent/KR102500433B1/ko
Application granted granted Critical
Publication of KR102500433B1 publication Critical patent/KR102500433B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Debugging And Monitoring (AREA)

Abstract

소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 요청을 획득하는 단계, 상기 획득된 테스트 요청에 대응하여, 상기 소프트웨어의 테스트를 위한 테스트 케이스를 생성하는 단계 및 상기 사용자에게 상기 생성된 테스트 케이스를 제공하는 단계를 포함한다.

Description

소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램{METHOD, APPARATUS AND COMPUTER PROGRAM FOR AUTOMATICALLY GENERATING TEST CASE FOR SOFTWARE QUALITY ASSURANCE}
본 발명의 다양한 실시예는 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램에 관한 것이다.
스마트 기기(예를 들어, 스마트 폰, 태블릿 PC 또는 노트 등)의 애플리케이션 프로그램이 처음 등장한 이후 경쟁이 심해지고 있으며, 애플리케이션 프로그램의 성공 요소는 아이디어 뿐만 아니라 기능이 완벽해야 하고 사용하기도 편리해야만 하는 시대가 되었다.
즉, 현재 애플리케이션 프로그램의 경우, 좋은 아이디어만 가지고는 성공하기 어렵고, 추가적으로 홍보도 잘해야 하며, 기능도 완벽하면서도 사용이 편리하게 제작되어야 성공할 수 있다.
따라서, 현재 또는 향후에는 개발된 애플리케이션 프로그램을 철저하게 검증한 후에 시장에 출시해야 하는 상황이 되었으며, 이를 위해서는 소프트웨어의 품질보증(Quality Assurance, QA) 과정이 매우 중요한 역할을 담당한다.
종래의 소프트웨어 품질보증 방법은 다수의 사용자들이 다양한 시나리오에 따라 플랫폼을 사용함으로써, 즉, 다수의 사용자들이 소프트웨어를 대상으로 다양한 종류의 테스트를 수행함으로써, 소프트웨어에 대한 QA 작업을 직접 수행하였다.
하지만, IT 분야의 성장과 함께, 플랫폼이 포함해야 하는 기능의 종류와 수가 대폭 증가하면서, 기존의 플랫폼의 운영 기간 및 신규 플랫폼의 출시에 걸리는 기간을 단축시켰고, 결과적으로 신규 플랫폼에 대한 QA 작업에 소요되는 인력, 시간 및 비용이 대폭 증가되는 문제가 발생하였다.
본 발명이 해결하고자 하는 과제는 사용자에게 테스트 케이스를 생성할 수 있는 환경을 제공하되, 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공함으로써, 사용자가 보다 쉽게 테스트 케이스를 생성할 수 있는 환경을 제공할 수 있는 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 사용자로부터 소프트웨어의 품질보증을 위한 테스트 요청을 획득함에 따라 테스트를 위한 테스트 케이스를 자동으로 생성하여 사용자에게 제공함으로써, 사용자가 소프트웨어의 품질보증을 위한 테스트를 보다 용이하게 수행할 수 있는 환경을 제공할 수 있는 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는 소프트웨어의 품질보증을 위한 테스트 업무를 다수의 사용자에게 분배 및 할당하되, 테스트 업무의 속성에 따라 테스트를 수행하기에 적합한 사용자에게 테스트 업무를 분배 및 할당함으로써, 소프트웨어에 대한 다수의 테스트 업무를 보다 효과적으로 처리할 수 있는 환경을 제공할 수 있는 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 요청을 획득하는 단계, 상기 획득된 테스트 요청에 대응하여, 상기 소프트웨어의 테스트를 위한 테스트 케이스를 생성하는 단계 및 상기 사용자에게 상기 생성된 테스트 케이스를 제공하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 테스트 케이스를 생성하는 단계는, 상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 단계 및 상기 선정된 하나 이상의 추천 테스트에 대응하는 하나 이상의 테스트 케이스를 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 하나 이상의 추천 테스트를 선정하는 단계는, 상기 사용자의 테스트 수행 이력에 기초하여 상기 사용자의 테스트 수행 능력을 판단하고, 상기 판단된 테스트 수행 능력에 기초하여 상기 사용자에 대한 테스트 난이도를 결정하는 단계 및 상기 결정된 테스트 난이도에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 하나 이상의 추천 테스트를 선정하는 단계는, 상기 소프트웨어에 대한 테스트를 수행하는 상기 사용자의 단말의 속성에 기초하여 상기 사용자에 대한 테스트 범위를 결정하는 단계 및 상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함할 수 있다.
다양한 실시예에서, 복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 수집하고, 상기 수집된 복수의 테스트 케이스를 분류 및 저장함에 따라 테스트 케이스 데이터베이스를 구축하는 단계를 더 포함하며, 상기 테스트 케이스를 생성하는 단계는, 상기 구축된 테스트 케이스 데이터베이스로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 테스트 케이스를 추출하는 단계, 상기 추출된 복수의 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 테스트 케이스의 패턴을 추출하는 단계 및 상기 추출된 패턴에 기초하여, 상기 테스트 대상에 대응하는 테스트 케이스를 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 학습 데이터로 하여 학습시킴에 따라 테스트 케이스 생성 모델을 생성하는 단계를 더 포함하며, 상기 테스트 케이스를 생성하는 단계는, 상기 생성된 테스트 케이스 생성 모델에 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 관한 정보를 입력함에 따라 상기 테스트 대상에 대응하는 하나 이상의 테스트 케이스를 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 테스트 케이스를 생성하는 단계는, 상기 사용자가 상기 제공된 테스트 케이스에 따라 상기 소프트웨어에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 상기 소프트웨어에 대한 이슈가 발생한 것으로 판단되는 경우, 상기 발생된 이슈에 대한 하나 이상의 추가 테스트를 선정하는 단계 및 상기 선정된 하나 이상의 추가 테스트에 대응하는 하나 이상의 추가 테스트 케이스를 생성하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 테스트 케이스를 생성하는 단계는, 서로 다른 둘 이상의 사용자로부터 동일한 테스트 대상에 대한 테스트 요청을 획득하는 경우, 상기 동일한 테스트 대상에 대하여 서로 다른 종류의 둘 이상의 테스트 각각에 대응하는 둘 이상의 테스트 케이스를 생성하는 단계를 포함하며, 상기 생성된 테스트 케이스를 제공하는 단계는, 상기 생성된 둘 이상의 테스트 케이스 각각을 상기 서로 다른 둘 이상의 사용자에게 각각 제공하는 단계를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법을 수행하는 컴퓨팅 장치는 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 요청을 획득하는 인스트럭션(instruction), 상기 획득된 테스트 요청에 대응하여, 상기 소프트웨어의 테스트를 위한 테스트 케이스를 생성하는 인스트럭션 및 상기 사용자에게 상기 생성된 테스트 케이스를 제공하는 인스트럭션을 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터프로그램은 컴퓨팅 장치와 결합되어, 사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 요청을 획득하는 단계, 상기 획득된 테스트 요청에 대응하여, 상기 소프트웨어의 테스트를 위한 테스트 케이스를 생성하는 단계 및 상기 사용자에게 상기 생성된 테스트 케이스를 제공하는 단계를 포함하는 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 사용자에게 테스트 케이스를 생성할 수 있는 환경을 제공하되, 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공함으로써, 사용자가 보다 쉽게 테스트 케이스를 생성할 수 있는 환경을 제공할 수 있다는 이점이 있다.
또한, 사용자로부터 소프트웨어의 품질보증을 위한 테스트 요청을 획득함에 따라 테스트를 위한 테스트 케이스를 자동으로 생성하여 사용자에게 제공함으로써, 사용자가 소프트웨어의 품질보증을 위한 테스트를 보다 용이하게 수행할 수 있는 환경을 제공할 수 있다는 이점이 있다.
또한, 소프트웨어의 품질보증을 위한 테스트 업무를 다수의 사용자에게 분배 및 할당하되, 테스트 업무의 속성에 따라 테스트를 수행하기에 적합한 사용자에게 테스트 업무를 분배 및 할당함으로써, 소프트웨어에 대한 다수의 테스트 업무를 보다 효과적으로 처리할 수 있는 환경을 제공할 수 있다는 이점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 품질보증을 위한 솔루션 제공 시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 컴퓨팅 장치의 하드웨어 구성을 도시한 도면이다.
도 3은 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 케이스 생성을 위한 가이드를 제공하는 방법을 설명하기 위한 순서도이다.
도 4는 다양한 실시예에서, 빅데이터 분석 기반으로 가이드 정보를 제공하는 방법을 설명하기 위한 순서도이다.
도 5는 다양한 실시예에서, 테스트 케이스 생성 모델 기반으로 가이드 정보를 제공하는 방법을 설명하기 위한 순서도이다.
도 6은 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 케이스를 자동 생성하는 방법을 설명하기 위한 순서도이다.
도 7은 다양한 실시예에서, 빅데이터 분석 기반으로 테스트 케이스를 자동으로 생성하는 방법을 설명하기 위한 순서도이다.
도 8은 다양한 실시예에서, 테스트 케이스 생성 모델을 기반으로 테스트 케이스를 자동으로 생성하는 방법을 설명하기 위한 순서도이다.
도 9는 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.
도 10은 다양한 실시예에서, 난이도에 따라 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.
도 11은 다양한 실시예에서, 유형에 따라 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.
도 12는 다양한 실시예에서, 사용자에게 테스트 수행에 따른 보상을 제공하는 방법을 설명하기 위한 순서도이다.
도 13 내지 도 26은 다양한 실시예에서, 컴퓨팅 장치가 제공하는 사용자 인터페이스(User Interface, UI)를 예시적으로 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 품질보증을 위한 솔루션 제공 시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 품질보증을 위한 솔루션 제공 시스템은 컴퓨팅 장치(100), 사용자 단말(200), 외부 서버(300) 및 네트워크(400)를 포함할 수 있다.
여기서, 도 1에 도시된 소프트웨어 품질보증을 위한 솔루션 제공 시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 1에 도시된 실시예에 한정되지 않으며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.
일 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 품질보증을 위한 솔루션 제공 서비스를 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드를 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 소프트웨어의 품질보증을 위한 테스트 케이스를 생성하고자 하는 경우, 사용자가 보다 용이하게 테스트 케이스를 생성할 수 있도록 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어의 품질보증을 위한 테스트 케이스를 자동 생성할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 소프트웨어의 품질보증을 위한 테스트를 수행하고자 하는 경우, 테스트를 위한 테스트 케이스를 자동으로 생성하여 사용자에게 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어의 품질보증을 위한 테스트 업무를 사용자에게 할당할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 소프트웨어의 품질보증을 위한 테스트를 수행하고자 하는 경우, 소프트웨어의 테스트를 위한 복수의 테스트 업무를 생성하고, 테스트에 적합한 사용자들에게 테스트 업무를 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)가 제공하는 소프트웨어 품질보증을 위한 솔루션 제공 서비스는 웹(web) 또는 애플리케이션(Application)과 같은 응용 소프트웨어 형태로 구현될 수 있으며, 웹 또는 응용 소프트웨어를 실행함에 따라 소프트웨어 품질보증을 위한 솔루션 제공 서비스 UI(예: 도 13 내지 도 26)를 제공할 수 있다.
일 실시예에서, 사용자 단말(200)은 네트워크(400)를 통해 컴퓨팅 장치(100)와 연결될 수 있으며, 사용자는 사용자 단말(200)을 통해 컴퓨팅 장치(100)로부터 제공되는 웹 또는 응용 소프트웨어를 실행함에 따라 소프트웨어 품질보증을 위한 솔루션 제공 서비스를 이용할 수 있다.
여기서, 사용자 단말(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) 기반의 무선 통신 장치 등)일 수 있으나, 이에 한정되지 않는다.
또한, 여기서, 네트워크(400)는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함할 수 있다.
또한, 여기서, 무선 데이터 통신망은 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) 네트워크 등을 포함할 수 있으나, 이에 한정되지는 않는다.
일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 컴퓨팅 장치(100)와 연결될 수 있으며, 컴퓨팅 장치(100)가 소프트웨어 품질보증을 위한 솔루션 제공 서비스를 제공하기 위해 필요한 각종 정보 및 데이터(예컨대, 복수의 소프트웨어(또는 복수의 소프트웨어에 포함된 복수의 기능) 각각의 테스트를 위한 복수의 테스트 케이스, 복수의 사용자 정보(예컨대, 복수의 사용자 정보가 등록된 사용자 인력풀 등)를 저장 및 관리하거나, 컴퓨팅 장치(100)가 소프트웨어 품질보증을 위한 솔루션 제공 서비스를 제공함에 따라 생성되는 각종 정보 및 데이터(예컨대, 특정 소프트웨어(또는 특정 소프트웨어의 특정 기능)에 대한 테스트 케이스, 테스트 업무의 할당 이력 등)를 제공받아 저장 및 관리할 수 있다.
예컨대, 외부 서버(300)는 컴퓨팅 장치(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다. 이하, 도 2를 참조하여, 소프트웨어 품질보증을 위한 솔루션 제공 서비스를 제공하는 컴퓨팅 장치(100)의 하드웨어 구성에 대해 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 컴퓨팅 장치의 하드웨어 구성을 도시한 도면이다.
도 2를 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.
또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
버스(130)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(140)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.
스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 컴퓨팅 장치(100)를 통해 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공 프로세스, 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 프로세스 및 소프트웨어의 품질보증을 위한 테스트 업무 할당 프로세스를 수행하는 경우, 스토리지(150)는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공 프로세스, 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 프로세스 및 소프트웨어의 품질보증을 위한 테스트 업무 할당 프로세스를 제공하기 위하여 필요한 각종 정보를 저장할 수 있다.
스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.
일 실시예에서, 컴퓨터 프로그램(151)은 사용자로부터 소프트웨어의 품질보증)을 위한 테스트 케이스 생성 요청을 획득하는 단계 및 획득된 테스트 케이스 생성 요청에 대응하여, 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스를 제공하는 단계를 포함하며, 사용자 인터페이스를 제공하는 단계는, 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함하는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.
또한, 컴퓨터 프로그램(151)은 사용자로부터 소프트웨어의 품질보증을 위한 테스트 요청을 획득하는 단계, 상기 획득된 테스트 요청에 대응하여, 소프트웨어의 테스트를 위한 테스트 케이스를 생성하는 단계 및 사용자에게 생성된 테스트 케이스를 제공하는 단계를 포함하는 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.
또한, 컴퓨터 프로그램(151)은 소프트웨어의 품질보증을 위한 테스트 업무를 생성하는 단계 및 생성된 테스트 업무의 속성에 기초하여, 기 등록된 복수의 사용자 중 적어도 하나의 사용자에게 생성된 테스트 업무를 할당하는 단계를 포함하는 소프트웨어의 품질보증을 위한 테스트 업무 할당 방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 3 내지 도 12를 참조하여, 컴퓨팅 장치(100)가 제공하는 소프트웨어 품질보증을 위한 솔루션을 제공하는 방법들에 대해 보다 구체적으로 설명하도록 한다.
먼저, 도 3을 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법에 대해 설명하도록 한다.
도 3은 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 케이스 생성을 위한 가이드를 제공하는 방법을 설명하기 위한 순서도이다.
도 3을 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 품질보증을 위한 솔루션으로서, 사용자가 보다 용이하게 테스트 케이스를 생성할 수 있도록 사용자에게 사용자 맞춤형 테스트 케이스 생성 가이드를 제공할 수 있다.
S110 단계에서, 컴퓨팅 장치(100)는 사용자로부터 소프트웨어의 품질보증(QA)을 위한 테스트 케이스(TC) 생성 요청을 획득할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자가 사용자 단말(200)을 통해 웹 또는 응용 소프트웨어를 실행함에 따라 사용자 단말(200)의 디스플레이 상에 UI(예: 도 13 내지 도 26)를 출력할 수 있으며, 출력된 UI를 통해 사용자로부터 테스트 케이스 생성 요청을 획득할 수 있다.
여기서, 사용자로부터 테스트 케이스 생성 요청을 획득하는 동작은 사용자가 UI를 통해 출력되는 테스트 케이스 생성 버튼을 선택함에 따라 출력되는 신호를 수집하는 동작을 의미하는 것일 수 있으나, 이에 한정되지 않고, 사용자로부터 테스트 케이스 생성 요청을 획득하는 동작 UI를 통해 출력된 소프트웨어의 테스트 요청 버튼을 선택함에 따라 출력되는 신호를 획득하는 동작 또는 사용자가 사용자 단말(200)을 통해 컴퓨팅 장치(100)가 제공하는 웹 또는 응용 소프트웨어를 실행하는 동작 자체일 수 있다.
여기서, 테스트 케이스는 소프트웨어 자체 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 것으로, 테스트 시나리오(Test Scenario, TS)(예: 소프트웨어 또는 소프트웨어를 통해 제공되는 기능 중 “무엇”을 테스트할 것인지가 정의된 데이터)에 기초하여, 테스트하고자 하는 대상을 "어떻게" 테스트할 것인지를 정의한 데이터를 의미할 수 있다.
S120 단계에서, 컴퓨팅 장치(100)는 S110 단계를 거쳐 획득된 테스트 케이스 생성 요청에 대응하여, 사용자에게 테스트 케이스 생성을 위한 UI를 제공할 수 있다.
여기서, 컴퓨팅 장치(100)가 제공하는 테스트 케이스 생성을 위한 UI는 사용자가 직접 테스트 케이스를 작성 및 생성할 수 있는 환경을 제공하는 UI로서, 예컨대, 사용자가 직접 테스트 케이스를 작성 및 생성할 수 있도록 테스트 케이스 작성 템플릿을 출력할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 보다 용이하게 테스트 케이스를 작성할 수 있도록, 사용자에게 사용자 맞춤형 테스트 케이스 생성 가이드를 제공할 수 있다.
일례로, 컴퓨팅 장치(100)는 사용자가 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 목적으로 테스트 케이스를 생성하고자 하는 경우, 사용자가 테스트하고자 하는 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정할 수 있고, 하나 이상의 추천 테스트에 관한 정보 및 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법(예컨대, 하나 이상의 추천 테스트를 수행하기 위한 테스트 케이스를 작성하는 방법 등)에 관한 정보를 포함하는 안내 정보를 가이드 정보로서 제공할 수 있다.
다른 예로, 컴퓨팅 장치(100)는 사용자가 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 목적으로 테스트 케이스를 생성하고자 하는 경우, 사용자가 테스트하고자 하는 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정할 수 있고, 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 가이드 정보로서 제공할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 목적으로 테스트 케이스를 생성하고자 하는 경우, 사용자가 테스트하고자 하는 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하되, 사용자의 테스트 수행 능력에 기초하여 추천 테스트 선정할 수 있다. 여기서, 사용자의 테스트 수행 능력을 판단 및 평가하는 구체적인 방법에 대해서는 도 12를 참조하여 후술한다.
일례로, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력에 기초하여 사용자에 적합한 테스트 난이도를 판단할 수 있고, 판단된 테스트 난이도에 따라 추천 테스트를 선정할 수 있다.
예컨대, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우, 사용자에 대한 테스트 난이도를 "낮음(Low level)"로 결정할 수 있고, 사용자에 대한 테스트 난이도에 따라 사전에 낮은 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 사용자에 대한 테스트 난이도를 "중간(Middle level)"로 결정할 수 있고, 사용자에 대한 테스트 난이도에 따라 사전에 중간 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제2 등급 이상(제3 등급)이거나 제2 레벨 이상인 경우, 사용자에 대한 테스트 난이도를 "높음(High level)"로 결정할 수 있고, 사용자에 대한 테스트 난이도에 따라 사전에 높은 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력에 기초하여, 사용자의 테스트 수행 능력에 적합한 가이드 정보를 제공할 수 있다.
예컨대, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력에 기초하여, 사용자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우, 가이드 정보로서, 추천 테스트에 관한 정보와 추천 테스트에 대응하는 테스트 케이스 생성 방법에 관한 정보를 포함하는 안내 정보와 추천 테스트에 대응하는 샘플 테스트 케이스를 제공할 수 있다.
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 가이드 정보로서, 추천 테스트에 관한 정보와 추천 테스트에 대응하는 테스트 케이스 생성 방법에 관한 정보를 포함하는 안내 정보만을 제공하거나, 추천 테스트에 대응하는 샘플 테스트 케이스만을 제공할 수 있다.
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제2 등급 이상(제3 등급)이거나 제2 레벨 이상인 경우, 가이드 정보로서, 추천 테스트에 관한 정보만을 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 UI를 통해 사용자로부터 테스트 케이스 작성을 위한 하나 이상의 키워드를 입력받는 경우, 자동완성 기능을 통해 하나 이상의 키워드에 대응하는 테스트 내용의 적어도 일부분을 자동 완성하되, 사용자의 테스트 수행 능력에 기초하여 테스트 내용의 자동 완성 정도를 결정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우 하나 이상의 키워드를 포함하는 구, 절 또는 문장을 자동 완성할 수 있다. 또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 하나 이상의 키워드를 포함하는 단어 또는 해당 단어와 동일한 의미를 가지는 다른 단어들을 추천 단어로서 제공할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어에 대한 테스트를 수행하는 사용자 단말(200)의 속성에 기초하여, 사용자 단말(200)에서 수행하기 적합한 테스트 케이스를 생성하기 위한 가이드 정보를 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자 단말(200)의 속성(예: 사용자 단말(200)의 종류(운영체제의 종류) 및 성능 등)에 기초하여, 사용자에 대한 테스트 범위(즉, 사용자 단말(200)에서 수행 가능한 테스트의 범위)를 결정할 수 있고, 결정된 테스트 범위에 기초하여 추천 테스트를 선정할 수 있으며, 선정된 추천 테스트에 대응하는 테스트 케이스를 생성하기 위한 가이드 정보를 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 기 생성된 테스트 케이스에 따라 소프트웨어(또는 소프트웨어의 특정 기능)에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 가이드 정보를 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 기 생성된 테스트 케이스에 따라 소프트웨어에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 소프트웨어에 대한 이슈가 발생한 것으로 판단되는 경우(예컨대, 테스트 수행 결과가 "실패"인 경우), 발생된 이슈에 대응하는 하나 이상의 추가 테스트를 선정할 수 있고, 가이드 정보로서, 하나 이상의 추가 테스트에 관한 정보 하나 이상의 추가 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 하나 이상의 추가 테스트에 대응하는 샘플 테스트 케이스를 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 제1 소프트웨어에 대한 테스트 케이스를 생성하고자 하는 경우, 제1 소프트웨어와 동일한 종류의 제2 소프트웨어의 이슈 발생 이력에 기초하여, 사용자에게 가이드 정보를 제공할 수 있다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 사용자가 롤플레잉 게임을 제공하는 제1 소프트웨어에 대한 테스트 케이스를 생성하고자 하는 경우, 복수의 소프트웨어 중 제1 소프트웨어와 동일한 종류의 복수의 제2 소프트웨어(예: 롤플레잉 게임을 제공하는 복수의 제2 소프트웨어)를 선택하고, 선택된 복수의 제2 소프트웨어에 대한 복수의 테스트 수행 결과에 기초하여 복수의 제2 소프트웨어에 포함된 복수의 기능 각각에 대한 이슈 발생 횟수를 카운팅할 수 있다.
이후, 컴퓨팅 장치(100)는 복수의 제2 소프트웨어에 포함된 복수의 기능 중 이슈 발생 횟수가 기준 횟수 이상인 기능을 요주의 기능으로 선택하고, 요주의 기능으로 선택된 기능을 테스트하기 위한 하나 이상의 추천 테스트를 선정할 수 있으며, 가이드 정보로서, 하나 이상의 추천 테스트에 관한 정보 및 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 제공할 수 있다.
이때, 컴퓨팅 장치(100)는 요주의 기능으로 선택된 기능을 테스트하기 위한 추천 테스트를 선정하되, 이슈 발생 횟수에 기초하여 선정하고자 하는 추천 테스트의 개수를 결정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제1 횟수 미만인 경우 제1 기능에 대한 하나의 추천 테스트를 선정할 수 있고, 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제1 횟수 이상 제2 횟수 미만인 경우 제1 기능에 대한 두개의 추천 테스트를 선정할 수 있으며, 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제2 횟수 이상인 경우 제1 기능에 대한 셋 이상의 추천 테스트를 선정할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 서로 다른 둘 이상의 사용자로부터 동일한 테스트 대상(소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대한 테스트 케이스 생성 요청이 획득되는 경우, 동일한 테스트 대상에 대하여 서로 다른 둘 이상의 사용자 각각이 서로 다른 종류의 테스트를 수행하도록 서로 다른 둘 이상의 사용자 각각에게 서로 다른 종류의 테스트에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 대상에 대한 테스트 정도(테스트 중요도)를 사전에 설정할 수 있으며, 테스트 중요도가 낮은 테스트 대상에 대해서는 복수의 사용자가 서로 다른 종류의 테스트를 수행하도록 복수의 사용자에게 서로 다른 가이드 정보를 제공할 수 있고, 테스트 중요도가 높은 테스트 대상에 대해서는 복수의 사용자가 서로 동일한 종류의 테스트를 수행하도록 복수의 사용자에게 서로 동일한 가이드 정보를 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 빅데이터 분석을 기반으로 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하거나, 인공지능 모델을 기반으로 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다. 이하, 도 4 및 도 5를 참조하여 보다 구체적으로 설명하도록 한다.
도 4는 다양한 실시예에서, 빅데이터 분석 기반으로 가이드 정보를 제공하는 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, S210 단계에서, 컴퓨팅 장치(100)는 테스트 케이스 데이터베이스를 구축할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 생성된 복수의 테스트 케이스를 수집할 수 있고, 복수의 테스트 케이스를 분류(예컨대, 테스트 대상의 종류(소프트웨어의 종류 또는 소프트웨어에 포함된 기능의 종류), 난이도, 유형 등에 따른 분류) 및 저장함으로써, 빅데이터 분석을 위한 테스트 케이스 데이터베이스를 구축할 수 있다.
여기서, 컴퓨팅 장치(100)에 의해 수집된 복수의 테스트 케이스는 컴퓨팅 장치(100)가 제공하는 플랫폼을 통해 사용자가 직접 생성한 테스트 케이스일 수 있으나, 이에 한정되지 않고, 컴퓨팅 장치(100)에 의해 수집된 복수의 테스트 케이스는 외부 프로그램을 통해 생성된 복수의 테스트 케이스를 수집하여 사전에 정의된 템플릿에 맞춰 가공한 것이거나, 컴퓨팅 장치(100)에 의해 수집된 복수의 테스트 케이스는 컴퓨팅 장치(100)에 의해 자동적으로 생성된 테스트 케이스(예컨대, 후술되는 도 6의 S420 단계를 거쳐 생성된 테스트 케이스)를 포함할 수 있다.
또한, 여기서, 빅데이터 기반의 데이터 수집 및 저장 방법은 다양한 기술들이 기 공지(예: 빅데이터 수집 기술(로그 수집, 크롤링, 센싱, RSS, Open API) 및 빅데이터 저장 기술(NoSQL, File System, 클라우드, 네트워크))되어 있고, 상황에 따라 이러한 다양한 공지 기술들을 선택적으로 적용할 수 있는 바, 본 명세서에서는 컴퓨팅 장치(100)에 의해 수행되는 빅데이터 기반의 데이터 수집 및 저장 방법에 대해 구체적으로 개시하지 않는다.
S220 단계에서, 컴퓨팅 장치(100)는 S210 단계를 거쳐 구축된 테스트 케이스 데이터베이스로부터 테스트 대상(예컨대, 사용자가 테스트하고자 하는 대상으로, 소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대응하는 복수의 테스트 케이스를 추출할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 소프트웨어의 특정 기능에 대한 테스트를 수행하고자 하는 경우, 테스트 케이스 데이터베이스로부터 특정 기능에 대응하는 복수의 테스트 케이스를 추출할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자의 테스트 선호도에 기초하여 테스트 케이스 데이터베이스로부터 추출된 복수의 테스트 케이스를 필터링할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자로부터 사용자의 선호 테스트 종류 및 비선호 테스트 종류에 관한 정보를 포함하는 선호도 정보를 획득할 수 있으며, 데이터베이스로부터 테스트 대상에 대응하는 복수의 테스트 케이스를 추출하되, 추출된 복수의 테스트 케이스 중 사용자가 선호하는 테스트 종류에 대응하는 테스트 케이스만을 선택하거나, 추출된 복수의 테스트 케이스 중 사용자가 선호하지 않는 테스트 종류에 대응하는 테스트 케이스를 필터링할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자의 테스트 수행 이력에 기초하여 테스트 케이스 데이터베이스로부터 추출된 복수의 테스트 케이스를 필터링할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자의 테스트 수행 이력(예: 사용자가 기 생성된 복수의 테스트 케이스에 따라 테스트 대상에 대한 테스트를 수행함으로써 도출된 복수의 테스트 수행 결과)에 기초하여, 테스트 종류별 수행 횟수를 카운팅할 수 있고, 데이터베이스로부터 테스트 대상에 대응하는 복수의 테스트 케이스를 추출하되, 추출된 복수의 테스트 케이스 중 카운팅된 수행 횟수가 기준 횟수 이상인 테스트 종류에 대응하는 테스트 케이스만을 선택하거나 추출된 복수의 테스트 케이스 중 카운팅된 수행 횟수가 기준 횟수 미만인 테스트 종류에 대응하는 테스트 케이스를 필터링할 수 있다.
S230 단계에서, 컴퓨팅 장치(100)는 S220 단계를 거쳐 추출된 복수의 테스트 케이스(또는 사용자의 선호도 및/또는 사용자의 테스트 수행 이력에 기초하여 필터링된 복수의 테스트 케이스)를 빅데이터 분석하여 테스트 대상에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 테스트 케이스 데이터베이스로부터 추출된 복수의 테스트 케이스를 빅데이터 분석함으로써, 복수의 테스트 케이스의 패턴을 추출할 수 있다. 예컨대, 컴퓨팅 장치(100)는 특정 기능에 대응하는 복수의 테스트 케이스를 빅데이터 분석함으로써, 특정 기능에 대하여 어떤 종류의 테스트가 수행되었는지, 어떤 종류의 테스트를 어떠한 방식으로 테스트하였는지 및/또는 어떤 종류의 테스트를 얼마나 수행하였는지 등과 같은 패턴 즉, 특정 기능에 대한 테스트 케이스 생성 패턴을 복수의 테스트 케이스에 대한 특징 데이터로 추출할 수 있다.
여기서, 기 저장된 빅데이터로부터 특정 데이터를 추출하는 방법은 다양한 기술들이 기 공지(예: 빅데이터 처리 기술(대용량 데이터베이스에서 쿼리를 통해 결과값을 추출하는 방법, 실시간 처리를 통해 결과값을 추출하는 방법))되어 있고, 상황에 따라 이러한 다양한 공지 기술들을 선택적으로 적용할 수 있는 바, 본 명세서에서는 컴퓨팅 장치(100)에 의해 수행되는 빅데이터 처리 방법에 대해 구체적으로 개시하지 않는다.
이후, 컴퓨팅 장치(100)는 빅데이터 분석을 통해 추출된 특징 데이터(테스트 케이스 생성 패턴)에 기초하여, 테스트 대상에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다.
예컨대, 컴퓨팅 장치(100)는 특정 기능에 대응하는 복수의 테스트 케이스를 빅데이터 분석한 결과, 특정 기능에 대하여 제1 테스트 및 제2 테스트가 수행된 것으로 판단되는 경우, 제1 테스트 및 제2 테스트를 추천 테스트로 선정할 수 있고, 추천 테스트로 선정된 제1 테스트 및 제2 테스트에 관한 정보, 제1 테스트 및 제2 테스트에 대응하는 테스트 케이스 생성 방법에 관한 정보를 포함하는 안내 정보나 제1 테스트 및 제2 테스트에 대응하는 샘플 테스트 케이스를 가이드 정보로 제공할 수 있다.
여기서, 제1 테스트 및 제2 테스트에 대응하는 샘플 테스트 케이스는 S220 단계를 거쳐 추출된 복수의 테스트 케이스를 중 적어도 하나의 테스트 케이스일 수 있으나, 이에 한정되지 않는다.
도 5는 다양한 실시예에서, 테스트 케이스 생성 모델 기반으로 가이드 정보를 제공하는 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, S310 단계에서, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델을 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 소프트웨어 및 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 생성된 복수의 테스트 케이스를 학습 데이터로 하여 학습시킴에 따라 테스트 케이스 생성 모델을 생성할 수 있다.
예컨대, 컴퓨팅 장치(100)는 복수의 테스트 케이스 각각에 대하여, 테스트 대상에 관한 정보, 테스트에 관한 정보(테스트 종류, 유형, 난이도 등)를 레이블링(Labeling)함에 따라 학습 데이터를 생성할 수 있고, 지도학습(Supervised Learning)방법에 따라 테스트 케이스 생성 모델을 학습시킴으로써, 특정 테스트 대상에 관한 정보를 입력 데이터로 하여 특정 테스트 대상에 대한 추천 테스트를 추출하거나, 추천 테스트에 대응하는 테스트 케이스를 추출하는 테스트 케이스 생성 모델을 생성할 수 있다.
테스트 케이스 생성 모델(예: 신경망)은 하나 이상의 네트워크 함수로 구성되며, 하나 이상의 네트워크 함수는 일반적으로 ‘노드’라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 ‘노드’들은 ‘뉴런(neuron)’들로 지칭될 수도 있다. 하나 이상의 네트워크 함수는 적어도 하나 이상의 노드들을 포함하여 구성된다. 하나 이상의 네트워크 함수를 구성하는 노드(또는 뉴런)들은 하나 이상의 ‘링크’에 의해 상호 연결될 수 있다.
테스트 케이스 생성 모델 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 테스트 케이스 생성 모델이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
전술한 바와 같이, 테스트 케이스 생성 모델은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 테스트 케이스 생성 모델 내에서 입력 노드 및 출력 노드 관계를 형성한다. 테스트 케이스 생성 모델 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 테스트 케이스 생성 모델의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 테스트 케이스 생성 모델이 존재하는 경우, 두 개의 테스트 케이스 생성 모델들은 서로 상이한 것으로 인식될 수 있다.
테스트 케이스 생성 모델을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 테스트 케이스 생성 모델 내에서 레이어의 차수는 전술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.
최초 입력 노드는 테스트 케이스 생성 모델 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 테스트 케이스 생성 모델 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 테스트 케이스 생성 모델 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 테스트 케이스 생성 모델을 구성하는 노드들을 의미할 수 있다. 본 발명의 일 실시예에 따른 테스트 케이스 생성 모델은 입력 레이어의 노드가 출력 레이어에 가까운 히든 레이어의 노드보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 테스트 케이스 생성 모델일 수 있다.
테스트 케이스 생성 모델은 하나 이상의 히든 레이어를 포함할 수 있다. 히든 레이어의 히든 노드는 이전의 레이어의 출력과 주변 히든 노드의 출력을 입력으로 할 수 있다. 각 히든 레이어 별 히든 노드의 수는 동일할 수도 있고 상이할 수도 있다. 입력 레이어의 노드의 수는 입력 데이터의 데이터 필드의 수에 기초하여 결정될 수 있으며 히든 노드의 수와 동일할 수도 있고 상이할 수도 있다. 입력 레이어에 입력된 입력 데이터는 히든 레이어의 히든 노드에 의하여 연산될 수 있고 출력 레이어인 완전 연결 레이어(FCL: fully connected layer)에 의해 출력될 수 있다.
다양한 실시예에서, 테스트 케이스 생성 모델은 딥러닝(Deep learning) 모델일 수 있다.
딥러닝 모델(예: 딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 테스트 케이스 생성 모델을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다.
딥 뉴럴 네트워크는 컨벌루셔널 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 네트워크 함수는 오토 인코더를 포함할 수도 있다. 여기서, 오토 인코더는 입력 데이터와 유사한 출력 데이터를 출력하기 위한 인공 신경망의 일종일 수 있다.
오토 인코더는 적어도 하나의 히든 레이어를 포함할 수 있으며, 홀수 개의 히든 레이어가 입출력 레이어 사이에 배치될 수 있다. 각각의 레이어의 노드의 수는 입력 레이어의 노드의 수에서 병목 레이어(인코딩)라는 중간 레이어로 축소되었다가, 병목 레이어에서 출력 레이어(입력 레이어와 대칭)로 축소와 대칭되어 확장될 수도 있다. 차원 감소 레이어와 차원 복원 레이어의 노드는 대칭일 수도 있고 아닐 수도 있다. 또한, 오토 인코더는 비선형 차원 감소를 수행할 수 있다. 입력 레이어 및 출력 레이어의 수는 입력 데이터의 전처리 이후에 남은 센서들의 수와 대응될 수 있다. 오토 인코더 구조에서 인코더에 포함된 히든 레이어의 노드의 수는 입력 레이어에서 멀어질수록 감소하는 구조를 가질 수 있다. 병목 레이어(인코더와 디코더 사이에 위치하는 가장 적은 노드를 가진 레이어)의 노드의 수는 너무 작은 경우 충분한 양의 정보가 전달되지 않을 수 있으므로, 특정 수 이상(예를 들어, 입력 레이어의 절반 이상 등)으로 유지될 수도 있다.
S320 단계에서, 컴퓨팅 장치(100)는 S310 단계를 거쳐 생성된 테스트 케이스 생성 모델을 통해 결과 데이터를 출력할 수 있다. 예컨대, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상(예컨대, 사용자가 테스트하고자 하는 대상으로, 소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 관한 정보를 입력함에 따라 결과 데이터로서, 테스트 대상에 대한 추천 테스트를 출력하거나, 테스트 대상을 테스트하기 위한 테스트 케이스를 출력할 수 있다.
S330 단계에서, 컴퓨팅 장치(100)는 S320 단계를 거쳐 출력된 결과 데이터를 기반으로, 테스트 대상에 대응하는 테스트 케이스 생성을 위한 가이드 정보를 제공할 수 있다.
일례로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 추천 테스트가 출력된 경우, 가이드 정보로서, 추천 테스트에 관한 정보 및 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 추천 테스트에 대응하는 샘플 테스트 케이스를 제공할 수 있다.
다른 예로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 하나 이상의 테스트 케이스가 출력된 경우, 하나 이상의 테스트 케이스를 테스트 대상에 대한 샘플 테스트 케이스로서 사용자에게 제공할 수 있다.
또 다른 예로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 복수의 테스트 케이스가 출력된 경우, 출력된 복수의 테스트 케이스를 분석하여 패턴을 추출할 수 있고, 추출된 패턴에 기초하여 추천 테스트를 선정할 수 있으며, 가이드 정보로서 추천 테스트에 관한 정보 및 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 추천 테스트에 대응하는 샘플 테스트 케이스를 제공할 수 있다.
다시, 도 3을 참조하면, S130 단계에서, 컴퓨팅 장치(100)는 S120 단계를 거쳐 제공된 사용자 인터페이스를 통해 획득되는 사용자 입력에 기초하여 테스트 케이스를 생성할 수 있다. 예컨대, 사용자는 컴퓨팅 장치(100)로부터 제공되는 가이드 정보를 참고하여, UI를 통해 테스트 케이스를 작성한 후, 테스트 케이스 작성 완료를 선택할 수 있으며, 컴퓨팅 장치(100)는 사용자로부터 테스트 케이스 작성 완료가 선택됨에 따라 사용자가 작성한 내용을 기반으로 테스트 케이스를 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 생성한 테스트 케이스에 대한 검증을 수행할 수 있고, 검증 결과에 기초하여 가이드 정보를 제공할 수 있다.
보다 구체적으로, 컴퓨팅 장치(100)는 사용자로부터 테스트 대상을 테스트하기 위한 제1 테스트 케이스가 생성된 경우, 테스트 케이스 데이터베이스로부터 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출할 수 있고, 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도를 산출할 수 있으며, 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도에 기초하여 제1 테스트 케이스를 검증할 수 있다.
예컨대, 컴퓨팅 장치(100)는 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도가 기준 유사도 이상인 경우, 제1 테스트 케이스가 정확하게 생성된 것으로 판단할 수 있고, 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도 기준 유사도 미만인 경우, 제1 테스트 케이스가 부정확하게 생성된 것으로 판단할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제1 테스트 케이스에 포함된 복수의 항목과 복수의 제2 테스트 케이스 각각에 포함된 복수의 항목 각각에 대한 복수의 단위 유사도를 산출할 수 있으며, 복수의 단위 유사도의 평균 값을 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도로 산출할 수 있다.
이때, 컴퓨팅 장치(100)는 제1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도 기준 유사도 미만임에 따라 제1 테스트 케이스가 부정확하게 생성된 것으로 판단되는 경우, 사용자에게 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공할 수 있다.
예컨대, 먼저, 컴퓨팅 장치(100)는 1 테스트 케이스와 복수의 제2 테스트 케이스 간의 유사도 기준 유사도 미만인 경우, 제1 테스트 케이스에 포함된 복수의 항목 각각에 대응하는 복수의 단위 유사도와 기준 단위 유사도를 비교하여 기준 단위 유사도 미만인 적어도 하나의 항목을 수정이 필요한 항목으로 선택할 수 있다.
이후, 컴퓨팅 장치(100)는 수정이 필요한 항목에 관한 정보, 수정이 필요한 항목을 작성하는 방법에 관한 정보를 포함하는 안내 정보 또는 수정이 필요한 항목에 대응하는 샘플(예컨대, 복수의 제2 테스트 케이스에 포함된 복수의 항목 중 수정이 항목에 대응하는 항목들의 내용)을 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 테스트 대상을 테스트하기 위한 복수의 제1 테스트 케이스가 생성된 경우, 테스트 케이스 데이터베이스로부터 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출할 수 있고, 복수의 제2 테스트 케이스에 대한 빅데이터 분석을 통해 추출된 패턴에 기초하여 복수의 제1 테스트 케이스에 대한 검증을 수행할 수 있다.
일례로, 컴퓨팅 장치(100)는 사용자로부터 생성된 복수의 제1 테스트 케이스에 따른 테스트 종류와 빅데이터 분석을 통해 추출된 테스트의 종류를 비교하여 복수의 제1 테스트 케이스에 대한 검증을 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 빅데이터 분석을 통해 추출된 패턴에 기초하여, 테스트 대상에 대한 제1 테스트, 제2 테스트 및 제3 테스트를 수행하는 패턴을 보이나, 사용자로부터 생성된 복수의 제1 테스트 케이스가 제1 테스트 및 제2 테스트에 대응하는 테스트 케이스만이 포함된 경우, 제3 테스트에 대응하는 테스트 케이스를 추가적으로 생성할 것을 안내하는 가이드 정보를 제공할 수 있다.
다른 예로, 컴퓨팅 장치(100)는 사용자로부터 생성된 복수의 제1 테스트 케이스에 따른 테스트별 테스트 케이스 비율과 빅데이터 분석을 통해 추출된 테스트별 테스트 케이스 비율을 비교하여 복수의 제1 테스트 케이스에 대한 검증을 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 빅데이터 분석을 통해 추출된 패턴에 기초하여, 테스트 대상에 대한 제1 테스트 및 제2 테스트를 1:2 비율로 수행하는 패턴을 보이나, 사용자로부터 생성된 복수의 제1 테스트 케이스에 따른 제1 테스트 및 제2 테스트의 비율이 2:1인 경우, 제1 테스트 및 제2 테스트의 비율이 1:2가 되도록 제1 테스트에 대응하는 테스트 케이스의 수를 줄이거나, 제2 테스트에 대응하는 테스트 케이스의 수를 늘리도록 안내하는 가이드 정보를 제공할 수 있다.
다음으로, 도 6을 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법에 대해 설명하도록 한다.
도 6은 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 케이스를 자동 생성하는 방법을 설명하기 위한 순서도이다.
도 6을 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 품질보증을 위한 솔루션으로서, 사용자가 보다 용이하게 소프트웨어(또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대한 테스트를 수행할 수 있도록 테스트 케이스를 자동 생성하여 사용자에게 제공할 수 있다.
S410 단계에서, 컴퓨팅 장치(100)는 소프트웨어의 품질보증을 위한 테스트 요청을 획득할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자가 사용자 단말(200)을 통해 웹 또는 응용 소프트웨어를 실행함에 따라 사용자 단말(200)의 디스플레이 상에 UI(예: 도 13 내지 도 26)를 출력할 수 있으며, 출력된 UI를 통해 사용자로부터 소프트웨어에 대한 테스트 요청을 획득할 수 있다.
여기서, 사용자로부터 테스트 요청을 획득하는 동작은 사용자가 UI를 통해 출력되는 소프트웨어의 테스트 요청 버튼을 선택함에 따라 출력되는 신호를 수집하는 동작을 의미하는 것일 수 있으나, 이에 한정되지 않고, 사용자로부터 테스트 요청을 획득하는 동작은 UI를 통해 출력된 테스트 케이스 생성 버튼을 선택함에 따라 출력되는 신호를 획득하는 동작 또는 사용자가 사용자 단말(200)을 통해 컴퓨팅 장치(100)가 제공하는 웹 또는 응용 소프트웨어를 실행하는 동작 자체일 수 있다.
S420 단계에서, 컴퓨팅 장치(100)는 S410 단계를 거쳐 획득된 테스트 요청에 대응하여, 테스트 대상을 테스트하기 위한 테스트 케이스를 자동 생성할 수 있다. 여기서, 컴퓨팅 장치(100)에 의해 수행되는 테스트 케이스 자동 생성 방법은, 테스트 대상에 대응하여 수행하고자 하는 테스트의 종류 및 방법을 결정하고, 결정된 테스트의 종류 및 방법에 관한 내용(텍스트)을 생성하며, 사전에 정의된 테스트 케이스 템플릿 상에 포함된 복수의 항목 각각에 테스트의 종류 및 방법에 관한 내용을 대응시킴으로써 테스트 케이스를 자동 생성하는 것일 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하고자 하는 경우, 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정할 수 있고, 하나 이상의 추천 테스트에 대응하는 하나 이상의 테스트 케이스(하나 이상의 추천 테스트를 수행하기 위한 테스트 케이스)를 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트를 수행하고자 하는 경우, 사용자가 테스트하고자 하는 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하되, 사용자의 테스트 수행 능력에 기초하여 사용자에 적합한 테스트 난이도를 판단할 수 있고, 판단된 테스트 난이도에 따라 추천 테스트를 선정할 수 있다.
예컨대, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우, 사용자에 대한 테스트 난이도를 "낮음(Low level)"로 결정할 수 있고, 결정된 테스트 난이도에 따라 사전에 낮은 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 사용자에 대한 테스트 난이도를 "중간(Middle level)"로 결정할 수 있고, 결정된 테스트 난이도에 따라 사전에 중간 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.
또한, 컴퓨팅 장치(100)는 사용자의 테스트 수행 능력이 제2 등급 이상(제3 등급)이거나 제2 레벨 이상인 경우, 사용자에 대한 테스트 난이도를 "높음(High level)"로 결정할 수 있고, 결정된 테스트 난이도에 따라 사전에 높은 난이도로 설정된 테스트를 추천 테스트로 선정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어에 대한 테스트를 수행하는 사용자 단말(200)의 속성에 기초하여, 사용자 단말(200)에서 수행하기 적합한 테스트 케이스를 생성할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자 단말(200)의 속성(예: 사용자 단말(200)의 종류(운영체제의 종류) 및 성능 등)에 기초하여, 사용자에 대한 테스트 범위(즉, 사용자 단말(200)에서 수행 가능한 테스트의 범위)를 결정할 수 있고, 결정된 테스트 범위에 기초하여 추천 테스트를 선정할 수 있으며, 선정된 추천 테스트에 대응하는 테스트 케이스를 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 기 생성된 테스트 케이스에 따라 소프트웨어(또는 소프트웨어의 특정 기능)에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 테스트 케이스를 자동 생성할 수 있다. 예컨대, 컴퓨팅 장치(100)는 사용자가 기 생성된 테스트 케이스에 따라 소프트웨어에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 소프트웨어에 대한 이슈가 발생한 것으로 판단되는 경우(예컨대, 테스트 수행 결과가 "실패"인 경우), 발생된 이슈에 대응하는 하나 이상의 추가 테스트를 선정할 수 있고, 하나 이상의 추가 테스트에 대응하는 하나 이상의 추가 테스트 케이스를 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자가 제1 소프트웨어에 대한 테스트 케이스를 생성하고자 하는 경우, 제1 소프트웨어와 동일한 종류의 제2 소프트웨어의 이슈 발생 이력에 기초하여, 테스트 케이스를 생성할 수 있다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 사용자가 롤플레잉 게임을 제공하는 제1 소프트웨어에 대한 테스트 케이스를 생성하고자 하는 경우, 복수의 소프트웨어 중 제1 소프트웨어와 동일한 종류의 복수의 제2 소프트웨어(예: 롤플레잉 게임을 제공하는 복수의 제2 소프트웨어)를 선택하고, 선택된 복수의 제2 소프트웨어에 대한 복수의 테스트 수행 결과에 기초하여 복수의 제2 소프트웨어에 포함된 복수의 기능 각각에 대한 이슈 발생 횟수를 카운팅할 수 있다.
이후, 컴퓨팅 장치(100)는 복수의 제2 소프트웨어에 포함된 복수의 기능 중 이슈 발생 횟수가 기준 횟수 이상인 기능을 요주의 기능으로 선택하고, 요주의 기능으로 선택된 기능을 테스트하기 위한 하나 이상의 추천 테스트를 선정할 수 있으며, 추천 테스트에 대응하는 테스트 케이스를 생성할 수 있다.
이때, 컴퓨팅 장치(100)는 요주의 기능으로 선택된 기능을 테스트하기 위한 추천 테스트를 선정하고, 추천 테스트에 대응하는 테스트 케이스를 생성하되, 이슈 발생 횟수에 기초하여 생성하고자 하는 테스트 케이스의 개수를 결정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제1 횟수 미만인 경우 제1 기능에 대한 하나의 추천 테스트를 선정할 수 있고, 하나의 추천 테스트에 대응하는 하나의 테스트 케이스를 생성할 수 있다. 또한, 컴퓨팅 장치(100)는 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제1 횟수 이상 제2 횟수 미만인 경우 제1 기능에 대한 두개의 추천 테스트를 선정할 수 있고, 두개의 추천 테스트에 대응하는 두개의 테스트 케이스를 생성할 수 있다. 또한, 컴퓨팅 장치(100)는 요주의 기능으로 선정된 제1 기능의 이슈 발생 횟수가 제2 횟수 이상인 경우 제1 기능에 대한 셋 이상의 추천 테스트를 선정할 수 있고, 셋 이상의 추천 테스트에 대응하는 셋 이상의 테스트 케이스를 생성할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 서로 다른 둘 이상의 사용자로부터 동일한 테스트 대상(소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대한 테스트를 수행하고자 하는 경우, 동일한 테스트 대상에 대하여 서로 다른 둘 이상의 사용자 각각이 서로 다른 종류의 테스트를 수행하도록 서로 다른 둘 이상의 사용자 각각에게 서로 다른 종류의 테스트에 대응하는 테스트 케이스 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 대상에 대한 테스트 정도(테스트 중요도)를 사전에 설정할 수 있으며, 테스트 중요도가 낮은 테스트 대상에 대해서는 복수의 사용자가 서로 다른 종류의 테스트를 수행하도록 서로 다른 종류의 테스트에 대응하는 테스트 케이스 생성할 수 있고, 테스트 중요도가 높은 테스트 대상에 대해서는 복수의 사용자가 서로 동일한 종류의 테스트를 수행하도록 서로 동일한 테스트 에 대응하는 테스트 케이스를 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 빅데이터 분석을 기반으로 테스트 대상을 테스트하기 위한 테스트 케이스를 자동 생성하거나, 인공지능 모델을 기반으로 테스트 대상을 테스트하기 위한 테스트 케이스를 자동 생성할 수 있다. 이하, 도 7 및 8을 참조하여 보다 구체적으로 설명하도록 한다.
도 7은 다양한 실시예에서, 빅데이터 분석 기반으로 테스트 케이스를 자동으로 생성하는 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, S510 단계에서, 컴퓨팅 장치(100)는 테스트 케이스 데이터베이스를 구축할 수 있다. 여기서, 컴퓨팅 장치(100)에 의해 수행되는 테스트 케이스 데이터베이스 구축 동작은 도 4의 S210 단계에서 수행되는 테스트 케이스 데이터베이스 구축 동작과 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.
S520 단계에서, 컴퓨팅 장치(100)는 S510 단계를 거쳐 구축된 테스트 케이스 데이터베이스로부터 테스트 대상(예컨대, 사용자가 테스트하고자 하는 대상으로, 소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대응하는 복수의 테스트 케이스를 추출할 수 있다. 여기서, 컴퓨팅 장치(100)에 의해 수행되는 복수의 테스트 케이스 추출 동작은 도 4의 S220 단계에서 수행되는 복수의 테스트 케이스 추출 동작과 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.
S530 단계에서, 컴퓨팅 장치(100)는 S520 단계를 거쳐 추출된 복수의 테스트 케이스를 빅데이터 분석하여 테스트 대상을 테스트하기 위한 테스트 케이스를 자동 생성할 수 있다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 테스트 케이스 데이터베이스로부터 추출된 복수의 테스트 케이스를 빅데이터 분석함으로써, 복수의 테스트 케이스의 패턴을 추출할 수 있다. 예컨대, 컴퓨팅 장치(100)는 특정 기능에 대응하는 복수의 테스트 케이스를 빅데이터 분석함으로써, 특정 기능에 대하여 어떤 종류의 테스트가 수행되었는지, 어떤 종류의 테스트를 어떠한 방식으로 테스트하였는지 및/또는 어떤 종류의 테스트를 얼마나 수행하였는지 등과 같은 패턴 즉, 특정 기능에 대한 테스트 케이스 생성 패턴을 복수의 테스트 케이스에 대한 특징 데이터로 추출할 수 있다.
이후, 컴퓨팅 장치(100)는 빅데이터 분석을 통해 추출된 특징 데이터(테스트 케이스 생성 패턴)에 기초하여, 테스트 대상을 테스트하기 위한 테스트 케이스를 생성할 수 있다. 예컨대, 컴퓨팅 장치(100)는 특정 기능에 대응하는 복수의 테스트 케이스를 빅데이터 분석한 결과, 특정 기능에 대하여 제1 테스트 및 제2 테스트가 수행된 것으로 판단되는 경우, 제1 테스트 및 제2 테스트를 추천 테스트로 선정할 수 있고, 추천 테스트로 선정된 제1 테스트 및 제2 테스트 각각에 대응하는 제1 테스트 케이스 및 제2 테스트 케이스를 생성할 수 있다.
도 8은 다양한 실시예에서, 테스트 케이스 생성 모델을 기반으로 테스트 케이스를 자동으로 생성하는 방법을 설명하기 위한 순서도이다.
도 8을 참조하면, S610 단계에서, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델을 생성할 수 있다. 여기서, 컴퓨팅 장치(100)에 의해 수행되는 테스트 케이스 생성 모델 생성 동작은 도 5의 S310 단계에서 수행되는 테스트 케이스 생성 모델 생성 동작과 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.
S620 단계에서, 컴퓨팅 장치(100)는 S610 단계를 거쳐 생성된 테스트 케이스 생성 모델을 통해 결과 데이터를 출력할 수 있고, 출력된 결과 데이터를 기반으로 테스트 케이스를 생성할 수 있다.
일례로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 추천 테스트가 출력된 경우, 출력된 추천 테스트에 대응하는 테스트 케이스를 자동 생성할 수 있다.
다른 예로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 하나 이상의 테스트 케이스가 출력된 경우, 출력된 테스트 케이스를 테스트 대상을 테스트하기 위한 테스트 케이스로 설정할 수 있다.
또 다른 예로, 컴퓨팅 장치(100)는 테스트 케이스 생성 모델에 테스트 대상에 관한 정보를 입력함에 따라 테스트 대상에 대한 복수의 테스트 케이스가 출력된 경우, 복수의 테스트 케이스 각각을 테스트 대상을 테스트하기 위한 테스트 케이스로 설정할 수 있으나, 이에 한정되지 않고, 복수의 테스트 케이스를 분석하여 패턴을 추출할 수 있고, 추출된 패턴에 기초하여 추천 테스트를 선정할 수 있으며, 추천 테스트에 대응하는 테스트 케이스를 자동 생성할 수 있다.
다시, 도 6을 참조하면, S430 단계에서, 컴퓨팅 장치(100)는 S420 단계를 거쳐 생성된 테스트 케이스를 사용자에게 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 사용자로부터 하나의 테스트 대상에 대한 테스트 요청을 획득함에 따라 하나의 테스트 대상에 대하여 복수의 테스트 케이스가 생성된 경우, 테스트의 종류에 따라 복수의 테스트 케이스를 분류하고, 분류된 복수의 테스트 케이스 각각을 복수의 사용자에게 분배함으로써, 사용자 각각이 동일한 종류의 테스트를 수행하도록 하여 테스트 업무의 효율성을 향상시킬 수 있다.
다음으로, 도 9를 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 소프트웨어의 품질보증을 위한 테스트 업무 할당 방법에 대해 설명하도록 한다.
도 9는 다양한 실시예에서, 소프트웨어 품질보증을 위한 솔루션으로서, 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.
도 9를 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 품질보증을 위한 솔루션으로서, 소프트웨어 품질보증을 위한 테스트 업무를 복수의 작업자에게 할당하되, 테스트 업무의 속성에 기초하여 테스트 업무를 수행하기 적합한 사용자에게 테스트 업무를 할당할 수 있다.
S710 단계에서, 컴퓨팅 장치(100)는 소프트웨어의 품질보증을 위한 테스트 업무를 생성할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능에 대한 테스트를 수행하고자 하는 경우, 소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능에 대한 테스트 케이스를 생성할 수 있고, 생성된 테스트 케이스에 따라 테스트를 수행할 것을 지시하는 테스트 업무를 생성할 수 있다.
여기서, 테스트 대상(소프트웨어 또는 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능)에 대한 테스트 케이스는 컴퓨팅 장치(100)가 제공하는 UI를 통해 작업자로부터 직접 생성(예컨대, 도 3의 S110 단계 내지 S130 단계)되거나, 컴퓨팅 장치(100)에 의해 자동적으로 생성(예컨대, 도 6의 S420 단계)될 수 있으나, 이에 한정되지 않는다.
S720 단계에서, 컴퓨팅 장치(100)는 S710 단계를 거쳐 생성된 테스트 업무를 작업자에게 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 기 등록된 복수의 작업자 중 적어도 하나의 작업자에게 테스트 업무를 할당할 수 있다.
여기서, 기 등록된 복수의 작업자는 소프트웨어 또는 소프트웨어에 포함된 복수의 기능에 대한 테스트를 수행할 수 있는 테스터들로서, 복수의 제1 작업자와 복수의 제2 작업자를 포함할 수 있다.
또한, 여기서, 복수의 제1 작업자는 전문 소프트웨어 테스터(Software Tester) 인력풀에 기 등록된 전문 소프트웨어 테스터로서, 예컨대, 소프트웨어의 품질보증을 위해 테스트를 수행하는 업체에 고용된 직원이거나, 소프트웨어 개발 업체 내에 소프트웨어의 품질보증을 위한 테스트 업무를 수행하는 팀에 소속된 직원을 의미할 수 있다.
또한, 여기서, 복수의 제2 작업자는 긱워커(Gig worker) 인력풀에 기 등록된 테스터로서, 예컨대, 소프트웨어의 품질보증을 위해 테스트를 수행하는 업체에 고용되거나 소프트웨어 개발 업체 내에 소프트웨어의 품질보증을 위한 테스트 업무를 수행하는 팀에 소속되지 않고, 단기적인 계약을 통해 일회성으로 소프트웨어에 대한 테스트 업무를 수행하는 초단기 작업자를 의미할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 테스트 업무를 복수의 작업자 각각에게 할당한 후, 복수의 테스트 중 할당이 거절된 적어도 하나의 거절 테스트 업무를 인식할 수 있다. 컴퓨팅 장치(100)는 테스트 업무의 할당을 거절한 거절 작업자로부터 거절 사유를 획득할 수 있다. 그리고, 컴퓨팅 장치(100)는 거절 사유에 기초하여, 적어도 하나의 거절 테스트 업무를 다른 작업자에게 할당할 수 있다.
구체적으로, 컴퓨팅 장치(100)는 적어도 하나의 거절 테스트 업무를 다른 작업자에게 할당할 때, 거절 사유가 단순 거절인 경우, 추가 리워드 없이 다른 작업자에게 할당할 수 있다. 그리고, 컴퓨팅 장치(100)는 거절 작업자에게 테스트 업무의 할당이 기 설정된 횟수만큼 제한되는 패널티를 부여할 수 있다.
한편, 컴퓨팅 장치(100)는 적어도 하나의 거절 테스트 업무를 다른 작업자에게 할당할 때, 거절 사유가 단순 거절이 아닌 경우, 적어도 하나의 거절 테스트 업무에 대한 작업 난이도를 결정할 수 있다. 또한, 컴퓨팅 장치(100)는 적어도 하나의 거절 테스트 업무에 작업 난이도에 대응하는 추가 리워드를 부여할 수 있다. 그리고, 컴퓨팅 장치(100)는 추가 리워드가 부여된 적어도 하나의 거절 테스트 업무를 긱워커 QA 플랫폼(복수의 제2 작업자가 등록된 긱워커 인력풀을 관리하는 플랫폼)에 공지하여, 적어도 하나의 거절 테스트 업무의 처리를 희망하는 다른 제2 작업자에게 할당할 수 있다.
즉, 본 발명의 컴퓨팅 장치(100)는 테스트 업무가 거절되더라도, 다양한 방식(예를 들어, 재할당 또는 추가 리워드 제공)을 통해 거절 테스트 업무를 다른 작업자에게 할당하여 QA 업무를 처리할 수 있어, QA 업무 지속성을 보장할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무의 속성에 기초하여 기 등록된 복수의 작업자 중 적어도 하나의 작업자를 선택하고, 선택된 적어도 하나의 작업자에게 테스트 업무를 할당할 수 있다. 이하, 도 10 및 도 11을 참조하여 보다 구체적으로 설명하도록 한다.
도 10은 다양한 실시예에서, 난이도에 따라 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.
도 10을 참조하면, S810 단계에서, 컴퓨팅 장치(100)는 테스트 대상에 대한 테스트를 수행하는 테스트 업무에 대한 난이도를 판단할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 종류별 테스트 업무의 난이도를 사전에 정의할 수 있으며, 작업자에게 할당하고자 하는 테스트 업무에 포함된 테스트 케이스를 분석하여, 테스트 업무에 대응하는 테스트 종류를 판단할 수 있고, 사전에 정의된 테스트 종류별 테스트 업무의 난이도에 기초하여 판단된 테스트 종류에 대한 난이도를 판단함으로써, 테스트 업무에 대한 난이도를 판단할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무의 마감 기한에 기초하여 테스트 업무의 난이도를 조절할 수 있다. 통상적으로, 테스트 종류가 동일하더라도 테스트 업무의 마감 기한이 짧을수록 테스트 업무에 대한 체감 난이도가 높아지는 바, 이러한 점을 고려하여, 컴퓨팅 장치(100)는 테스트 업무의 마감 기한이 기준 마감 기한 이하인 경우 테스트 업무의 난이도를 상향 조정하고, 테스트 업무의 마감 기한이 기준 마감 기한 이상인 경우 테스트 업무의 난이도를 하향 조정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 대상에 대한 테스트를 수행하는 테스트 업무에 복수의 테스트 케이스가 포함된 경우, 복수의 테스트 케이스 각각을 분석하여, 복수의 테스트 케이스 각각에 대응하는 복수의 테스트 종류를 판단할 수 있고, 사전에 정의된 테스트 종류별 테스트 업무의 난이도에 기초하여 복수의 테스트 종류 각각에 대한 복수의 난이도를 판단할 수 있으며, 복수의 난이도에 기초하여 테스트 업무에 대한 난이도를 결정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 복수의 난이도의 평균을 테스트 업무의 난이도로 판단할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)는 복수의 난이도 중 가장 높은 난이도를 테스트 업무의 난이도로 판단할 수 있다.
이때, 컴퓨팅 장치(100)는 테스트 업무에 포함된 테스트 케이스의 개수에 기초하여, 복수의 테스트 케이스를 포함하는 테스트 업무의 난이도를 조정할 수 있다.
S820 단계에서, 컴퓨팅 장치(100)는 S810 단계에서 판단된 테스트 업무의 난이도와 기준 난이도를 비교함으로써, 테스트 업무의 난이도가 기준 난이도 이상인지 여부를 판단할 수 있다.
S830 단계에서, 컴퓨팅 장치(100)는 S820 단계를 거쳐 테스트 업무의 난이도가 기준 난이도 이상인 것으로 판단되는 경우, 테스트 업무를 제1 작업자(전문 소프트웨어 테스터)에게 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제1 작업자 각각의 테스트 수행 이력에 기초하여, 복수의 제1 작업자 중 테스트 업무에 대응하는 테스트 종류의 수행 횟수가 가장 많은 제1 작업자부터 순차적으로 n명의 제1 작업자를 선택하여 테스트 업무를 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무 할당을 위한 테스트 업무 의뢰 콘텐츠를 게시할 수 있고, 게시된 테스트 업무 의뢰 콘텐츠를 통해 복수의 제1 작업자로부터 테스트 업무 의뢰 요청을 획득할 수 있으며, 테스트 업무 의뢰 요청을 한 복수의 제1 작업자 중 적어도 하나의 제1 작업자를 선택하여 테스트 업무를 할당할 수 있다.
예컨대, 컴퓨팅 장치(100)는 복수의 제1 작업자 중 가장 먼저 테스트 업무 의뢰 요청을 한 제1 작업자부터 순차적으로 n명의 제1 작업자를 선택하여 테스트 업무를 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제1 작업자의 테스트 업무 일정 및 작업자들에게 할당하고자 하는 테스트 업무의 기한에 기초하여, 테스트 업무 수행이 가능한 제1 작업자들을 선택하고, 선택된 제1 작업자들 중 n명의 제1 작업자들을 임의로 선정하여 테스트 업무를 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제1 작업자 중 테스트 업무를 할당할 제1 작업자가 없는 경우, 기 등록된 복수의 제2 작업자 중 적어도 하나의 제2 작업자에게 테스트 업무를 할당하되, 적어도 하나의 제2 작업자와 특정 제1 작업자를 매칭함으로써, 특정 제1 작업자가 적어도 하나의 제2 작업자의 테스트 수행 결과를 검증할 수 있도록 할 수 있다.
S840 단계에서, 컴퓨팅 장치(100)는 S820 단계를 거쳐 테스트 업무의 난이도가 기준 난이도 미만인 것으로 판단되는 경우, 테스트 업무를 제2 작업자(긱워커)에게 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제2 작업자 각각의 테스트 수행 이력에 기초하여, 복수의 제2 작업자 중 테스트 업무에 대응하는 테스트 종류의 수행 횟수가 가장 많은 제2 작업자부터 순차적으로 n명의 제2 작업자를 선택하여 테스트 업무를 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무 할당을 위한 테스트 업무 의뢰 콘텐츠를 게시할 수 있고, 게시된 테스트 업무 의뢰 콘텐츠를 통해 복수의 제2 작업자로부터 테스트 업무 의뢰 요청을 획득할 수 있으며, 테스트 업무 의뢰 요청을 한 복수의 제2 작업자 중 적어도 하나의 제2 작업자를 선택하여 테스트 업무를 할당할 수 있다. 예컨대, 컴퓨팅 장치(100)는 복수의 제2 작업자 중 가장 먼저 테스트 업무 의뢰 요청을 한 제2 작업자부터 순차적으로 n명의 제2 작업자를 선택하여 테스트 업무를 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제2 작업자의 테스트 업무 일정 및 작업자들에게 할당하고자 하는 테스트 업무의 기한에 기초하여, 테스트 업무 수행이 가능한 제2 작업자들을 선택하고, 선택된 제2 작업자들 중 n명의 제2 작업자들을 임의로 선정하여 테스트 업무를 할당할 수 있다.
도 11은 다양한 실시예에서, 유형에 따라 테스트 업무를 할당하는 방법을 설명하기 위한 순서도이다.
도 11을 참조하면, S910 단계에서, 컴퓨팅 장치(100)는 테스트 대상에 대한 테스트를 수행하는 테스트 업무에 대하여, 유형을 판단할 수 있다. 예컨대, 컴퓨팅 장치(100)는 테스트 종류별 테스트 업무의 유형을 사전에 정의할 수 있으며, 테스트 업무에 포함된 테스트 케이스를 분석하여 테스트 업무에 대응하는 테스트 종류를 판단할 수 있고, 사전에 정의된 테스트 종류별 테스트 업무의 유형에 기초하여 테스트 종류에 대응하는 유형을 결정할 수 있다.
예컨대, 컴퓨팅 장치(100)는 업무기능 레벨 테이블을 사전에 정의할 수 있으며, 테스트 업무에 포함된 테스트 케이스에 기초하여, 테스트 업무에 포함된 테스트 케이스가 업무기능 1레벨 및 업무기능 2레벨에 해당하는 경우, 테스트 업무의 유형을 단순 작업으로 분류할 수 있고, 업무기능 3레벨 및 업무기능 4레벨에 해당하는 경우, 테스트 업무의 유형을 전문 작업으로 분류할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무에 포함된 테스트 케이스의 수행 시간이 기 설정된 시간을 초과하거나 기 설정된 단계 수를 초과하는 경우, 테스트 업무의 유형을 전문 작업으로 분류할 수 있고, 테스트 업무에 포함된 테스트 케이스의 수행 시간이 기 설정된 시간을 이하이거나 기 설정된 단계 수를 이하인 경우 테스트 업무의 유형을 단순 작업으로 분류할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 테스트 케이스의 수행 시간이 30분을 초과하거나, 30단계를 초과하는 경우, 해당 테스트 업무의 유형을 전문 작업으로 분류할 수 있다. 한편, 컴퓨팅 장치(100)는 테스트 케이스의 수행 시간이 30분 이하 거나, 30단계 이하인 경우, 테스트 업무의 유형을 단순 작업으로 분류할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무에 포함된 테스트 케이스를 설명하기 위한 문장들에 특정 키워드가 포함된 경우, 해당 테스트 업무의 유형을 전문 작업으로 분류할 수 있다.
여기서, 특정 키워드는 기 설정된 기간 동안 작업자에게 할당되었다가 작업자로부터 거절된 거절 테스트 업무의 테스트 케이스에 포함된 문장에 포함된 단어들 중 기 설정된 횟수 이상 포함된 단어일 수 있다. 예를 들어, 특정 키워드는 최근 한달 동안 거절된 테스트 업무에 포함된 테스트 케이스에 30회이상 포함된 단어일 수 있다.
S920 단계에서, 컴퓨팅 장치(100)는 S910 단계에서 판단된 테스트 업무의 유형이 기 설정된 유형인지 여부를 판단할 수 있다. 예컨대, 컴퓨팅 장치(100)는 테스트 업무의 유형이 전문 소프트웨어 테스터를 통해 수행되어야 하는 유형인지를 판단할 수 있다.
S930 단계에서, 컴퓨팅 장치(100)는 S920 단계를 거쳐 테스트 업무의 유형이 기 설정된 유형인 것으로 판단되는 경우 즉, 테스트 업무의 유형이 전문 소프트웨어 테스터를 통해 수행되어야 하는 업무(예컨대, 전문 작업으로 분류된 테스트 업무)인 것으로 판단되는 경우, 테스트 업무를 제1 작업자에게 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제1 작업자 중 적어도 하나의 제1 작업자를 선택하여 테스트 업무를 할당할 수 있다. 여기서, 적어도 하나의 제1 작업자를 선택하여 테스트 업무를 할당하는 동작은 도 10의 S830 단계에서 수행되는 동작과 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.
S940 단계에서, 컴퓨팅 장치(100)는 S920 단계를 거쳐 테스트 업무의 유형이 기 설정된 유형이 아닌 것으로 판단되는 경우 즉, 테스트 업무의 유형이 모든 작업자가 수행 가능한 업무(예컨대, 단순 작업으로 분류된 테스트 업무)인 것으로 판단되는 경우, 테스트 업무를 제1 작업자에게 할당할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 테스트 업무의 유형이 모든 작업자가 수행 가능한 업무인 것으로 판단되는 경우, 복수의 제2 작업자 중 적어도 하나의 제2 작업자를 선택하여 테스트 업무를 할당할 수 있다.
이때, 컴퓨팅 장치(100)는 복수의 제2 작업자 중 테스트 업무를 할당할 제2 작업자가 부재한 경우, 기 등록된 복수의 제1 작업자 중 적어도 하나의 제1 작업자를 선택하여 테스트 업무를 할당할 수 있다.
다시, 도 9를 참조하면, S730 단계에서, 컴퓨팅 장치(100)는 S720 단계를 거쳐 테스트 업무를 작업자에게 할당한 것에 대응하여, 작업자로부터 테스트 수행 결과를 획득할 수 있다. 예컨대, 컴퓨팅 장치(100)는 복수의 작업자 각각의 사용자 단말(200)과 연결되어, 복수의 작업자 각각이 사용자 단말(200)을 통해 테스트 업무를 수행함에 따라 도출되는 테스트 수행 결과를 수집할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 하나의 테스트 대상에 대하여 복수의 작업자 각각에게 복수의 테스트 업무를 할당한 경우, 복수의 작업자로부터 복수의 테스트 업무 각각에 대응하는 복수의 테스트 수행 결과를 획득할 수 있고, 획득된 복수의 테스트 수행 결과를 취합하여 테스트 대상에 대한 테스트 진행 상황 및 테스트 결과를 도출하여 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 도 21 내지 도 26에 도시된 바와 같이, 복수의 작업자로부터 획득된 복수의 테스트 수행 결과를 종합하여 출력하는 대시보드 UI를 제공할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 하나의 테스트 대상을 테스트하기 위한 복수의 테스트 업무가 생성되는 경우, 복수의 테스트 업무 각각을 복수의 제2 작업자에게 할당하되, 하나의 테스트 대상에 대한 적어도 하나의 제1 작업자를 매칭함으로써, 복수의 제2 작업자가 테스트를 수행함에 따라 도출되는 테스트 수행 결과를 적어도 하나의 제1 작업자를 통해 검증할 수 있다.
예컨대, 컴퓨팅 장치(100)는 복수의 제2 작업자 각각이 복수의 테스트 업무를 수행함에 따라 도출된 복수의 테스트 수행 결과를 적어도 하나의 제1 작업자에게 제공하고, 적어도 하나의 제1 작업자로부터 복수의 테스트 수행 결과에 대한 피드백(예컨대, 긍정의 피드백, 부정의 피드백)을 획득함으로써, 복수의 테스트 수행 결과에 대한 검증을 수행할 수 있다.
이때, 컴퓨팅 장치(100)는 복수의 테스트 수행 결과 중 적어도 하나의 테스트 수행 결과에 대한 부정의 피드백을 획득하는 경우, 부정의 피드백이 획득된 적어도 하나의 테스트 수행 결과를 입력한 제2 작업자에게 테스트 업무에 대한 재수행을 요청할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제2 작업자가 제2 작업자에게 할당된 제1 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과에 기초하여 소프트웨어에 대한 이슈가 발생된 것으로 판단되는 경우, 발생된 이슈에 대응하는 제2 테스트 업무(추가 테스트 업무)를 생성하여 제2 작업자에게 재할당할 수 있고, 제2 작업자가 제2 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 획득할 수 있다.
이때, 컴퓨팅 장치(100)는 제2 작업자가 제2 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과에 기초하여 소프트웨어에 대한 동일한 이슈가 재 발생된 것으로 판단되는 경우, 제1 테스트 업무 및 제2 테스트 업무를 제1 작업자에게 할당함으로써, 보다 전문적인 테스터를 통해 이슈에 대한 테스트가 수행되도록 할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제2 작업자가 특정 테스트 업무의 수행을 완료하는 것에 대응하여 제2 작업자에게 소정의 보상을 제공할 수 있다. 이때, 제1 작업자는 소프트웨어의 품질보증을 위해 테스트를 수행하는 업체 또는 소프트웨어 개발 업체로부터 급여를 받는 직원인 바, 테스트 업무에 대한 별도의 보상을 제공하지 않을 수 있으나, 이에 한정되지 않고, 제2 작업자와 마찬가지로(후술되는 도 12의 방법) 제1 작업자가 테스트 업무의 수행을 완료할 경우, 테스트 업무 수행에 따른 보상을 제1 작업자에게 지급할 수 있다. 이하, 도 12를 참조하여 보다 구체적으로 설명하도록 한다.
도 12는 다양한 실시예에서, 작업자에게 테스트 수행에 따른 보상을 제공하는 방법을 설명하기 위한 순서도이다.
도 12를 참조하면, S1010 단계에서, 컴퓨팅 장치(100)는 제2 작업자에 대한 테스트 수행 능력을 판단할 수 있다.
여기서, 제2 작업자에 대한 테스트 수행 능력을 판단하는 동작은 긱워커 인력풀에 등록되지 않은 제2 작업자로부터 긱워커 인력풀에 대한 등록 요청을 획득하는 것에 대응하여 수행되는 것 즉, 긱워커 인력풀에 등록되지 않은 제2 작업자를 긱워커 인력풀에 등록하기 위한 목적으로 수행되는 것일 수 있으나, 이에 한정되지 않는다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 제2 작업자에게 테스트 수행 능력 평가를 위한 훈련 테스트 업무를 제공할 수 있다.
여기서, 테스트 수행 능력 평가를 위한 훈련 테스트 업무는 제1 작업자에게 기 할당된 복수의 테스트 업무 중 적어도 하나의 테스트 업무 즉, 전문 소프트웨어 테스터를 통해 수행된 이력이 있는 테스트 업무를 의미하는 것일 수 있으나, 이에 한정되지 않는다.
이후, 컴퓨팅 장치(100)는 제2 작업자가 훈련 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 획득할 수 있으며, 획득된 테스트 수행 결과와 훈련 테스트 업무의 정답 간의 유사도를 산출할 수 있다.
여기서, 훈련 테스트 업무의 정답은 제1 작업자가 적어도 하나의 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 의미할 수 있다. 즉, 훈련 테스트 업무가 제1 작업자에게 기 할당된 제1 테스트 업무인 경우, 훈련 테스트 업무의 정답은 제1 작업자가 제1 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과일 수 있다.
여기서, 서로 다른 테스트 수행 결과 간의 유사도를 산출하는 방법은 다양한 기술들이 공지되어 있고, 이러한 공지 기술들을 선택적으로 적용할 수 있는 바(예컨대, 자카드 유사도(Jaccard similarity) 산출 방법에 기초하여 제2 작업자로부터 획득된 테스트 수행 결과와 훈련 테스트 업무의 정답에 포함된 전체 정보(합집합) 중 공통된 정보(교집합)의 비율을 산출하는 방식 등), 본 명세서에서는 테스트 수행 결과와 훈련 테스트 업무의 정답 간의 유사도를 산출하는 구체적인 방법에 대해서는 한정하지 않는다.
이후, 컴퓨팅 장치(100)는 산출된 유사도에 기초하여 제2 작업자에 대한 테스트 수행 능력을 평가할 수 있다. 예컨대, 컴퓨팅 장치(100)는 제2 작업자에 대한 테스트 수행 능력으로서, 유사도에 비례하는 크기의 레벨(예컨대 1 내지 100 레벨)을 설정하거나, 레벨에 대응하는 등급(예: 1 내지 5 등급)을 설정할 수 있다.
S1020 단계에서, 컴퓨팅 장치(100)는 제2 작업자가 특정 테스트 업무의 수행을 완료하는 것에 대응하여, 보상을 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사전에 특정 테스트 업무에 대한 보상의 크기가 결정될 수 있으며, 제2 작업자가 특정 테스트 업무를 수행하는 경우, 특정 테스트 업무에 대응하여 기 결정된 크기의 보상을 제2 작업자에게 제공할 수 있다. 이때, 컴퓨팅 장치(100)는 제2 작업자의 테스트 수행 능력에 기초하여 보상의 크기를 조정할 수 있다.
일례로, 컴퓨팅 장치(100)는 제2 작업자의 테스트 수행 능력이 제1 등급 미만이거나 제1 레벨 미만인 경우 특정 테스트 업무에 대응하여 기 결정된 크기의 보상만을 제2 작업자에게 제공할 수 있다. 또한, 컴퓨팅 장치(100)는 제2 작업자의 테스트 수행 능력이 제1 등급 이상 제2 등급 미만이거나 제1 레벨 이상 제2 레벨 미만인 경우, 특정 테스트 업무에 대응하여 기 결정된 크기의 보상과 제1 크기의 추가 보상을 제2 작업자에게 제공할 수 있다. 또한, 컴퓨팅 장치(100)는 제2 작업자의 제2 등급 이상(제3 등급)이거나 제2 레벨 이상인 경우, 특정 테스트 업무에 대응하여 기 결정된 크기의 보상과 제1 크기보다 큰 제2 크기의 추가 보상을 제2 작업자에게 제공할 수 있다.
다른 예로, 컴퓨팅 장치(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 작업자에게 제공할 수 있다.
여기서, 제2 작업자에게 제공되는 보상은 테스트 업무를 수행함에 따라 제공되는 금전적인 대가(테스트 업무 수행 비용)일 수 있으나, 이에 한정되지 않고, 제2 작업자에게 제공되는 보상은 제2 작업자의 테스트 수행 능력을 향상시키기 위한 포인트(점수 또는 경험치)일 수 있다.
예컨대, 컴퓨팅 장치(100)는 제2 작업자가 특정 테스트 업무를 수행함에 따라 금전적인 보상과 함께 소정의 크기의 경험치(난이도에 비례한 크기의 경험치)를 제공함으로써, 제2 작업자라 테스트 업무를 수행할수록 제2 작업자의 테스트 수행 능력에 대응하는 레벨을 올릴 수 있는 환경을 구축할 수 있으며, 이에 따라 테스트 업무를 반복적으로 많이 수행하는 제2 작업자가 레벨을 많이 올려 더 많은 추가 보상을 받을 수 있도록 하는 환경을 구축할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(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 크기로 결정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 둘 이상의 제2 작업자에게 동일한 테스트 업무를 할당한 경우, 둘 이상의 제2 작업자 각각에게 동일한 크기의 보상을 제공하되, 둘 이상의 제2 작업자 각각의 테스트 업무 완료 시간에 기초하여 보상의 크기를 차등 제공할 수 있다. 예컨대, 컴퓨팅 장치(100)는 동일한 테스트 업무를 할당받은 둘 이상의 제2 작업자에게 동일한 크기의 보상을 제공하되, 테스트 업무를 완료한 순서에 따라 순차적으로 서로 다른 크기의 추가 보상을 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제2 작업자가 제2 작업자에게 할당된 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 소프트웨어에 대한 이슈가 발생된 것으로 판단되는 경우, 이슈 발생에 따른 보상을 제2 작업자에게 제공할 수 있다. 이때, 컴퓨팅 장치(100)는 제2 작업자에게 할당된 테스트 업무가 제2 작업자가 직접 작성한 테스트 케이스에 따라 생성된 테스트 업무인 경우, 즉, 제2 작업자가 직접 생성한 테스트 케이스에 따라 테스트 대상을 테스트함에 따라 소프트웨어에 대한 이슈를 발생시킨 경우, 제2 작업자에게 이슈 발생에 따른 보상 이외에 추가적인 보상을 지급할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제2 작업자가 제2 작업자에게 할당된 테스트 업무를 수행함에 따라 도출된 테스트 수행 결과를 검수하기 위한 검수 작업을 생성하여 제1 작업자에게 할당할 수 있고, 제1 작업자에게 검수 작업을 할당함에 따라 제1 작업자로부터 테스트 수행 결과(제2 작업자의 결과물)에 대한 퀄리티 레벨을 획득할 수 있으며, 퀄리티 레벨에 기초하여 제2 작업자에게 보상을 제공할 수 있다.
전술한 소프트웨어 품질보증을 위한 솔루션 제공 방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 소프트웨어 품질보증을 위한 솔루션 제공 방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 컴퓨팅 장치
200 : 사용자 단말
300 : 외부 서버
400 : 네트워크

Claims (10)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 요청을 획득하는 단계;
    상기 획득된 테스트 요청에 대응하여, 상기 소프트웨어의 테스트를 위한 테스트 케이스를 생성하는 단계; 및
    상기 사용자에게 상기 생성된 테스트 케이스를 제공하는 단계를 포함하고,
    상기 테스트 케이스를 생성하는 단계는,
    상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 단계; 및
    상기 선정된 하나 이상의 추천 테스트에 대응하는 하나 이상의 테스트 케이스를 생성하는 단계를 포함하고,
    상기 하나 이상의 추천 테스트를 선정하는 단계는,
    상기 사용자의 테스트 수행 이력에 기초하여 상기 사용자의 테스트 수행 능력을 판단하고, 상기 판단된 테스트 수행 능력에 기초하여 상기 사용자에 대한 테스트 난이도를 결정하는 단계; 및
    상기 결정된 테스트 난이도에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함하고,
    상기 하나 이상의 추천 테스트를 선정하는 단계는,
    상기 소프트웨어에 대한 테스트를 수행하는 상기 사용자의 단말의 속성에 기초하여 상기 사용자에 대한 테스트 범위를 결정하는 단계; 및
    상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함하고,
    상기 테스트 케이스를 생성하는 단계는,
    상기 테스트 요청에 대응하는 테스트 케이스 생성 요청을 상기 사용자로부터 획득하는 단계;
    상기 획득된 테스트 케이스 생성 요청에 대응하여, 상기 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스(User Interface, UI)를 제공하는 단계; 및
    상기 제공된 사용자 인터페이스를 통해 획득되는 사용자 입력에 기초하여 테스트 케이스를 생성하는 단계를 포함하고,
    상기 사용자 인터페이스를 제공하는 단계는,
    상기 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함하며,
    상기 가이드 정보를 제공하는 단계는,
    상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 테스트 케이스를 생성하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 단계; 및
    가이드 정보로서, 상기 선정된 하나 이상의 추천 테스트에 관한 정보 및 상기 선정된 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 상기 선정된 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 제공하는 단계를 포함하고,
    상기 가이드 정보를 제공하는 단계는,
    테스트를 수행하는 단말에 대한 정보를 획득하는 단계;
    상기 단말의 속성에 기초하여, 상기 단말에 대한 테스트 범위를 결정하는 단계; 및
    상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함하며,
    복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 수집하고, 상기 수집된 복수의 테스트 케이스를 분류 및 저장함에 따라 테스트 케이스 데이터베이스를 구축하는 단계를 더 포함하고,
    상기 가이드 정보를 제공하는 단계는,
    상기 사용자로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 제1 테스트 케이스가 생성된 경우, 상기 구축된 테스트 케이스 데이터베이스로부터 상기 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출하는 단계;
    상기 추출된 복수의 제2 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 제2 테스트 케이스의 패턴을 추출하고, 상기 추출된 패턴에 기초하여 상기 생성된 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계; 및
    상기 생성된 복수의 제1 테스트에 대한 검증을 수행한 결과에 기초하여 상기 사용자에게 가이드 정보를 제공하는 단계를 포함하며,
    상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계는,
    상기 복수의 제1 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제1 테스트 케이스의 패턴을 추출하는 단계;
    상기 복수의 제2 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제2 테스트 케이스의 패턴을 추출하는 단계; 및
    상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴을 비교하고, 상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴이 상이할 경우, 상기 복수의 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공하는 단계를 포함하고,
    상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계는,
    상기 복수의 제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 작업자에게 보상을 제공하는 단계를 포함하는,
    소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 수집하고, 상기 수집된 복수의 테스트 케이스를 분류 및 저장함에 따라 테스트 케이스 데이터베이스를 구축하는 단계를 더 포함하며,
    상기 테스트 케이스를 생성하는 단계는,
    상기 구축된 테스트 케이스 데이터베이스로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 테스트 케이스를 추출하는 단계;
    상기 추출된 복수의 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 테스트 케이스의 패턴을 추출하는 단계; 및
    상기 추출된 패턴에 기초하여, 상기 테스트 대상에 대응하는 테스트 케이스를 생성하는 단계를 포함하는,
    소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법.
  6. 제1항에 있어서,
    복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 학습 데이터로 하여 학습시킴에 따라 테스트 케이스 생성 모델을 생성하는 단계를 더 포함하며,
    상기 테스트 케이스를 생성하는 단계는,
    상기 생성된 테스트 케이스 생성 모델에 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 관한 정보를 입력함에 따라 상기 테스트 대상에 대응하는 하나 이상의 테스트 케이스를 생성하는 단계를 포함하는,
    소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법.
  7. 제1항에 있어서,
    상기 테스트 케이스를 생성하는 단계는,
    상기 사용자가 상기 제공된 테스트 케이스에 따라 상기 소프트웨어에 대한 테스트를 수행함에 따라 도출된 테스트 수행 결과에 기초하여, 상기 소프트웨어에 대한 이슈가 발생한 것으로 판단되는 경우, 상기 발생된 이슈에 대한 하나 이상의 추가 테스트를 선정하는 단계; 및
    상기 선정된 하나 이상의 추가 테스트에 대응하는 하나 이상의 추가 테스트 케이스를 생성하는 단계를 포함하는,
    소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법.
  8. 제1항에 있어서,
    상기 테스트 케이스를 생성하는 단계는,
    서로 다른 둘 이상의 사용자로부터 동일한 테스트 대상에 대한 테스트 요청을 획득하는 경우, 상기 동일한 테스트 대상에 대하여 서로 다른 종류의 둘 이상의 테스트 각각에 대응하는 둘 이상의 테스트 케이스를 생성하는 단계를 포함하며,
    상기 생성된 테스트 케이스를 제공하는 단계는,
    상기 생성된 둘 이상의 테스트 케이스 각각을 상기 서로 다른 둘 이상의 사용자에게 각각 제공하는 단계를 포함하는,
    소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법.
  9. 프로세서;
    네트워크 인터페이스;
    메모리; 및
    상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
    상기 컴퓨터 프로그램은,
    사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 요청을 획득하는 인스트럭션(instruction);
    상기 획득된 테스트 요청에 대응하여, 상기 소프트웨어의 테스트를 위한 테스트 케이스를 생성하는 인스트럭션; 및
    상기 사용자에게 상기 생성된 테스트 케이스를 제공하는 인스트럭션을 포함하고,
    상기 테스트 케이스를 생성하는 인스트럭션은,
    상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 인스트럭션; 및
    상기 선정된 하나 이상의 추천 테스트에 대응하는 하나 이상의 테스트 케이스를 생성하는 인스트럭션을 포함하고,
    상기 하나 이상의 추천 테스트를 선정하는 인스트럭션은,
    상기 사용자의 테스트 수행 이력에 기초하여 상기 사용자의 테스트 수행 능력을 판단하고, 상기 판단된 테스트 수행 능력에 기초하여 상기 사용자에 대한 테스트 난이도를 결정하는 인스트럭션; 및
    상기 결정된 테스트 난이도에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 인스트럭션을 포함하고,
    상기 하나 이상의 추천 테스트를 선정하는 인스트럭션은,
    상기 소프트웨어에 대한 테스트를 수행하는 상기 사용자의 단말의 속성에 기초하여 상기 사용자에 대한 테스트 범위를 결정하는 인스트럭션; 및
    상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 인스트럭션을 포함하고,
    상기 테스트 케이스를 생성하는 인스트럭션은,
    상기 테스트 요청에 대응하는 테스트 케이스 생성 요청을 상기 사용자로부터 획득하는 인스트럭션;
    상기 획득된 테스트 케이스 생성 요청에 대응하여, 상기 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스(User Interface, UI)를 제공하는 인스트럭션; 및
    상기 제공된 사용자 인터페이스를 통해 획득되는 사용자 입력에 기초하여 테스트 케이스를 생성하는 인스트럭션을 포함하고,
    상기 사용자 인터페이스를 제공하는 인스트럭션은,
    상기 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 인스트럭션을 포함하며,
    상기 가이드 정보를 제공하는 인스트럭션은,
    상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 테스트 케이스를 생성하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 인스트럭션; 및
    가이드 정보로서, 상기 선정된 하나 이상의 추천 테스트에 관한 정보 및 상기 선정된 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 상기 선정된 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 제공하는 인스트럭션을 포함하고,
    상기 가이드 정보를 제공하는 인스트럭션은,
    테스트를 수행하는 단말에 대한 정보를 획득하는 인스트럭션;
    상기 단말의 속성에 기초하여, 상기 단말에 대한 테스트 범위를 결정하는 인스트럭션; 및
    상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 인스트럭션을 포함하며,
    복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 수집하고, 상기 수집된 복수의 테스트 케이스를 분류 및 저장함에 따라 테스트 케이스 데이터베이스를 구축하는 인스트럭션을 더 포함하고,
    상기 가이드 정보를 제공하는 인스트럭션은,
    상기 사용자로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 제1 테스트 케이스가 생성된 경우, 상기 구축된 테스트 케이스 데이터베이스로부터 상기 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출하는 인스트럭션;
    상기 추출된 복수의 제2 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 제2 테스트 케이스의 패턴을 추출하고, 상기 추출된 패턴에 기초하여 상기 생성된 복수의 제1 테스트 케이스에 대한 검증을 수행하는 인스트럭션; 및
    상기 생성된 복수의 제1 테스트에 대한 검증을 수행한 결과에 기초하여 상기 사용자에게 가이드 정보를 제공하는 인스트럭션을 포함하며,
    상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 인스트럭션은,
    상기 복수의 제1 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제1 테스트 케이스의 패턴을 추출하는 인스트럭션;
    상기 복수의 제2 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제2 테스트 케이스의 패턴을 추출하는 인스트럭션; 및
    상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴을 비교하고, 상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴이 상이할 경우, 상기 복수의 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공하는 인스트럭션을 포함하고,
    상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 인스트럭션은,
    상기 복수의 제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 작업자에게 보상을 제공하는 인스트럭션을 포함하는,
    소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법을 수행하는 컴퓨팅 장치.
  10. 컴퓨팅 장치와 결합되어,
    사용자로부터 소프트웨어의 품질보증(Quality Assurance, QA)을 위한 테스트 요청을 획득하는 단계;
    상기 획득된 테스트 요청에 대응하여, 상기 소프트웨어의 테스트를 위한 테스트 케이스를 생성하는 단계; 및
    상기 사용자에게 상기 생성된 테스트 케이스를 제공하는 단계를 포함하고,
    상기 테스트 케이스를 생성하는 단계는,
    상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 단계; 및
    상기 선정된 하나 이상의 추천 테스트에 대응하는 하나 이상의 테스트 케이스를 생성하는 단계를 포함하고,
    상기 하나 이상의 추천 테스트를 선정하는 단계는,
    상기 사용자의 테스트 수행 이력에 기초하여 상기 사용자의 테스트 수행 능력을 판단하고, 상기 판단된 테스트 수행 능력에 기초하여 상기 사용자에 대한 테스트 난이도를 결정하는 단계; 및
    상기 결정된 테스트 난이도에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함하고,
    상기 하나 이상의 추천 테스트를 선정하는 단계는,
    상기 소프트웨어에 대한 테스트를 수행하는 상기 사용자의 단말의 속성에 기초하여 상기 사용자에 대한 테스트 범위를 결정하는 단계; 및
    상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함하고,
    상기 테스트 케이스를 생성하는 단계는,
    상기 테스트 요청에 대응하는 테스트 케이스 생성 요청을 상기 사용자로부터 획득하는 단계;
    상기 획득된 테스트 케이스 생성 요청에 대응하여, 상기 사용자에게 테스트 케이스 생성을 위한 사용자 인터페이스(User Interface, UI)를 제공하는 단계; 및
    상기 제공된 사용자 인터페이스를 통해 획득되는 사용자 입력에 기초하여 테스트 케이스를 생성하는 단계를 포함하고,
    상기 사용자 인터페이스를 제공하는 단계는,
    상기 사용자에게 테스트 케이스 생성을 위한 가이드 정보를 제공하는 단계를 포함하며,
    상기 가이드 정보를 제공하는 단계는,
    상기 사용자가 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능을 테스트하기 위한 테스트 케이스를 생성하고자 하는 경우, 상기 적어도 하나의 기능에 대한 하나 이상의 추천 테스트를 선정하는 단계; 및
    가이드 정보로서, 상기 선정된 하나 이상의 추천 테스트에 관한 정보 및 상기 선정된 하나 이상의 추천 테스트에 대응하는 테스트 케이스를 생성하는 방법에 관한 정보를 포함하는 안내 정보를 제공하거나, 상기 선정된 하나 이상의 추천 테스트에 대응하는 샘플 테스트 케이스를 제공하는 단계를 포함하고,
    상기 가이드 정보를 제공하는 단계는,
    테스트를 수행하는 단말에 대한 정보를 획득하는 단계;
    상기 단말의 속성에 기초하여, 상기 단말에 대한 테스트 범위를 결정하는 단계; 및
    상기 결정된 테스트 범위에 기초하여 상기 적어도 하나의 기능에 대한 추천 테스트를 선정하는 단계를 포함하며,
    복수의 소프트웨어 및 상기 복수의 소프트웨어 각각에 포함된 복수의 기능을 테스트하기 위해 기 생성된 복수의 테스트 케이스를 수집하고, 상기 수집된 복수의 테스트 케이스를 분류 및 저장함에 따라 테스트 케이스 데이터베이스를 구축하는 단계를 더 포함하고,
    상기 가이드 정보를 제공하는 단계는,
    상기 사용자로부터 테스트 대상 - 상기 테스트 대상은 상기 소프트웨어에 포함된 복수의 기능 중 적어도 하나의 기능임 - 에 대응하는 복수의 제1 테스트 케이스가 생성된 경우, 상기 구축된 테스트 케이스 데이터베이스로부터 상기 테스트 대상에 대응하는 복수의 제2 테스트 케이스를 추출하는 단계;
    상기 추출된 복수의 제2 테스트 케이스에 대한 빅데이터 분석을 통해 상기 추출된 복수의 제2 테스트 케이스의 패턴을 추출하고, 상기 추출된 패턴에 기초하여 상기 생성된 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계; 및
    상기 생성된 복수의 제1 테스트에 대한 검증을 수행한 결과에 기초하여 상기 사용자에게 가이드 정보를 제공하는 단계를 포함하며,
    상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계는,
    상기 복수의 제1 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제1 테스트 케이스의 패턴을 추출하는 단계;
    상기 복수의 제2 테스트 케이스에 포함된 테스트의 종류별 비율 및 테스트 순서에 대한 정보를 포함하는, 상기 복수의 제2 테스트 케이스의 패턴을 추출하는 단계; 및
    상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴을 비교하고, 상기 복수의 제1 테스트 케이스의 패턴과 상기 복수의 제2 테스트 케이스의 패턴이 상이할 경우, 상기 복수의 제1 테스트 케이스에 대한 수정 요청을 안내하는 가이드 정보를 제공하는 단계를 포함하고,
    상기 복수의 제1 테스트 케이스에 대한 검증을 수행하는 단계는,
    상기 복수의 제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 작업자에게 보상을 제공하는 단계를 포함하는 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장된, 컴퓨터프로그램.
KR1020220143622A 2022-11-01 2022-11-01 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램 KR102500433B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220143622A KR102500433B1 (ko) 2022-11-01 2022-11-01 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220143622A KR102500433B1 (ko) 2022-11-01 2022-11-01 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR102500433B1 true KR102500433B1 (ko) 2023-02-16

Family

ID=85325920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220143622A KR102500433B1 (ko) 2022-11-01 2022-11-01 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램

Country Status (1)

Country Link
KR (1) KR102500433B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116680162A (zh) * 2023-04-17 2023-09-01 中国软件评测中心(工业和信息化部软件与集成电路促进中心) 一种测试用例复用方法、装置、介质、设备及产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200348662A1 (en) * 2016-05-09 2020-11-05 Strong Force Iot Portfolio 2016, Llc Platform for facilitating development of intelligence in an industrial internet of things system
KR20210040884A (ko) * 2020-04-17 2021-04-14 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 엣지 컴퓨팅 테스트 방법, 장치, 전자 장치 및 컴퓨터 판독 가능 매체
KR20220092648A (ko) * 2015-07-23 2022-07-01 메소 스케일 테크놀러지즈, 엘엘시 통합된 소모품 데이터 관리 시스템 및 플랫폼

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220092648A (ko) * 2015-07-23 2022-07-01 메소 스케일 테크놀러지즈, 엘엘시 통합된 소모품 데이터 관리 시스템 및 플랫폼
US20200348662A1 (en) * 2016-05-09 2020-11-05 Strong Force Iot Portfolio 2016, Llc Platform for facilitating development of intelligence in an industrial internet of things system
KR20210040884A (ko) * 2020-04-17 2021-04-14 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 엣지 컴퓨팅 테스트 방법, 장치, 전자 장치 및 컴퓨터 판독 가능 매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116680162A (zh) * 2023-04-17 2023-09-01 中国软件评测中心(工业和信息化部软件与集成电路促进中心) 一种测试用例复用方法、装置、介质、设备及产品
CN116680162B (zh) * 2023-04-17 2023-11-10 中国软件评测中心(工业和信息化部软件与集成电路促进中心) 一种测试用例复用方法、装置、介质、设备及产品

Similar Documents

Publication Publication Date Title
CN109165249B (zh) 数据处理模型构建方法、装置、服务器和用户端
US10402039B2 (en) Adaptive user interface using machine learning model
US9268766B2 (en) Phrase-based data classification system
KR102164844B1 (ko) 인공지능 학습데이터 생성을 위한 크라우드소싱 기반 프로젝트의 작업 단위 난이도를 활용한 작업자 평가 방법
US20150178134A1 (en) Hybrid Crowdsourcing Platform
KR102500433B1 (ko) 소프트웨어의 품질보증을 위한 테스트 케이스 자동생성 방법, 장치 및 컴퓨터프로그램
EP4290351A1 (en) Environment modeling method and apparatus based on decision flow graph, and electronic device
US20220019916A1 (en) Apparatus and method for recommending federated learning based on tendency analysis of recognition model and method for federated learning in user terminal
Muñoz et al. A cognitive agent for mining bugs reports, feature suggestions and sentiment in a mobile application store
KR102620575B1 (ko) 프로젝트 참여자 간의 메시지 분석을 통한 프로젝트와 관련된 중요 메시지 판단 및 관리방법, 서버 및 컴퓨터프로그램
WO2021258968A1 (zh) 小程序分类方法、装置、设备及计算机可读存储介质
KR102484694B1 (ko) 긱 워커 qa 플랫폼 작업자의 업무 퀄리티 검수 및 리워드 산정 방법, 장치 및 컴퓨터 프로그램
KR102536392B1 (ko) 소프트웨어 품질보증을 위한 사용자 맞춤형 테스트 케이스 생성 가이드 제공방법, 장치 및 컴퓨터프로그램
KR102496337B1 (ko) 소프트웨어의 품질보증을 위한 테스트 업무 할당 방법, 장치 및 컴퓨터프로그램
KR102215416B1 (ko) 인공지능 학습데이터 생성을 위한 크라우드소싱 기반 프로젝트의 작업자 및 검수자 그룹의 주기적 갱신 및 최적화 방법
CN114676295A (zh) 基于ai的个性化教学方法、装置、设备及可读存储介质
Gebhart et al. Quality-oriented requirements engineering for agile development of restful participation service
CN113792189A (zh) 群智软件开发贡献效率评估方法、装置、设备及介质
CN113313470A (zh) 一种基于大数据的就业类型评估方法及系统
KR102505411B1 (ko) 긱 워커 qa 플랫폼 작업자를 위한 qa 업무 할당 및 모니터링 방법, 장치 및 컴퓨터 프로그램
KR102506055B1 (ko) 긱 워커 qa 플랫폼 작업자를 위한 qa 업무 할당 및 작업 결과물 취합 방법, 장치 및 컴퓨터 프로그램
US20240193520A1 (en) Decision flowchart-based environmental modeling method and apparatus, and electronic device
KR102673594B1 (ko) 인공지능 기반의 콘텐츠 전문 인력 매칭 서비스 제공방법, 장치 및 컴퓨터프로그램
Fernandez et al. Automatic enhancement of the reference set for multi-criteria sorting in the frame of THESEUS method
US20240152809A1 (en) Efficient machine learning model architecture selection

Legal Events

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