«Программные функции, которые не могут быть продемонстрированы автоматическими тестами, просто не существуют» - слишком ли это утверждение?

Кент Бек классно сказал, что

  

Программные функции, которые не могут быть   продемонстрированные автоматическими испытаниями просто   не существует

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

6 голосов | спросил Graviton 5 Jpm1000000pmWed, 05 Jan 2011 14:48:00 +030011 2011, 14:48:00

6 ответов


11

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

12 лет назад, Unit Testing (по крайней мере, как мы его знаем сегодня) было относительно неизвестным явлением, за исключением маги, которые его продвигали. Кент Бек был одним из тех магов. Каждый раз, когда вы хотите убедить кого-то попробовать что-то новое, кажется, что требуется гипербола.

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

Тем не менее, не бросайте ребенка с водой для ванны, но пользуйтесь здравым смыслом, когда вы слышите подобные высказывания.

ответил Berin Loritsch 5 Jpm1000000pmWed, 05 Jan 2011 17:03:10 +030011 2011, 17:03:10
26
  

Программные функции, которые не могут быть продемонстрированы автоматическими тестами, просто не существуют

Это одна из самых надменных и глупых вещей, которые я когда-либо слышал.

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

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

ответил 5 Jpm1000000pmWed, 05 Jan 2011 14:52:47 +030011 2011, 14:52:47
9
  

Он написал, что 12 лет назад .

Этот не существовало в то время или было очень ограничено.

Когда я прочитал то, что написал 12 лет назад, я хочу спрятаться под кроватью и заплакать.

ответил 5 Jpm1000000pmWed, 05 Jan 2011 15:06:39 +030011 2011, 15:06:39
5
  

Программные функции, которые не могут быть продемонстрированы автоматическими тестами, просто не существуют

Это одна из самых полезных и полезных вещей, которые я когда-либо слышал.

Зная, что вы не можете измерить пользовательский интерфейс, вам все равно нужно создать программное обеспечение, которое работает. Независимо от того, работает ли программное обеспечение или не работает, он не зависит от того, как он выглядит.

Хорошее программное обеспечение ничего не может сделать.

Плохо выглядящее программное обеспечение может полностью решить проблему элегантно и эффективно.

  

Я имею в виду, я не могу продемонстрировать ... пиксель экрана правильный в автоматизированных тестах. Итак, мои функции не существуют?

«Мои функции не существуют» слишком сильно задерживает комментарий.

У вас есть две несвязанные вещи.

  1. Работает.

  2. Выглядит правильно.

Нужно пройти тестирование. Если вы не можете его протестировать, то его не существует.

Другой должен быть испытан. Обратите внимание, что вы можете создавать изменения пользовательского интерфейса, которые пользователи не могут испытывать. Они также не существуют.

Слепоподобные пользователи, например, не могут сказать, что вы исправили «красный» фон, чтобы быть другим «красным». Если вы выбрали цвет, который пользователь не видит, чем цвет не существует.

ответил S.Lott 5 Jpm1000000pmWed, 05 Jan 2011 19:20:47 +030011 2011, 19:20:47
2

Вы должны прочитать эту статью , в которой плачет Джоэл Спольский это понятие разделено и объясняет, что его логическое завершение в основном «является программным эквивалентом вечной машины движения».

ответил Mason Wheeler 5 Jpm1000000pmWed, 05 Jan 2011 16:27:20 +030011 2011, 16:27:20
0

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

В бизнес-мире такая вещь маловероятна, но случайно создаваемые игровые миры - это другое дело.

ответил Loren Pechtel 5 Jpm1000000pmWed, 05 Jan 2011 21:25:41 +030011 2011, 21:25:41

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132