품질 좋은 소프트웨어란 성능이 뛰어나고 가격 이 저렴한 소프트웨어를 일컫는 말이다. 또한, 시장 요구에 부응하는 서비스를 지원하면서도 오류가 적고 유지보수하기 쉬운 구조를 가져야 한다. 이 모든 것을 충족하는 소프트웨어를 개발하기 위한 방법으로 최근 CBD (Component Based Development)가 각광 받고 있다. CBD (Component Based Development) 확산과 더불어 컴포넌트 구성, 기능, 호환성, 신뢰성을 위한 컴포넌트 테스트를 수행하고 있으나 이것만으로는 CBD (Component Based Development) 기반 소프트웨어 품질을 보장할 수 엄다. 높은 신뢰성, 유지보수성, 재활용 성을 가지는 단위 컴포넌트라도 조립, 통합 후에는 의도한 요구사항을 만족시키지 못하고 문제를 일으킬 수도 있으므로 이에 대한 통합 테스트 기법이 필요하다. 본 논문은 UML (Unified Modeling Language)기반 소프트웨어 개발에 컴포넌트 통합 테스트를 위한 것이고, 테스트 기법은 UML (Unified Modeling Language)의 순차다이어그램과 협력다이어그램을 참조하여 컴포넌트 사이 인터페이스에 존재하는 결점을 추출하는 테스트기법이다.
품질 좋은 소프트웨어란 성능이 뛰어나고 가격 이 저렴한 소프트웨어를 일컫는 말이다. 또한, 시장 요구에 부응하는 서비스를 지원하면서도 오류가 적고 유지보수하기 쉬운 구조를 가져야 한다. 이 모든 것을 충족하는 소프트웨어를 개발하기 위한 방법으로 최근 CBD (Component Based Development)가 각광 받고 있다. CBD (Component Based Development) 확산과 더불어 컴포넌트 구성, 기능, 호환성, 신뢰성을 위한 컴포넌트 테스트를 수행하고 있으나 이것만으로는 CBD (Component Based Development) 기반 소프트웨어 품질을 보장할 수 엄다. 높은 신뢰성, 유지보수성, 재활용 성을 가지는 단위 컴포넌트라도 조립, 통합 후에는 의도한 요구사항을 만족시키지 못하고 문제를 일으킬 수도 있으므로 이에 대한 통합 테스트 기법이 필요하다. 본 논문은 UML (Unified Modeling Language)기반 소프트웨어 개발에 컴포넌트 통합 테스트를 위한 것이고, 테스트 기법은 UML (Unified Modeling Language)의 순차다이어그램과 협력다이어그램을 참조하여 컴포넌트 사이 인터페이스에 존재하는 결점을 추출하는 테스트기법이다.
High quality software is the one that has an excellent performance with a low price, consumer's request satisfaction and less bug. In addition, it should have structure easily maintainable. CBD(Component Based Development)technology is getting more popular as a method for software development which ...
High quality software is the one that has an excellent performance with a low price, consumer's request satisfaction and less bug. In addition, it should have structure easily maintainable. CBD(Component Based Development)technology is getting more popular as a method for software development which can satisfy all above conditions. Although there are a lot of test methods about component for composition, function, compatibility and reliability, it's not enough to ensure that the component has reliability, maintainability, and reusability, so an integated method are necessary. In this paper, we are going to propose the solution model for integrating components, which are based on UML (Unified Modeling Language) technologies. This model can extract existing faults in the component interfaces by referencing sequence diagram and collaboration diagram.
High quality software is the one that has an excellent performance with a low price, consumer's request satisfaction and less bug. In addition, it should have structure easily maintainable. CBD(Component Based Development)technology is getting more popular as a method for software development which can satisfy all above conditions. Although there are a lot of test methods about component for composition, function, compatibility and reliability, it's not enough to ensure that the component has reliability, maintainability, and reusability, so an integated method are necessary. In this paper, we are going to propose the solution model for integrating components, which are based on UML (Unified Modeling Language) technologies. This model can extract existing faults in the component interfaces by referencing sequence diagram and collaboration diagram.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
따라서, 컴포넌트를 기반으로 개발된 소프트웨어 품질을 확신하고 제고하기 위해서는 컴포넌트 기반 소프트웨어에 특성화되어 개발된 시험평가 시스템을 활용할 수 있는 방안을 확대하여 추진할 필요성이 있다. 그러나 현재 컴포넌트 기반 소프트웨어의 시험평가에 대한 체계적 인 연구 및 추진사례가 없기 때문에 본 논문은 "컴포넌트 기반 소프트웨어의 통합 테스트 모델'을 개발하고 이에 대한 효용성을 검증하고 보완하기 위한 사례연구 수행을 그 목표로 한다. 또한 기존의 테스트케이 스 선정과 본 연구에서 진행한 테스트케이스 선정 방법에 대한 차이점을 서술했다.
본 논문에서 우리는 CBD (Component Based Development)기반 소프트웨어 통합테스트모델을 제안했다. 이 모델은 테스트를 위한 입력으로 UML(Unified Modeling Language) 의 순차다이어그램과 협력다이어그램을 사용한다면 준비시간이 줄어들고 소프트웨어 개발 프로세스의 전반적인 단계상에 일관된 테스트 케이스가 선정 될 수 있다.
그러나 컴포넌트의 통합에 존재하는 결점은 여기서 제안한 테스트케이스식 별모델을 구축하고 통합테스트를 수행하여 검출될 수 있다. 본 논문에서 우리는 완전하게 테스트될 수 있는 블랙박스로 통합 타겟을 취함으로써 통합타겟들 사이에 인터페이스를 위한 테스트케이스를 선정한다. 유스케이스와 이벤트흐름을 위한 통합 테스트는 컴포넌트들의 통합테스트만큼은 중요하지 않다.
가설 설정
1) 컴포넌트는 모듈 단위 이다.
2) 컴포넌트는 인터페 이스를 갖는다.
3) 컴포넌트는 논리모델이 아닌 실제 구동 가능한 모듈이다.
4) 컴포넌트는 아키텍처를 기반으로 한다.
5) 컴포넌트는 커스터마이즈가 가능하다.
셋째, 다중결과를 위한 부 결과가 없을 때 이다.
제안 방법
그러나 현재 컴포넌트 기반 소프트웨어의 시험평가에 대한 체계적 인 연구 및 추진사례가 없기 때문에 본 논문은 "컴포넌트 기반 소프트웨어의 통합 테스트 모델'을 개발하고 이에 대한 효용성을 검증하고 보완하기 위한 사례연구 수행을 그 목표로 한다. 또한 기존의 테스트케이 스 선정과 본 연구에서 진행한 테스트케이스 선정 방법에 대한 차이점을 서술했다.
본 논문에서 정보검색시스템에 대한 테스트케이스들의 적용에 대한 결과를 보여주기 위해 〈표 3〉에서 예상되는 출력을 비교했다. TC1의 예에서 결과는 예상되는 결과가 홍길동일 때 홍길동 대신에 다른 사람의 정보가 된다.
본 논문에서의 테스트케이스식별모델은 다른 컴포넌트의 통합 장소인 인터페이스 사이에서 결함을 검출하는 테스트항목을 추출한다. 테스트케이스식별모델은 설계문서 중 하나인 순차다이어그램에서 통합 타겟을 표현하는 노드와 이들 노드 사이의 상호작용을 표현하는 메시지 흐름으로 구성되어 있다.
그런 이유로 통합테스트는〈그림 5〉의 정보검색시스템에서 그룹 A와 그룹 B를 위해 필요하다. 사례에서 컴포넌트 통합테스트 기술올 적용해서 Query 컴포넌트와 Server 컴포넌트를 구성하고 있는 그룹을 테스트한다. 첫째로 DB사용 이벤트흐름을 위한 테스트케이스식별모델을 구축한다.
서브순차단계를 가진 이벤트 흐름상에 컴포넌트를 위한 테스트케이스식별모델을 구축 한다.
하나의 ASF는 노드이고 두가지 컴포넌트들 사이의 전송된 메시지는 우리의 테스트케이스식별모델을 위한 메시지 흐름이다. 우리는 하나의 정상흐름과 셋의 비 정상흐름들을 위한 순차다이어그램들로부터 노드들과 메시지흐름들의 추출에 의해 하나의 테스트케이스식별모델을 제시했다. Query 컴포넌트와 Server 컴포넌트의 통합테스트를 위한 테스트케이스식별모델은n〈그림 7〉과 같다.
그리고 나서 테스트케이스를 선정한다. 이 시스템에 대해 선정된 테스트케이스 적용에 의해 우리는 DB사용 이벤트흐름을 위한 Query 컴포넌트와 Server 컴포넌트의 통합을 테스트한다.
이벤트의 각 흐름을 위한 정상흐름과 예외흐름을 보여줄 수 있는 순차다이어그램을 추출한다.
컴포넌트 기반 개발 방법은 단위테스트가 완료된 컴포넌트를 분석단계 후 획득하여 조립하는 방법이기 때문에 통합테스트를 중요하게 부각시킨 이유이다. 이와 같은 통합 테스트를 하는데 있어 적용할 테스트케이스를 선정하는 모델을 테스트케이스식별모델 이라 하겠다.
사례에서 컴포넌트 통합테스트 기술올 적용해서 Query 컴포넌트와 Server 컴포넌트를 구성하고 있는 그룹을 테스트한다. 첫째로 DB사용 이벤트흐름을 위한 테스트케이스식별모델을 구축한다. 그리고 나서 테스트케이스를 선정한다.
테스트케이스식별모델에서 테스트케이스 선택기준을 적용하여 테스트케이스를 선택한다.
후속연구
왜냐하면 단위테스트는 한 컴포넌트에서 부분적으로 테스트 하기 때문이다. 그러나 컴포넌트의 통합에 존재하는 결점은 여기서 제안한 테스트케이스식 별모델을 구축하고 통합테스트를 수행하여 검출될 수 있다. 본 논문에서 우리는 완전하게 테스트될 수 있는 블랙박스로 통합 타겟을 취함으로써 통합타겟들 사이에 인터페이스를 위한 테스트케이스를 선정한다.
앞으로 본 모델의 완전성을 위해서 보다 규모가 큰 CBD (Component Based Development) 기반 소프트웨어를 대상으로 실제 적용을 해야 하고, 시스템테스트나 인수테스트에 적용할 테스트 모델을 개발할 필요성이 있다. 또한 테스트모델의 범위를 확대하여 다양한 품질 특성에 따른 테스트모델에 대한 연구가 필요할 것이다.
본 모델이 제시됨으로써 컴포넌트 기반 기술의 개발 및 응용 컴포넌트 개발 분야에 기여하게 된다. 즉, 한 번 작성된 모델은 약간의 조정을 통하여 재사용 될 수 있으므로 테스트케이스식별모델은 장기적으로 시간과 노력을 더욱 줄일 수 있는 경제적인 방법 이다.
앞으로 본 모델의 완전성을 위해서 보다 규모가 큰 CBD (Component Based Development) 기반 소프트웨어를 대상으로 실제 적용을 해야 하고, 시스템테스트나 인수테스트에 적용할 테스트 모델을 개발할 필요성이 있다. 또한 테스트모델의 범위를 확대하여 다양한 품질 특성에 따른 테스트모델에 대한 연구가 필요할 것이다.
가장 중요한 이점은 일관된 테스트케이스가 선정된다는 것이다. 예컨대 테스트케이스 선정에 대하여 기존의 방법들은 테스터에 따라 주관적인 테스트케이스가 선정되는 것이 당연시 되었으나, 본 테스트케이스식별모델을 도출하여 테스트케이스를 선정한다면 각기 다른 테스터가 테스트케이스를 선정한다 해도 같은 결과가 나올 것이다. 그리고 테스트케이스식별모델은 UML(Unified Modeling Language) 기반 개발 프로세스와 테스트 프로세스가 자연스럽게 연결되게 만든다.
이번 단락에서는 간단한 정보를 찾아 보여주는 시스템의 테스트케이스식별모델과 컴포넌트 통합 테스트기술을 적용할 것이다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.