Автоматизированное тестирование
Является составной частью процесса тестирования. Оно использует специальные приложения для проведения тестов, что помогает не только сократить время тестирования, но и упростить сам процесс.
Автономное тестирование
Тестирование нижнего уровня, тестирование компонент, модулей, подпрограмм. Чаще всего это внутреннее приёмочное тестирование.
Альфа-тестирование
Тестирование программного продукта штатными работниками, либо заказчиками на стороне разработчика. Чаще всего это внутреннее приёмочное тестирование.
Артефакт
Семантически законченная часть информации, которая: формируется, изменяется или используются процессами, определяет область ответственности.
Баг
Ошибка, проявляющаяся на стадии работы программы. Баги локализуются и устраняются в процессе тестирования и отладки.
Бета-тестирование
Распространение среди пользователей готовой версии продукта с ограничениями (по функциональности или времени работы), с целью выявление и устранения максимального количество ошибок.
Гамма-тестирование
Тестирование программы на основе отчетов пользователей.
Заглушка
Компонент, содержащий функциональность, необходимую при тестировании. Заглушка — это либо полностью "пустышка", либо просто возвращает предопределенное значение или имитирует более сложное поведение.
Инсталляционное тестирование
Проверка корректной установки системы при различных условиях с программным обеспечением и ресурсами. Проверка работы системы при модернизации со старой версии на новую, так же как и установки с нуля.
Интеграционное тестирование
Данное тестирование предназначено для проверки правильности работы между модулями системы.
Пример: Загружен документ, после премодерации его помещают в файловый архив, а оттуда есть возможность его вывода на предпросмотр.
Данное тестирование сделано для проверки того, что документ остается неизменным на каждом этапе или же меняется в соответствии с требованиями.
Контроль факта исправления дефектов
После тестирования найденные дефекты исправляются разработчиками. Контроль заключается в последующей проверке правильности исправления дефектов. Очень часто после этого требуется провести регрессионное тестирование для исключения факта поломки ранее работающих модулей систему.
Конфигурационное тестирование
Предназначено для проверки правильности работы на различных программных и аппаратных окружениях.
Пример: проверка правильности работы системы под Windows XP и Windows 2000 или же правильность работы сайта в различных браузерах.
Миграционное тестирование
Данный вид тестирование проверяет, что процедуры и функции, конвертирующие данные для последующего использования в других приложениям, работают правильно.
Модульное (unit-) тестирование
Тестирование отдельных компонентов, изолируя модули от их реального окружения. Эти тесты служат для проверки правильности работы отдельных модулей системы, как правило – классов.
Нагрузочное / стрессовое тестирование
Тестирование предназначено для проверки работоспособности системы при нестандартных нагрузках и для определения максимально возможного пика, при котором система работает правильно. Так же предназначено для выявления результатов, при которых система переходит в нерабочее состояние.
Пример: Есть некий сайт с посещаемостью 10000 человек в день. Целью тестирования в данном случае будет нахождение кол-ва посетителей, при котором сайт будет "тормозить" и его сервисы будут обрабатывать информацию неправильно или слишком долго.
Обработка требований на ошибки
Зачастую в требованиях к системе существуют ошибки или двузначные формулировки. Данное тестирование предназначено для исправления этих ошибок и для того, чтобы в процессе тестирования и разработки не возникало дополнительных вопросов, которые можно урегулировать на уровне требований.
Отчёт по дефектам
Документ, в котором описаны все дефекты, которые были найдены в данной версии продукта. Для таких документов, как правило, ведется версионность для большего понимания результатов изменений и исправлений ранее найденных дефектов.
Оценка качества программного продукта
Оценка производится для того, чтобы заказчик мог понять, в каком состоянии находится система в данный момент и какие шаги на основании этого можно предпринимать в дальнейшем для её улучшения.
Патч
Экземпляр ППО, являющийся обновлением, выпущенным для исправления ошибок, обнаруженных в версии или релизе ППО.
В состав патча входит исполняемый код и описание исправленных в патче ошибок. Патч может распространяться без документации.
Подготовка тестовых данных
Зачастую у тестируемой системы есть специфические данные, которые следует подготовить до начала тестирования.
Пример: В систему необходимо загружать архивы определённого содержания, картинка определенного размера и т.д.
Покрытие кода
Покрытие кода, по своей сути, является тестированием «белого ящика». Тестируемое ПО собирается со специальными настройками или библиотеками и/или запускается в особом окружении, в результате чего для каждой используемой (выполняемой) функции программы определяется её местонахождение в исходном коде.
Этот процесс позволяет разработчикам и специалистам по обеспечению качества определить части системы, которые, при нормальной работе, используются очень редко или никогда не используются (такие как код обработки ошибок и т.п.).
Приемка
Действие(-я), в результате которого заказчик принимает в собственность программное обеспечение по окончании (частичном или полном) контракта.
Приемосдаточные испытания
Проверка программы пользователями перед сдачей в эксплуатацию.
Регрессионное тестирование
После исправления дефектов часто бывает так, что изменения коснулись системы в целом и на основании этого возникли новые дефекты. Проверка целостности проекта после внесения изменений (регрессионное тестирование) предназначена для того, чтобы протестировать общий функционал окружения, в котором были произведены изменения.
Полезно так же на базовом уровне провести регрессионное тестирование всей системы целиком, потому что изменения могли затронуть модули, в которых прежде не было найдено дефектов.
Система отслеживания ошибок
Прикладная программа, разработанная с целью помочь разработчикам программного обеспечения (программистам, тестировщикам и др.) учитывать и контролировать ошибки (баги), найденные в программах, а также следить за процессом устранения этих ошибок.
Системное тестирование
Высокоуровневая проверка функционала всей программы.
Скрипт
Общие условия проведения тестирования (сценарий тестирования) при ручном тестировании, текст программы для выполнения автоматизированных тестов.
Смоук-тест (smoke test)
Минимальный набор тестов, проверяющий базовую функциональность, при неработоспособности которой дальнейшее тестирование не имеет смысла.
Статическое тестирование
Тестирование без реального выполнения программы.
Тест
Выполняемая тестовая процедура с конкретными входными данными, начальными условиями и ожидаемым результатом, разработанными для определенной цели, такой, как проверка отдельной программы или верификация соответствия на определенное требование.
Тест-кейс (тест-план)
Это документация описывающая шаги тестирования. В широком смысле, тест-план - это полное описание функционала системы с отражением всех требований к ней. Данная документация, как правило, описывает только реальные требования, которые предъявлены к системе.
При тестировании данная документация является гарантом того, что система в целом работает правильно. Нетривиальные ошибки (например, ввод некорректных символов в поиск) в разработке документа не учитываются, но выявляются при тестирование программы в целом.
Тестирование
Процесс позволяющий определить корректность, полноту и качество разработанного программного продукта (сайта или программы).
Особо выделяют следующие вид тестирования:
- функциональное тестирование
- регрессионное тестирование
- юзабилити тестирование
- конфигурационное тестирование
- нагрузочное тестирование
- стрессовое тестирование
Тестирование "белого ящика"
Тестирование на соответствие программного продукта требованиям со знанием внутренней структуры реализации системы (есть в наличии исходный код и технические спецификации).
Это вид тестирования позволяет проводить локализацию ошибок, анализ надежности и устойчивости и т.п., существенно повышая качество системы.
Тестирование "черного ящика"
Тестирование на соответствие программного продукта требованиям без знания внутренней структуры реализации системы.
Тестовое покрытие
Мера полноты тестирования для определенной стратегии. Степень, до которой с помощью контрольных примеров проверяют требования к системе или программному продукту.
Техническое задание
Документ, используемый заказчиком в качестве средства для описания и определения задач, выполняемых при реализации договора.
Управление дефектами
Это базовое понятие тестирования, которое включает в себя документацию по тестированию и необходимые документы для описания найденных дефектов.
Функциональное тестирование
Функциональное тестирование проверяет, что система работает в точности, как и описано в спецификации (требованиях к системе).
Пример: Есть система интернет-магазина, и есть требования к этой системе. Предположим одно из этих требований – возможность работы с системой WebMoney.
Функциональное тестирование предназначено для проверки правильности работы системы с платежами.
Юзабилити тестирование
Юзабилити тестирование предназначено для оценки удобства пользования системой и соответствующих рекомендаций по её улучшению.
Пример: Предложение об изменении местоположения кнопок для большего удобства или же предложение об изменении кол-ва полей в форме регистрации и так далее.
GUI-тесты
Тестирование графического интерфейса — окон, меню, кнопок, списков и т.д.
Как правило, через пользовательский интерфейс реализуется большая часть функциональности ПО.
Управление качеством
Методы и виды деятельности оперативного характера, используемые для выполнения требований к качеству. [ИСО 8402]
Система качества
Совокупность организационной структуры, методик, процессов и ресурсов, необходимых для осуществления общего руководства качеством. [ИСО 8402]
Литература
Майерс Г. Искусство тестирования программ
М.: Финансы и статистика, 1982. -176 с.
Канер Кем, Фолк Джек, Нгуен Енг Кек Тестирование программного обеспечения.— Киев: ДиаСофт, 2001. — 544 с. — ISBN 9667393879
Калбертсон Роберт, Браун Крис, Кобб Гэри Быстрое тестирование. — М.: «Вильямс», 2002. — 374 с.
Бейзер Б. Тестирование чёрного ящика. Технологии функционального тестирования программного обеспечения и систем. — СПб.: Питер, 2004. — 320 с.
Рекс Блэк. Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование пер. с англ., - М.: Лори, - 544с.: ил., ISBN 5-85582-239-7, ISBN 0-201-74868-1 (англ.)
Денис М. Ахен, Арон Клауз, Ричард Тернер. “CMMI:Комплексный подход к совершенствованию процессов. Практическое введение в модель.”
Бек Кент Экстремальное программирование: разработка через тестирование : пер. с англ. / Кент Бек . - СПб. : Питер , 2003. - 224 с. (Библиотека программиста)
Дастин Элфрид Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация : пер. с англ. / Элфрид Дастин ; Джефф Рэшка ; Джон Пол . - М. : Лори , 2003. - 567 с.
Луиза Тамре. Введение в тестирование программного обеспечения. - Издательство: Вильямсб Год: 2003
ISBN: 5-8459-0394-7003 г.
Элфрид Дастин, Джефф Рэшка, Джон Пол Автоматизированное тестирование программного обеспечения. 2003 г.
Barry Boehm, "A Spiral Model of Software Development and Enhancement", IEEE Computer, Vol.21, No.5, pp. 61-72, 1988.)
http://www.agilealliance.com/
http://facweb.cti.depaul.edu/jhuang/is553/Royce.pdf
http://www.agilerussia.ru/
http://software-testing.ru/
www.computer.org/computer/homepage/misc/Boehm/r5061.pdf
http://facweb.cti.depaul.edu/jhuang/is553/Royce.pdf.
http://www.intuit.ru/
http://www.sei.cmu.edu/cmmi/
SW-CMM: http://www.sei.cmu.edu/cmm
|