일반적으로 새로운 SSD(Solide State Drive)를 개발할 때는 이전 세대 제품의 소프트웨어 플랫폼을 재사용하게 된다. 따라서, 이전 세대 제품을 평가할 때 사용했던 동일 테스트 케이스를 이용하여 새로운 제품을 평가하면 여러 가지 이점이 있을 수 있지만, 우선순위 또는 가중치가 고려되지 않음으로 인해 평가 리소스의 사용에 비효율성이 존재하게 된다. 이와 같은 시간적, 공간적인 리소스 낭비에 의한 비효율 발생을 방지하기 위해 새로운 방법을 제안한다. 이전 세대 제품의 평가 데이터 분석을 통해서, 불량을 검출해 낼 수 있는 가장 높은 확률의 테스트 케이스의 조합을 찾아내고, 이를 활용함으로써, 평가에 사용되는 리소스의 낭비를 최소화 시키는 방법이다. 소프트웨어가 재사용될 경우, 플랫폼 코드를 베이스로 두고, 수정 또는 추가되는 모듈의 코드가 플랫폼 코드에 통합되는 특징을 가진다. 이러한 특징 때문에 코드가 통합되는 부분에 이전과 유사한 타입의 불량이 다수 존재하게 되는 것이며, 기존 평가에서 가장 높은 확률의 불량 검출율을 가진 평가 조합을 검증에 적용함으로써 내제되어 있는 불량을 조기에 검출할 수 있게 되는 것이다. 이와 같이, 다음 세대 제품의 불량들을 조기에 검출할 수 있다면, 이는 불량 개선에 드는 비용을 최소화 시킬 수 있다는 것을 의미한다.
일반적으로 새로운 SSD(Solide State Drive)를 개발할 때는 이전 세대 제품의 소프트웨어 플랫폼을 재사용하게 된다. 따라서, 이전 세대 제품을 평가할 때 사용했던 동일 테스트 케이스를 이용하여 새로운 제품을 평가하면 여러 가지 이점이 있을 수 있지만, 우선순위 또는 가중치가 고려되지 않음으로 인해 평가 리소스의 사용에 비효율성이 존재하게 된다. 이와 같은 시간적, 공간적인 리소스 낭비에 의한 비효율 발생을 방지하기 위해 새로운 방법을 제안한다. 이전 세대 제품의 평가 데이터 분석을 통해서, 불량을 검출해 낼 수 있는 가장 높은 확률의 테스트 케이스의 조합을 찾아내고, 이를 활용함으로써, 평가에 사용되는 리소스의 낭비를 최소화 시키는 방법이다. 소프트웨어가 재사용될 경우, 플랫폼 코드를 베이스로 두고, 수정 또는 추가되는 모듈의 코드가 플랫폼 코드에 통합되는 특징을 가진다. 이러한 특징 때문에 코드가 통합되는 부분에 이전과 유사한 타입의 불량이 다수 존재하게 되는 것이며, 기존 평가에서 가장 높은 확률의 불량 검출율을 가진 평가 조합을 검증에 적용함으로써 내제되어 있는 불량을 조기에 검출할 수 있게 되는 것이다. 이와 같이, 다음 세대 제품의 불량들을 조기에 검출할 수 있다면, 이는 불량 개선에 드는 비용을 최소화 시킬 수 있다는 것을 의미한다.
Usually, a new SSD (Solide State Drive) product is developed based on the software platform of the previous product. Therefore, when using the same test case was used to evaluate the previous generation evaluation of new products are a number of advantages may be, but a priority or weight is the ine...
Usually, a new SSD (Solide State Drive) product is developed based on the software platform of the previous product. Therefore, when using the same test case was used to evaluate the previous generation evaluation of new products are a number of advantages may be, but a priority or weight is the inefficiency exists in the use of the evaluation resources due to not considered. A new method is proposed to prevent the waste of testing resources. Through the analysis of the evaluation data for the previous products, the combinations of testing cases with the highest probability for defect detections are identified. When the software is to be reused, most part of the base software platform is rarely modified and only some modules are added or modified. So, the whole software system may have similar types of defects with the previous products. By utilizing the evaluation data for the previous proucts, we can detect defects at an early stage.
Usually, a new SSD (Solide State Drive) product is developed based on the software platform of the previous product. Therefore, when using the same test case was used to evaluate the previous generation evaluation of new products are a number of advantages may be, but a priority or weight is the inefficiency exists in the use of the evaluation resources due to not considered. A new method is proposed to prevent the waste of testing resources. Through the analysis of the evaluation data for the previous products, the combinations of testing cases with the highest probability for defect detections are identified. When the software is to be reused, most part of the base software platform is rarely modified and only some modules are added or modified. So, the whole software system may have similar types of defects with the previous products. By utilizing the evaluation data for the previous proucts, we can detect defects at an early stage.
본 논문에서는 소프트웨어를 사용하는 제품의 불량을 더 효율적으로 검출해 내기 위해, 이전 세대의 평가에 사용된 테스트 케이스를 기반으로 데이터를 재구성 시키고, 재구성된 데이터를 이용하여 불량 발생 확률이 높은 조합을 찾아내서, 그 조합으로 이루어진 테스트 케이스를 평가에 활용하는 방식을 제안하였다. 실험 결과 불량 발생 확률이 높은 조합들로만 구성된 테스트 케이스가, 일반적인 테스트 케이스에 비해, 더 다양한 불량을, 더 짧은 시간 안에 검출해 낼 수 있다는 결론을 확인 할 수 있었다.
가설 설정
불량 Set D={A, B, C, D, E}가 있고, Operation Set O={a, b, c, d, e}가 있다고 가정하자. 또한 테스트를 통해 얻은 Operation Set과 불량의 관계에 대한 결과 레포트가 다음과 같이 8개가 있다고 가정하자. R={a→A, b→B, c→A, d→C, e→A, b→B, e→A }.
불량 Set D={A, B, C, D, E}가 있고, Operation Set O={a, b, c, d, e}가 있다고 가정하자. 또한 테스트를 통해 얻은 Operation Set과 불량의 관계에 대한 결과 레포트가 다음과 같이 8개가 있다고 가정하자.
제안 방법
효율적인 평가를 위해서는 가장 효과적인 방법은 기존에 발생한 불량들을 Trigger 시키는 가장 높은 확률의 테스트 시나리오들을 찾아내어서, 찾아낸 시나리오들로 구성된 테스트 케이스를 통해 평가를 진행하는 것이다. 이와 같은 방법을 적용한 평가를 통해, 짧은 시간 안에 이전 세대 제품이 가지고 있었던 불량과 유사한 유형의 불량을 재 발생 시키거나, 또는 새로운 유형의 불량을 발생 시켜서, 평가 대상의 완성도를 향상 시킬 수 있을 것이다.
대상 데이터
실험을 위해 SSD를 동작 시키는 소프트웨어를 대상으로, 6개월간 평가된 평가 레포트를 수집하였다. 평가 레포트 내용 가운데, 평가에 사용된 테스트 케이스와 평가 결과로 검출된 불량의 조합을, 실험을 위한 데이터로 활용하였다.
데이터처리
총 48가지의 테스트 케이스로 평가가 진행 되었으며, 검출된 불량의 유형을 분류하면 4가지 타입의 불량으로 분류할 수 있다. 48 가지의 테스트 케이스는 제안 기법에 명시된 것과 같이 데이터 재구성 작업을 진행하였고, 재구성을 통해, 46 가지의 Previous Operation과 20 가지의 Trigger Operation으로 재구성할 수 있다.
재구성된 Previous Operation과 Trigger Operation의 조합들 중에 분류된 각각의 불량 타입을 발생 시키는 모든 조합을 기반으로, 특정 불량을 발생시켜서 검출해 낼 수 있을 것으로 예측되는 테스트 케이스를 불량별로 개발하였다. 다시 말하자면, Defect A를 발생시켰던 모든 조합을 찾아 낸 후, 그 모든 조합들로 구성된 Test Case A를 만드는 것이다.
성능/효과
본 논문에서는 소프트웨어를 사용하는 제품의 불량을 더 효율적으로 검출해 내기 위해, 이전 세대의 평가에 사용된 테스트 케이스를 기반으로 데이터를 재구성 시키고, 재구성된 데이터를 이용하여 불량 발생 확률이 높은 조합을 찾아내서, 그 조합으로 이루어진 테스트 케이스를 평가에 활용하는 방식을 제안하였다. 실험 결과 불량 발생 확률이 높은 조합들로만 구성된 테스트 케이스가, 일반적인 테스트 케이스에 비해, 더 다양한 불량을, 더 짧은 시간 안에 검출해 낼 수 있다는 결론을 확인 할 수 있었다. 또한, 불량을 발생시키는 Hidden 조합이 존재하며, 이는 일반적인 테스트 케이스에는 적용되지 않은 것으로, Hidden 조합을 찾아 평가에 활용할 경우, 더 다양한 불량을 검출해 낼 수 있다는 결과를 얻을 수 있었다.
후속연구
이와 같은 결과가 의미하는 것은, 실험 전 추론한 것과 같이 파라미터 확장을 통해서, 다른 불량을 추가적으로 검출할 수 있는 Hidden 조합을 찾아 낼 수 있다는 것을 의미한다. 모든 Operation의 모든 파라미터 조합을 통해 평가를 할 수 없는 제한된 상황에서는 이와 같은 접근법을 통해, 여러 가지 불량을 짧은 시간 안에 검출할 수 있는 평가 방법을 구축 할 수 있을 것이다.
향후에는 Previous Operation과 Trigger Operation의 이중 조합뿐 만이 아니라, 확장된 범위의 다중 조합에 대한 불량 발생률을 연구하여, 평가 방법과 불량 사이의 보다 더 정밀한 상관관계를 분석할 예정이다.
질의응답
핵심어
질문
논문에서 추출한 답변
Black box 기법이란?
테스트 케이스를 개발하는 기존 방법으로는 크게 두 가지로 Block box 기법과 White box 기법이 있다. Black box 기법은 테스트 대상의 내부 구조를 참조하지 않고, 요구사항서 등과 같이 문서에 기반 하거나 또는 개발자, 테스터, 사용자 들의 경험을 분석하여, 기능적 혹은 비 기능적 테스트 조건으로 테스트 케이스를 도출하는 방법이며, White box 기법은 테스트 대상이 되는 소프트웨어의 내부 구조에 바탕을 두고, 소스 코드와 소프트웨어 구현 정보를 기반으로 테스트 케이스를 도출하는 방법이다. 그림 1에 테스트 케이스 개발 방법론에 대해 정리하였다.
SSD의 장점은?
전통적인 방식의 HDD가 플레터(Plater)와 헤드(Head)의 조합으로 물리적인 이동을 통해 원하는 주소를 찾아가는데 반해, SSD는 논리적인 주소와 물리적인 주소간의 맵핑을 통해 전기적으로 원하는 주소를 찾아간다는 장점을 가지고 있다. 이와 같은 특성으로 인해 SSD는 HDD 대비 상대적으로 빠르고 가볍다는 제품적인 특징을 가지게 되고, 이 때문에 시장에서 사용자들은 더 많은 비용을 지불하더라도 SSD를 선호하는 경향을 보이고 있다.
테스트 케이스를 개발하는 기존 방법 중 테스트 대상이 되는 소프트웨어의 내부 구조에 바탕을 두고, 소스 코드와 소프트웨어 구현 정보를 기반으로 테스트 케이스를 도출하는 방법은?
테스트 케이스를 개발하는 기존 방법으로는 크게 두 가지로 Block box 기법과 White box 기법이 있다. Black box 기법은 테스트 대상의 내부 구조를 참조하지 않고, 요구사항서 등과 같이 문서에 기반 하거나 또는 개발자, 테스터, 사용자 들의 경험을 분석하여, 기능적 혹은 비 기능적 테스트 조건으로 테스트 케이스를 도출하는 방법이며, White box 기법은 테스트 대상이 되는 소프트웨어의 내부 구조에 바탕을 두고, 소스 코드와 소프트웨어 구현 정보를 기반으로 테스트 케이스를 도출하는 방법이다. 그림 1에 테스트 케이스 개발 방법론에 대해 정리하였다.
참고문헌 (10)
C. Bishop, "Pattern Recognition and Machine Learning", Springer 2006.
Karel Dejaeger, Thomas Verbraken and Bart Baesens, "Toward Comprehensible Software Fault Prediction Models Using Bayesian Network Classifiers", IEEE Transactions of Software Engineering, 39(2), February 2013.
Wang He, Wang Hao and Lin Zhiqing, "Improving Classification Efficiency of Orthogonal Defect Classification Via a Bayesian Network Approach", 2009 Computational Intelligence and Software Engineering, CiSE 2009, 2009.
Hao Tang and Shi Liu, "Basic Theory of Fuzzy Bayesian Networks and Its Application in Machinery Fault Diagnosis", Fourth International Conference on Fuzzy Systems and Knowledge Discovery, FSKD 2007, 2007, 4:132-137.
DAhmet Okutan and Olcay Taner Yildiz, "Software defect prediction using Bayesian networks", Empirical Software Engineering, 19(1), February 2014.
Unchalisa Taetragool and Tiranee Achalakul, "Method for failure pattern analysis in disk drive manufacturing", International Journal of Computer Integrated Manufacturing, 24(9), September 2011.
Yingxia Cui, Longshu Li and Sheng Yao, "A New Strategy for Pair wise Test Case Generation", 3rd International symposium on Intelligent Information Technology Application, IITA 2009, 2009, 3:303-306.
Sanjai Rayadurgam and Mats P.E. Heimdahl, "Coverage Based Test-Case Generation using Model Checkers", Proceedings Eighth Annual IEEE International Conference & Workshop On the Engineering of Computer-Based System s-ECBS 2001; 2001, p83-91, 9p.
Katsuya Iwata, "Black-box test case generation from TFM module interface specifications and usage statistics", Iowa State University, 2012-01-01T08:00:00Z.
Hyojoung Shin, Don-Jung Choi, Bo-Keong Kim, Taebok Yoon and Jee-Hyong Lee, "A Wear-leveling Scheme for NAND Flash Memory based on Update Patterns of Data", Journal of the Korean Institute of Intelligent Systems, 20(6), December 2010, 761-767
※ AI-Helper는 부적절한 답변을 할 수 있습니다.