Я думал о разработке программного обеспечения и написании юнит-тестов. Я получил следующую идею:
Предположим, у нас есть пары разработчиков. Каждая пара отвечает за часть кода. Один из пары реализует функцию (написание кода), а второй пишет для нее модульные тесты. Тесты написаны после кода. По моей идее они помогают друг другу, но работают скорее по отдельности. В идеале они должны работать над двумя функциями одинакового размера, а затем обмениваться на подготовку к тесту.
Я думаю, что эта идея имеет некоторые преимущества:
- тесты написаны кем-то, кто может увидеть больше о реализации,
- работа должна быть выполнена немного быстрее, чем парное программирование (две функции одновременно),
- и тесты, и код ответственны за это,
- код проверяется как минимум двумя людьми, и
- возможно, поиск ошибок в коде, написанном человеком, который тестирует ваш код, даст особую мотивацию для написания лучшего кода и избежания срезания углов.
Может быть, было бы неплохо добавить еще одного разработчика для проверки кода между разработкой кода и тестированием.
Каковы недостатки этой идеи? Это уже описано как некоторая неизвестная мне методология и используется в разработке программного обеспечения?
PS. Я не профессиональный менеджер проектов, но я кое-что знаю о процессах разработки проектов и знаю несколько самых популярных методологий - но эта идея мне не кажется знакомой.
assert true
как тесты и называли это днем, потому что каждый тест проходил. Один важный шаг был пропущен: сначала тесты должны были провалиться, и их нужно было пройти, изменив код, а не тесты.