• 제목/요약/키워드: 소프트웨어 테스팅

검색결과 351건 처리시간 0.023초

소프트웨어 R&D에서 산출물(문서와 프로그램) 검증을 위한 활동 (Describing Activities to Verify Artifacts(Documents and Program) in Software R&D)

  • 아마르멘드;이은철;이정원;이병정
    • 인터넷정보학회논문지
    • /
    • 제17권2호
    • /
    • pp.39-47
    • /
    • 2016
  • 일반적으로 소프트웨어 R&D 프로젝트에서는 프로그램 코드와 문서 산출물이 생성된다. 이러한 소프트웨어 R&D 산출물들은 두가지로 분류할 수 있다. 첫 번째 분류는 연차 실적 계획서, 연구개발과제계획서, 연구성과보고서, 연구 노트와 같은 소프트웨어 연구 산출물들이 포함된다. 그리고 다른 분류는 소프트웨어 요구사항 명세서, 소프트웨어 설계 명세서, 소프트웨어 테스트 계획서, 프로그램 코드와 같은 소프트웨어 개발 산출물들이다. 프로젝트의 진행 방향을 확인할 때 프로그램 코드를 테스트하고 문서 산출물을 검증하는 것이 중요하다. 또한 연구 문서와 개발 산출물 사이에 완전성, 일관성 등의 관계를 확인해야 한다. 그러한 검증과 테스트는 프로젝트 관리자와 연구자들이 프로젝트를 진행하는 동안 올바르게 진행하고 있다는 확신을 준다. 그러므로 본 연구에서는 소프트웨어 R&D에서 생성되는 문서와 프로그램을 검증하는 프로세스를 제안한다. 본 프로세스는 문서 산출물을 검토하고 프로그램 코드를 테스트하는 활동으로 구성되어 있으며, Essence를 사용하여 정의된다. 그리고 본 연구에서 제안하는 프로세스의 효율성을 사례 연구를 통해 보인다.

로그 및 지수형 결함 발생률에 따른 소프트웨어 신뢰성 모형에 관한 신뢰도 성능분석 연구 (The Study for Performance Analysis of Software Reliability Model using Fault Detection Rate based on Logarithmic and Exponential Type)

  • 김희철;신현철
    • 한국정보전자통신기술학회논문지
    • /
    • 제9권3호
    • /
    • pp.306-311
    • /
    • 2016
  • 소프트웨어 개발과정에서 소프트웨어 신뢰성은 매우 중요한 이슈이다. 소프트웨어 고장분석을 위한 유한고장 비동질적인 포아송과정에서 고장발생률이 상수이거나, 단조 증가 또는 단조 감소하는 패턴을 가질 수 있다. 본 연구에서는 소프트웨어 제품 테스팅 과정에서 관측고장시간에 근거한 로그 및 지수형 결함 발생률을 고려한 소프트웨어 신뢰성 모형에 대하여 연구 하였다. 신뢰성 분야에서 많이 사용되는 Goel-Okumoto모형을 이용한 새로운 로그 및 지수형 결함 확률을 반영한 문제를 제시하였다. 수명분포는 유한고장 비동질적인 포아송과정을 이용하고 모수추정법은 최우 추정법을 이용 하였다. 따라서 본 논문에서는 로그 및 지수형 결함발생률을 고려한 소프트웨어 모형분석을 위하여 소프트웨어 고장 시간간격 자료를 적용하여 비교 분석하였다. 본 연구에서 제안된 방법은 로그 및 지수형 결함발생률을 고려한모형도 신뢰성 측면에서 효율적이기 때문에 (결정계수가 80% 이상) 이 분야에서 기존 모형의 하나의 대안으로 사용할 수 있음을 확인 할 수 있었다. 이 연구를 통하여 소프트웨어 개발자들은 다양한 수명분포를 고려함으로서 소프트웨어 고장형태에 대한 사전지식을 파악하는데 도움을 줄 수 있으리라 사료 된다.

가치기반 접근법을 통한 테스트 케이스 우선순위 기법 (A Test Case Prioritization Technique via Value-Based Approach)

  • 박현철;류호연;백종문
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권5호
    • /
    • pp.353-360
    • /
    • 2009
  • 한번 개발된 소프트웨어는 긴 수명을 가지며, 결함이나 사용자 요구사항의 변경, 환경의 변화등의 원인으로 인한 수많은 모듈의 수정을 통해 진화한다. 소프트웨어의 진화와 더불어, 이러한 많은 모듈의 추가와 수정에 의한 소프트웨어의 다양한 버전의 생성은 소프트웨어 품질 향상을 가로막는 주요 요인중의 하나이다. 한편 회귀테스트는 이러한 소프트웨어의 변경에 따른 초점을 둔 테스트이지만, 소프트웨어가 여러 버전을 거쳐 진화함에 따라 많은 수의 테스트 케이스의 추가 및 수정과 더불어 테스트 케이스의 전체 숫자가 급격히 증가함에 따라 비용이 많이 들기에 쉽게 수행하지 못하는 테스트이다. 이에 테스트케이스 우선순위화 기법이 등장하여 회귀테스트의 수행을 지원하였다. 그러나, 테스트 케이스 우선순위화기법에서 사용되는 우선순위의 기준이 가치중립적이거나 가치를 고려하더라도 특정한 단일 요인만을 고려하여 그 활용이 제한적이었다. 논문에서, 우리는 비용과 결함 심각도에 기반한 히스토리컬 가치 기반의 접근법을 제시하며, 이는 기존의 비용 인식 테스트 케이스 우선순위화 기법에서의 현재의 비용 및 결함 심각도를 예측하기 위하여 히스토리컬 정보를 사용하는 접근법이다. 본 논문의 공헌으로서, 제안된 접근법은 테스트의 이해관계자들이 어떻게 히스토리컬 가치가 가치의 관점에서 테스트 효과성의 향상을 위해 사용되고 있는가를 알 수 있도록 돕는 다는데 있다. 결과적으로, 회귀 테스트를 수행하는 소프트웨어 테스터들은 그들의 테스트 케이스를 보다 더 효과적으로 우선순위 화할 수 있기에 그들의 테스트를 통한 테스트 효과성은 향상될 수 있다.

이더리움 스마트 컨트랙트 상태 모니터링 시스템의 설계 및 구현 (Design and Implementation of Ethereum Smart Contract State Monitoring System)

  • 홍준기;김순태;류덕산
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제28권2호
    • /
    • pp.1-6
    • /
    • 2019
  • 블록체인 생태계에는 다양한 이해관계자들이 존재한다. 이더리움이 등장한 이후 스마트 컨트랙트를 활용한 거래가 많이 이루어지게 되었고 개발자뿐만 아니라 투자자, 은행, 기업, 일반 사용자 등등 더욱 폭넓은 이해관계자들이 참여하고 활동하고 있다. 하지만 다양한 이해관계자가 스마트 컨트랙트의 상태를 확인하기 위해서는 어렵고 복잡한 과정을 거쳐야 한다는 문제점을 가지고 있다. 상태 확인이 어렵게 된다면 스마트 컨트랙트에 대한 신뢰도가 낮아지게 되어 활용도가 낮아질 것이다. 개발자에게 있어서도 상태 확인이 어렵고 복잡하다면 자신이 개발한 스마트 컨트랙트의 테스팅과 디버깅을 하는데 어려움을 겪어 높은 품질을 제공하기 힘들 것이다. 본 연구에서는 다양한 이해관계자와 개발자들이 스마트 컨트랙트의 상태를 쉽고 지속적으로 확인할 수 있으며 히스토리 데이터를 활용하여 분석할 수 있도록하는 이더리움 스마트 컨트랙트 상태 모니터링 시스템의 설계 및 구현 방법을 제안한다.

소프트웨어 품질측정에 의한 상용컴포넌트 선정방법에 관한 연구 (A Study on Selection Method of COTS Component Based on the Software Quality Measurement)

  • 오기성;이남용;류성열
    • 정보처리학회논문지D
    • /
    • 제9D권5호
    • /
    • pp.897-902
    • /
    • 2002
  • 소프트웨어 기술의 급속한 발전으로 컴포넌트 개발방법론은 많이 연구되었으나 컴포넌트의 품질을 구매자 관점에서 종합적이고 체계적으로 비교 및 평가하는 선정기법에 대한 연구가 미약한 상황이다. 지금까지 대부분의 컴포넌트 품질평가 방법은 객체지향의 척도를 기반으로 한 개발자 관점의 평가 방법이었으나 본 논문에서는 구매자 관점에서 최적의 상용컴포넌트를 선정하기 위한 기법으로 MCDM(Multiple Criteria Decision Making)기법을 활용한 4단계 선정 절차와 평가기준을 제시하였다. 상용컴포넌트의 품질은 국제표준(IS0/IEC 9126)에서 규정하고 있는 6가지 중요한 품질 특성 중에서 기능성, 효율성, 사용성을 고려하였으며 현재 인터넷상에서 판매하고 있는 상용 EJB 컴포넌트들에 대한 실증적 분석을 통하여 본 논문에서 제시한 상용컴포넌트 선정기법이 최적의 상용컴포넌트를 선택하는데 적용 가능한 것임을 보여준다.

트윗의 내용과 기능 그리고 관여도가 트윗 신뢰도와 태도에 미치는 영향 (Influence on the Tweet Credibility and Attitude Toward Tweet of Tweet Content, Function and Involvement)

  • 이현지;정동훈
    • 한국콘텐츠학회논문지
    • /
    • 제13권6호
    • /
    • pp.137-147
    • /
    • 2013
  • 본 연구에서는 타인의 트윗을 볼 때 어떠한 변인이 트윗 신뢰도와 태도에 영향을 주는지 살펴보고자 내용(정보/의견), 기능(없음/URL/RT) 그리고 관여도(저/고)를 독립변인으로 하여 실험연구를 했다. 설문지, 인터뷰 그리고 유저빌리티 테스팅 소프트웨어 등 세 가지 연구방법을 이용한 결과, 유저빌리티 소프트웨어를 통한 직접관찰에서는 실험 참여자들이 트윗 내용, 기능 그리고 관여도가 읽는 순서, URL 클릭여부, RT시 원래 트윗 작성자 확인여부 등에 영향을 주지 않음을 확인하였고, 트윗 신뢰도에서는 내용에서만 유의미한 차이를 그리고 트윗 태도에서는 트윗 내용, 기능 그리고 관여도 간에 유의미한 상호작용 효과가 있는 것으로 나타났다. 마지막으로 인터뷰를 통해서 의견 보다는 정보가, 그리고 URL>RT>아무 것도 없는 정보나 의견 순으로 더 신뢰할 만하다는 결과가 나왔는데, 그 이유는 개인 의견에 대한 한계와 URL과 RT 등을 통한 정보원에 대한 신뢰 때문인 것으로 보인다. 수많은 트윗 가운데 제한된 트윗에 노출될 수밖에 없는 상황에서 이러한 결과는 트윗 송신자들의 메시지 작성 형태에 대한 중요한 함의를 보여준다.

예외 흐름 분석을 정상 흐름 분석과 분리하여 Java프로그램에 대한 제어 흐름 그래프를 생성하는 방법 (A Method to Construct Control Flow Graphs for Java Programs by Decoupling Exception Flow Analysis from Normal Flow Analysis)

  • 조장우;창병모
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권5호
    • /
    • pp.643-650
    • /
    • 2004
  • 제어 흐름 그래프는 자료 흐름 분석과 제어 종속 분석과 같은 프로그램 분석 분야와 프로그램 슬라이싱과 테스팅과 같은 소프트웨어공학 분야에서 필요로 하는 정보이다. 이러한 분석들이 안전하고 유용하기 위해서는 제어 흐름 그래프는 예외 흐름을 포함해야 한다. 기존의 방법은 예외 흐름과 정상 흐름의 상호 의존적인 관계로 인해 두 흐름을 동시에 계산하면서 제어 흐름 그래프를 생성한다. 그러나 실제 Java 프로그램을 조사해 본 결과 두 흐름이 상호 의존적으로 필요한 경우는 거의 발생하지 않음을 알 수 있었다. 그러므로 정상 흐름과 예외 흐름을 분리해서 계산할 수 있음을 알았고, 예외 흐름을 계산하는 예외 흐름 분석을 제안한다. 그리고 예외 흐름을 표현하는 예외 흐름 그래프를 제안한다. 그리고 제어 흐름 그래프는 예외 흐름 그래프와 정상 흐름 그래프를 합병함으로써 생성될 수 있음을 보인다.

외주 개발 웹 어플리케이션 테스팅의 보안성 강화 방안 (Enhanced Security Measurement of Web Application Testing by Outsourcing)

  • 최경호;이동휘
    • 융합보안논문지
    • /
    • 제15권4호
    • /
    • pp.3-9
    • /
    • 2015
  • 웹 서비스를 가능하게 하는 웹 어플리케이션은 내부 개발자가 보안 의식을 갖고 만든다면 일정 수준 이상의 안전성을 보여준다. 하지만 외주 개발의 경우, 품질의 우수성보다는 요구 사항을 충족하고 요청 받은 기능을 실행시키는데 주안점이 있기 때문에 안전성이 우선되지 못한다. 따라서, 본 논문에서는 소프트웨어에 대한 객관적이고도 독립적인 시각으로의 평가를 가능하게 해주는 소프트웨어 테스트 절차를 보안 중심으로 개선하였다. 제안된 모델은 웹 어플리케이션의 외주 개발 시에도 초기부터 보안을 고려할 수 있게 해주며, 특히 보안 인식이 부족한 상황에서 작성된 프로그램의 수정 소요 발생으로 인한 개발 일정 지연 사태를 미연에 방지할 수 있는 효과가 있음을 확인하였다. 이러한 결과는 자원관리체계를 중심으로 웹 어플리케이션에 대한 소요가 증가하고 있는 국방 분야에서도 엄격한 테스트를 토대로 보안 취약점을 지닌 채 서비스되는 것을 방지할 수 있기에 활용이 가능할 것으로 판단된다.

CNN 모델 평가를 위한 이미지 데이터 증강 도구 개발 (Development of an Image Data Augmentation Apparatus to Evaluate CNN Model)

  • 최영원;이영우;채흥석
    • 소프트웨어공학소사이어티 논문지
    • /
    • 제29권1호
    • /
    • pp.13-21
    • /
    • 2020
  • CNN 모델이 이미지 분류와 객체 탐지 등 여러 분야에 활용됨에 따라, 자율주행자동차와 같이 안전필수시스템에 사용되는 CNN 모델의 성능은 신뢰할 수 있어야 한다. 이에 CNN 모델이 다양한 환경에서도 성능을 유지하는지 평가하기 위해 배경을 변경한 이미지를 생성하는 이미지 데이터 증강 도구를 개발한다. 이미지 데이터 증강 도구에 객체가 존재하는 이미지를 입력하면, 해당 이미지로부터 객체 이미지를 추출한 후 수집한 배경 이미지 내에 객체 이미지를 합성하여 새로운 이미지를 생성한다. CNN 모델 성능 평가 방법으로 개발한 도구를 사용하여 기존 테스트 이미지로부터 새로운 테스트 이미지를 생성하고, 생성한 새로운 테스트 이미지로 CNN 모델을 평가한다. 사례 연구로 Pascal VOC2007 테스트 데이터로부터 새로운 테스트 이미지를 생성하고, 새로운 테스트 이미지로 YOLOv3 모델을 평가하였다. 그 결과 기존 테스트 이미지의 mAP 보다 새로운 테스트 이미지의 mAP가 약 0.11 더 낮아지는 것을 확인하였다.

프로세스 영역 의존성을 이용한 TMMi 레벨 1 단계화 방안 (A Decomposition Method for TMMi Maturity Level 1 using Process Area Dependency Analysis)

  • 김선준;류성열;오기성
    • 한국컴퓨터정보학회논문지
    • /
    • 제15권12호
    • /
    • pp.189-196
    • /
    • 2010
  • 국내 소프트웨어 테스트 성숙도 수준은 TMMi 기준으로 대부분 레벨 2 이하다. 성숙도 개선의 첫째 조건은 현재 성숙도 수준을 정확히 아는데 있다. TMMi에는 레벨 1 정의가 없지만, 같은 레벨 1 조직이라도 성숙도 수준은 분명 차이가 있다. 이에 본 연구는 레벨 1 조직의 성숙도 수준을 정확히 파악하고, 레벨 1 조직이 개선 노력을 줄이면서 레벨 2를 달성하는 방안을 제시한다. 레벨 2에서 의존성이 있는 서브 프랙티스를 해당 프로세스 영역과 그룹화해서 레벨 1을 3단계로 새롭게 정의했다. 의존성을 이용한 이유는 의존성 있는 프랙티스 끼리 묶어 프로세스를 개선하면 프랙티스 여러 개를 한꺼번에 달성하는 효과를 얻을 수 있기 때문이다. 3단계화 적정성을 검증해서 레벨 1 조직의 성숙도 수준을 정확히 평가했고, 다음 단계 개선 목표와 방향을 구체적으로 설정할 수 있음을 알았다.