Автоматизация тестирования. Регрессионное тестирование. Самодостаточные тесты. Стрессовое тестирование. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Автоматизация тестирования. Регрессионное тестирование. Самодостаточные тесты. Стрессовое тестирование.



Преимущества автоматического тестирования:

выполнение большего числа тестов, чем при ручном тестировании;

выполнение тестов, которые будет сложно или невозможно сделать;

постоянство и повторяемость тестов;

сохранение ресурсов;

бонус: повышающаяся уверенность.

Регрессионное тестирование - последовательность тестов, сравнивающих новую версию какой-либо программы с её же предыдущей версией.

Пример скрипта для тестирования программы 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 с.)