Какие методы Вы на самом деле раньше успешно улучшали покрытие кода?

Это поможет ... поскольку сам документ имеет переменную readyState

var time;
window.onload = function() {
    time = setTimeout(function() {
        if (document.readyState === 'complete') {
            clearTimeout(time);
        } else {
            document.location.reload();
        }

    }, 5000);
};
5
задан quamrana 4 October 2008 в 17:51
поделиться

5 ответов

Удалите код.

Это не придирчиво, но на самом деле серьезно. Любое время я видел бы самое маленькое дублирование объема кода или даже кодировал бы это, я не мог добраться для выполнения, я удалил его. Это увеличенное покрытие и увеличенная пригодность для обслуживания.

Я должен отметить, что это более применимо к увеличению покрытия старых кодовых баз по сравнению с новыми кодовыми базами.

6
ответ дан 13 December 2019 в 22:19
поделиться

Я действительно предполагаю, что Вы читаете "Код, покрытый по сравнению с Протестированным Кодом", право?

Как указано в том вопросе,

Даже с 100%-м покрытием блока + 100%-е покрытие дуги + 100% error-free-for-at-least-one-path прямолинейный код, все еще будут входные данные, которые выполняют пути/циклы способами, которые показывают больше ошибок.

Теперь, я использую eclemma, на основе EMMA, и тот инструмент покрытия кода объясняет, почему 100%-й код не всегда возможен: из-за частично покрытых строк из-за:

  • Неявные ответвления по той же строке.
  • Общий код конструктора.
  • Неявные ответвления из-за наконец блоков.
  • Неявные ответвления из-за скрытого Class.forName ().

Таким образом, все те 4 случая могли бы быть хорошими кандидатами на рефакторинг продвижения к лучшему покрытию кода.

Теперь, я соглашаюсь с ответом Frank Krueger. Некоторый непокрытый код мог бы также быть признаком некоторого рефакторинга, который будет сделан, включая некоторый код для фактического удаления ;)

2
ответ дан 13 December 2019 в 22:19
поделиться

Две вещи, которые оказали самое большое влияние на проекты, я продолжил работать, были:

  1. Периодически "напоминая" группе разработчиков на самом деле реализовать модульные тесты и рассматривая, как записать эффективные тесты.
  2. Генерация сообщения о полном тестовом покрытии и распространение этого среди руководителей разработки.
1
ответ дан 13 December 2019 в 22:19
поделиться

Мы используем Perl, таким образом, Devel:: Покрытие было очень полезно для нас. Шоу покрытие на оператор, покрытие ответвления и условное покрытие во время поблочного тестирования, а также вещи как покрытие POD. Мы используем вывод HTML с легко распознаваемыми зелеными для "100%" через желтый и красный цвет для более низких уровней покрытия.

Править: Подробно остановиться на вещах немного:

  • Если условный обзор не полон, исследуйте условия на взаимозависимость. Если это там, осуществить рефакторинг. Если это не Вы, должен смочь расширить Ваши тесты для удара всех условий.
  • Если завершенные взгляды покрытия условного выражения и ответвления, но покрытие оператора не, Вы или записали условные выражения неправильно (например, всегда возврат рано из sub, когда Вы не значили для), или у Вас есть дополнительный код, который может быть безопасно удален.
1
ответ дан 13 December 2019 в 22:19
поделиться

ПРИГОДНОЕ тестирование улучшило наше покрытие кода. Это было большим, потому что это - совершенно другой гвоздь.

Фон: у нас есть соединение и нового кода прежней версии. Мы пробуем к единице/интеграционному тесту новый материал как можно больше, но потому что мы мигрируем, чтобы Быть в спящем режиме/Пост-ГРЭС и далеко от OODB, нет большого количества точки к тестированию унаследованного кода.

Для тех, кто не знает, СООТВЕТСТВИЕ является способом протестировать программное обеспечение с пользовательской точки зрения. По существу можно указать желаемое поведение в HTML-таблицах: таблицы указывают действия против программного обеспечения и желаемых результатов. Наша команда пишет 'код связующего звена' (иначе ПРИГОДНЫЙ тест), которые отображают действия на вызовы против кода. Обратите внимание, что эти тесты работают в представлении 'от пространства' по сравнению с модульными тестами.

Используя этот подход, мы увеличили наше покрытие кода на несколько процентных пунктов. Добавленная премия - то, что эти тесты образуют мост через версии: они протестируют унаследованный код, но затем, позже, новый код. т.е. они служат регрессионными тестами в некотором смысле.

0
ответ дан 13 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: