Что такое тестирование программного обеспечения

Серия статей про тестирование программного обеспечения. Часть 2: что такое тестирование программного обеспечения.

Вернуться к главной странице Тестирование программного обеспечения.

Содержание

  1. Что такое тестирование программного обеспечения
  2. Что такое обеспечение
  3. Виды программного обеспечения
  4. Характеристики качества программного обеспечения
  5. Цель и задачи тестирования программного обеспечения
  6. Что такое тестирование программного обеспечения
  7. Словарь тестировщика
  8. Стандарты тестирования
  9. Уровни тестирования программного обеспечения
  10. Классификация видов тестирования
  11. Подходы к тестированию и разработке

Что такое тестирование программного обеспечения

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

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

Среди неудач первопроходцев:

  • так называемое “исчерпывающее тестирование” в котором пытались использовать все возможные входные данные и все пути в коде, что оказалось просто невозможным;
  • попытки представить тестирование ПО как «деятельность по подтверждению правильности работы программного обеспечения» и «процесс, направленный на демонстрацию корректности продукта», что тоже оказалось по большей части неэффективным, за исключением моментов с приемо-сдаточными испытаниями.

70-е годы прошлого столетия, а вернее — их вторая половина, были ознаменованы осознанием “парадокса тестирования”. Его особенность заключается в том, что тестирование ставит перед собой две диаметрально противоположных цели. Первая — доказать работоспособность ПО. Вторая, более продуктивная и результативная — найти ошибки и доказать тем самым, что ПО не работает. В целом тестирование представляло из себя то, что в наше время мы называем “системное тестирование”, т.е. работа со скомпилированной, готовой системой.

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

Развитие интернета в 90-е годы привело к появлению веб-приложений, для которых стали использовать “гибкое тестирование”. Это понятие возникло по аналогии с гибкими методологиями программирования. И теперь целью тестирования стало обеспечение качества ПО, достигаемое благодаря планированию, проектированию, созданию, поддержке и выполнению тестов и тестовых окружений. А в помощь тестировщикам создаются новые и все более совершенные программные инструменты: программное обеспечение для проведения нагрузочного тестирования, среды для автоматизации с возможностью создания скриптов и генерации отчетов, системы управления тестами.

Что такое обеспечение

Вычислительная система нуждается в ряде обеспечений, начиная от математического и заканчивая правовым, и в том числе и программным обеспечением. И для обозначения программного обеспечения, как правило, используется сленговое слово “софт”, которое произошло от английского «software».

Разделяют аппаратное обеспечение, которое представляет собой все физические части компьютера (железо), и программное обеспечение.

Аппаратное обеспечение

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

В данной статье мы сфокусируемся не на аппаратном, а на программном обеспечении.

Программное обеспечение

Существует несколько определений того, что представляет собой программное обеспечение (ПО). Согласно российскому ГОСТ, программное обеспечение является “совокупностью программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ”.

Если же обратимся к международным стандартам, то найдем там следующие определения:

  • программное обеспечение (ПО) — это все или часть программ, процедур, правил и соответствующей документации системы обработки информации (стандарты ISO / IEC);
  • программное обеспечение (ПО) — это компьютерные программы, процедуры и, возможно, соответствующая документация и данные, относящиеся к функционированию компьютерной системы (стандарт для документации по тестированию программного обеспечения и систем IEEE Std).

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

Но можно найти и более развернутые определения, например, такое:

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

Принято подразделять программное обеспечение на три условных блока:

  1. Системное программное обеспечение (системные программы).
  2. Прикладное программное обеспечение (прикладные программы).
  3. Инструментальное обеспечение (инструментальные системы).

Виды программного обеспечения

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

Системное программное обеспечение

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

Операционная система — это одно из главных системных программ в компьютере, представляют собой совокупность программ, необходимых для управления загрузки, запуском программ, планирования ресурсов вычислительной системы, в общем и целом, для управления работой компьютера от включения до его полного выключения. Примеры операционных систем: Windows 7, Windows 10, Windows 11, Linux, Macintosh.

Сервисное программное обеспечение (системы технического обслуживания, программные оболочки, служебные программы) предоставляет расширенные возможности для обслуживания системы и удобства работы в системе.

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

Программные оболочки (программы) необходимы для того, чтобы предоставить пользователям компьютера удобный интерфейс (примеры программ: браузер, текстовый редактор).

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

Прикладное программное обеспечение

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

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

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

Пакеты прикладных программ — это программные комплексы, которые рассчитаны на общее применение, имеющие подробную документацию: текстовые редакторы, табличные процессоры, системы управления базами данных, графические редакторы.

Инструментальное программное обеспечение

Инструментальное программное обеспечение — это программное обеспечение, носящее прикладной характер, необходимое для создания новых программ, в эту группу входят следующие составляющие: языки программирования, среды разработки, отладчики, системы моделирования, трансляторы (компиляторы и интерпретаторы).

Характеристики качества программного обеспечения

Рассмотрим основные характеристики качества программного обеспечения:

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

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

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

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

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

Защищенность программного обеспечения. Данная характеристика показывает, насколько программное обеспечение безопасно, насколько защищено от угроз.

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

Совместимость программного обеспечения. Данная характеристика качества ПО показывает, насколько компоненты программного обеспечения способны взаимодействовать друг с другом.

Что такое тестирование

Многие задаются вопросом — что такое тестирование? Рассмотрим несколько определений тестирования.

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

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

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

Что такое тестирование программного обеспечения

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

  • непосредственный процесс работы с программой, целью которого является нахождение имеющихся ошибок;
  • особым образом выполненная проверка, нацеленная на выявление различий между ожидаемым и реальным поведением программного продукта;
  • интеллектуально-техническая дисциплина, нацеленная на то, чтобы минимизировать проверочный процесс и получить при этом качественное программное обеспечение;
  • исследование качества программы техническими средствами для получения заказчикам тестирования необходимой информации;
  • процесс проверки и наблюдения, целью которого является выявление недостатков программы, проявляющихся в различных условиях и отличающихся от заданной спецификации;
  • процесс наблюдения за статическими и динамическими активностями жизненного цикла программного продукта (планирование, подготовка, оценивание результатов работы) с последующим описанием выявленных несоответствий или соответствия предъявляемым требованиям;
  • выполняемый в специальных условиях процесс наблюдения за работой программы, для определения и оценки заранее оговоренных параметров работы программы;
  • технология контроля качества (Quality Control), направленная на обеспечение качества программного продукта и включающая в себя ряд этапов:
    • предварительный анализ;
    • планирование предстоящей работы;
    • разработку тестовых сценариев;
    • оценку критериев завершения процесса тестирования;
    • рецензирование документации, включающей в себя исходный код;
    • составление и написание отчета.

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

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

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

Цель и задачи тестирования программного обеспечения

Сами определения тестирования ПО (тестирования программного обеспечения) уже содержат основные цели и задачи, которые решаются в ходе тестирования для достижения этих целей. Но цели могут изменяться в зависимости от этапа разработки. Если программное обеспечение (ПО) проходит начальный этап кодирования, то важно минимизировать сбои программы, а на этапе сопровождения — убедиться в том, что не возникают новые баги и сбои, которые просмотрели на предыдущих этапах. И все же есть базовые цели тестирования:

  • основная цель — в ходе тестирования доказать, что все заявленные разработчиками функции работают стабильно в определенных заказчиком условиях, не требуется дополнительных доработок, а значит продукт можно предъявлять для внедрения в производство и выводить на рынок, или что проверка новой функциональности в существующих программах прошла успешно, а также убедиться, что в существующих продуктах нет хотя бы критичных ошибок;
  • провести процесс тестирования в максимально-возможный короткий срок;
  • повысить качество ПО, а значит увеличить вероятность того, что разрабатываемый программный продукт будет доведен до предъявленных требований функциональности, производительности, совместимости со всеми предполагаемыми операционными системами и на всех возможных устройствах;
  • максимально адаптировать приложение для работы даже в сложных условиях и обстоятельствах, с разными нагрузками, т.е повысить его надежность, защищенность от взломов и удобство использования, а также предотвратить возможность появления дефектов.
  • предоставить всю необходимую информацию заказчику.

Для того, чтобы достичь этих целей решается ряд последовательных задач:

  • основной задачей является выявление ошибок;
  • для этого используются различные инструменты тестирования, в том числе и автоматизированного тестирования;
  • проверяется соответствие заявленным требованиям, а именно:
    • что работа системы соответствует необходимым временам отклика клиента и сервера;
    • что правильно выполняются критические последовательности действий с системой конечного пользователя;
    • что система по-прежнему работает так, как задумано в документации, после внесения изменений;
    • что система соответствует требованиям — технической документации, прототипам;
    • что не оказывается негативного влияния на программные модули в случае изменения базы данных.
  • проверяется адекватность наличия и корректность работы пользовательских интерфейсов;
  • минимизируется влияние возможных изменений в ПО на переработку тестов;
  • оценивается качество разработанного ПО;
  • принимаются дальнейшие решения на основе полученных данных.

Словарь тестировщика

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

Смотрите  минимальный словарь тестировщика.

Больше определений по тестированию программного обеспечения смотрите в  расширенном словаре тестировщика.

Стандарты тестирования

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

  • BS 7925-1
  • BS 7925-2
  • IEEE 730
  • IEEE 829
  • IEEE 830
  • IEEE 1008
  • IEEE 1012
  • IEEE 1028
  • IEEE 1044
  • IEEE 1044-1
  • IEEE 1061
  • IEEE 1059
  • IEEE 12207
  • ISO 9126
  • ISO 9241
  • ISO / IEC 12119
  • ISO / IEC 25000: 2005

Уровни тестирования программного обеспечения (пирамида тестирования)

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

  1. Компонентное или Модульное тестирование (Component Testing or Unit Testing).
  2. Интеграционное тестирование (Integration Testing).
  3. Системное тестирование (System Testing).
  4. Приемочное тестирование (Acceptance Testing).

Уровни тестирования программного обеспечения также называют пирамидой тестирования (от самого низкого уровня тестирования — модульного (компонентного) — до самого высокого уровня — системного тестирования.

Компонентное или модульное тестирование

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

И компонентное и модульное тестирование направлены на поиск дефектов в отдельных частях приложений (программных модулях, функциях, классах и т.п.), при этом важно, что должна быть возможность протестировать их независимо друг от друга. В идеале, еще перед началом разработки ПО нужно подготовить автоматизированные тесты. Тогда далее происходит так называемая “разработка от тестирования” (test-driven development) или “подход тестирования в начале” (test first approach).

Для этого при помощи интегрированной среды разработки (IDE — от англ. integrated development environment) вызывается проверяемый код (проверяемая часть кода), напротив него запускаются заранее подготовленные тесты, а выявленные проблемы исправляются инструментами отладки прямо в рамках той задачи, которая сейчас находится в разработке и тестировании. При этом в систему баг-трекинга описание бага не попадает, а разработка продолжается до полного успешного прохождения тестов.

Интеграционное тестирование

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

Различают два уровня интеграционного тестирования:

  • Компонентный интеграционный уровень (Component Integration testing) — проверка взаимодействующих компонентов одной системы.
  • Системный интеграционный уровень (System Integration Testing) — проверка взаимодействия между несколькими системами.

Подходы к интеграционному тестированию

Рассмотрим четыре подхода:

  1. Снизу вверх (Bottom Up Integration)
  2. Сверху вниз (Top Down Integration)
  3. Сэндвич, гибридная интеграция (Hybrid / Sandwich)
  4. Большой взрыв («Big Bang» Integration)
Снизу вверх

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

Сверху вниз

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

Сэндвич

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

Большой взрыв

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

Системное тестирование

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

Подходы к системному тестированию

Рассмотрим два подхода:

  • На базе требований (requirements based).
  • На базе сценариев использования (use case based).
Системное тестирование на базе требований

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

Тестирование на базе сценариев использования

Тестирование на базе сценариев использования выполняется на основе генерации различных тестовых сценариев (тест-кейсов) при помощи специальных техник тестирования. Для каждого тестового сценария создаются свои тестовые артефакты. На основе тестовых артефактов могут быть созданы случаи использования (use cases, юз кейсы). В свою очередь, возможен и обратный процесс — сначала генерируются тестовые случаи использования, а затем на их основе генерируются тестовые сценарии (тест-кейсы).

Классификация видов тестирования

Рассмотрим несколько классификаций видов тестирования.

Виды тестирования по функциональности

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

У каждого вида тестирования есть свои цели, задачи, каждый вид тестирования направлен на определенный спектр исследования.

Виды тестирования по программному обеспечению

  • Тестирование программ (тестирование desktop программ, десктопных программ, программ на Windows (Windows 11, Windows 10, Windows 7), Linux, Macintosh).
  • Тестирование сайтов (затрагивает архитектуру веб-приложений, тестирование веб-сайтов, облачных сервисов, интернет-ресурсов, сайтов, лендингов, интернет-магазинов).
  • Тестирование приложений (тестирование мобильных приложений и устройств, гаджетов, планшетов, телефонов, Android, iOS).

Виды тестирования по позитивности тестовых сценариев

  • Положительное тестирование (positive testing) — составление и проверка тестовых сценариев с точки зрения того, как программное обеспечение должно работать.
  • Негативное тестирование (negative testing) — составление и проверка тестовых сценариев с точки зрения того, как программное обеспечение должно работать.

Виды тестирования по уровням (пирамида тестирования)

  • Модульное тестирование (компонентное тестирование, unit testing, component testing) — низкоуровневое тестирование, на уровне компонентов, модулей программного обеспечения.
  • Интеграционное тестирование (integration testing) — это вид тестирования, рассматривающий взаимодействие нескольких модулей программного обеспечения, на стыке разных модулей. Системное тестирование (system testing) — самый высокий уровень, вид тестирования, при котором проверяется программное обеспечение с точки зрения конечного его использования, на самом верхнем уровне программного обеспечения.

Виды тестирования запуску кода

  • Статическое тестирование (static testing) — вид тестирования, при котором код программного обеспечения не выполняется при тестировании.
  • Динамическое тестирование (dynamic testing) — вид тестирования, при котором код программного обеспечения выполняется при тестировании.

Виды тестирования доступу к коду

  • Тестирование черным ящиком (black box testing, тестирование методом черного ящика) — для тестировщика программное обеспечение — это черный ящик, он знает только, как использовать ее с точки зрения конечного пользователя.
  • Тестирование серым ящиком (grey box testing, тестирование методом серого ящика) — для тестировщика программное обеспечение — это серый ящик, могут быть использованы преимущества двух подходов — метода белого ящика и метода черного ящика.
  • Тестирование белым ящиком (white box testing, тестирование методом белого ящика) — для тестировщика программное обеспечение — это белый ящик, как разработчик, он имеет доступ к исходному коду программного обеспечения, может использовать все возможности для анализа и отладки кода для целей тестирования.

Про другие виды тестирования читайте в статье  Виды тестирования программного обеспечения.

Подходы к тестированию и разработке

Существуют следующие подходы к тестированию и разработке:

TDD (test driven development, code driven testing) — подход к тестированию и разработке, в основе которого принцип — сначала пишем тесты, затем пишем код.

BDD (behavior driven development) — подход разработки и тестирования, основанный на том, чтобы соединить техническое понимание вопроса и понимание бизнеса путем описания сценариев на языке, понятном, как бизнесу, так и разработчикам и тестировщикам.

DDT (data driven testing) — подход в тестировании и разработке, основанный на том, чтобы на вход тесту подавать множество данных и проверять на выходе, какой хочется получить ожидаемый результат.

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

0
Нет комментариев. Ваш будет первым!