Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Автоматизация тестирования. Регрессионное тестирование. Самодостаточные тесты. Стрессовое тестирование.
Преимущества автоматического тестирования: выполнение большего числа тестов, чем при ручном тестировании; выполнение тестов, которые будет сложно или невозможно сделать; постоянство и повторяемость тестов; сохранение ресурсов; бонус: повышающаяся уверенность. Регрессионное тестирование - последовательность тестов, сравнивающих новую версию какой-либо программы с её же предыдущей версией. Пример скрипта для тестирования программы new_ka (старая версия – old_ka): for i in ka_data.* #цикл по тестовым файлам do old_ka $i >out1 #запуск старой версии new_ka $i >out2 #запуск новой версии if! cmp –s out1 out2 #сравнение выходных данных then echo $i: BAD #если разные, то ошибка fi end Самодостаточные тесты: в состав самодостаточных тестов входят наборы пар «входные данные» - «эталонные выходные данные»; для каждого нового блока кода разрабатывается дополнительны набор тестов; после обнаружения нового режима работы также разрабатывается дополнительный блок тестов; после обнаружения ошибки зачастую пишутся дополнительные тесты и создаются новые классы проверок; набор тестов постоянно увеличивается. Стрессовое тестирование – проверка программ большими объёмами данных, сгенерированных компьютером. + тестируются защитные механизмы, предотвращающие переполнение буферов, счётчиков, массивов… +во входных данных присутствуют избегаемые реальными людьми «невозможные» значения (пустые строки ввода, недопустимые значения и т.п.). 18. Тестовые оснастки. Предложить пример тестовой оснастки для какой-нибудь функции. Белый, черный ящики. Стадии тестирования ПО Тестовая оснастка. Программная оболочка, предназначенная для тестирования отдельного компонента программы; Вид автоматизации тестов; Программное средство, симулирующее работу частей программы, с которыми связан тестируемый компонент; Программное средство, симулирующее условия работы тестирования компонента. Первый шаг – написание функции memset на С (создание эталона). /* memset: устанавливает первые */ /* n байтов s равными c */ Void *memset (void *s, int c, size_t n) { size_t i; char *p; p =(char *) s; for (i = 0; i < n; i++) p[i] = c; return s; } Второй шаг – определение набора тестов. Граничные значения n, равные 0, 1, 2, 4, …, 2^16, …, а так же соседние с ними значения;
Начальные значения массивов при различных выравниваниях; Множество значений для с, включая ноль, 0x7F, 0x80 и 0xFF, а также значения, превышающие один байт. Третий шаг – построение оснастки. big = максимальная левая граница + maximum n + максимальная правая граница s0 = malloc(big) s1 = malloc(big) для каждого значения параметров n, c и отступа offset: установить s0 и s1 в шаблонное значение выполнить медленный memset(s0 + offset, c, n) выполнить быстрый memset(s1 + offset, c, n) проверить возвращаемые значения сравнить содержимое s0 и s1 побайтово. Тестирование «белого ящика» и «чёрного ящика» В терминологии профессионалов тестирования, фразы «тестирование белого ящика» и «тестирование чёрного ящика» относятся к тому, имеет ли разработчик тестов доступ к исходному коду тестируемого ПО, или же тестирование выполняется через пользовательский интерфейс либо прикладной программный интерфейс, предоставленный тестируемым модулем. При тестировании белого ящика, разработчик теста имеет доступ к исходному коду программ и может писать код, который связан с библиотеками тестируемого ПО. При тестировании белого ящика используются метрики покрытия кода или мутационное тестирование. При тестировании чёрного ящика, тестировщик имеет доступ к ПО только через те же интерфейсы, что и заказчик или пользователь, либо через внешние интерфейсы, позволяющие другому компьютеру либо другому процессу подключиться к системе для тестирования. Как правило, тестирование чёрного ящика ведётся с использованием спецификаций или иных документов, описывающих требования к системе. Как правило, в данном виде тестирования критерий покрытия складывается из покрытия структуры входных данных, покрытия требований и покрытия. При тестировании серого ящика разработчик теста имеет доступ к исходному коду, но при непосредственном выполнении тестов доступ к коду, как правило, не требуется. Этапы тестирования ПО. Пре-альфа, начальная стадия разработки — период времени со старта разработки до выхода стадии Альфа. Также так называются программы, не вышедшие еще в стадию альфа или бета, но прошедшие стадию разработки, для первичной оценки функциональных возможностей в действии.
Альфа, внутреннее тестирование — стадия начала тестирования программы в целом специалистами-тестировщиками, обычно не разработчиками программного продукта, но, как правило, внутри организации или сообществе разрабатывающих продукт. Бета, публичное тестирование — стадия активного бета-тестирования и отладки программы, прошедшей альфа-тестирование. Программы этого уровня могут быть использованы другими разработчиками программного обеспечения для испытания совместимости. Тем не менее, программы этого этапа могут содержать достаточно большое количество ошибок. Релиз-кандидат или RC, пре-релиз или Pre — стадия-кандидат на то, чтобы стать стабильной. Программы этой стадии прошли комплексное тестирование, благодаря чему были исправлены все найденные критические ошибки. Но в то же время существует вероятность выявления ещё некоторого числа ошибок, не замеченных при тестировании. Релиз или RTM — издание продукта, готового к тиражированию. Это стабильная версия программы, прошедшая все предыдущие стадии, в которых исправлены основные ошибки, но существует вероятность появления новых, ранее не замеченных, ошибок. Пост-релиз или Post-RTM, издание продукта, у которого есть несколько отличий от RTM и помечается как самая первая стадия разработки следующего продукта.
|
||||||
Последнее изменение этой страницы: 2017-02-05; просмотров: 462; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.53.209 (0.008 с.) |