Q / A, сборки Release против сборок Debug и утверждения - PullRequest
3 голосов
/ 16 апреля 2009

Просто любопытно:

Когда вы выпускаете сборки программного обеспечения для Q / A, вы предпочитаете всегда использовать версию "RELEASE" или иногда используете версию DEBUG?

Вот моя загадка: Нам нравится использовать Asserts для ловушек в условиях, которые никогда не должны возникать.

С одной стороны, для Q / A может быть полезно протестировать наше программное обеспечение с включенными утверждениями, чтобы, если они могут создать сценарий, запускающий утверждение, они могли сообщить нам об этом.

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

На сегодняшний день у нас всегда были Q / A, работающие на наших сборках Relesae, так как это был код, который отправлял. Тем не менее, я думаю о том, чтобы попробовать шаблон, в котором наши действительно ранние выпуски Q / A вышли бы с включенными утверждениями. Затем, когда мы приблизимся к отправке, мы сообщим им, что в их сборках отключены утверждения.

Что вы, ребята, думаете?

Ответы [ 5 ]

3 голосов
/ 16 апреля 2009

Мы выпускаем оба к Q / A, и тестовые проходы завершены на обоих. Если вы заняты автоматизированным тестированием, это просто становится проблемой наличия дополнительного оборудования для запуска тестов.

Версии выпуска должны быть проверены, так как именно они используются фактическими клиентами. Отладочные версии содержат дополнительные утверждения / проверки / трассировки / и т. Д., Которые невероятно полезны при поиске неочевидных ошибок.

1 голос
/ 17 апреля 2009

Я тоже на Отладке рано / Выпуск поздно; Официальная политика моего предыдущего работодателя (иногда нарушенная, но не мной) заключалась в том, чтобы тестировать сборки Debug до бета-версии, а затем сборки Release. Очевидно, стоит запускать сборки Debug до тех пор, пока вы не отправите их, но прискорбная политическая реальность заключается в том, что многие руководители программ не исправят ошибку, если она сообщена в сборке Debug.

1 голос
/ 16 апреля 2009

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

Это соответствует принципу проверки вашего продукта как можно раньше в процессе разработки. Если вы делаете это только тогда, когда выпускаете версию, вы делаете это слишком поздно.

И я бы дал им отладочную сборку с включенными утверждениями для этих ранних тестов. Если у вас есть утверждение в коде, которое не удалось, у вас есть ошибка. Либо код неверен, либо утверждают. В любом случае, вы хотите, чтобы QA проверило это.

1 голос
/ 16 апреля 2009

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

0 голосов
/ 16 апреля 2009

Мы выпускаем релизные сборки с символами отладки, чтобы производительность была правильной (широкое использование вывода отладки и утверждений может немного замедлить процесс), но они все равно сообщают о значимых трассировках стека, если происходит исключение.

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

...