День добрый,
Хотелось бы проконсультироваться у общественности на тему тестов, проводимых самими программистами по ходу работу над заданиями.
Исходная ситуация: на данный момент, после выполнения задания программист должен провести тесты, которые бы доказывали, что он выполнил задание именно так, как надо. Выполненные тесты документируются и прикрепляются к задаче (есть своя система task management'а). В силу, скажем так, особенностей проектирования и реализации приложения, тесты, которые может провест программист, относятся к категории функциональных/интеграционных (проводить unit tests невозможно). Другими словами, чтобы протестировать правильность выполнения надо собрать и запустить приложение и проверить, как оно там живет. Тем не менее, при таком подходе количество ошибок, которые программисты вносят в другие части кода, не уменьшается
.
Почитав умные книги и погуглив, я пришел к выводу, что:
— под developer testing понимаются, по большей части, unit tests
— нагружать программиста интеграционным и функциональными тестами смысла нет (в силу ряда причин, хорошо описанных, например, в "Code Complete" 2nd), т.к. качество это сильно не повысит (не программисткое это дело), а времени и нервов займет больше.
Собственно, вопросы:
— Я правильно понимаю суть developer testing? Или есть положительный опыт выполнения программистами дополнительных тестов?
— Я правильно понимаю, что разработкой интеграционных/функциональных тестов должны заниматься отдельные люди (риторический вопрос, но все же)?
Заранее спасибо.
---
npe