stringtranslate.com

Тестирование разработки

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

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

Обзор

Тестирование разработки выполняется разработчиком или инженером программного обеспечения на этапе конструирования жизненного цикла разработки программного обеспечения . [ 1]

Вместо того чтобы заменять традиционные фокусы QA , он дополняет их. [2] Тестирование разработки направлено на устранение ошибок построения до того, как код будет передан на QA; эта стратегия направлена ​​на повышение качества конечного программного обеспечения, а также эффективности общего процесса разработки и QA. [3]

Цели и преимущества

Тестирование разработки применяется для следующих основных целей:

Исследование VDC сообщает, что стандартизированная реализация процессов тестирования разработки в рамках всеобъемлющего стандартизированного процесса не только улучшает качество программного обеспечения (согласуя действия по разработке с проверенными лучшими практиками), но и увеличивает предсказуемость проекта. [4] Исследование Voke сообщает, что тестирование разработки делает программное обеспечение более предсказуемым, прослеживаемым, видимым и прозрачным на протяжении всего жизненного цикла разработки программного обеспечения. [2]

Основные принципы

В каждом из вышеперечисленных приложений тестирование разработки начинается с определения политик, которые выражают ожидания организации в отношении надежности, безопасности, производительности и соответствия нормативным требованиям. Затем, после того как команда обучена этим политикам, внедряются практики тестирования разработки для согласования деятельности по разработке программного обеспечения с этими политиками. [5] Эти практики тестирования разработки включают:

Акцент на применении широкого спектра методов предотвращения и обнаружения дефектов основан на предпосылке, что различные методы тестирования разработки настроены на выявление различных типов дефектов на разных этапах жизненного цикла разработки программного обеспечения, поэтому совместное применение нескольких методов снижает риск ускользания дефектов. [3] Важность применения широкого набора методов подтверждается Бемом и Базили в часто упоминаемом «Списке 10 лучших методов снижения дефектов программного обеспечения». [7]

Статический анализ

Термин «тестирование разработки» иногда использовался для описания применения инструментов статического анализа. Многочисленные лидеры отрасли не согласились с этим смешением, поскольку статический анализ технически не является тестированием; даже статический анализ, который «охватывает» каждую строку кода, не способен подтвердить , что код делает то, что он должен делать, или выявить определенные типы дефектов или уязвимостей безопасности , которые проявляются только при динамическом выполнении программного обеспечения. Хотя многие предупреждают, что статический анализ сам по себе не следует считать серебряной пулей или панацеей, большинство отраслевых экспертов сходятся во мнении, что статический анализ является проверенным методом устранения многих дефектов безопасности, надежности и производительности. Другими словами, хотя статический анализ и не то же самое, что тестирование разработки, его обычно считают компонентом тестирования разработки. [8] [9]

Дополнительные мероприятия

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

Смотрите также

Ссылки

  1. ^ Макконнелл, Стив (2004). Code Complete (2-е изд.). Microsoft Press. ISBN 0-7356-1967-0.
  2. ^ ab voke Market Mover Array Report: Тестирование платформ Терезы Лановиц, Лизы Дронжек, voke, 5 июня 2012 г.
  3. ^ abcd Колава, Адам; Хейзинга, Дорота (2007). Автоматизированное предотвращение дефектов: лучшие практики в управлении программным обеспечением. Wiley-IEEE Computer Society Press. ISBN 0-470-04212-5.
  4. ^ «Автоматизированное предотвращение дефектов для обеспечения качества встроенного программного обеспечения» — технический документ VDC Research
  5. ^ Большие надежды на развитие — с автоматизацией политики Уэйн Ариола, SD Times, 28 июля 2011 г.
  6. ^ Переосмысление разработки, тестирования и проверки программного обеспечения. Архивировано 07.05.2013 на Wayback Machine Мэтью Хойссером, директором по информационным технологиям, 1 февраля 2012 г.
  7. ^ Список 10 лучших методов устранения дефектов программного обеспечения, составленный Барри Бёмом и Виктором Р. Базили, Computer, январь 2001 г.
  8. ^ Статические анализаторы в программной инженерии Архивировано 15 октября 2012 г. на Wayback Machine доктором Полом Э. Блэком, CrossTalk: Журнал оборонной программной инженерии, март/апрель 2009 г.
  9. ^ Три основные ошибки статического анализа для встраиваемых и критически важных для безопасности разработок Артура Хикена, EE Catalog, 25 сентября 2012 г.
  10. ^ Удовлетворение требований SIL: обеспечение функциональной безопасности систем безопасности E/E/PE Архивировано 04.03.2016 в статье Wayback Machine на DevelopmentTesting.com