TDD -Test Driven Development
오늘은 Vim에 대해서 공부를 했다.
오늘은 알고 있으면 유용한 Vim 단축키에 대해서
오늘은 프로그래머가 코드 명세에 집중을 유지해야 하는 이유에 대한 강의를 들었다.
코드는 현장에 배치되기 전과 배치되고 난 후에 기대한 대로 동작하는지 테스트를 한다. 많은 테스트들 중 오늘은 수동 테스트, 인수 테스트 그리고 테스트 주도 개발에 사용되는 단위 테스트의 방법과 목적을 공부했다.
거의 모든 프로그래머는 시스템의 코드를 분해한다.당연시되는 코드 분해의 목적과 방법에 대해 이 강의를 들으면서 한 번 더 생각을 했다.
운영 코드보다 테스트 코드를 먼저 작성하는 개발 절차는 코딩의 수단보다 목적에 집중하도록 도와준다. 테스트 우선 개발을 사용해 라이브러리를 만들며 이런 효과를 맛볼 수 있다.어떤 조건에 대하여 만족하는 지 검증하는 것으로 이전 시간에 알아봤던 코드 기능 명세와 비슷하다
오늘은 특정한 작업을 주기마다 실행하기 위해서 어떻게 할까 찾아보다가 여러 방법들 중에 하나인 Schedule 라이브러리를 사용해 보기로 했다.
오늘은 저번 시간에 실습했던 코드 기능 명세, 테스트 우선 개발을 중심으로 코드를 리팩터링 해보는 시간을 가졌다.
테스트 주도 개발은 테스트 우선 개발과 유사하지만 작은 차이가 있는데 이 차이는 프로그래머에게 여러 기회를 제공한다고 한다. 오늘은 이 강의를 통해 테스트 주도 개발을 통해 명세를 준수하고 일정 수준의 품질을 유지하며 코드로 만들어 가는 과정을 경험할 예정이다.
피드백은 프로그래머에게 큰 도움을 주며 필수이다.
지금까지 테스트 주도 개발의 기본적인 내용에 대해 공부를 했다.
이전 시간에 인터페이스의 역할과 정보 숨김이 모듈화에 미치는 영향에 대해 알아봤다. 오늘은 강의를 통해 코드가 수명이 다할 때까지 계속 끊임없이 겪게 되는 변화, 그 변화에 경제적으로 대응하는 코드를 설계하는 기법에 대해서 공부할 예정이다.
pythonic하게 코드짠다는 것은 어떤 말인걸까?Pythonic Code는 간단하게, 다른 사람의 코드를 잘 이해하기 위해서 파이썬 특유의 문법을 활용하여 효율적으로 코드를 표현하는 기법을 말한다.
코드에 데이터가 입력되는 방법과 코드에서 코드가 출력되는 방법, 그리고 이것이 테스팅에 미치는 영향에 대해 강의를 보면서 공부했다.
단위 테스트를 할 때 운영 코드를 대신하는 코드 대역을 사용하기도 한다. 이런 대역 코드를 테스트 대역이라고 부른다. 오늘은 테스트 대역이 사용되는 이유와 목적에 따른 테스트 대역 종류에 대해 강의를 통해 알아보자.
테스트 대역은 매력적인 도구이다 특히 단위 테스팅이나 테스트 주도 개발을 처음 배우는 프로그래머들에겐 더욱 그렇다. 하지만 모든 도구는 장점과 단점이 있고 유용한 환경이 있다. 테스트 대역을 보다 조심스럽고 효과적으로 다루는 방법을 강의를 통해 알아봤다.
꽤 많은 프로그래머들이 비공개 운영 코드를 위한 테스트 코드를 작성해야 하는지 고민하고 일부는 작성하기 위해 노력한다. 오늘 강의를 통해 이 질문에 대한 명확한 답을 찾아봤다.
어떤 사람들은 TDD를 테스트 주도 개발 대신에 D를 Design이라고 해석해서 테스트 주도 설계라고 이해하고 설명하는 사람들도 있다. 만약에 TDD가 테스트 주도 설계로 해석이 된다면 TDD를 하면 자연스럽게 좋은 설계가 도출될 것 같은 느낌이 든다.
그 어떤 도구와 마찬가지로 테스트 주도 개발은 프로그래머의 모든 문제를 해결하지는 못한다. 단위 테스트와 테스트 주도 개발이 도와주지 못하는 문제들을 언급하고 테스트 주도 개발을 사용하기 어려운 환경에 대해서도 알아보자
API와 UI는 목적 차이가 명확하다. 강의를 보면서 인터페이스가 테스트 기법에 미치는 영향을 알아보고 적절한 테스트 전략을 고민해보자.
인수 테스트와 단위 테스트는 특징이 극명히 다르며 서로 단점을 보완해 준다. 강의를 통해 인수 테스트 주도 개발에 대해 알고, 인수 테스트 주도 개발과 테스트 주도 개발을 함께 활용하는 방법을 알아보자.
코드를 짤 때 계획을 세우고 하는 것은 하기 싫고 적응이 안된다. 하지만 코드를 쓰는 것도 계획을 세우고 하는 것과 안세우고 하는 것은 차이가 있다. 강의를 통해 코딩 작업 계획을 세우는 사례를 보고 계획이 테스트 주도 개발에 어떤 영향을 주는지 알아보자.
엑셀 파일(xlsx, xlsm, xltx, xltm 파일)을 읽고 쓰는데 사용되는 파이썬 라이브러리다.이 모듈을 사용하면 파이썬 프로그램이 스프레드 시트를 읽고 수정할 수 있게 도와준다.
프로젝트를 진행하다가 테스트 용도로 데이터가 필요한 경우가 있다. 이때 python에서는 더미 데이터를 쉽게 생성할 수 있게 도와주는 Faker 라이브러리를 제공한다.
method를 사용할 때 변수로 cls를 받는 것도 있고, self를 받는 것도 있고 아무것도 안받는 것도 있어서 이 차이에 대해 궁금하게 돼서 알아보게 됐다.