Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Тестовые данные, наборы и классы эквивалентности

Лекция



Привет, Вы узнаете о том , что такое тестовые данные, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое тестовые данные , настоятельно рекомендую прочитать все из категории Качество и тестирование программного обеспечения. Quality Assurance..

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

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

Поэтому определение значений - это важная часть работы при создании тестовых наборов, см. Рабочий продукт: тестовый набор и Рекомендация: тестовый набор.

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

  • объем данных - количество тестовых данных
  • полнота - степень вариации тестовых данных
  • охват - применимость данных для цели тестирования
  • архитектура - физическая структура тестовых данных

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

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

Объем

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

Полнота

Полнота данных означает степень изменения данных для тестирования. Ее можно увеличивать, создавая больше записей. Часто этого достаточно, но фактически нам требуется видеть изменения данных, с которыми можно встретиться в реальной ситуации. Без этого в тестировании можно упустить из виду какие-либо ошибки, да и не все ограничиваются получением строго $40.00 из банкомата. Поэтому в тесте нужно учесть вариацию данных в реальной среде, например, получение $20.00 или $110.00. Кроме того, данные должны учитывать возможные вариации фактических данных, например:

  • Имена могут включать звания, числа, пунктуацию и суффиксы:
    • Проф. Петров , г-жа А. Маркизова , Ж. Гей-Люсак
  • Адреса могут быть написаны в несколько строк:
    • 9011Broadway Street
      Suite 111
    • 2311 Broadway
      Floor 18
      Mailstop 1b
  • Коды стран и телефонные номера:
    • Lexington, MA, USA + 0111 626 0000
    • Kista, Sweden +45 1 22 33 44 00
    • Paris, France +33 2 33 44 55 66

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

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

Пример:

Тестовые данные, наборы и классы эквивалентности

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

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

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

  • Общее число записей: 294031
  • Общее число счетов типа S: 141135 (48%)
  • Общее число счетов типа C: 144075 (49%)
  • Общее число счетов типа X: 8821 (3%)
  • Номера счетов и PIN-коды распределены равномерно

с учетом этой статистики тестовые данные могли бы включать 294 записи (а не 4, как раньше):

Тестовые данные, наборы и классы эквивалентности

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

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

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

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

Охват

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

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

Тестовые данные, наборы и классы эквивалентности

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

Архитектура

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

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

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

  • неустойчивость / изоляция - устранение внешних влияний на данные
  • начальное состояние - точное знание начального состояния данных и воспроизводимость этого состояния

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

Неустойчивость / изоляция

Неустойчивость тестовых данных может возникнуть по следующим причинам:

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

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

  • отдельная среда тестирования - участники тестирования работают в полностью изолированной среде, физически отделенной от остальных. Они имеют свой собственный объект тестирования и данные. Это достигается, например, тем, что каждый участник тестирования работает на своем компьютере.
  • отдельные базовые экземпляры тестовых данных. Участники тестирования работают со своим экземпляром данных, изолированным от прочих влияний. Физическая среда, и, возможно, сам целевой объект тестирования могут быть общими, но каждый участник работает со своим экземпляром данных, который в таком случае оказывается не подверженным постороннему воздействию.
  • Разделение тестовых данных в базе данных. Об этом говорит сайт https://intellect.icu . Все участники работают с общей базой данных и знают о том, какие данные используют другие участники (и не используют их). Например, один участник работает с записями 0 - 99, другой - с записями 100 - 199, или один работает с клиентами, фамилии которых начинаются с букв А-М, а другой - с Н-Я.

Начальное состояние

Важным вопросом в архитектуре тестовых данных является состояние данных в начале теста. Это особенно важно при автоматизации тестирования. И сам объект тестирования, и тестовые данные должны быть в нужном, контролируемом состоянии. При этом возникает возможность достичь повторяемости результатов тестирования и уверенности в достоверности тестов.

Для решения этого вопроса обычно применяются четыре стратегии:

  • обновление данных
  • повторная инициализация данных
  • сброс данных
  • опора на текущие данные

Подробнее все они описаны далее.

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

Обновление данных

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

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

Повторная инициализация данных

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

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

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

Сброс данных

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

Этот метод содержит и соответствующие риски, а именно:

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

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

Опора на текущие данные

Этот способ наименее приемлем для восстановления начального состояния тестовых данных. Фактически он не решает этот вопрос. Вместо этого состояние данных по завершении выполнения какого-либо теста становится начальным состоянием тестовых данных для другого теста. Обычно при этом требуется внести изменения в входные данные для теста и/или в варианты использования и тестовые данные, применяемые для анализа результатов.

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

С этим методом связаны следующие риски:

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

Классы эквивалентности и граничные значения

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

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

Группа тестов представляет собой класс эквивалентности, если выполняются следующие условия:

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

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

Тестовые данные, наборы и классы эквивалентности

Пример Система просит ввести в поле арабскую цифру. Класс эквивалентности = [0,1,2,3,4,5,6,7,8,9] Чтобы проверить правильность, достаточно взять один элемент, например, 4.

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

Тестовые данные, наборы и классы эквивалентности

пример Граничные значения Для возраста совершеннолетия граничные значения — 17 и 18. В 17 еще не совершеннолетний, а в 18 — уже.

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

Тестирование, основанное на анализе классов эквивалентности (синонимы: разбиение на области эквивалентности, анализ области) - это анализ тестирования методом "черного ящика". Цель анализа - сократить до минимума общее число циклов тестирования и обнаружить при этом максимальное возможное количество ошибок . Этот метод позволяет разделить ряд входных и выходных данных на конечное число классов эквивалентности и выбрать характерное тестовое значение для каждого класса. Результаты тестирования характерного значения класса считаются "эквивалентными" другим значениям того же класса. Если при тестировании характерного значения ошибки не были найдены, предполагается, что все другие "эквивалентные" значения также не будут содержать ошибки.

невалидные значения

Тестовые данные, наборы и классы эквивалентности

Невалидный - значит недействующий, некорректный, неправильный, несоответствующий требованиям. Например: Невалидный e-mail означает, что адрес имеет неверный формат, состоит из неправильных символов внеправильной последовательности

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

  1. Комбинации независимых переменных
  2. Зависимые переменные, основанные на иерархических отношениях
  3. Зависимые переменные, основанные на временных отношениях
  4. Кластерные отношения, основанные на моделях рынка
  5. Моделируемые составные отношения

Рекомендации для поиска классов эквивалентности:

Классы эквивалентности должны охватывать заведомо недопустимые входные данные. Часто такие входные данные вызывают в программе разнообразные ошибки. Поэтому чем больше типов неверного ввода выделить, тем больше ошибок можно найти.
Следует определить допустимые диапазоны числовых значений. Обычно для числовых значений имеются три недопустимых класса эквивалентности: все числа, которые меньше нижнего граничного значения диапазона; все числа, которые больше его верхнего граничного значения; нечисловые данные. Иногда один из этих классов отсутствует. Например, возможен ввод любого числа. В этом случае при тестировании необходимо убедиться, что это на самом деле так. Следует попробовать ввести очень большое число.

Стратегии

Существуют разные стратегии и методы для проведения тестирования с разбиением на классы эквивалентности. Некоторые примеры приведены ниже:

Разбиение на классы эквивалентности

Теория разбиения на классы эквивалентности, предложенная Гленфордом Майерсом (Glenford Myers) [MYE79], направлена на сокращение общего числа необходимых тестовых сценариев путем разбиения входных условий на конечное число классов эквивалентности. Создается два типа классов: допустимые входные данные программы рассматриваются как допустимый класс эквивалентности, а все остальные входные данные заносятся в недопустимый класс эквивалентности.

Ниже приведены рекомендации по определению классов эквивалентности:

  1. Если входное условие указывает диапазон значений (например, программа "принимает значения от 10 до 100"), то определяются один допустимый класс эквивалентности (от 10 до 100) и два недопустимых (меньше 10 и больше 100).
  2. Если входное условие указывает набор значений (например, "ткань может быть разных цветов: красного, белого, черного, зеленого, коричневого"), то определяются один допустимый класс (с допустимыми значениями) и один недопустимый (со всеми недопустимыми значениями). Каждое значение допустимого класса нужно обрабатывать отдельно.
  3. Если входное условие содержит выражение долженствования (например, "строка ввода должна содержать прописные символы"), то определяются один допустимый класс (прописные символы) и один недопустимый класс (все остальные варианты ввода кроме прописных символов).
  4. Все действия, выполненные "задолго" до выполнения задачи, считаются классом эквивалентности. Все действия, выполненные незадолго до завершения программы, считаются еще одним классом. Все действия, выполненные непосредственно перед запуском программой другой операции, также считаются отдельным классом.
  5. Если программа настроена на работу с памятью объемом от 64 Мб до 256 Мб, то этот диапазон считается классом эквивалентности. Любой другой объем, больше, чем 256 Мб или меньше, чем 64 Мб, считается недопустимым классом.
  6. Разбиение выходных событий на классы связано с входными данными программы. Несмотря на то, что некоторым входным классам эквивалентности могут соответствовать выходные события того же типа, рекомендуется входные классы рассматривать отдельно.

Анализ граничных значений

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

При тестировании граничных условий из тестируемого диапазона выбираются следующие значения: минимальное значение (min), значение, на одно больше минимального (min+), значение, на одно меньше максимального (max-), и максимальное значение (max). В этом случае разработчики выбирают несколько тестовых сценариев для каждого класса эквивалентности. При относительно небольшом количестве тестов велика вероятность обнаружения ошибок. Разработчикам не приходится тестировать огромное количество значений, для которых результаты тестирования незначительно отличаются друг от друга.

Рекомендации по выбору граничных значений:

  1. Если допустимое значение плавающей переменной составляет от -1.0 до 1.0, протестируйте значения -1.0, 1.0, -1.001 и 1.001.
  2. Если диапазон допустимых значений входных данных составляет целое число от 10 до 100, протестируйте 9, 10, 100, 101.
  3. Если программа настроена на работу с прописными символами, протестируйте граничные значения для A и Z. Протестируйте @ и [, потому что в коде ASCII символ @ предшествует A, а символ [ следует сразу за Z.
  4. Если входные или выходные данные программы представляют собой упорядоченный набор, протестируйте первый и последний элементы набора.
  5. Если сумма входных данных выражена числом (n), протестируйте программу, где сумма равна n-1, n или n+1.
  6. Если программа поддерживает список, протестируйте значения из этого списка. Все остальные значения считаются недопустимыми.
  7. При считывании из файла или записи в файл протестируйте первый и последний символы файла.
  8. Наименьшая денежная единица - один цент или его эквивалент. Если программа поддерживает некий диапазон от a до b, протестируйте a -0.01 и b +0.01.
  9. Если для переменной указано несколько диапазонов значений, каждый диапазон считается отдельным классом. Если подмножества значений из этих диапазонов не пересекаются, протестируйте крайние значения, а также граничные значения над верхней границей и под нижней границей.

Специальные значения

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

  1. В случае с целыми числами нужно обязательно протестировать ноль, если он входит в допустимый класс эквивалентности.
  2. При тестировании времени необходимо для каждого элемента (час, минута и секунда) протестировать значения 59 и 0, независимо от ограничения, установленного для входной переменной. Помимо граничных значений входной переменной необходимо всегда тестировать значения -1, 0, 59 и 60.
  3. При тестировании даты (год, месяц и день) необходимо добавить тестовые сценарии, например, для количества дней в конкретном месяце, количества дней в феврале в високосном году или количества дней в невисокосном году.

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

Входное событие

Допустимые классы эквивалентности

Недопустимые классы эквивалентности

Ввод числа

Числа от 1 до 99

Число 0

Числа больше 99

Выражение, результатом которого является недопустимое число (например: 5 – 5 = 0)

Отрицательные числа

Буквы и др. нечисловые символы

Ввод первой буквы наименования

Заглавная буква

Прописная буква

Не буква

  • Следует проанализировать возможные результаты выбора из списков и меню. Любой элемент предложенного программой списка опций может представлять собой отдельный класс эквивалентности. Каждый элемент меню или списка опций обрабатывается программой особым образом, поэтому все они подлежат проверке.
  • Следует выявить группы переменных, совместно участвующих в определенных вычислениях, результат которых ограничивается конкретным диапазоном значений. Например, к классу допустимых относятся величины трех углов треугольника, в сумме дающие 180°. Недопустимые значения можно разделить на два класса эквивалентности: с суммарным значением менее 180° и более 180°.
  • Следует продумать варианты операционного окружения. Бывает, что программа хорошо работает только при определенных типах мониторов, принтеров, модемов, дисковых устройств или любого другого подключенного к системе оборудования. Поэтому важно определить классы эквивалентных конфигураций системы.

Для каждого класса эквивалентности достаточно провести один-два теста. Лучшими из них будут те, которые проверяют значения, лежащие на границах класса. Неправильные операторы сравнения (например, > вместо ≥) вызывают ошибки только при граничных значениях аргументов. В то же время программа, которая сбоит при промежуточных значениях диапазона, почти наверняка будет сбоить и при его граничных значениях.

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

Метод "Разбиение на категории"

Остранд и Болсер (Ostrand and Balcer) разработали метод разбиения, который позволяет испытателям анализировать спецификацию системы, создавать тестовые сценарии и управлять ими. Если большинство стратегий сфокусированы на работе с исходным кодом, метод Остранда и Болсера также предполагает использование данных спецификации и проектирования.

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

Ниже перечислены шаги для применения метода "разбиение на категории":

  1. Проанализируйте спецификацию: разложите набор функций системы на функциональные единицы, которые можно протестировать независимо друг от друга как с помощью спецификации, так и реализации.
    Далее:
    1. Определите параметры и условия среды, от которых зависит выполнение функции. Параметры - это входные данные функциональной единицы. Условия среды - это состояния системы, от которых зависит выполнение функциональной единицы.
    2. Определите характеристики параметров и условий среды.
    3. Разбейте характеристики на категории, от которых зависит поведение системы.
    На этой стадии будут обнаружены неоднозначные, противоречащие и недостающие элементы описания поведения системы.
  2. Разделите категории на варианты. Варианты - это ситуации, которые могут неожиданно возникнуть. В каждом варианте содержится тот же тип данных, что и в категории.
  3. Определите ограничения и отношения между вариантами. Варианты из разных категорий взаимосвязаны, и это нужно учитывать при составлении тестового сценария. Ограничения предотвращают возникновение противоречий между вариантами с разными параметрами или из разных сред.
  4. Опираясь на информацию о категориях, вариантах и ограничениях, разработайте тестовые сценарии. Если при использовании какого-то варианта возникает ошибка, не добавляйте его к другим вариантам при составлении сценария. Если вариант можно полноценно протестировать за один тест, значит это частный случай варианта или специальное значение.

Примеры нахождения классов эквивалентности и границ разбиения для тестовых данных

Если допустимы значения от 1 до 99, то для тестирования допустимых данных можно выбрать 1 и 99, а для тестирования недопустимых – 0 и 100.
Если программа ожидает ввода заглавной латинской буквы, лучше ввести A и Z. Также следует проверить символ @ (т.к. его код предшествует коду символа A) и символ [ (код которого следует за кодом символа Z). Кроме того, следует проверить символы a и z.
Если сумма входных значений должна равняться 180, следует попробовать ввести значения, дающие в сумме 179, 180 и 181.
Следует попробовать отправить на печать файл непосредственно перед тем, как принтер напечатает еще чье-либо задание, и сразу после этого.

Вау!! 😲 Ты еще не читал? Это зря!

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

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

создано: 2022-01-11
обновлено: 2024-11-14
13



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


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

Качество и тестирование программного обеспечения. Quality Assurance.

Термины: Качество и тестирование программного обеспечения. Quality Assurance.