Автоматическое тестирование - это широкая категория, которая содержит две меньшие категории: модульное тестирование и интеграционное тестирование.
Модульное тестирование - это практика выявления самых маленьких модулей вашей программы и написания процедур, тестирующих их отдельно друг от друга. Когда самые маленькие блоки вашей программы тесно связаны друг с другом, может быть трудно проверить их изолированно друг от друга. В этом случае, есть методы и инструменты, которые помогут вам (насмешливые и насмешливые фреймворки). Чтобы эффективно выполнять модульное тестирование, ваша кодовая база должна быть написана особым образом, способом, который поддерживает модульное тестирование - самые маленькие блоки вашей программы не должны быть связаны друг с другом. Большинство программ построены не с учетом этого принципа, и поэтому их сложно выполнить модульным тестированием. Модульное тестирование, где вы можете, и помните об этом принципе для любого нового кода, который вы пишете, чтобы вы всегда могли модульно протестировать свой новый код.
Интеграционное тестирование - это практика выявления функций, которые являются большими единицами вашей программы, объединяющими множество более мелких блоков, и написание процедур, тестирующих их отдельно от других больших блоков вашей программы. Например, процедура, проверяющая, что ваш уровень персистентности правильно сохраняет объекты в постоянное хранилище и правильно извлекает объекты из постоянного хранилища, является интеграционным тестом, поскольку она проверяет как ваш уровень персистентности, так и конвейер TCP / IP, конфигурацию базы данных, базу данных схема, данные, уже находящиеся в базе данных, и взаимодействие между данными, уже находящимися в базе данных, и тем, что делает ваш код. Обязательно проведите интеграционное тестирование, в дополнение к модульному тестированию.
Кроме того, создайте отдельную базу данных исключительно для целей автоматизированных интеграционных тестов. Старайтесь не запускать автоматизированные интеграционные тесты в производственной базе данных или в базе данных разработки, потому что у вас просто возникнут проблемы.