본문 바로가기

Testing Tools/LDRA

(3)
LDRA TBrun :: C++ 인터페이스의 메쏘드 Stub 처리하기 Rhapsody 로 개발된 프로젝트를 TBrun으로 동적시험 할때 가장 난감할 때가 PORT에 연결된 인터페이스에 대한 처리일 것이다. 예를 들어 아래와 같이 Calculator 클래스의 포트에 IException이 Required Interface로 연결되어 있을 경우, 해당 포트에 적정한 객체를 연결시켜주지 않는다면, Null 참조 오류가 발생하게 될 것이다. 또한, IException 만으로는 객체를 만들수가 없다!!(모른다면... C++을 다시 공부하자.) 1. 아래와 같이 Post-Include기능을 활용하여 IException를 상속받는 TestClass를 만들어준다. 생성자 / 소멸자의 몸체는 빈 함수로 구성하고, 스텁처리할 calculationFailed는 선언만 한다. 2. 스텁 함수로 ..
LDRA TBrun :: Input / Output Value / Code Inserts 에서 객체에 접근하기 C++로 진행하다보면, 특정 테스트 케이스에서 생성한 객체에 접근해야 할 필요가 있다.이럴때는 tbrun_qq_tc_return 와 같이 접근하면 된다. 예를 들어 Input Value에 Test Case 1번에서 생성된 객체의 멤버의 값을 대입하고 싶다면, tbrun_qq_tc1_return->m_Val 와 같이 접근하면 된다.
LDRA TBrun :: VC2008에서 디버깅(debugging) 하기 LDRA TBrun을 사용하여 SW단위시험 수행 시, 설계한 Test Case가 예상한대로 수행되지 않는다면 원인을 파악하기 위해 보통 디버깅을 수행하게 된다. 즉, 테스트 케이스 설계가 잘못되었는지, 소스 코드에 문제가 있는지 판단할 필요가 있는 것이다. 가장 쉽게는 printf 문을 이용하여 구간구간 찍을 수 있어서 확인할 수도 있지만, 여간 귀찮은게 아니다. 그래서 만약 Visual Studio 환경에서 개발 및 시험을 수행한다면 보다 효율적으로 디버깅을 수행할 수 있을 것이다. 이 글을 쓰는 현재 LDRA 9.1.0을 사용하고 있으며, Visual Studio 2008 프로젝트를 SW단위시험을 수행하였다.(참고로 LDRA 9.1.0에서 제공하는 메뉴얼에서도 디버깅 방법이 나와있긴 하지만, 그다지 ..