Каковы преимущества автоматизации приемочных испытаний? [закрытый]

6
задан Gabriel Ščerbák 30 April 2010 в 19:43
поделиться

3 ответа

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

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

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

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

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

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

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

Продолжение:

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

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

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

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

8
ответ дан 8 December 2019 в 17:19
поделиться

Написание автоматических приемочных тестов может принести большие выгоды. В частности, это:

  • Повышает доверие клиентов к продукту, который доказал свою стабильность.
  • Снижает затраты на обслуживание
  • Снижает риск и страх перед изменениями
  • Позволяет быстрее и дешевле вносить изменения в систему

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

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

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

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

Каковы преимущества автоматизации приемо-сдаточные испытания?

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

3
ответ дан 8 December 2019 в 17:19
поделиться
Другие вопросы по тегам:

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