TDD�^BDD�̎v�z�ɐG��A�t���[�����[�N�Ƃ���xUnit�AJBehave�AxSpec�ACucumber�ATurnip�ATestDox���Љ��B
�@�O��́u�e�X�g�쓮�J���^�U�镑���쓮�J�����n�߂邽�߂̊�b�m���v�ł��Љ�������悤�ɁA���܂��܂ȃe�X�e�B���O�t���[�����[�N������܂��B�Ⴆ��TDD���̂́AKent Beck�i�P���g�E�x�b�N�j���������w�e�X�g�쓮�J�������x�i�s�A�\���G�f���P�[�V�������j�̒��ŏq�ׂĂ���悤�ɁA�u���͋Z�@����ѐv�Z�@�ł���A���ۂɂ͊J���S�ẴA�N�e�B�r�e�B���\�������邽�߂̋Z�@�v�ł��B
�@TDD�i�e�X�g�쓮�J���j�^BDD�i�U�镑���쓮�J���j�����H���邱�ƂƁA����e�X�e�B���O�t���[�����[�N���̗p������J�������肷�邱�Ƃ��čl���Ă����Ȃ��ƁATDD���邱�Ƃ��ړI�ɂȂ��Ă��܂�����A����e�X�e�B���O�t���[�����[�N���g�����Ƃ��ړI�ɂȂ��Ă��܂����肷��ꍇ������܂��B
�@�{�L���ł́ATDD�^BDD�Ɗe��e�X�e�B���O�t���[�����[�N�̊W�����Ă����܂��B
�@�O���TDD�̊T�v�Ɛi�ߕ��A�ړI�ƌ��ʁA���j�A���܂��܂Ȏ�@�ւ̓W�J�A�ۑ�ɉ����ABDD�̊T�v�Ǝ�ށA�d�������l�����Ȃǂ�������܂����B��̓I�ɂ́A���̌��t��������܂����BTDD�̃X�e�b�v�ł���RED�^GREEN�^REFACTOR�A�C���T�C�h�A�E�g�A�A�E�g�T�C�h�C���AATDD�ABDD�ATests as Document�ASpecification By Example�Ȃǂł��B��������́A�����̌��t���g���ĉ�����܂��B
�@����̏��ЁAOSS�A�u���O�ł͓���̃e�X�e�B���O�t���[�����[�N���w���āuTDD�t���[�����[�N�v�uBDD�t���[�����[�N�v�Ƃ��Ă��܂��B���̂悤�ȗ�͑��̃c�[���ł������A�Ⴆ�Γ���̃^�X�N�Ǘ��c�[�����w���āu�A�W���C���c�[���v�Ə�����Ă��邱�Ƃ�����܂��B
�@���ꎩ�̂ɓ��ʂȈӐ}������Ƃ͎v���܂��A�i�Ⴆ�j�u�J���o���v���g��������Ƃ����āA���̑g�D���A�W���C���ł��邩�ǂ��������܂�킯�ł͂Ȃ��̂Ɠ����悤�ɁA����e�X�e�B���O�t���[�����[�N���g��������Ƃ����āA���ꂪTDD�^BDD�ł��邩�͕ʂł��B�����I�ɏ����ƁuTDD��BDD���T�|�[�g����e�X�e�B���O�t���[�����[�N�v���炢�Ȃ��̂ł��傤�B
�@��������Ⴂ����ƁA�uTDD�t���[�����[�N���g���ATDD���ł���悤�ɂȂ�v�uBDD�t���[�����[�N���g���Ă��邩��A�e�X�g�R�[�h���d�l���Ƃ�����v�uTDD�t���[�����[�N������A�i�����オ��v�uTDD�t���[�����[�N���g���Ă���̂�TDD���ł��Ȃ��̂͂��������v�ȂǂƂ����咣�����܂�܂��B
�@��������́A�v�z�Ƃ��Ă�TDD�^BDD�A�c�[���Ƃ��Ă�TDD�^BDD�ɕ����Ĉ��p�������Đ������܂��B
�@TDD�^BDD�̊T�v�Ɋւ��Ă͑O��ň����܂����B�ȒP�ɂ܂Ƃ߂�ƁA���̂悤�ɂ����܂��B
�@���[�U�[�́A���ꂩ��������悤�Ƃ��Ă�����̂��g���l�ł��B���郂�W���[����N���X���������悤�Ƃ��Ă���Ƃ��́A���̃��W���[����N���X���g���l���A���[�U�[�ł��B�����Ƒ傫���Ȃ��āA�G���h���[�U�[���猩����@�\�ɂȂ�A�G���h���[�U�[�i��v���_�N�g�I�[�i�[�j�����[�U�[�ł��B���[�U�[�͎����Ώۂɂ���ĕς��܂��B
�@����ɉ�����TDD�ABDD���ꂼ��Ŏ��̂悤�Ȃ��Ƃ������Ă��܂��B
�@TDD�𐢂ɍL�߂�L�b�J�P�������Kent Beck���́A�����w�e�X�g�쓮�J������x�̒��Ŏ��̂悤�Ɍ���Ă��܂��B
�����e�X�g�����s�����ꍇ�����A�V�����R�[�h�������B�d������菜���B2�̋K���̓v���O���~���O�̃^�X�N�ɂ����鏇�Ԃ��Ӗ�����B
- ���b�h�F���삵�Ȃ��e�X�g�����������쐬����B�����炭�ŏ��̓R���p�C���ł��Ȃ�
- �O���[���F�e�X�g�������ɓ��삳����B���̂��߂ɂ́A�ǂ̂悤�ȃR�[�h�ł��悢
- ���t�@�N�^�����O�F�e�X�g�삳���邽�߂����ɍ쐬���ꂽ�d����S�Ď�菜��
�@�܂�TDD�̃G�L�X�p�[�g�Ƃ��Ēm����Robert.C.Martin���́A�����wClean Code�x�i�A�X�L�[�E���f�B�A���[�N�X���j�Ŏ��̂悤�Ȍ����������Ă��܂��B
3�̌��������Ȃ��������i�߂�B
- ���s����e�X�g���ł���܂Ńv���_�N�g�������Ă͂����Ȃ�
- ���s����e�X�g������ꍇ�ɂ͂���ȏ�e�X�g��lj����Ă͂����Ȃ�
- �e�X�g�𐬌�������v���_�N�g������ꍇ�ɂ͂���ȏ�v���_�N�g��lj����Ă͂����Ȃ�
�@�����ă��j�b�g�e�X�g�͎��̂悤�ł���ׂ��Ƃ�����Ă��āA5�̃|�C���g����������āuF.I.R.S.T.�v�ƌĂ�ł��܂��B
- Fast�i�����ł���j�F�e�X�g�͍����ł��邱��
- Independent�i�Ɨ����Ă���j�F�e�X�g�͂��݂��Ɋ֘A���ׂ��ł͂Ȃ��B�e�X�g�͍D���ȏ����Ŏ��s�ł���ׂ�
- Repeatable�i�Č���������j�F�e�X�g�͂ǂ�Ȋ��ł��Č��\�ł���ׂ�
- Self-Validating�i���Ȍ��؉\�j�F�e�X�g�́A2�̌��ʁA���������s���̂ǂ��炩���o�͂���ׂ�
- Timely�i�K����������j�F�e�X�g�͕K�v�ȂƂ��ɂ���������ׂ�
�@�܂��ATDD�ɂ�����e�X�g�R�[�h�͐����I�œǂ݂₷�����͂ł���ׂ��ł��B�Ⴆ�A�Ώۂ̃��\�b�h�ɑ�������ł͂Ȃ��A�u�Ώۂ��ǂ̂悤�ȕω��ނ̂��v�������ׂ��ł��B���̂��߂Ƀ��[�e�B���e�B�I�ȃ��\�b�h���������Ƃ�����ł��傤�B�e�X�g�R�[�h�����܂�ɂ����\�b�h�̃h�L�������g�ɂȂ��Ă���ꍇ�́A�v���B���ł���\���������ł��B
�@TDD��i�߂Ă������ŁA�u�����e�X�g���ׂ����v�u�e�X�g�Ƃ͉����v�Ƃ������₢�ɑ��Ă̐����Ƃ��āuTest�v�ł͂Ȃ��uBehavior�v�Ƃ������t���g���Đ�����������J���҂ɂƂ��ė������₷�������A�Ƃ���Dan North���̌o������BDD�͐��܂�܂����B
�@���{�I��TDD��BDD�͈�킸�A����܂ł�TDD�̌�b�ł͓`���ɂ�������������������������A�e���v���[�g��^���邱�ƂŊ������n�[�h����������Ƃ��������������Ă��܂��B
�@�Ⴆ��TDD�ł́A�e�X�g�R�[�h�ɂ��Ď��ۂ̃e���v���[�g�I�Ȏw�j�͎�����Ă��炸�A�����I�œǂ݂₷�����͂ɂ��邩�ǂ����́A�v���O���}�[�̍ٗʂɔC����Ă��܂����i�ǂ݂₷���e�X�g���\�b�h�ł��邱�Ƃ��T�|�[�g����c�[���Ƃ��ẮuAgileDox�v�uTestDox�v�i��q�j�Ƃ����c�[�������݂���j�B
�@������BDD�ł́A���̂悤�Ȍ�b�����܂��B
�@BDD�̎����I�ȊJ�c�ł���Dan North�������g�̃u���O�i���{���j�Ŏ��̂悤�ȕ\�����c���Ă��܂��B
�\���͂̂���e�X�g���͎��s�����Ƃ��ɖ��ɗ��B
- �o�O�ߍ���ł��܂����B�����q���B�����@�F�o�O��
- �Ӑ}���ꂽ�U�镑���͕ς�炸�֘A�������������A�ǂ����ʂ̏ꏊ�Ɉڂ���Ă����B�����@�F�e�X�g���ړ����A�ꍇ�ɂ���Ă͕ύX����
- �U�镑�������͂�����Ȃ��B�V�X�e���̑O�ς���Ă��܂��Ă���B�����@�F�e�X�g���폜����
�@�uGiven�v�uWhen�v�uThen�v�Ƃ�����b�̏̂���ׂ��_��1�́A�����I��FSM�i�L����ԋ@�B�̗��B��ԑJ�ڐ}���v�������ׂĂ��������j��DSL�ł���AFSM�Ƃ��Ċ������Ă��镶�͂ɂ��邱�Ƃ��A���p�^�[�����������Ȃ����Ƃ��ł���A�Ƃ������Ƃł��BBDD��FSM��DSL����邱�ƂŁA���l���ɂ͓ǂ݂Â炢�Ɗ�������\�t�g�E�F�A�d�l�̍��ӂ̂��₷���A�ێ琫����A�����₷���ɍv�����Ă���Ƃ����Ă����ł��傤�B
�@BDD��TDD�̕\�����@��v���Z�X��������������@�_�ł���A������Ȃ����̂⍪�{�I�ɈقȂ���̂ł͂���܂���BTDD�^BDD�Ƃ́u���ǂ��J�����v���O���~���O�ɂ���Ďx���邽�߂ɁA��̂悤�ȃv���Z�X��K�C�h���x�[�X�Ƀ\�t�g�E�F�A�J�������邱�Ɓv�ƌ��������Ă������ł��傤�B
Copyright © ITmedia, Inc. All Rights Reserved.