KR101976629B1 - 커미트 민감도 테스트들 - Google Patents

커미트 민감도 테스트들 Download PDF

Info

Publication number
KR101976629B1
KR101976629B1 KR1020130132500A KR20130132500A KR101976629B1 KR 101976629 B1 KR101976629 B1 KR 101976629B1 KR 1020130132500 A KR1020130132500 A KR 1020130132500A KR 20130132500 A KR20130132500 A KR 20130132500A KR 101976629 B1 KR101976629 B1 KR 101976629B1
Authority
KR
South Korea
Prior art keywords
files
tests
full set
application
different
Prior art date
Application number
KR1020130132500A
Other languages
English (en)
Other versions
KR20140102113A (ko
Inventor
레이 세네월드
라일라 트레티코프
란 저우
Original Assignee
슈가씨알엠 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 슈가씨알엠 인코퍼레이티드 filed Critical 슈가씨알엠 인코퍼레이티드
Publication of KR20140102113A publication Critical patent/KR20140102113A/ko
Application granted granted Critical
Publication of KR101976629B1 publication Critical patent/KR101976629B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/25Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

커미트 민감도 시험을 위한 방법, 시스템 및 컴퓨터 프로그램 제품이 제공된다. 이 방법은 상이한 테스트들의 풀 세트를 하나의 애플리케이션에 적용하는 단계와, 그러한 상이한 테스트들의 풀 세트에 의해 영향을 받은 애플리케이션의 파일들을 결정하기 위해 상이한 테스트들의 풀 세트를 적용하는 것을 모니터하는 단계를 포함한다. 이 방법은 또한 각 파일과, 각 파일에 영향을 미치는 상이한 테스트들의 풀 세트의 대응하는 것들의 맵핑을 발생시키는 단계를 포함한다. 마지막으로, 이 방법은 그러한 맵핑에서 파일들 중 변경된 것에 영향을 미치는 상이한 테스트들의 풀 세트의 서브세트만을 식별하고, 파일들 중 변경된 것에 상이한 테스트들의 풀 세트의 서브세트만을 적용함으로써 파일들 중 하나의 변경에 반응하는 단계를 포함한다.

Description

커미트 민감도 테스트들{COMMIT SENSITIVE TESTS}
본 발명은 컴퓨터 프로그램의 기능상 및 운영상 시험 분야에 관한 것으로, 더 구체적으로는 인크리멘탈 유닛(incremental unit) 시험에 관한 것이다.
소프트웨어 기능상 시험은 근원적인 소프트웨어 애플리케이션에 결합된 GUI(graphical user interface)의 기능상 시험에 관한 것이다. 종래의 기능상 시험 도구들은, 넓고 다양한 통합된 개발 환경들 중 임의의 것을 사용하여 구축된 애플리케이션들에 관한 기능상의 배포된 기능상 회기(regression) 및 스모크(smoke) 테스트들을 엔드 유저(end user)가 생성, 수정 및 실행하는 것을 허용한다. 이 점에서, 종래의 기능성 시험 도구는 순차적으로 그리고 조건부로 GUI의 요소들이 실시될 수 있는 GUI용 테스트 스크립트(script)를 발생시킬 수 있다. 애플리케이션의 GUI의 철저한 시험을 통해, 기능성 시험 도구가 결함들을 일찍 자주 그리고 반복적이고 자동적으로 식별할 수 있다.
기능상 시험에 비해 동작상 시험은, 테스트 중인 애플리케이션의 논리 동작의 실행을 참조한다. 동작상 시험에서, 예상된 결과와 호출(invocation)로부터의 실제 결과를 비교하기 위해 객체(object)의 호출이 사용될 수 있다. 시험 스크립트들 또는 테스트들의 사용을 통해 동작상 및 기능상 시험이 자동화될 수 있다. 테스트들은 수작업으로 만들어질 수 있고, 시험 엔진에 입력으로서 제공될 수 있거나, 테스트들이 자동화된 방식으로 발생될 수 있다. 후자의 경우, 종래의 시험 도구가 시험의 기록 단계 동안 엔드 유저와 GUI 사이의 상호 작용을 모니터(monitor) 및 기록할 수 있다. 기록 단계 동안, 엔드 유저에 의해 어드레스된 GUI 요소들의 아이덴티티(identity), GUI 요소들의 어드레싱에 의해 호출된 대응하는 논리 동작들, 호출의 결과들, 및 GUI 요소들이, 어드레스되는 순서에 기초하여 테스트가 이루어질 수 있다.
상이한 파일들 내에 배치된 많은 상이한 기능상 성분들의 복잡한 애플리케이션을 시험할 때, 애플리케이션에 관련된 모든 테스트들의 풀(full) 세트를 적용하는 것은 길고, 지루하며, 자원 집약적 공정일 수 있다. 하지만, 소프트웨어 라이프사이클의 부분으로서의 개발 및 유지 공정 동안, 테스트들의 풀 세트를 적용하는 것은 임의의 특별한 변경에 의해 소수의 파일들이 영향을 받는 경우에만 반드시 필요한 것은 아니다. 그렇지만, 애플리케이션에 대한 변경에 의해 영향을 받은 파일들의 아이덴티티를 선험적으로 아는 것은 그 애플리케이션의 구조의 메모리와 깊은 지식을 필요로 하고, 심지어 그러한 지식이 있는 경우에도 변경의 모든 가능한 영향을 알 수 있다는 것을 전제로 한다. 물론, 이러한 것은 흔한 경우가 아니다. 따라서, 애플리케이션을 지원하는 단일 파일에 작은 변경이 일어나는 경우에 직면할 때, 그 애플리케이션에 관한 테스트들의 풀 컴플리먼트(full compliment)가 적용되어야 한다.
본 발명의 실시예들은 애플리케이션 시험에 대한 관련 분야의 결점들을 다루고, 커미트 민감도 시험 방법, 시스템, 및 컴퓨터 프로그램 제품을 제공한다.
본 발명의 일 실시예에서는 커미트 민감도 시험 방법이 제공된다. 이 방법은 하나의 애플리케이션에 상이한 테스트들의 풀 세트를 적용하는 단계와, 상이한 테스트들의 풀 세트에 의해 영향을 받은 애플리케이션의 파일들을 결정하기 위해 상이한 테스트들의 풀 세트의 애플리케이션을 모니터하는 단계를 포함한다. 이 방법은 또한 각각의 파일들과 각각의 파일들에 영향을 미치는 상이한 테스트들의 풀 세트 중 대응하는 것들의 맵핑을 발생시키는 단계를 포함한다. 마지막으로, 이 방법은 파일들 중 변경된 것에 영향을 미치는 상이한 테스트들의 풀 세트의 서브세트(subset)만을 맵핑에서 식별하고, 파일들 중 변경된 것에 상이한 테스트들의 풀 세트의 서브세트만을 적용함으로써, 파일들 중 하나에 있어서의 변경에 반응하는 단계를 포함한다. 임의로, 이러한 방법은 추가로 상이한 테스트들의 풀 세트의 서브세트의 적용 결과와 상이한 테스트들의 풀 세트의 적용 결과를 비교하는 단계와, 그러한 비교로부터 파일들 중 변경된 것에 의해 만들어진 새로운 에러들로서 차이를 보고하는 단계를 포함한다.
본 발명의 또 다른 실시예에서는, 애플리케이션 시험 시스템이 커미트 민감도 시험을 위해 구성될 수 있다. 이 시스템은 각각 메모리와 적어도 하나의 프로세서를 구비한 하나 이상의 컴퓨터를 포함하는 호스트 컴퓨팅 시스템을 포함할 수 있다. 이 시스템은 또한 호스트 컴퓨팅 시스템의 메모리에서 실행하고, 애플리케이션의 상이한 파일들에 상이한 테스트들을 적용하도록 구성된 시험 도구를 포함한다. 마지막으로, 이 시스템은 시험 도구에 결합된 커미트 민감도 시험 모듈을 포함한다. 이 모듈은 메모리에서 실행시 애플리케이션에 상이한 테스트들의 풀 세트를 적용하고, 상이한 테스트들의 풀 세트에 의해 영향을 받은 애플리케이션의 파일들을 결정하기 위해 상이한 테스트들의 풀 세트의 애플리케이션을 모니터하며, 각각의 파일들과 각각의 파일들에 영향을 미치는 상이한 테스트들의 풀 세트 중 대응하는 것들의 맵핑을 발생시키고, 맵핑에서 파일들 중 변경된 것에 영향을 미치는 상이한 테스트들의 풀 세트의 서브세트만을 식별하고 상이한 테스트들의 풀 세트의 서브세트만을 파일들 중 변경된 것에 적용함으로써, 파일들 중 하나에서의 변경에 반응하도록 인에이블된 프로그램 코드를 포함한다.
본 발명의 추가적인 양태들은 부분적으로는 이어지는 상세한 설명부에서 전개되고, 부분적으로는 상세한 설명부로부터 명백해지거나, 본 발명의 실시에 의해 학습될 수 있다. 본 발명의 양태들은 첨부된 청구항들에서 특히 지적된 조합들과 요소들에 의해 실현되고 얻어진다. 전술한 일반적인 설명과 이어지는 상세한 설명 모두 단지 예시적이고 설명적인 것이며, 주장된 바대로 본 발명을 국한하는 것이 아님이 이해되어야 한다.
본 명세서에 통합되는 첨부 도면들과, 본 명세서의 구성 부분은 본 발명의 실시예들을 예시하고, 설명부와 함께, 본 발명의 원리들을 설명하는 역할을 한다. 본 명세서에서 예시된 실시예들은 현재 바람직한 것이지만, 본 발명은 세세한 배치 및 도시된 수단에 국한되지 않음이 이해되어야 한다.
도 1은 커미트 민감도 시험용 공정을 그림으로 나타낸 예시도.
도 2는 커미트 민감도 시험용으로 구성된 시험 시스템의 개략적인 예시도.
도 3은 커미트 민감도 시험용 공정을 예시하는 흐름도.
본 발명의 실시예들은 커미트 민감도 시험을 제공된다. 본 발명의 일 실시예에 따르면, 상이한 테스트들이 테스트들의 데이터 저장소로부터 로딩될 수 있고, 다수의 상이한 파일들로 이루어진 애플리케이션에 적용될 수 있다. 각각의 적용된 테스트에 관해, 그러한 테스트들에 의해 영향을 받은 파일들의 것의 목록이 기록될 수 있다. 그 결과 각각의 파일과 연관된 대응하는 테스트들과 파일들의 목록에 기초하여 역 맵핑(reverse mapping)이 만들어질 수 있다. 그 후, 하나 이상의 파일이 변경될 때, 그 변경된 파일에 대응하는 테스트들이 역 맵핑으로부터 식별될 수 있고, 변경된 파일들에 적용될 수 있다.
또 다른 예시에서, 도 1은 커미트 민감도 시험용 공정을 그림으로 보여준다. 도 1에 도시된 바와 같이, 커미트 민감도 시험 로직(logic)(130)이 테스트들의 풀 세트(140)를 테스트 서버(170)에 의해 애플리케이션(100)에 적용하는 것을 모니터할 수 있다. 모니터 중에 커미트 민감도 시험 로직(130)은 테스트들의 풀 세트(140)의 각 테스트에 의해 영향을 받은 애플리케이션(100)의 상이한 파일들(120)을 식별할 수 있다. 그 결과로서, 파일들(100) 각각을 테스트들의 풀 세트(140)로부터의 영향을 받은 테스트들의 세트에 맵핑하는 역 맵핑(110)이 만들어질 수 있다. 그 후, 애플리케이션(100)의 하나 이상의 파일들(120)에 대해 변형이 이루어질 때, 테스트들의 서브세트(150)를 조립하기 위해, 파일들(120) 중 변경된 것에 영향을 주는 것으로 알려진 테스트들의 풀 세트(140)의 것들을 식별하도록 역 맵핑(110)을 커미트 민감도 시험 로직(130)이 참고할 수 있다. 마지막으로, 테스트 서버(170)에 의해 애플리케이션(100)에 테스트(150)들의 세트만이 적용될 필요가 있다. 임의로, 애플리케이션(100)의 파일들(120)에 대한 변형에 의해 만들어진 결과들만을 식별하기 위해, 테스트(140)들의 풀 세트로부터의 테스트 결과들의 세트와 테스트(150)의 서브세트로부터의 결과들을 비교하는 비교 보고서(160)가 발생될 수 있다.
도 1과 관련되어 설명된 공정은 시험 시스템 내에서 구현될 수 있다. 또 다른 예에서는, 도 2가 커미트 민감도 시험을 위해 구성된 시험 시스템을 개략적으로 보여준다. 이 시스템은 각각 메모리와 적어도 하나의 프로세서를 구비한 하나 이상의 컴퓨터를 포함하는 호스트 컴퓨팅 시스템(210)을 포함할 수 있다(예시를 간단하게 할 목적으로 도시된 단일 컴퓨터만). 이 호스트 컴퓨팅 시스템(210)은 시험 도구(250)가 실행할 수 있는 운영 시스템(240)을 포함할 수 있다. 이 시험 도구(250)는 데이터 저장소(230)에 있는 하나 이상의 테스트를 애플리케이션의 파일(260)들에 적용하도록 구성될 수 있다.
중요한 점은 커밋 센서티브 테스팅 모듈(300)이 시험 도구(250)에 결합될 수 있다는 점이다. 이 커밋 센서티브 테스팅 모듈(300)은 호스트 컴퓨팅 시스템(210)의 메모리에서 실행할 때, 인에이블되는 프로그램 코드를 포함할 수 있는데, 이러한 프로그램 코드의 인에이블은 테스트(270)들이 시험 도구(250)에 의해 파일(260)들에 적용될 때, 테스트(270)들의 개별 테스트에 의해 어느 파일이 영향을 받는지를 모니터하기 위한 것이다. 예를 들면, 파일(260)들 중 하나가 테스트들(270) 중 하나의 적용 중에 열릴 때, 그 파일은 영항을 받은 것으로 간주될 수 있다. 대안적으로, 테스트(270)들 중 하나를 적용하는 동안 파일(260)들 중 하나가 열리고 동시에 읽힌다면, 그 파일이 영향을 받은 것으로 간주될 수 있다.
커밋 센서티브 테스팅 모듈(300)의 프로그램 코드는, 또한 호스트 컴퓨팅 시스템(210)의 메모리에서 실행될 때 인에이블될 수 있어, 파일(260)들로의 테스트(270)들의 적용에 관한 역 맵핑(220)을 발생시킨다. 이러한 역 맵핑(220)은 각각의 파일(230)과 테스트(270)들에 의해 영향을 받은 테스트(270)들의 제로(zero) 또는 그 이상의 대응하는 세트의 맵핑을 가리킬 수 있다. 마지막으로, 하나 이상의 파일(260)의 변형에 반응하여, 호스트 컴퓨팅 시스템(210)의 메모리에서 실행될 때 수정된 하나 이상의 파일(260)에 대해 역 맵핑(220)에 의해 관련된 테스트(270)들의 것들만을 적용하도록 시험 도구(250)에 지시하게 커밋 센서티브 테스팅 모듈(300)의 프로그램 코드가 인에이블될 수 있다.
커밋 센서티브 테스팅 모듈(300)의 동작의 또 다른 예시에서는, 도 3이 커밋 센서티브 시험에 관한 공정을 예시하는 흐름도이다. 블록(310)에서 시작하여, 소프트웨어 애플리케이션을 형성하는 파일들에 반하여 적용하기 위한 풀 세트의 테스트들이 로딩될 수 있다. 블록(320)에서는 풀 세트의 테스트들이 파일들에 적용될 수 있고, 블록(330)에서는 소프트웨어 애플리케이션의 파일들과 파일들 각각에 영향을 미치는 테스트들에 관한 역 맵핑이 발생될 수 있다. 블록(340)에서는, 테스트들의 적용으로 말미암아 만들어진 에러들의 임의의 표시를 포함하는 테스트들의 적용으로부터 결과 세트가 만들어질 수 있다.
블록(350)에서는, 소프트웨어 애플리케이션의 파일들 중 하나에 대한 변경이 검출될 수 있다. 검출된 변경에 반응하여, 블록(360)에서는 역 맵핑으로부터 변경된 파일들 중 하나와 연관된 것으로서 테스트들의 서브세트가 식별될 수 있다. 그 후, 블록(370)에서는 테스트들의 서브세트가 소프트웨어 애플리케이션의 파일들에 적용될 수 있고, 블록(380)에서는 테스트들의 서브세트의 적용 결과가 기록될 수 있다. 블록(390)에서는, 테스트들의 서브세트의 적용으로 생긴 결과들이 테스트들의 풀 세트의 적용으로 생긴 결과들과 비교될 수 있고, 블록(400)에서는 비교 보고서가 발생될 수 있다. 이러한 식으로, 오직 소프트웨어 애플리케이션의 파일들의 선택에서의 변경에 반응하여, 소프트웨어 애플리케이션에 테스트들의 풀 세트의 모든 테스트가 적용될 필요는 없다.
당업자라면 알 수 있는 바와 같이, 본 발명의 양태들은 시스템, 방법, 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 본 발명의 양태들은 완전히 하드웨어 실시예, 완전히 소프트웨어 실시예(펌웨어, 레지던트(resident) 소프트웨어, 마이크로-코드 등을 포함하는)의 형태를 취할 수 있거나, 본 명세서에서 모두 일반적으로 "회로", "모듈" 또는 "시스템"으로 불릴 수 있는 소프트웨어 및 하드웨어 양태들을 결합하는 실시예의 형태를 취할 수 있다. 더 나아가, 본 발명의 양태들은 컴퓨터 판독 가능한 프로그램 코드를 내부에 구현한 하나 이상의 컴퓨터 판독 가능한 매체(들)로 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
본 발명에 따르면, 애플리케이션은 웹(Web) 애플리케이션일 수 있다. 또한, 파일들은 마크업 랭귀지(markup language) 파일들일 수 있다.
하나 이상의 컴퓨터 판독 가능한 매체(들)의 임의의 조합이 이용될 수 있다. 컴퓨터 판독 가능한 매체는 컴퓨터 판독 가능한 신호 매체이거나 컴퓨터 판독 가능한 저장 매체일 수 있다. 컴퓨터 판독 가능한 저장 매체는, 예를 들면 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 또는 기기 또는 이들의 임의의 적절한 조합일 수 있지만, 이들에 국한되는 것은 아니다. 컴퓨터 판독 가능한 저장 매체의 좀더 구체적인 예들(총망라적이지 않은 목록)에는 다음과 같은 것이 포함될 수 있다: 하나 이상의 배선을 가지는 전기적 연결, 휴대 가능한 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 리드-온리 메모리(ROM), EPROM(erasable programmable read-only memory) 또는 플래시(Flash) 메모리, 광섬유, 휴대 가능한 CD-ROM(compact disc read-only memory), 광학 저장 기기, 자기 저장 기기, 또는 이들의 임의의 적절한 조합. 본 명세서의 상황에서, 컴퓨터 판독 가능한 저장 매체는 명령어 실행 시스템, 장치, 또는 기기에 의해 또는 명령어 실행 시스템, 장치, 또는 기기와 연관되어 사용하기 위한 프로그램을 포함하거나 저장할 수 있는 임의의 실체적인 매체일 수 있다.
컴퓨터 판독 가능한 신호 매체는 예를 들면 그 내부에 베이스밴드(baseband) 또는 반송파의 부분으로서 구현된 컴퓨터 판독 가능한 프로그램 코드를 지닌 전파된 데이터 신호를 포함할 수 있다. 그러한 전파된 신호는 전자-자기, 광학 또는 이들의 임의의 적절한 조합을 포함하는 다양한 형태들 중 임의의 것을 취할 수 있지만, 이들에 국한되는 것은 아니다. 컴퓨터 판독 가능한 신호 매체는 컴퓨터 판독 가능한 저장 매체가 아니고, 명령어 실행 시스템, 장치 또는 기기에 의해 또는 명령어 실행 시스템, 장치 또는 기기와 연관되어 사용하기 위한 프로그램을 주고 받고, 전파하거나 전송할 수 있는 임의의 컴퓨터 판독 가능한 매체일 수 있다.
컴퓨터 판독 가능한 매체에 구현된 프로그램 코드는, 무선, 와이어라인(wireline), 광섬유 케이블, 무선주파수 등 또는 이들의 임의의 적절한 조합을 포함하는 임의의 적절한 매체를 사용하여 전송될 수 있고, 이러한 매체는 이들에 국한되는 것은 아니다. 본 발명의 양태들에 관한 동작들을 실행하기 위한 컴퓨터 프로그램 코드는, 객체 지향 프로그래밍 언어 및 종래의 절차 언어들을 포함하는 하나 이상의 프로그래밍 언어들의 임의의 조합으로 쓰여질 수 있다. 프로그램 코드는 완전히 사용자의 컴퓨터에서 실행되거나, 부분적으로 사용자의 컴퓨터에서, 스탠드-얼론(stand-alone) 소프트웨어 패키지로서, 사용자의 컴퓨터에서 부분적으로 및 원격 컴퓨터에서 부분적으로 또는 원격 컴퓨터나 서버에서 완전히 실행할 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 LAN(local area network) 또는 WAN(wide area network)를 포함하는 임의의 타입의 네트워크를 통해 사용자의 컴퓨터에 연결될 수 있거나, 외부 컴퓨터로의 연결(예를 들면, 인터넷 서비스 제공자를 사용하는 인터넷을 통한)이 이루어질 수 있다.
본 발명의 양태들이 본 발명의 실시예에 따른 흐름도 예시, 및/또는 방법들, 장치들(시스템들) 및 컴퓨터 프로그램 제품들을 참조하여 위에서 설명되었다. 이 점에서, 도면들에서의 흐름도와 블록도들은 아키텍처, 기능성, 및 본 발명의 다양한 실시예들에 따른 시스템들, 방법들, 및 컴퓨터 프로그램 제품들의 가능한 구현예들의 동작을 예시한다. 예를 들면, 흐름도 또는 블록도들에서의 각각의 블록은 모듈, 세그먼트, 또는 코드의 부분을 나타낼 수 있고, 이러한 코드는 명시된 논리 함수(들)를 구현하기 위한 하나 이상의 실행 가능한 명령어들을 포함한다. 일부 대안적인 구현예들에서는, 블록에 표시된 기능들이 도면들에 표시된 순서를 벗어나 일어날 수 있다는 점이 주목되어야 한다. 예를 들면, 연속해서 도시된 2개의 블록이 실제로 거의 동시에 실행될 수 있거나, 때때로 블록들이 수반된 기능성에 따라 역 순으로 실행될 수 있다. 블록도들 및/또는 흐름도 예시의 각 블록 및 블록도 및/또는 흐름도 예시에서의 블록들의 조합들이 특정된 기능들 또는 행위들을 수행하는 특별한 목적의 하드웨어 기반 시스템들, 또는 특별한 목적의 하드웨어 및 컴퓨터 명령어들의 조합들에 의해 구현될 수 있다는 점이 또한 주목되어야 한다.
또한, 흐름도 예시들 및/또는 블록도들의 각 블록과, 흐름도 예시 및/또는 블록도들에서의 블록들의 조합들이 컴퓨터 프로그램 명령어들에 의해 구현될 수 있다는 점이 또한 이해된다. 기계를 만들기 위해, 이들 컴퓨터 프로그램 명령어들은 범용 컴퓨터, 특별한 목적의 컴퓨텅, 또는 다른 프로그래밍 가능한 데이터 처리 장치의 프로세서에 제공될 수 있어, 컴퓨터나 다른 프로그래밍 가능한 데이터 처리 장치의 프로세서를 통해 실행하는 명령어들이 흐름도 및/또는 블록도 블록 또는 블록들에 명시된 기능들/행위들을 구현하기 위한 수단을 생성한다.
이들 컴퓨터 프로그램 명령어들은 또한 컴퓨터, 다른 프로그래밍 가능한 데이터 처리 장치, 또는 다른 장치들에 특별한 방식으로 기능하도록 지시할 수 있는 컴퓨터 판독 가능한 매체에 저장될 수 있어, 그러한 컴퓨터 판독 가능한 매체에 저장된 명령어들이 흐름도 및/또는 블록도 블록 또는 블록들에 명시된 기능/행위를 구현하는 명령어들을 포함하는 제작물을 만든다. 컴퓨터 프로그램 명령어들은 또한 컴퓨터, 다른 프로그래밍 가능한 데이터 처리 장치, 또는 다른 장치들에 로딩될 수 있어, 일련의 동작 단계들이 컴퓨터, 다른 프로그래밍 가능한 장치 또는 다른 장치들에서 수행될 수 있게 하여, 컴퓨터 구현된 공정을 만들어 내고, 이를 통해 컴퓨터나 다른 프로그래밍 가능한 장치에서 실행하는 명령어들이 흐름도 및/또는 블록도 블록 또는 블록들에서 명시된 기능들/행위들을 구현하기 위한 프로세스들을 제공한다.
마지막으로, 본 명세서에서 사용된 용어는 특정 실시예들을 설명하기 위한 것이고, 본 발명을 제한하려고 의도되는 것은 아니다. 본 명세서에서 사용된 바와 같이, "한", "하나의" 및 "그"와 같은 단수 형태는 전후 관계가 명백히 다름을 표시하지 않는 한 복수의 형태도 또한 포함하는 것으로 의도된다. 또한 "포함하다" 및/또는 "포함하는"이라는 용어들은 본 명세서에서 사용될 때, 진술한 특징들, 완전체들, 단계들, 동작들, 요소들, 및/또는 성분들의 존재를 명시하고, 하나 이상의 다른 특징, 완전체, 단계, 동작, 요소, 성분 및/또는 그것들의 그룹의 존재 또는 추가를 배제하지 않는다는 점이 이해되어야 한다.
아래 청구항들에서의 대응하는 구조들, 재료들, 행위들, 및 모든 수단 또는 단계에 기능 요소들을 더한 것의 등가물들은, 특별히 주장된 바와 같은 다른 주장된 요소들과의 조합으로 그 기능을 수행하기 위한 임의의 구조, 재료, 또는 행위를 포함하는 것으로 의도된다. 본 발명의 설명은 예시 및 설명의 목적을 위해 제시된 것이고, 개시된 형태로 본 발명을 총망라하거나 국한하는 것으로 의도되지 않는다. 본 발명의 범주 및 취지로부터 벗어나지 않으면서 많은 수정예 및 변형예가 이루어질 수 있음이 당업자에게 명백하게 된다. 본 발명의 원리들과 실제 적용예를 가장 잘 설명하기 위해, 그리고 당업자로 하여금 계획된 특별한 용도에 적합하게 된 다양한 수정예들을 지닌 다양한 실시예들에 관해 본 발명을 이해할 수 있도록 실시예가 선택되고 설명되었다.
이와 같이 본 출원의 발명을 상세히 그리고 실시예들을 참조하여 설명함으로써, 다음과 같이 첨부된 청구항들에서 규정된 본 발명의 범주로부터 벗어나지 않으면서 수정예 및 변형예가 만들어질 수 있음이 분명해진다.

Claims (15)

  1. 커미트 민감도 시험 방법으로서,
    상이한 테스트들의 풀 세트를 애플리케이션에 적용하는 단계;
    상기 상이한 테스트들의 풀 세트의 적용을 모니터하여, 상기 상이한 테스트들의 풀 세트에 의해 영향을 받은 상기 애플리케이션의 파일들의 목록을 적용된 각각의 테스트에 관해 결정하는 단계;
    상기 각각의 파일과, 상기 각각의 파일에 영향을 미치는 상기 상이한 테스트들의 풀 세트 중 대응하는 것들의 역 맵핑(mapping)을 발생시키는 단계로서, 상기 역 맵핑은 다수의 엔트리(entry)가 있는 표(table)를 포함하고, 상기 엔트리 각각은 상기 애플리케이션의 파일들 중 개별 파일과 대응하는 배열(array) 데이터 구조를 열거하고, 상기 대응하는 배열 데이터 구조는 상기 배열에서의 테스트 중 연관된 것을 적용하는 동안에 열렸던 개별 파일들에 기초한 개별 파일들 중 연관된 것에 영향을 미치는 것으로 판단되는 풀 세트에서의 상이한 테스트 중 상이한 것들의 것인, 역 맵핑을 발생시키는 단계;
    테스트들의 풀 세트의 적용 결과 만들어진 에러(error)들을 표시하는 애플리케이션에 상이한 테스트들의 상기 풀 세트를 적용한 결과를 기록하는 단계;
    상기 파일들 중 하나에서의 수정을 검출하는 것에 반응하여,
    (1) 상기 수정이 검출되는 파일들 중 하나에 기초한 상기 역 맵핑에서, 상기 파일들 중 수정된 것에 영향을 미치는 상이한 테스트들의 풀 세트의 서브세트만을 식별하고,
    (2) 상기 파일들 중 수정된 것에 상이한 테스트들의 풀 세트의 서브세트만을 적용하며,
    (3) 상기 상이한 테스트들의 풀 세트의 서브세트를 적용한 결과 만들어진 에러들을 표시하는 상이한 테스트들의 풀 세트의 서브세트의 적용 결과를 기록하고,
    (4) 상이한 테스트들의 풀 세트의 서브세트의 적용한 기록된 결과를 상이한 테스트들의 풀 세트를 적용한 기록된 결과와 비교하며,
    (5) 상기 파일들 중 하나에 수정에 의해 만들어진 것으로 판단되는 비교에 기초한 상이한 테스트들의 풀 세트의 서브세트를 적용한 기록된 결과들의 것들만을 식별하고,
    (6) 상기 파일들 중 하나의 수정에 의해 만들어진 것으로 판단된, 식별된 기록된 결과들을 포함하는 비교의 보고를 발생시키는 단계를 포함하는, 커미트 민감도 시험 방법.
  2. 제1 항에 있어서,
    상기 애플리케이션은 웹(Web) 애플리케이션인, 커미트 민감도 시험 방법.
  3. 제2 항에 있어서,
    상기 파일들은 마크업 랭귀지(markup language) 파일들인, 커미트 민감도 시험 방법.
  4. 제1 항에 있어서,
    상기 맵핑은 상이한 파일들과, 상기 상이한 파일들 각각에 영향을 미치는 테스트들 중 대응하는 것들의 표인, 커미트 민감도 시험 방법.
  5. 커미트 민감도 시험용으로 구성된 애플리케이션 시험 시스템으로서,
    메모리와 적어도 하나의 프로세서를 구비한 적어도 하나의 컴퓨터를 포함하는 호스트 컴퓨팅 시스템;
    상기 호스트 컴퓨팅 시스템의 상기 메모리에서 실행하고, 애플리케이션의 상이한 파일들에 복수의 테스트를 적용하도록 구성된 시험 도구; 및
    상기 시험 도구에 결합된 커미트 민감도 시험 모듈을 포함하고,
    상기 모듈은 애플리케이션에 상이한 테스트들의 풀 세트를 적용하고, 적용된 각각의 테스트에 관해 상기 상이한 테스트들의 풀 세트에 의해 영향을 받은 애플리케이션의 파일들의 목록을 결정하고 상기 각각의 파일들과 상기 각각의 파일들에 영향을 미치는 상기 상이한 테스트들의 풀 세트 중 대응하는 것들의 역 맵핑을 발생시키기 위해, 상이한 테스트들의 풀 세트의 적용을 모니터하며, 상기 테스트들의 풀 세트의 적용 결과 만들어진 에러들을 표시하는 애플리케이션에 상이한 테스트들의 상기 풀 세트를 적용한 결과를 기록하고,
    (1) 수정이 검출되는 파일들 중 하나에 기초한 상기 역 맵핑에서, 상기 파일들 중 수정된 것에 영향을 미치는 상이한 테스트들의 풀 세트의 서브세트만을 식별하고,
    (2) 상기 파일들 중 수정된 것에 상이한 테스트들의 풀 세트의 서브세트만을 적용하며,
    (3) 상기 상이한 테스트들의 풀 세트의 서브세트를 적용한 결과 만들어진 에러들을 표시하는 상이한 테스트들의 풀 세트의 서브세트의 적용 결과를 기록하고,
    (4) 상이한 테스트들의 풀 세트의 서브세트의 적용한 기록된 결과를 상이한 테스트들의 풀 세트를 적용한 기록된 결과와 비교하며,
    (5) 상기 파일들 중 하나에 수정에 의해 만들어진 것으로 판단되는 비교에 기초한 상이한 테스트들의 풀 세트의 서브세트를 적용한 기록된 결과들의 것들만을 식별하고,
    (6) 상기 파일들 중 하나의 수정에 의해 만들어진 것으로 판단된, 식별된 기록된 결과들을 포함하는 비교의 보고를 발생시키는 것에 의해, 상기 파일들 중 하나에 대한 수정에 반응하기 위하여, 상기 메모리에서의 실행시 인에이블된 프로그램 코드를 포함하며,
    상기 역 맵핑은 다수의 엔트리가 있는 표를 포함하고, 상기 엔트리 각각은 상기 애플리케이션의 파일들 중 개별 파일과, 대응하는 배열 데이터 구조를 열거하며, 상기 대응하는 배열 데이터 구조는 상기 배열에서의 테스트 중 연관된 것을 적용하는 동안에 열렸던 개별 파일들에 기초한 개별 파일들 중 연관된 것에 영향을 미치는 것으로 판단되는 풀 세트에서의 상이한 테스트 중 상이한 것들의 것인, 애플리케이션 시험 시스템.
  6. 제5 항에 있어서,
    상기 애플리케이션은 웹 애플리케이션인, 애플리케이션 시험 시스템.
  7. 제6 항에 있어서,
    상기 파일들은 마크업 랭귀지 파일들인, 애플리케이션 시험 시스템.
  8. 제5 항에 있어서,
    상기 맵핑은 상이한 파일들과, 상기 상이한 파일들 각각에 영향을 미치는 테스트들 중 대응하는 것들의 표인, 애플리케이션 시험 시스템.
  9. 커미트 민감도 시험용 컴퓨터 프로그램 제품으로서,
    컴퓨터 판독 가능한 프로그램 코드가 구현된 메모리 장치를 포함하는 컴퓨터 판독 가능한 저장 매체를 포함하고, 상기 컴퓨터 판독 가능한 프로그램 코드는,
    상이한 테스트들의 풀 세트를 애플리케이션에 적용하기 위한 컴퓨터 판독 가능한 프로그램 코드;
    상기 상이한 테스트들의 풀 세트에 의해 영향을 받은 애플리케이션의 파일들의 목록을 적용될 각각의 테스트에 관해 결정하기 위해, 상기 상이한 테스트들의 풀 세트의 적용을 모니터하기 위한 컴퓨터 판독 가능한 프로그램 코드;
    각 파일들과, 상기 각 파일들에 영향을 미치는 상기 상이한 테스트들의 풀 세트 중 대응하는 것들의 역 맵핑을 발생시키기 위한 컴퓨터 판독 가능한 프로그램 코드;
    상기 테스트들의 풀 세트의 적용 결과 만들어진 에러들을 표시하는 어플리케이션에 상이한 테스트들의 풀 세트를 적용한 결과를 기록하기 위한 컴퓨터 판독 가능한 프로그램 코드; 및
    상기 파일들 중 하나에 대한 수정을 검출하는 것에 반응하여,
    (1) 상기 수정이 검출되는 파일들 중 하나에 기초한 상기 역 맵핑에서, 상기 파일들 중 수정된 것에 영향을 미치는 상이한 테스트들의 풀 세트의 서브세트만을 식별하고,
    (2) 상기 파일들 중 수정된 것에 상이한 테스트들의 풀 세트의 서브세트만을 적용하며,
    (3) 상기 상이한 테스트들의 풀 세트의 서브세트를 적용한 결과 만들어진 에러들을 표시하는 상이한 테스트들의 풀 세트의 서브세트의 적용 결과를 기록하고,
    (4) 상이한 테스트들의 풀 세트의 서브세트의 적용한 기록된 결과를 상이한 테스트들의 풀 세트를 적용한 기록된 결과와 비교하며,
    (5) 상기 파일들 중 하나에 수정에 의해 만들어진 것으로 판단되는 비교에 기초한 상이한 테스트들의 풀 세트의 서브세트를 적용한 기록된 결과들의 것들만을 식별하고,
    (6) 상기 파일들 중 하나의 수정에 의해 만들어진 것으로 판단된 식별된 기록된 결과들을 포함하는 비교의 보고를 발생시키기 위한 컴퓨터 판독 가능한 프로그램 코드를 포함하며,
    상기 역 맵핑은 다수의 엔트리가 있는 표를 포함하고, 상기 엔트리 각각은 상기 애플리케이션의 파일들 중 개별 파일과, 대응하는 배열 데이터 구조를 열거하며, 상기 대응하는 배열 데이터 구조는 상기 배열에서의 테스트 중 연관된 것을 적용하는 동안에 열렸던 개별 파일들에 기초한 개별 파일들 중 연관된 것에 영향을 미치는 것으로 판단되는 풀 세트에서의 상이한 테스트 중 상이한 것들의 것인, 컴퓨터 프로그램 제품.
  10. 제9 항에 있어서,
    상기 애플리케이션은 웹 애플리케이션인, 컴퓨터 프로그램 제품.
  11. 제10 항에 있어서,
    상기 파일들은 마크업 랭귀지 파일들인, 컴퓨터 프로그램 제품.
  12. 제9 항에 있어서,
    상기 맵핑은 상이한 파일들과, 상기 상이한 파일들 각각에 영향을 미치는 테스트들 중 대응하는 것들의 표인, 컴퓨터 프로그램 제품.
  13. 삭제
  14. 삭제
  15. 삭제
KR1020130132500A 2013-02-13 2013-11-01 커미트 민감도 테스트들 KR101976629B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/766,763 US9842044B2 (en) 2013-02-13 2013-02-13 Commit sensitive tests
US13/766,763 2013-02-13

Publications (2)

Publication Number Publication Date
KR20140102113A KR20140102113A (ko) 2014-08-21
KR101976629B1 true KR101976629B1 (ko) 2019-05-09

Family

ID=51261294

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130132500A KR101976629B1 (ko) 2013-02-13 2013-11-01 커미트 민감도 테스트들

Country Status (4)

Country Link
US (1) US9842044B2 (ko)
KR (1) KR101976629B1 (ko)
CA (1) CA2811617C (ko)
FR (1) FR3002053B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9389986B2 (en) * 2013-05-06 2016-07-12 Microsoft Technology Licensing, Llc Identifying impacted tests from statically collected data
DE112013007271T5 (de) * 2013-07-23 2016-04-14 Landmark Graphics Corporation Automatisierte Erstellung geskripteter und manueller Testfälle
US11748245B2 (en) * 2018-07-27 2023-09-05 Oracle International Corporation Object-oriented regression-candidate filter
CN110908898B (zh) * 2019-11-06 2023-07-21 贝壳找房(北京)科技有限公司 生成测试方案的方法及系统
KR102344661B1 (ko) 2020-12-29 2021-12-30 쿠팡 주식회사 예상 결과값을 토대로 정보를 제공하는 방법 및 이를 이용한 연산 장치
KR20240036284A (ko) * 2022-09-13 2024-03-20 쿠팡 주식회사 전자 장치 및 그의 정보 관리 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004530213A (ja) 2001-05-15 2004-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散トランザクション中で複数のdbmsにわたる分散セーブポイントを管理するための方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594820B1 (en) * 1999-09-28 2003-07-15 Sun Microsystems, Inc. Method and apparatus for testing a process in a computer system
US7568183B1 (en) * 2005-01-21 2009-07-28 Microsoft Corporation System and method for automation testing and validation
US7614042B1 (en) * 2005-01-21 2009-11-03 Microsoft Corporation System and method for selecting applicable tests in an automation testing system
US20070011544A1 (en) * 2005-06-15 2007-01-11 Hsiu-Huan Shen Reprogramming of tester resource assignments
US20070101196A1 (en) * 2005-11-01 2007-05-03 Rogers William A Functional testing and verification of software application
US20070180369A1 (en) * 2006-01-31 2007-08-02 Carli Connally Method and apparatus for automatically formatting data based on a best match test result type
US8276123B1 (en) * 2008-07-22 2012-09-25 Juniper Networks, Inc. Adaptive regression test selection within testing environments
CH702260B1 (de) * 2008-09-08 2014-06-30 Credit Suisse Securities Usa Llc Umgebungsentwicklungsvorrichtung.
US8423967B2 (en) * 2009-07-01 2013-04-16 International Business Machines Corporation Automated level-based targeted test configuration
US8555253B2 (en) 2009-11-02 2013-10-08 Hewlett-Packard Development Company, L.P. System and method for monitoring exploratory testing by a plurality of testers
US8694966B2 (en) * 2010-03-04 2014-04-08 Oracle International Corporation Identifying test cases to be run after changes to modules of a software application
SG183950A1 (en) * 2010-03-09 2012-10-30 Happy Cloud Inc Data streaming for interactive decision-oriented software applications
US8429459B2 (en) * 2010-07-28 2013-04-23 Sap Ag Use of attribute sets for test entity identification during software testing
US8560819B2 (en) * 2011-05-31 2013-10-15 Oracle International Corporation Software execution using multiple initialization modes
US9104444B2 (en) * 2011-11-30 2015-08-11 Verizon Patent And Licensing Inc. Mobile application configuration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004530213A (ja) 2001-05-15 2004-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散トランザクション中で複数のdbmsにわたる分散セーブポイントを管理するための方法

Also Published As

Publication number Publication date
CA2811617A1 (en) 2014-08-13
US9842044B2 (en) 2017-12-12
CA2811617C (en) 2018-09-04
US20140229923A1 (en) 2014-08-14
FR3002053A1 (fr) 2014-08-15
KR20140102113A (ko) 2014-08-21
FR3002053B1 (fr) 2019-04-05

Similar Documents

Publication Publication Date Title
US10552301B2 (en) Completing functional testing
KR101976629B1 (ko) 커미트 민감도 테스트들
US9886375B2 (en) Automated execution of functional test scripts on a remote system within a unit testing framework
US8793578B2 (en) Automating execution of arbitrary graphical interface applications
US9448916B2 (en) Software test automation systems and methods
WO2018010552A1 (zh) 测试方法和装置
US8694967B2 (en) User interface inventory
US10452520B2 (en) Association between a test case and source code
US9026998B2 (en) Selecting relevant tests to quickly assess code stability
US8978009B2 (en) Discovering whether new code is covered by tests
US10049031B2 (en) Correlation of violating change sets in regression testing of computer software
WO2019085061A1 (zh) 基金系统自动化测试管理方法、装置、设备及存储介质
US7512933B1 (en) Method and system for associating logs and traces to test cases
US11321081B2 (en) Affinity recommendation in software lifecycle management
US10565091B2 (en) Method and apparatus for automatic cross-system program debugging
US9710289B2 (en) Rapid configuration of software
KR20200080541A (ko) 프로그램 경로에 기반한 소프트웨어 취약점 검출 장치 및 방법
CN103425576A (zh) 信息反馈的方法及终端
US8997048B1 (en) Method and apparatus for profiling a virtual machine
CN115454856B (zh) 多应用的安全检测方法、装置、介质及电子设备
US7765541B1 (en) Minimization methodology
CN108763092B (zh) 一种基于交叉验证的代码缺陷检测方法及装置
CN103914377A (zh) 接口测试方法及装置
CN114064510A (zh) 功能测试方法、装置、电子设备和存储介质
US20160275002A1 (en) Image capture in application lifecycle management for documentation and support

Legal Events

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