언어 자료구조 알고리즘/Escort C++

[C++] 캡슐화 실습 - 테스트 모듈 작성하기

언제나휴일 2016. 4. 15. 13:13
반응형

3. 4 테스트 모듈 작성하기

 

 이번에는 캡슐화 실습이 정상적으로 수행하는지를 테스트하기 위한 모듈을 작성하려고 합니다. 많은 개발자가 테스트를 위한 모듈은 구현이 끝나가는 시점에 작성합니다. 하지만 이와 같은 형태의 개발 공정을 가지게 되면 발생하게 될 많은 경우를 생각할 수 있는 시간적/정신적 제약으로 버그나 예외를 발견하지 못하고 테스트를 완료할 확률이 높아집니다. 될 수 있으면 테스트 모듈은 약속이 정해지고 나면 구현과 병행하여 작성하는 것이 높은 테스트 결과물을 얻어낼 수 있을 것입니다. 물론, 각 프로젝트의 규모나 성질에 따라 개발 공정은 달라질 수 있습니다.

 

 여러분 각자가 Stu.h 를 포함하는 구문을 명시한 후에 main 함수가 포함될 진입점 소스를 작성해 보시기 바랍니다. 해당 소스에서는 이후 구현을 하게 될 Stu 클래스를 테스트하기 위한 코드를 포함을 시키시면 됩니다. 어떻게 개체를 생성하고 어떠한 메서드들을 접근을 해야 Stu 클래스를 제대로 구현한 것인지 테스트할 수 있을까를 염두에 두면서 작성해 보세요. 새로운 것에 대해 학습을 할 때 책이나 강사의 얘기를 무조건 신뢰를 하고 넘어가는 것은 그 당시에는 빠른 학습이 되는 것으로 느낄 수 있지만 결국 남는 것은 별로 없는 학습이 될 수 있습니다. 책의 내용이나 강사의 얘기가 맞는 것인지 확인하는 방법을 생각하고 실제 확인하는 과정을 밟아나가시면 그 순간에는 느린 학습이 되는 것처럼 느낄 수 있지만 단단해 질 것으로 생각합니다.

 

 여러분 각자가 테스트 코드를 작성하신 후에 예제를 살펴보세요. 테스트 코드에 대한 예제는 크게 설명할 부분은 없기에 코드를 제시만 하겠습니다. 그리고 실제 충분한 테스트가 되는 코드를 제시한 것이 아니므로 여러분께서 충분한 테스트 코드가 될 수 있도록 추가 및 수정하시길 바랍니다.

 

  

Test.cpp

#include "Stu.h"

 

void main()

{

    Stu *s = new Stu("홍길동");

    s->View();

 

    s->Study();

    s->Study();

    s->ListenLecture();

    s->View();

 

    s->Study();

    s->Drink();

    s->Dance();

    s->Sleep();

    s->View();

 

    s->Study();

    s->Relax();

    s->View();

 

    cout<<"이름:"<<s->GetName()<<endl;

    cout<<"번호:"<<s->GetNum()<<endl;

 

    delete s;

    cin.get();

}

 

3장 캡슐화 실습 Part1 

3장 캡슐화 실습 Part2 

(모든 동영상 강의는 무료입니다.)

반응형