[IBM Rational Software] IBM 래쇼날 솔루션
소프트웨어 품질 | 안정성 및 성능 향상
오늘은 IBM 래쇼날 솔루션의 7가지 기능 중 '소프트웨어 품질' 에 대해 살펴보도록 하겠습니다.
관련글 :
2014/05/22 - [컴퓨터공학] - IBM Rational Software란? | IBM 래쇼날 솔루션 | 소프트웨어 공학
2014/06/13 - [컴퓨터공학] - [IBM Rational Software] IBM 래쇼날 솔루션의 7가지 기능 | 요구사항 및 분석 | 설계 및 개발
점점 컴퓨터의 역할이 더욱더 중요해지고 있는 세상인데요, 컴퓨터를 구성하는 요소 중에 가장 중요한 것은 소프트웨어입니다. 어떤 분야든지 적절한 소프트웨어가 없이는 효율적인 업무수행을 하기가 힘든 것이 현실이며, 모든 사람들이 더욱 컴퓨터와 소프트웨어에 의존해서 작업을 하고 있지요.
이렇게 소프트웨어의 역할이 점점 중요해 지면서 잘못된 소프트웨어로 인해 야기되는 문제들이 점점 발생하고 있는데요, 그래서 소프트웨어의 품질관리는 중요합니다.
소프트웨어 공학에서는 소프트웨어의 좋은 품질이란 '제품의 목적의 만족도에서 주어진 기간 동안 정해진 예산으로 제품이 생산되는 것' 이라고 말을 하는데요, 제품이나 서비스가 가져야 하는 요건에 대한 일치성과 용도에 대한 적합성 등의 요구사항을 만족시키는 능력이 좋으면 좋은 품질을 가진 소프트웨어라고 할 수 있겠죠.
IBM Rational Software에서는 애플리케이션의 기능과 안정성 및 성능 향상을 위하여 소프트웨어 개발 과정에서 오류를 일찍 발견하여 수정을 할 수 있도록 도와주는데요, 초기에 오류를 발견하면 돈과 시간이 훨씬 절약이 될 뿐더러 개발자들의 수고도 덜어지게 됩니다.
IBM 래쇼날 소프트웨어의 런타임 분석(Runtime Analysis)은 개발자가 메모리 부족을 정확히 파악하게 해 주고, 애플리케이션의 성능 병목 지점을 찾아 수정하고, 코드 및 애플리케이션 위협요소의 실행 흐름을 시각화 할 수 있게 해준다고 합니다.
IBM Rational Software 의 소프트웨어 품질에는
- Rational Functional Tester
- Rational Performance Tester
- Rational Quality Manager
- Rational Software Analyzer
- Rational Test RealTime
위와 같은 5가지의 솔루션이 있습니다.
하나하나 간단하게 한번 알아볼까요 ? :)
Rational Functional Tester
IBM Rational Functional Tester 소프트웨어를 사용하면 개발하던 소프트웨어의 기능 테스트 및 회귀 테스트를 자동화할 수 있습니다. Java, Web 2.0, SAP 등의 다양한 프로그래밍 언어를 지원하고, 전문가는 물론 초보자도 쉽게 사용할 수 있도록 개발되어 있어서 효과적인 소프트웨어 개발 과정이 필요한 모든 분들에게 적합한 IBM Rational Tester 소프트웨어 입니다.
기능 테스트를 하는데에 태스크 스크립트를 최신으로 유지하기 위해서 수동적인 방식으로 할 수 있지만 IBM Rational Functional Tester 소프트웨어의 자동화된 테스트 방식을 사용하면 진보된 IBM ScriptAssure 기술을 사용하기 때문에 소프트웨어 코드에 변화된 사항이 있는 경우에도 소프트웨어 자체가 새로운 빌드에서 동일한 컨트롤을 식별해 줍니다. 특정 코드의 변경 사항이 모든 테스트 스크립트에 영향을 주기 때문에 자동화 된 테스트 방식을 사용하면 간단하게 유지보수 작업을 수행할 수 있습니다. 이 기능으로 인하여 테스트를 진행하고 있는 어플리케이션에 변동이 생겨도 그 변동사항을 수용하기 위한 테스트, 유지 보수 활동도 줄일 수 있습니다.
이러한 자동화된 테스트 도구를 함께 활용하는 협력적인 테스트 환경을 구축할 수 있기 때문에 수동으로 하는 테스트에 비해서 마찰과 차이점을 줄일 수 있으며 전체 테스팅 팀의 모두의 역량을 활용할 수 있게 되는 이점도 있습니다.
Rational Performance Tester
IBM Rational Performance Tester 소프트웨어를 사용하여 성능 테스트를 생성하고 실행 및 분석하면 웹과 ERP 어플리케이션을 배포하기 전에 검증을 할 수 있습니다. 대부분 어플리케이션을 배포한 후에 가용성, 안정성 및 확장성과 관련된 문제가 발생했다는 것을 알게 되는데 이는 배포 전에 철저하게 테스트를 준비하지 못했기 때문에 발생합니다. 배포한 후에 문제점을 알게 된다면 비용과 시간이 더 드는 등 손해가 커지게 됩니다.
Rational Performance Tester는 이러한 문제를 해결하기 위해 개발된 소프트웨어이며 부하테스트, 유연한 워크로드 일정 관리 및 보고서 작성을 할 수 있도록 제공해 줍니다. Rational Performance Tester 역시 사용자의 기술 수준과 상관 없이 테스트를 하기 쉽도록 설계되어 배포하기 전에 성능면에 병목 구간이 있는지 없는지 그 원인을 효과적으로 알 수 있도록 되어있습니다.
오늘날의 어플리케이션은 서로 연결이 되어 있기 때문에 테스트를 실시하는 도중 취합된 데이터는 다른 단계에서 사용이 될 수 있습니다. 테스트가 진행될 때 이런 관계를 유지하여 테스트가 실패되지 않도록 되어야 합니다. 자동화된 Rational Performance Tester는 코드가 수정이 되어도 따로 매핑해주지 않고도 어플리케이션 끼리의 데이터 관계를 알 수 있도록 자동화된 데이터 관계 관리 기능을 제공해 줍니다. 이 기능으로 인하여 신뢰할 수 있는 테스트 시뮬레이션이 가능해 지게 됩니다.
그리고 테스트가 진행되는 동안 실시간으로 테스트 진행과정이 실시간으로 업데이트가 되기 때문에 실시간 보고서를 확인할 수 있습니다. CPU, 메모리 이용률에 대한 통계 같은 시스템 리소스 정보도 확인할 수 있으며 어떠한 문제가 있는지를 진단 후 성능 병목 현상을 유발하는 구성요소를 파악할 수 있습니다. Rational Performance Tester는 병목 현상의 식별 뿐만 아니라 원인까지 분석하여 문제를 해결하기 위한 정보까지 제공해 줍니다.
Rational Quality Manager
IBM Rational Quality Manager 소프트웨어는 테스트 계획 및 실행, 워크플로우 컨트롤, 트래킹 및 메트릭스 리포팅을 위한 협업 기능을 구현해서 역할-기반형의 비즈니스 지향적인 환경이며, 프로젝트의 의사결정 및 산출물이 비즈니스 목표와 결과에 어떻게 영향을 주고 최적화 되는지 계량화 하도록 설계되었습니다.
소프트웨어를 만들 때는 팀 단위로 협업이 이뤄지기 때문에 협업이 잘 이뤄져야 품질이 좋은 소프트웨어를 만들 수 있습니다. 협업을 할 때 프로젝트의 정보와 업데이트 된 상태가 공유되어야만 프로젝트가 진행되는 동안 팀워크가 극대화 될 수 있습니다. 또한 소프트웨어 적으로 자동화가 되어 있어, 수동적인 테스트를 하지 않아도 되기 때문에 딜리버리 시간이 단축되는 효과도 있습니다. 그리고 자꾸 변화하는 프로젝트 동안 변경된 내용이 바로바로 전달된 것을 매 순간마다 팀원들이 이해를 해야 정확하고 신뢰성이 높은 소프트웨어를 만들 수 있게 됩니다.
IBM Rational Quality Manager를 사용하면 이렇게 팀원들 간에 협업을 하기 위해 필요한 테스트 계획이 살아있는 문서가 되어 프로젝트와 함께 발전하게 됩니다. 프로젝트의 우선순위를 추적할 수 있게 되면서 개발자들은 자신이 해야 할 일과 팀 단위로 요청해야 할 일을 정확하게 파악할 수 있습니다.
또한 Rational Quality Manager의 자동화 기법을 활용하여 품질 지향적인 소프트웨어를 생산해 내는데 가속화를 할 수 있습니다. 테스트의 결과를 문서로 만들어 주는 작업, 테스트를 해야 하는 환경 커버리지를 자동으로 파악하여 테스트의 수를 자동으로 선정해주는 작업, 가상 장비를 선정해 주는 작업 등은 모두 필수적인 작업이지만 많은 시간이 소모됩니다. 이러한 작업들이 자동화 기법을 통하여 자동적으로 이루어지기 때문에 전체 프로젝트의 정보를 중단 없이 공유되어 협업이 구현되며 일정이 가속화 되어 비즈니스 목표에 맞는 어플리케이션을 개발할 수 있게 도와줍니다.
Rational Software Analyzer
소프트웨어를 개발하면 아무리 개발자가 뛰어나더라도 버그가 없을 수가 없습니다. 버그가 없을 수는 없으니 이 버그를 개발 초기에 발견할 수 있다면 손실을 크게 막을 수가 있겠죠. 버그는 프리 컴파일 또는 프리 빌드 과정에서 발견된다면 전체적인 개발 주기에 큰 영향을 끼치지 않고 문제를 해결할 수 있기 때문에 가장 이상적 입니다. 그러나 제품이 출시된 후에 발견이 된다면 비용과 시간이 상당히 소비되고 고객의 신뢰를 잃는 등 피해가 커질 수 있습니다.
IBM Rational Software Analyzer 소프트웨어는 소프트웨어 개발 초기에 코드 레벨 이슈를 파악할 수 있도록 해서 소프트웨어 개발 경쟁 우위를 높이는데 유용한 풍부한 분석 규칙을 가지고 있습니다. 600가지 이상의 Java 규칙, 130가지 이상의 C/C++ 규칙 등의 풍부한 프로그래밍 규칙은 코드를 검토하는데 도움을 주며 이 Rational Software Analyzer를 사용하면 짧은 시간 내에 모든 코드를 검토하게 되므로 사실상으로 마스터 프로그래머가 모든 코드를 검토하는 것과 같게 됩니다. 또한 발견된 버그는 즉각적으로 수정할 수 있도록 되어 있습니다. 특히 교통, 항공우주 및 방위, 의료장비 같은 소프트웨어의 고장으로 큰 피해를 초래할 수 있거나 소프트웨어의 결함 수정 및 어플리케이션 재작업 비용이 크게 소요되는 경우에 큰 실력발휘를 하게 됩니다.
Rational Test RealTime
IBM Rational Test RealTime은 여러 플랫폼에서 실행이 가능한 컴포넌트 테스트 및 런타임 분석 솔루션 입니다. Test RealTime은 내장 소프트웨어, 실시간 소프트웨어 및 기타 유형의 상용 소프트웨어 제품의 코드를 작성하는 개발자를 위해 설계되어 있습니다. 기존 방식보다 다양한 방법으로 디버깅을 할 수 있기 때문에 문제가 발생하기 전에 코드를 수정할 수 있습니다.
개발단계가 지나고 나중에 버그를 발견하는 것 보다 초기에 버그를 발견하고 수정하는 것보다 시간과 비용이 많이 들어갑니다. 개발자 만이 이 작업을 효율적으로 수행할 수 있기 때문에 IBM Rational Test RealTime은 개발자를 중심으로 두고 있습니다. 개발자는 프로젝트를 진행하면서 자신이 작성한 코드를 쉽게 테스트를 할 수 있습니다.
개발자는 클릭 한번으로 컴포넌트 테스트, 테스트 드라이버의 생성 및 배치를 자동으로 할 수 있습니다. 또한 코드의 범위를 설정하여 프로그램을 실행했을 때의 동작을 시각적으로 나타낼 수도 있습니다.
개발자들은 자신이 한 작업을 대상 환경에서 돌아가기 전까지는 그 품질을 평가할 수가 없기 때문에 IBM Rational Test RealTime을 통하여 여러 유형의 대상에서 테스트를 할 수 있다면 직접 실행되기 전에 시뮬레이션을 할 수 있기 때문에 버그에 대해서 테스트를 할 수 있는 장점이 있습니다.
IBM Rational Test RealTime에 어떠한 테스팅 방법이 있는지는 하단 표를 참고하시기 바랍니다.
이렇게 한번 IBM Rational Software의 소프트웨어 품질에 대해 둘러보았습니다.
개발자 입장에서는 1) 자동화된 부분, 2) 협업에 대한 부분이 특히 눈에 띄는 IBM Rational Software는 전체 프로젝트의 시간과 비용까지 영향을 주며, 초보자 뿐만 아니라 전문가까지도 사용하기 편리하게 설계되어 있습니다.
실시간으로 테스팅을 할 수 있는 환경은 개발자가 결과물을 보기 전에 미리 시뮬레이션을 할 수 있기 때문에 버그를 잡는데도 큰 도움이 될 것 같군요.
더욱 상세한 정보는 아래 링크에 있고, 상담도 받을 수 있다고 합니다. 관심이 있으신 분들은 아래 링크를 클릭해 주세요 :)