테스트 주도 개발

    [Go with TDD] 테이블 주도 테스트

    개요 이전에 '깔끔하게 go test의 테스트케이스를 짜는 법'이라는 글을 쓴 적이 있다. 오늘 설명할 테이블 주도 테스트는 해당 글의 내용을 정형화한 기법이다. 테이블 주도 테스트 테이블 주도 테스트(table-driven test)는 메소드에 대한 여러 개의 테스트 케이스를 하나의 테이블로 구성하는 테스트 기법이다. 테스트할 메소드 하나에는 여러 개의 테스트 케이스가 존재한다. 일반적으로 테스트를 작성하면 하나의 테스트 함수는 하나의 테스트 케이스를 실행한다. 이렇게 작성하는 것이 잘못된 것은 아니지만 호출할 메소드가 같기 때문에 코드의 중복이 생긴다. 테이블 주도 테스트는 하나의 테스트 함수에 테스트할 메소드의 테스트 케이스를 묶어 테이블로 만든 후 해당 테이블을 순회하며 테스트를 진행하는 구조이다..

    [Go with TDD] TDD를 위한 go test 기초

    [Go with TDD] TDD란? 소프트웨어 공학, 개발 방법론 등에 관해 조금이라도 알고 있다면 TDD(Test-driven development, 테스트 주도 개발)라는 용어를 들어봤을 것이다. 잘 아는 사람도 많겠지만 모르는 사람들을 위해서 우선 simplear.tistory.com 이번 글에서는 Go언어에 TDD를 적용할 때 사용하는 테스트 프레임워크 go test에 대해 설명하겠다. go test란? go test는 Go언어에 자체적으로 내장된 테스트 프레임워크이다. 테스트 케이스를 형식에 맞춰서 작성하고 go test를 실행하면 자동적으로 테스트가 이루어진다. 절차 go test를 이용해 TDD를 적용하는 방법을 간단한 예시를 통해 설명하겠다. 0. 테스트할 간단한 프로그램 만들기 테스트하기..

    [Go with TDD] TDD란?

    소프트웨어 공학, 개발 방법론 등에 관해 조금이라도 알고 있다면 TDD(Test-driven development, 테스트 주도 개발)라는 용어를 들어봤을 것이다. 잘 아는 사람도 많겠지만 모르는 사람들을 위해서 우선 용어부터 정리해보자. TDD 단어 그대로 테스트를 통해서 개발하는 방식이다. 즉, 테스트 케이스를 작성한 후 그 테스트를 통과하기 위한 코드를 짜는 방식을 TDD라고 부른다. 회귀 테스트 회귀 테스트는 이전에 동작 했던 기능 및 함수가 다른 부분의 코드 수정 후에도 일관성 있게 동작하는 것을 검증하는 테스트이다. 회귀 테스트는 일단 작성되면 새로운 기능을 테스트할 때마다 실행된다. 회귀 테스트의 핵심은 기존의 코드가 새로운 기능에 의해 문제를 일으키지 않는다는 것을 검증하고 보증하는 것에 ..