해��� ���행 ��������� ��������� ������������������ 테���트하��� ������. ���통 SE��������� ��������������� 테���트��� ������한���.
ExtremeProgramming ��������� TestFirstProgramming ��� 한���. TestFirstProgramming ��������� 해��� ��������� ���한 테���트 �������������� ������ ���������, ������ ����������������� 한���.
TestFirstProgramming ��� 하��� ������ 해��� �������������� ������해 ��������� ��������� UnitTest ��������� ������ ������. ������ ��������� WhiteBoxTesting ��� ������. ���한, 해��� ��������� ��������� ������������������ ���한 ��������� ���크하������ BlackBoxTesting ��� ���할��� 한���. ���, ExtremeProgramming ��������� UnitTest ��� ��������� 테���트��� ��������� ������ 포함하��� ������. (Gray Box Testing)
���통 테���트 ��������� ������할������ UnitTestFramework Library������ ������한���. ��� Language ������ ������한���, C++ ������������ CppUnit, Java ��� JUnit, Python ��� PyUnit ������ ������할 ��� ������. PyUnit ��� ��������� 2.1������ ������ ��������� 포함������������.
SoftwareEngineering ��� ��������� UnitTest ��� '������ ��������� ���한 테���트' ������. ���, 해��� ��������� ��������� ������������ 확���하��� 테���트��� UnitTest ������.
��������� ��������� ����������������� 하��� ��������������� ������������ ������해������������ ��������� ������������ 확���한���. ��� ���한 UnitTest ��� 할 ��� ���������. (���, Manual Test ��� ������해��� 하������.) ��������� ��������������� 확���하��� ��������� ������������ ��������� ������������ ��� 테���트��� ������화���킬��� ������ ���������.
������ ���������, ��������� ������ ������ UnitTest Code ��� ��� ��� ���������.
void testFactorial () { expected = 3 * 2 * 1; actual = factorial (3); if (expected == actual) printf ("okok!\n"); else printf ("error!\n"); }
������ assert ��������� ��������� ��������� ������ ������하���. ������������ ������ ��������� 'abnormal program termination' ��� ������������.
void testFactorial () { expected = 3 * 2 * 1; actual = factorial (3); assert (actual == expected); }C ��������� UnitTest Code ��������������� assert ��������� ������한 ��������� ����� 할 ��� ������.
Thread ¶
Q: 한������ ������������ ������ ��������� , ������������ ��������� ������할 ��� ������(������������ Socket��� ������ ������템��� ������해������ �������� �����) �������� 형��� 파������������ ������ ������ ��������� 테���트 하��� ������ ������������?
A: Socket ������ Database��� ������하��� ������������ ��������� ���������. ��������� MockObjects��� ������하��� ��������� ��������������� ������하������, ������ ��������� ������ 해��������� ������������. ������ ��������� ������ MockObjects��� ��������� ������ ��������� ������ ��������� 하��� ������ ��������������� 해������ ���������������. ������ MockObjects ��� ���팅��� 해������ 해��� 함������������ ������ ��������������� ������할 ��� ������ ������������ ������하������ 하��� ������������. ��������� ��� ����������������� MockObjects������ 토������ ��������� ��������� ���������.. ������ ������������ ������하��� ������ 한���, ������ ��������� ��������� 하��� ������해��� ������ ������������. --������
A: MockObjects��� ���������������. Socket������ Database Connection��� ������한 ������페��������� "������ ������"��� ��������� ������ ���������. ��������� Socket ������ ������ ������ ��������� ��������� ��� ��� ������, ������ 테���팅 ��������� 훨��� ���������������. 하������ "������ ������"��� 통한 테���트��� ������합������. ���������, Socket ��������� ��������� ��������� 하��� ���������(������한������) "������ ������"��� 테���팅��� 하��� ������������ "������ ������"��� 테���팅��� ������할 ��� ������������. ������ ������ ������, MockObjects��� ������ ��������� Test Code Cycle��� 통한 ��������� ������ ����������� ��������� ������ ���효���������������. --���������