Я думаю, что вы должны написать как можно больше тестов для приложения. Они помогут вам изучить кодовую базу и подготовить вас к возможному рефакторингу или новым разработкам.
В этом сценарии вы можете написать несколько видов тестов, каждый из которых имеет свои достоинства. Написание этих тестов научит вас тому, с чем вы имеете дело.
Прежде всего, прежде чем начинать писать тесты на корректность, напишите тесты, которые фиксируют текущее поведение , будь оно правильным или неправильным. Довольно безопасная ставка на то, что вы собираетесь обнаруживать ошибки в угловых случаях или в частях кода, которые не были тщательно протестированы при запуске программы. Не беспокойтесь о том, что должен делать код, просто запишите, что он делает. Пока вы продолжаете, не беспокойтесь о чтении кода или о том, как потратить серьезное время на выяснение того, каким должен быть результат. Просто запустите свой тест и запишите этот вывод в assert.
Это даст вам прочную основу для понимания того, как работает код и где могут быть основные болевые точки или слабые места. Если вы обнаружите ошибки, вы сможете обратиться к людям, которые могут решить, стоит ли их исправлять или нет, и принять эти решения.
Затем вы можете написать несколько более крупных (по объему) тестов, которые охватывают части кода, которые могут быть нелегко тестируемыми, но по-прежнему важно как можно больше тестировать рабочие процессы. Эти тесты рабочих процессов или интеграционные тесты , в зависимости от того, как вы хотите на них смотреть, дадут вам хорошую основу для рефакторинга этих рабочих процессов, чтобы сделать их более тестируемыми и защитить вас, когда необходимо добавить новую функцию, которая может повлиять на существующий рабочий процесс.
Со временем вы создадите набор тестов, которые помогут вам или следующему человеку, унаследовавшему приложение.