Вопросы с тегом «testing»

70
Разумно ли настаивать на воспроизведении каждого дефекта перед его диагностикой и устранением?

Я работаю в компании по разработке программного обеспечения. У нас есть крупные корпоративные клиенты, которые внедряют наш продукт, и мы оказываем им поддержку. Например, если есть дефект, мы предоставляем исправления и т. Д. Другими словами, это довольно типичная установка. Недавно был выдан и...

68
Написание тестов для существующего кода

Предположим, у кого-то была относительно большая программа (скажем, 900k SLOC на C #), все тщательно прокомментированы / задокументированы, хорошо организованы и работают хорошо. Вся база кода была написана одним старшим разработчиком, который больше не работает в компании. Весь код тестируется как...

67
Как избежать логических ошибок в коде, когда TDD не помог?

Недавно я писал небольшой кусочек кода, который по-человечески укажет, сколько лет событию. Например, это может указывать на то, что событие произошло «Три недели назад», «Месяц назад» или «Вчера». Требования были относительно ясны, и это был идеальный случай для разработки, основанной на...

64
Гарантирует ли покрытие пути поиск всех ошибок?

Если каждый путь через программу проверен, гарантирует ли это поиск всех ошибок? Если нет, то почему? Как вы могли бы пройти через все возможные комбинации программных потоков и не найти проблему, если таковая существует? Я стесняюсь предположить, что «все ошибки» могут быть найдены, но, может...

64
Почему компиляторы настолько надежны?

Мы ежедневно используем компиляторы, как если бы их корректность была задана, но компиляторы тоже являются программами и могут содержать ошибки Я всегда задавался вопросом об этой непогрешимой надежности. Вы когда-нибудь сталкивались с ошибкой в ​​самом компиляторе? Что это было и как вы поняли,...

64
Разница между модульным тестированием и разработкой на основе тестирования

Из прочтения описаний я понимаю, что в TDD тесты выполняются до написания функции, а в модульном тестировании - после. Является ли это основным отличием, или эти два термина даже нельзя сравнивать как таковые? Возможно, Unit Testing является неотъемлемой частью...

63
Как бороться со статическими служебными классами при разработке для тестируемости

Мы пытаемся спроектировать нашу систему так, чтобы она была тестируемой, и в большинстве случаев она была разработана с использованием TDD. В настоящее время мы пытаемся решить следующую проблему: В разных местах нам необходимо использовать статические вспомогательные методы, такие как ImageIO и...

62
Достаточно ли использовать приемочные и интеграционные тесты вместо юнит-тестов?

Краткое введение в этот вопрос. Я использовал сейчас TDD и в последнее время BDD уже более года. Я использую такие приемы, как издевательство, чтобы писать свои тесты более эффективно. В последнее время я начал личный проект, чтобы написать небольшую программу управления капиталом для себя....

62
Должны ли мы проверить все наши методы?

Поэтому сегодня я поговорил с моим товарищем по команде о модульном тестировании. Все началось, когда он спросил меня: «Привет, где тесты для этого класса, я вижу только один?». Весь класс был менеджером (или службой, если вы предпочитаете называть это так), и почти все методы просто делегировали...

61
Как написать «хорошие» юнит-тесты?

Приведенный в действие этим потоком , я (снова) думаю об окончательном использовании модульных тестов в моих проектах. Несколько постеров там говорят что-то вроде «Тесты - это круто, если они хорошие тесты». Мой вопрос сейчас: что такое "хорошие" тесты? В моих приложениях основная часть часто...

60
Должен ли разработчик выступать в роли тестера? [закрыто]

Мы - команда разработчиков из 3 разработчиков, 1 дизайнер, мастер разработки и владелец продукта. Однако в нашей команде нет официального тестера. Проблема, которая всегда с нами, заключается в том, что тестирование приложения, прохождение этих тестов и устранение ошибок было определено как один из...

59
Есть ли смысл в модульных тестах, которые заглушают и издеваются над всем?

Когда я выполняю модульные тесты «правильным» способом, то есть заглушаем каждый публичный вызов и возвращаем предустановленные значения или макеты, я чувствую, что на самом деле ничего не тестирую. Я буквально смотрю на свой код и создаю примеры, основанные на потоке логики через мои публичные...

59
Написание тестов для кода, цель которого я не понимаю

Я недавно завершил рефакторинг черного ящика. Я не могу проверить это, потому что не могу понять, как это проверить. На высоком уровне у меня есть класс, инициализация которого включает в себя получение значений из некоторого класса B. Если класс B «пустой», он генерирует некоторые разумные...

59
Покрытие кода выделяет неиспользуемые методы - что мне делать?

Мне было поручено увеличить охват кода существующего проекта Java. Я заметил, что инструмент покрытия кода ( EclEmma ) выделил некоторые методы, которые никогда нигде не вызываются. Моя первоначальная реакция не в том, чтобы написать модульные тесты для этих методов, а в том, чтобы выделить их для...

59
«Это работало вчера, я клянусь!» Что вы можете сделать? [закрыто]

Когда вы приходите утром, вы обнаруживаете, что ваше программное обеспечение больше не работает, даже если вы работали вчера вечером. Чем ты занимаешься? Что вы проверяете в первую очередь? Что вы делаете, чтобы перестать злиться и начать работать над своей проблемой? Вы обвиняете своих коллег и...

58
Допустимы ли магические числа в модульных тестах, если числа ничего не значат?

В моих модульных тестах я часто выбрасываю произвольные значения в свой код, чтобы посмотреть, что он делает. Например, если я знаю, что foo(1, 2, 3)должен возвращать 17, я мог бы написать это: assertEqual(foo(1, 2, 3), 17) Эти числа являются чисто произвольными и не имеют более широкого значения...

56
Инъекция зависимостей необходима для модульного тестирования?

Является ли использование внедрения зависимостей (DI) необходимым для модульного тестирования? Я не могу придумать другой альтернативы для изоляции кода, чтобы его можно было проверить. Кроме того, все примеры, которые я когда-либо видел, используют этот шаблон. Это потому, что это единственный...

55
Как написать модульные тесты перед рефакторингом?

Я прочитал некоторые ответы на вопросы в том же ключе, например, «Как вы поддерживаете свои юнит-тесты при рефакторинге?». В моем случае сценарий немного отличается тем, что мне дали проект для проверки и приведения в соответствие с некоторыми нашими стандартами, в настоящее время тестов для...

55
Почему бы не написать все тесты сразу при выполнении TDD?

Цикл Красный - Зеленый - Рефактор для TDD хорошо установлен и принят. Мы пишем один провальный модульный тест и делаем его максимально простым. Каковы преимущества этого подхода по сравнению с написанием множества неудачных модульных тестов для класса и заставляют их пройти все сразу? Набор тестов...

54
Хорошо ли, что тестеры соревнуются, чтобы увидеть, кто открывает больше ошибок?

Я разработчик программного обеспечения. Есть команда тестировщиков, которые следят за тестовыми примерами, написанными аналитиком, и проводят их, а также проводят предварительное тестирование. Похоже, что тестеры боролись за то, чтобы узнать, кто открывает больше ошибок, и я заметил, что качество...