ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 단위 테스트(Unit Testing) 및 TDD(Test-Driven Development)
    C# 2023. 3. 8. 22:34

    단위 테스트와 TDD는 C#에서 코드의 품질을 향상시키고, 버그를 더욱 빠르게 발견하여 수정할 수 있도록 도와주는 중요한 개발 방법론입니다.


    단위 테스트(Unit Testing)

    단위 테스트는 소프트웨어 개발자가 작성한 코드의 각각의 함수 또는 모듈이 의도한 대로 동작하는지 확인하는 테스트 기법입니다. 즉, 개발자가 작성한 코드가 의도한 대로 동작하는지 검증하는 것입니다. 단위 테스트를 수행하면 코드의 품질을 향상시키고, 버그를 빠르게 발견하여 수정할 수 있습니다.

     

    예시 코드 :

    // 예시 코드
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    namespace MyUnitTestProject
    {
        [TestClass]
        public class MyTests
        {
            [TestMethod]
            public void TestAddition()
            {
                // Arrange
                int a = 5;
                int b = 10;
    
                // Act
                int result = a + b;
    
                // Assert
                Assert.AreEqual(15, result);
            }
        }
    }

     

     

    위 예시 코드는 Microsoft의 Visual Studio에서 사용하는 테스트 프레임워크인 MSTest를 사용하여, 더하기 함수가 올바르게 동작하는지 테스트하는 예시 코드입니다. 테스트 함수는 TestMethod 어트리뷰트로 표시됩니다. 테스트는 Assert 함수를 사용하여 예상한 결과와 실제 결과를 비교하여 수행됩니다.

     


    TDD(Test-Driven Development)

    TDD(Test-Driven Development)는 테스트를 먼저 작성하고, 그 다음에 코드를 작성하는 개발 방법론입니다. TDD를 수행하면, 코드를 작성하기 전에 기능에 대한 명확한 이해를 돕고, 코드의 품질을 향상시킵니다.

     

    예시 코드 :

    // 예시 코드
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    namespace MyUnitTestProject
    {
        [TestClass]
        public class MyTests
        {
            [TestMethod]
            public void TestAddition()
            {
                // Arrange
                int a = 5;
                int b = 10;
    
                // Act
                int result = a + b;
    
                // Assert
                Assert.AreEqual(15, result);
            }
    
            [TestMethod]
            public void TestSubtraction()
            {
                // Arrange
                int a = 10;
                int b = 5;
    
                // Act
                int result = a - b;
    
                // Assert
                Assert.AreEqual(5, result);
            }
    
            [TestMethod]
            public void TestMultiplication()
            {
                // Arrange
                int a = 3;
                int b = 4;
    
                // Act
                int result = a * b;
    
                // Assert
                Assert.AreEqual(12, result);
            }
    
            [TestMethod]
            public void TestDivision()
            {
                // Arrange
                int a = 10;
                int b = 2;
    
                // Act
                int result = a / b;
    
                // Assert
                Assert.AreEqual(5, result);
            }
        }
    }

     

     

    위 예시 코드는 TDD를 수행하는 예시 코드의 일부분입니다. 더하기 함수와 빼기 함수에 대한 테스트를 작성하고, 그 다음으로 곱하기 함수와 나누기 함수에 대한 테스트를 작성하고, 이를 통해 코드를 작성합니다. 각각의 테스트 함수는 예상되는 결과를 검증하기 위해 Assert 함수를 사용합니다.

     

     

     

     

     

     

     

    댓글

Designed by Tistory.