Калугин Александр, PhD, PMP Mercury Development Project Director.

Презентация:



Advertisements
Похожие презентации
Лекция 3. Программное обеспечение информационных технологий По дисциплине: «Информационные технологии в коммерческой деятельности»
Advertisements

ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
Автоматизация тестирования. План 1.Применение автоматизированного тестирования 2.Выбор инструментария 3.Процесс автоматизации (IBM Rational) GUI тестирование.
Автоматизированное тестирование. Процесс верификации программного обеспечения, при котором основные функции и шаги теста, такие как запуск, инициализация,
Операционные системы Проект ученика 8 А класса Юрченко Василия.
Различия и особенности распространенных протоколов. Принципы работы протоколов разных уровней. Предоставление сетевых услуг. Борисов В.А. КАСК – филиал.
ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ. ИНФОРМАЦИЯ Информация – сведения о людях, фактах, явлениях, событиях в независимости от формы их представления.
Взгляд на QA чужими глазами. QA from not QAs perspective Моя личная точка зрения или доклад тролля... Калугин Александр, Ph.D, PMP Mercury Development,
Программное обеспечение- совокупность всех программ, предназначенных для выполнения на компьютере. Программа- это описание на формальном языке, «понятном»
Выполнил: Гусев Данил. Что такое программное обеспечение? Возможности современного ПК столь велики, что все большее число людей находят ему применение.
Программные средства ПК. Программное обеспечение, программные средства, жарг. софтвер, софт (англ. software, в противоположность hardware аппаратное обеспечение)
Автоматизация тестирования Web-приложений 2007 г. Липский Павел Николаевич.
Разновидности компьютерных сетей. Компьютерная сеть – это совокупность объединенными средствами связи программных и технических средств, предназначенных.
ПРОГРАМНОЕ УПРАВЛЕНИЕ КОМПЬЮТЕРОМ. КОМПЬЮТЕР (computer)- автоматическое устройство или система, способная выполнять заданную, четко определенную последовательность.
Программное обеспечение компьютера. Компьютер без программного обеспечения и операционной системы – это бесполезный хлам, груда железа.
Нагрузочное тестирование информационных систем с использованием облачных вычислений Исполнитель: Макрушин Д.Н. Руководитель: д.т.н., проф. Запечников С.В.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Технология модели «клиент-сервер». Роли Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса Компьютер, желающий воспользоваться.
Организация процесса тестирования в Agile команде с помощью квадрантов тестирования.
Транксрипт:

Калугин Александр, PhD, PMP Mercury Development Project Director

…В отличие от прикладного программного обеспечения, системное не решает конкретные прикладные задачи, а лишь обеспечивает работу других программ, управляет аппаратными ресурсами вычислительной системы и т.д… © Wikipedia 2

1. «Прибанбас». 2. Небольшой компонент большого прикладного комплекса. 3. Реализация одного или нескольких уровней стека сетевых протоколов. 4. Клиентские/серверные компоненты комплексов использующих стандартные коммуникационные протоколы 3

Нету кнопок и формочек. Некуда вводить некорректные данные. Сложная предметная область. «Нелинейная» архитектура. Баг может проявляться на третьи сутки. То, что оно генерирует корректные данные здесь и сейчас, – ничего не значит. Спецификация – в виде стандарта – «слишком много буквов»… 4

5

Мало нового кода Непосредственные пользователи – сервисы ОС. Стандартизованная логика Большое значение нефункциональных требований Сложная оптимизированная архитектура Много нового кода Непосредственные пользователи – люди Нестандартная логика Нефункциональные требования – на втором плане Относительно стандартная архитектура 6

7

Не ошибки в реализации «бизнес-логики», а ошибки интеграции Некорректные ожидания о работе сторонних компонентов и сервисов ОС Неправильная интерпретация стандарта Ошибки сложной архитектуры (нефункциональные) Недостаточная наработка на отказ 8

9

Количество переходит в качество. Тестовые наборы из одного проекта могут быть использованы в другом. Можно подсмотреть, как играют мастера, сравнить с аналогичными продуктами, референтной реализацией Невизуальное представление данных – проще тестировать автоматически. 10

Прикладное ПО: корректное поведение - в результате анализа требований и дизайна тестовых наборов. Системное ПО: есть референтная реализация корректного поведения аналогичным ПО. Метод 1. Сравнительное свободное тестирование 1. Вместо анализа поведения системы на корректность и некорректность – можно сравнить с существующим аналогом. 2. При требованиях совместимости с несколькими окружениями – тестировать параллельно в различных окружениях. Калугин Александр11

Прикладное ПО: Функциональное тестирование сложной бизнес-логики. Внутреннее состояние системы – недоступно, черный ящик. Системное ПО: Нефункциональное тестирование интеграции. Сервисы ОС поддаются конфигурированию и администрированию – серый ящик. Метод 2. Автоматизированные тесты 1. Вместо ввода тестовых данных и креш-тестов – скриптами менять состояние системного окружения. 2. Для анализа отклика системы – не требуется специальных методов: можно анализировать (включая полуавтоматический анализ состояние сервисов используя средства анализа: vmstat, tcpdump, etc. Калугин Александр12

Прикладное ПО: Для клиент- серверных систем -- нестандартные протоколы выше транспортного уровня. Клиентские и серверные компоненты – уникальны Системное ПО: Используются стандартизованные протоколы, зачастую с рекомендованной реализацией Метод 3. Кросс-Тестирование 1. Вместо верификации конкретной реализации протокола – проверка совместимости работающих компонентов и поиск различий 2. Независимая проверка клиентских и серверных компонент перекрестно с использованием референтной реализации. Калугин Александр13

Сравнение с аналогами в полусвободном сессионном тестировании. Функциональное тестирование часто тривиально. Автоматизация достается практически бесплатно Возможно тестирование отдельных частей/компонентов Необходимо тестирование наработки на отказ. Регрессионный набор – автоматически. Анализ спецификации и дизайн тестов. Функциональное тестирование – центральное место Автоматизация – требует специальных усилий и фреймворков Тестирование отдельных компонентов требует специальных усилий Наработка на отказ обычно не требуется. Регрессионный набор - специально 14

Разработать набор тестовых скриптов для корректности ввода-вывода (создание/удаление/перемещение файлов) Для каждой операции сделать дамп сетевого обмена между клиентом и сервером, используя стороннюю реализацию клиента. Запустить скрипт и сравнить дамп для тестируемой реализации Запустить скрипт в цикл – для наработки на отказ. Для тестирования совместимости (например, с антивирусом) – установить антивирус и повторить тест. Калугин Александр15

Спасибо за внимание! Ваши вопросы? Калугин Александр 16