Модульные тесты инженером по контролю качества

NUMERIC(13,8) означает: 8 десятичных цифр. Таким образом, вы получаете именно то, что вы спасли.

10
задан Community 23 May 2017 в 11:44
поделиться

9 ответов

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

17
ответ дан 3 December 2019 в 13:25
поделиться

Существует тонкое, но важное различие между намерением тестами QA и модульных тестов: тестирование QA проверяет функциональность; поблочное тестирование проверяет дизайн. Таким образом, внешнее представление, контрастировавшее с внутренним представлением продукта.

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

Следовательно, абсолютно естественно, что разработчики не люди QA пишут модульные тесты.

16
ответ дан 3 December 2019 в 13:25
поделиться

Это зависит от того, как Вы планируете реализовать свой рабочий процесс тестирования.

Плохо:

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

Хороший:

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

"Хороший" подход работал хорошо над двумя из моих проектов, но мы использовали нетипизированный язык (Smalltalk), где мы только должны были договориться об именах классов для получения тестового выполнения. В Java необходимо реализовать, по крайней мере, интерфейс для вызывания функций.

8
ответ дан 3 December 2019 в 13:25
поделиться

Да.

Разработчик пишет, что unittest te гарантируют, что "единица" делает то, что она предполагает, чтобы сделать. Человек QA тестирует целое приложение.

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

3
ответ дан 3 December 2019 в 13:25
поделиться

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

Возможно, Вы услышали о TDD? "Разработка через тестирование" действительно хорошая практика для разработки. Его основная цель состоит в том, чтобы разработать модульные тесты, прежде чем напишут фактический код (который является странной вещью, когда мы начинаем использовать TDD, я признаю)...

3
ответ дан 3 December 2019 в 13:25
поделиться

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

Однако, чтобы быть протестированным на единицу, код должен быть тестируемым; что может он сделанный, когда код, который это получает, непригоден для тестирования? Переписать его? Осуществить рефакторинг его? Без Модульных тестов?

Короче говоря, я думаю, что это не было бы такой хорошей идеей.

1
ответ дан 3 December 2019 в 13:25
поделиться

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

Для не разработчика программного обеспечения для записи поблочного тестирования я соглашаюсь со всеми другими ответами. Это - плохая идея.

В Вашем вопросе Вы сказали, что у Вас был один человек, делающий поблочное тестирование. Хорошее поблочное тестирование требует большого усилия в зависимости от требуемого тестового покрытия. Это где угодно от 50% до 100% уровня усилия группы разработчиков. Один человек, тестирующий много кода разработчиков, будет полностью поражен.

1
ответ дан 3 December 2019 в 13:25
поделиться

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

Человек QA делает для рефакторинга кода для создания этого тестируемым?

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

0
ответ дан 3 December 2019 в 13:25
поделиться

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

С другой стороны, я считаю, что QA должно быть как можно ближе к модульному тестированию. QA нуждается в хороших отношениях с разработчиком и пытается понять дизайн кода. Зачем? Когда разработчик пишет модульные тесты, основное внимание по-прежнему уделяется разработке, а не тестированию. Вы не можете доверять (не в плохом смысле) разработчику, который предложит лучшие тестовые примеры и что у него хорошее покрытие. Поскольку QA специализируется на тестировании, было бы неплохо держать QA и разработчика как можно ближе во время модульного тестирования.

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

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