django 공홈 튜토리얼을 보면 automated tests가 나오는데요 이 테스트를 현

 
WooHyun Park

django 공홈 튜토리얼을 보면 automated tests가 나오는데요 이 테스트를 현업에서도 사용을 하나요?

  • Han Cold Kim

    아마 현업에서 테스트를 사용하지 않는다면 안한다기보단 못하고 있는 것이 더 정확한 표현일꺼 같습니다.

    Donghyun Cho

    TDD (Test Driven Development)로 검색하시면 자세한 내용을 아실 수 있을거에요. 간단히 설명 드리면, Agile에선 CI(Continuous Integration)을 위해 자동화된 유닛테스트를 사용합니다. 버그없는 프로그램이 없다는 말을 많이 들으셨을텐데.. TDD는 개발 시 결과물 및 테스팅을 단위테스트로 만들어서 코드의 품질을 높이고 예측할 수 있는 버그들 및 하나의 기능 수정 후 해당 코드에 의해 다른 기능에 영향을 주어 발생하는 버그들까지 미연에 방지할 수 있습니다.

    WooHyun Park

    두분의 답변에 감사드립니다 (__*

    Donghyun Cho

    현업에서 사용하지 않는다면 코드 품질에 신경을 안쓴다는 이야기고, 이는 버그들에 의해 발생할 유지보수 뿐만 아니라 커스터머서포트와 테크서포트까지 비용이 더 들게 될 것입니다. 한마디로 바보같은 일이지요.. 시간이 없어서 못한다면 개발자가 더 필요하다는 말이고, 개발자를 더 충원할 맘이 없다면 앞으로의 고생길이 훤하다고 생각하시면 될 것 같습니다. 고객은 버그때매 열받고, 개발자는 버그수정하느라 야근떄매 열받고, 회사는 이미지 떨어져서 열받고.. 너무 멀리갔나요? ㅋ

    Han Cold Kim

    Donghyun Cho님의 의견에 반하는 의견을 내는건 아니지만 꼭 tdd가 아니라 기능 개발 후에 테스트를 짜는것도 큰 도움이 되는것 같습니다. 얼마나 잘짜느냐가 중요한것같아요. 테스트를

    Donghyun Cho

    Han Cold Kim 개발 후에 테스트를 만드는 경우는 프로토타입이나 전혀 없던 기능을 만드는데 요구사항이 확실하지 않아서 가까운 미래에 수정을 해야하는 경우인것 같네요.
    제 생각에는 나중에 테스트 만들어서 넣으려면 테스트 해야하는 케이스가 많은 경우 프로젝트 진행에 영향을 줄 수도 있을 것 같아요. 일종의 벼락치기? Agile하고는 좀 안맞는 상황인 것 같네요.

    임남규

    테스트코드는 sut 전에 짜는게 디자인 측면에서 많이 도움되더라구요. 근데 단순한 crud만 반복되는 경향이 강한 웹에서는 테스트 코드를 짜면서도 테스트 코드 자체가 중복이 일어나 테스트 코드를 리팩토링하게 되더라구요. 굳이 너무 잘아는 코드에 대해서는 도그마처럼 받아 들이지 않는 것도 유연한 의사결정인듯 합니다 ㅎ

    박영록

    전 django에서 제공하는 test를 싫어해서 그냥 unittest 모듈 이용해서 테스트 작성합니다.

Advertisements