20 тестироваться, а что нет, приоритезировать требования на основе рисков (если это не сделано в документе с требованиями), а на основе этого приоритезировать тестовые сценарии (test cases).
Это позволит сфокусироваться и не упустить при тестировании наиболее важный функционал.
Тестирование в перспективе «бизнес-процессы» использует знание этих самых бизнес-процессов, которые описывают сценарии ежедневного использования системы. В этой перспективе тестовые сценарии (test scripts), как правило, основываются на случаях использования системы (use cases).
Тестирование взаимодействия (Interoperability Testing) — это функциональное тестирование, проверяющее способность приложения взаимодействовать с одним и более компонентами или системами, и включающее в себя тестирование совместимости и интеграционное тестирование
Тестирование безопасности – это вид тестирования, используемый для проверки безопасности системы, а также для анализа рисков, связанных с обеспечением целостного подхода к защите приложения, атак хакеров, вирусов, несанкционированного доступа к конфиденциальным данным.
Принципы безопасности программного обеспечения:
Общая стратегия безопасности основывается на трех основных принципах:
Конфиденциальность – это сокрытие определенных ресурсов или информации. Под конфиденциальностью можно понимать ограничение доступа к ресурсу некоторой категории пользователей, или другими словами, при каких условиях пользователь авторизован получить доступ к данному ресурсу.
Целостность — существует два основных критерия при определении понятия целостности:
1.
Доверие. Ожидается, что ресурс будет изменен только соответствующим способом определенной группой пользователей.
21 2.
Повреждение и восстановление. В случае когда данные повреждаются или неправильно меняются авторизованным или не авторизованным пользователем, вы должны определить на сколько важной является процедура восстановления данных.
Доступность представляет собой требования о том, что ресурсы должны быть доступны авторизованному пользователю, внутреннему объекту или устройству. Как правило, чем более критичен ресурс, тем выше уровень доступности должен быть.
Поделитесь с Вашими друзьями:
Источник: psihdocs.ru
Тестирование программного обеспечения
Качество программного продукта характеризуется набором свойств, определяющих, насколько продукт «хорош» с точки зрения заинтересованных сторон. Тестирование является одним из наиболее устоявшихся способов обеспечения качества разработки программного обеспечения и входит в набор эффективных средств современной системы обеспечения качества программного продукта [32].
Тестирование можно рассматривать, как процесс семантической отладки (проверки) программы, заключающийся в исполнении последовательности различных наборов контрольных тестов, для которых заранее известен результат. Т.е. тестирование предполагает выполнение программы и получение конкретных результатов выполнения тестов [33].
Тесты подбираются так, чтобы они охватывали как можно больше типов ситуаций алгоритма программы. Менее жесткое требование — выполнение хотя бы один раз каждой ветви программы.
На сегодняшний день наиболее актуальными методами тестирования являются:
Для тестирования разрабатываемого программного обеспечения будет применяться функциональное тестирование. Данный выбор обусловлен относительно низкой сложностью программного обеспечения.
Функциональное тестирование
Функциональное тестирование рассматривает заранее указанное поведение и основывается на анализе спецификаций функциональности компонента или системы в целом.
Функциональные тесты основываются на функциях, выполняемых системой, и могут проводиться на всех уровнях тестирования (компонентном, интеграционном, системном, приемочном). Как правило, эти функции описываются в требованиях, функциональных спецификациях или в виде случаев использования системы (use cases).
Тестирование функциональности может проводиться в двух аспектах: требования и бизнес-процессы [33].
Тестирование в перспективе «требования» использует спецификацию функциональных требований к системе как основу для дизайна тестовых случаев. В этом случае необходимо сделать список того, что будет тестироваться, а что нет, приоритезировать требования на основе рисков (если это не сделано в документе с требованиями), а на основе этого приоритезировать тестовые сценарии. Это позволит сфокусироваться и не упустить при тестировании наиболее важный функционал.
Тестирование в перспективе «бизнес-процессы» использует знание этих самых бизнес-процессов, которые описывают сценарии ежедневного использования системы. В этой перспективе тестовые сценарии, как правило, основываются на случаях использования системы.
Основное преимущество функционального тестирования состоит в том, что оно имитирует фактическое использование системы. В то же время основными недостатками являются возможность упущения логических ошибок в программном обеспечении и вероятность избыточного тестирования.
Для того чтобы сделать вывод о корректности работы системы, необходимо выполнить функциональные тесты для каждого варианта использования, приведенных на рисунках 6 и 7. В таблице Таблица приводится план функционального тестирования. Для функционального тестирования программное подсистемы имитаторов было развернуто и запущено на рабочей станции в локальной сети.
Для каждого варианта использования было произведено тестирование, целью которого было установить, в какой мере разработанное программное обеспечение соответствует требованиям, поставленным на этапе проектирования.
По результатам функционального тестирования можно сделать вывод, что программное обеспечение соответствует поставленным функциональным требованиям.
Результаты функционального тестирования в виде снимков экрана приведены в приложении Б.
Таблица 7 — План функционального тестирования
Источник: studentopedia.ru
Презентация на тему Виды тестирования. Часть 2
Функциональное тестирование. Функциональное тестирование рассматривает заранее указанное поведение и основывается на анализе спецификаций функциональности компонента или системы в целом.
- Главная
- Информатика
- Виды тестирования. Часть 2
Слайды и текст этой презентации
Слайд 1Manual QA course
Lecture 8. Виды тестирования. Часть
2
Дорофеев Максим
Слайд 2Функциональное тестирование.
Функциональное тестирование рассматривает заранее указанное поведение
и основывается на анализе спецификаций функциональности компонента
или системы в целом.
Слайд 3Функциональное тестирование.
Функциональные тесты основываются на функциях, выполняемых
системой, и могут проводиться на всех уровнях
тестирования (компонентном, интеграционном, системном, приемочном). Как правило, эти функции описываются в требованиях, функциональных спецификациях или в виде случаев использования системы (use cases).
Слайд 4Функциональное тестирование.
Тестирование функциональности может проводиться в двух
аспектах:
Слайд 5Функциональное тестирование.
Тестирование в перспективе «требования» использует спецификацию
функциональных требований к системе как основу для
дизайна тестовых случаев (Test Cases). В этом случае необходимо сделать список того, что будет тестироваться, а что нет, приоритезировать требования на основе рисков (если это не сделано в документе с требованиями), а на основе этого приоритезировать тестовые сценарии (test cases). Это позволит сфокусироваться и не упустить при тестировании наиболее важный функционал.
Слайд 6Функциональное тестирование.
Тестирование в перспективе «бизнес-процессы» использует знание
этих самых бизнес-процессов, которые описывают сценарии ежедневного
использования системы. В этой перспективе тестовые сценарии (test scripts), как правило, основываются на случаях использования системы (use cases).
Слайд 7Функциональное тестирование.
Максимальное приближение к реальным сценариям
использования ПО.
Слайд 8Функциональное тестирование.
Может применяться
на всех уровнях
Слайд 9Функциональное тестирование.
Чаще всего является
формальным тестированием,
т.е. основано
на:
Документации
Описании user scenarios
Слайд 10Функциональное тестирование.
Это всегда тестирование “чёрного ящика” (!)
Слайд 11Функциональное тестирование. Цели.
Test to pass:
ПО минимально работоспособно;
Простые
сценарии;
Не превышаем ограничения;
Не ищем баги.
Слайд 12Функциональное тестирование. Цели.
Test to fail:
Сценарии, которые могут
сломать ПО;
Известные и неизвестные слабые места;
Акцент на
Слайд 13Функциональное тестирование. Достижения
Слайд 14Функциональное тестирование. Примеры.
“Распечатать счет — фактуру”;
“Показать фотографию
на странице”;
“Загрузить годовой отчет”;
“Оплатить выбранные товары”.
Слайд 15Функциональное тестирование. Недостатки формального подхода.
Документации нет;
плохого качества.
Слайд 16Функциональное тестирование. Недостатки формального подхода.
Документации очень много.
Слайд 17Функциональное тестирование. Ручное против автоматизированного.
Слайд 18Функциональное тестирование. Плюсы ручного тестирования.
Легкая доступность для
начинающих;
Можно проверить очень сложные сценарии.
Слайд 19Функциональное тестирование. Минусы ручного тестирования.
Устал;
Забыл;
Забил;
Не подумал;
Скорость и
объем.
Слайд 20Функциональное тестирование. Плюсы автотестирования.
— Скорость;
—
Исключаем человека;
— Автоматическая отчетность.
Слайд 21Функциональное тестирование. Минусы автотестирования.
Высокий порог вхождения;
Стоимость поддержки;
Дополнительная
инфраструктура;
Часть сценариев не поддается автоматизации.
Слайд 22Функциональное тестирование.
Слайд 23Функциональное тестирование.
Плюсы функционального тестирования:
Имитирует фактическое использование системы;
функционального тестирования:
Возможность упущения логических ошибок в ПО;
Вероятность
Слайд 24Тестирование безопасности. Основная модель.
Конфиденциальность;
Целостность;
Доступность.
Слайд 25Тестирование безопасности. Необязательные модели.
Неотказуемость;
Подотчетность;
Достоверность;
Аутентичность.
Слайд 26Тестирование безопасности. Зачем?
Информация и контроль доступа;
Стабильность системы;
Целостность
системы;
Экономическая эффективность.
Слайд 27Тестирование безопасности. Где применяется?
Приложения с важной коммерческой
или персональной информацией;
Платежные системы;
Приложения требующие целостности информации;
Социальные
приложения;
Приложения с коммерческим лицензированием.
Слайд 28Тестирование безопасности. Особенности.
Важность “негативного” тестирования;
Думать как хакер;
Качество
тестирования безопасности сложно измерить;
Важность нефункциональных требований;
Тестирование на
основе рисков;
Уязвимости — это такие же баги;
Необходимость тестирования белого ящика;
Слайд 29Тестирование безопасности. Стандарты.
OSSTMM (http://www.isecom.org);
ISACA (http://www.isaca.org);
ISSAF (http://www.oissg.org/issaf);
OWASP Guide
(https://www.owasp.org/);
NIST Guideline (http://csrc.nist.gov/about/);
CHECK (https://www.ncsc.gov.uk/);
PROTOS (https://www.ee.oulu.fi/roles/ouspg/Protos).
Слайд 30Тестирование безопасности. Типичные уязвимости.
Неверная валидация входных данных;
Внедрение
параметров (XSS, CSRF);
Переполнение буфера;
Инъекции;
Неверное завершение сессий;
Неверная аутентификация;
Человеческий
Слайд 31Тестирование безопасности. Методы тестирования.
Построение модели угроз и
рисков;
Слайд 32Тестирование безопасности. Методы тестирования.
Поиск уязвимостей в исходном
коде:
Ревью кода разработчиками;
Анализ кода при помощи утилит
статического и динамического анализа;
Слайд 33Тестирование безопасности. Методы тестирования.
Тестирование на проникновение:
Веб —
сканеры;
Анализ сетей;
Ручное тестирование на проникновение.
Слайд 34Тестирование безопасности. Методы тестирования.
Нефункциональное тестирование:
Нагрузочное тестирование;
Стресс —
тестирование;
Объемное тестирование;
Тестирование масштабируемости;
Тестирование удобства использования;
Слайд 35Тестирование безопасности. Сложности
Приложение может вести себя по
разному на различных платформах;
Много конфигураций;
Различное железо;
Разные драйверы.
Слайд 36Тестирование безопасности. Этапы тестирования
Сбор информации;
Анализ угроз, уязвимостей,
построение матриц угроз и рисков;
Определение критериев защищенности,
Простые тесты, анализ исходного кода;
Внешняя экспертиза, нефункциональное тестирование, тестирование, основанное на рисках;
Нагрузочные тесты, тестирование на проникновение.
Слайд 37Тестирование безопасности. Выводы
Тестирование безопасности — необходимый этап,
для компаний, которым важен “безопасный” продукт;
Невозможно измерить
качество тестирования;
Необходимо изучать новые технологии;
Необходимо регулярно проводить экспертизу;
Особое внимание архитектуре и компонентам.
Источник: thepresentation.ru