Я працюю у великій компанії і відповідаю за велику програму java з тисячами тестів на джун. З того моменту, як я перейшов на цю роль, було 200-300 зламаних тестів (ймовірно, зламаних роками). Тести старі і тендітні, і вони є безладом залежностей від спагетті, які, як правило, закінчуються даними "пісочного".
Моя мета - 100% проходження тестів, щоб ми могли зламати нарощування відмов тестування одиниці, але я не можу це зробити, поки не звернуся до зламаних тестів. У мене дуже мало бюджету, оскільки бюджет на підтримку в першу чергу на підтримку, але моя команда визначила та виправила низько вивірені фруктові тести (переважно проблеми з конфігурацією / локальними ресурсами), і ми перейшли до 30-40 справді некрасивих тестів.
Які думки щодо найкращої практики? Я не думаю, що тести є цінними, але я також не знаю, що вони тестують, і чому вони не працюють без копання, що вимагає часу і грошей, яких ми, мабуть, не маємо.
Я думаю, що нам слід задокументувати статуси порушених тестів з усім, що ми знаємо, а потім видалити або ігнорувати порушені тести повністю і ввести помилку / робочий елемент нижчого пріоритету, щоб дослідити та виправити їх. Тоді ми будемо на 100% і почнемо отримувати реальну цінність від інших тестів, і якщо у нас буде вітрове обслуговування / реконструкція, ми зможемо забрати їх знову.
Який був би найкращий підхід?
Редагувати: Я думаю, що це питання інше, ніж це питання, тому що у мене є чіткий напрямок для тестів, які ми повинні писати вперед, але я успадкував застарілі невдалі тести для вирішення, перш ніж великий сучасний набір тестів набуде сенсу.