Тестирование программных средств

Содержание

Слайд 2

Оглавление

Распределенные приложения
Плюсы и минусы
Тестирование распределенных приложений:
Тестирование клиентской части
Тестирование серверной части
Тестирование сети
Тестирование связи

Оглавление Распределенные приложения Плюсы и минусы Тестирование распределенных приложений: Тестирование клиентской части
клиент-сервер
Тестирование Web-приложений
Основные проблемы
Тестирование Java
Основные технические проблемы
Стресс-тестирование

Слайд 3

Особенности тестирования распределенных приложений

Большие затраты времени
Требуются эксперты
Отдельное тестирование клиентской и серверной частей

Особенности тестирования распределенных приложений Большие затраты времени Требуются эксперты Отдельное тестирование клиентской и серверной частей

Слайд 4

Плюсы распределенных систем

Высокая модульность
Высокая возможность повторного использования
Наличие внутренних проверок на уровне баз

Плюсы распределенных систем Высокая модульность Высокая возможность повторного использования Наличие внутренних проверок
данных
Возможность использования и интегрирования в систему ПО сторонних производителей
Возможность балансировки нагрузки клиент/сервер

Слайд 5

Минусы распределенных систем

Огромное количество связей
Неоднородное окружение (огромное количество вариантов)
Зависимость от ошибок в

Минусы распределенных систем Огромное количество связей Неоднородное окружение (огромное количество вариантов) Зависимость
стороннем ПО
Проблемы с безопасностью данных
Три уровня: клиент, сервер, сеть

Слайд 6

Тестирование клиентской части

Использование затычек для имитации внешних транзакций
Проверка корректности функциональности клиентской части
Оценка

Тестирование клиентской части Использование затычек для имитации внешних транзакций Проверка корректности функциональности
производительности
Тестирование в стрессовом режиме:
Проверка на низкопроизводительных машинах
Запуск на ограниченных ресурсах
Ситуация гонок

Слайд 7

Тестирование серверной части

Тестирование транзакций по одной за раз
Оценка производительности
Оценка корректности работы отдельной

Тестирование серверной части Тестирование транзакций по одной за раз Оценка производительности Оценка
транзакции
Проверка связности данных
Одновременный запуск транзакций
Оценка производительности
Эмуляция многопользовательского режима
Проверка блокировок данных и тупиков (deadlock)

Слайд 8

Тестирование сети

Проверка корректности работы и данных в случае:
Клиент отключился в процессе транзакции
Сеть

Тестирование сети Проверка корректности работы и данных в случае: Клиент отключился в
отключилась в процессе транзакции
Кратковременный сбой в сети в процессе транзакции
Падение сервера в процессе транзакции
Эмуляция перегрузки сети
Оценка влияния качества сети на производительность

Слайд 9

Проверка связи клиент-сервер

Со стороны клиента:
Проверка подсистем
Отсылаемые сообщения
Всплывающие окна, в том числе

Проверка связи клиент-сервер Со стороны клиента: Проверка подсистем Отсылаемые сообщения Всплывающие окна,
сообщения об ошибках
Взаимосвязь компонент
Проверка взаимосвязей и иерархии данных
Переключения между окнами, эмуляция «задумчивого» пользователя
Работа множественных клиентов
Оценка производительности
Проверка блокировок и тупиков (deadlock)
Параллельная работа с данными

Слайд 10

Особенности web-приложений

Короткие сроки жизни версии
Постоянно меняющиеся технологии
Большое число пользователей на начальной стадии

Особенности web-приложений Короткие сроки жизни версии Постоянно меняющиеся технологии Большое число пользователей
запуска
Доступность 24/7/365
Проблема Буриданова осла: нагруженность страницы деталями/скорость работы

Слайд 11

Тестирование Web-приложений

Большое число запросов может существенно влиять на производительность
Работа сервера зависит от

Тестирование Web-приложений Большое число запросов может существенно влиять на производительность Работа сервера
скорости сети и используемых протоколов
Работа со ссылками (потерянные/измененные ссылки)
Оценка времени отклика для различной скорости сети
Непредсказуемое число пользователей
Большое число компонент от различных производителей

Слайд 12

Удобство использования для web-приложений

Критерии успешности проектирования:
Время, требуемое на выполнение задачи
Число страниц для

Удобство использования для web-приложений Критерии успешности проектирования: Время, требуемое на выполнение задачи
выполнения конкретной задачи
В каких местах трудности и с чем они связаны?
Качество интерактивной справки
Все ли элементы интуитивно доступны или требуется поиск
Время загрузки отдельных страниц/элементов интерфейса
Количество кликов для конкретной задачи, время между кликами
Страницы, с которых пользователь возвращается обратно

Слайд 13

Список основных проблем

Когда мы видим ошибку со стороны клиента, то мы видим

Список основных проблем Когда мы видим ошибку со стороны клиента, то мы
симптом ошибки, но не ее саму.
Ошибки бывают зависимыми от среды и могут не возникать в различных средах.
Ошибки могут быть в коде или в конфигурации.
Ошибки могут постоянно находиться на любом из нескольких уровней.
Рассмотрение 2 классов операционных сред — статической и динамической — требует различных подходов.

Слайд 14

Тестирование Java

Java applets могут врезаться в HTML страницы (динамический контент)
При загрузке страницы

Тестирование Java Java applets могут врезаться в HTML страницы (динамический контент) При
applet выгружается на клиентскую машину, где и запускается
Стандартные Java классы:
GUI
Работа с базами данных
Работа с сетью
Работа с файлами
Клиентские классы

Слайд 15

Технические проблемы тестирования Java applets

Версия JDK
Поддержка различных браузеров
Поддержка различных платформ
Корректность отображения на

Технические проблемы тестирования Java applets Версия JDK Поддержка различных браузеров Поддержка различных
различных платформах/браузерах
Оценка пиковых нагрузок
Связь с базами данных (JDBC)
Унификация тестов для различных GUI библиотек
Поддержка нестандартных HTML тегов
Работа с cookies

Слайд 16

Поддержка браузеров

Чем больше целевая аудитория, тем больше вариантов браузеров
Необходимы проверки
Различных браузеров
На различных

Поддержка браузеров Чем больше целевая аудитория, тем больше вариантов браузеров Необходимы проверки
платформах
При различных конфигурациях дисплея
Необходимы проверки HTML-checker-ом

Слайд 17

Безопасность

«От любопытного защититься просто, гораздо сложнее защититься от дурака»
Поиск дыр в логике
Защита

Безопасность «От любопытного защититься просто, гораздо сложнее защититься от дурака» Поиск дыр
от нелегального доступа (логи для всех попыток доступа в систему, ограниченное число попыток, время жизни сессии)
Защита от sniffers (https, шифрование)
Устранение прямого доступа к файлам
Защита сохраненных данных
Очистка «удаленных» данных и памяти

Слайд 18

Тестирование безопасности

Доступ к базам данных
Права и ограничения для пользователей
Фича: ограничения по

Тестирование безопасности Доступ к базам данных Права и ограничения для пользователей Фича:
времени ☺
Права на доступы к объектам/таблицам
Целостность транзакций
Настройка ролей и групп
Сеть
Защита от Man-in-the-middle
Уровень приложения
Логи для входов в систему
Безопасность навигации
Серверы баз данных
Физический доступ к серверам
Backup
Надежность электроснабжения

Слайд 19

Основные элементы GUI

Меню
Окно
Диалоговое окно
Статический текст
Кнопка управления
Селективная кнопка
Флаговая кнопка

Поле редактирования
Окно списка
Комбинированное окно
Картинка
Маска редактирования
Drag

Основные элементы GUI Меню Окно Диалоговое окно Статический текст Кнопка управления Селективная
and drop
Grid

Слайд 20

Примеры тестов для диалогового окна

Информативность заголовка
Информативность названий кнопок
Есть ли возможность прервать текущую операцию

Примеры тестов для диалогового окна Информативность заголовка Информативность названий кнопок Есть ли
(и должна ли такая возможность быть)
Насколько понятен и читаем текст
Можно ли двигать (и должна ли такая возможность быть)
Является ли окно модальным

Слайд 21

Стресс-тестирование

Проверка системы на предмет пиковых нагрузок
Сложность в том, что есть 4 степени

Стресс-тестирование Проверка системы на предмет пиковых нагрузок Сложность в том, что есть
свободы:
Клиент
Сервер
Сеть
База данных
Примеры наиболее частых жизненных стрессовых ситуаций:
Возобновление работы после сбоя сервера
Начало рабочего дня для распределенной организации с жестким графиком работы (банки, биржи)
Имя файла: Тестирование-программных-средств.pptx
Количество просмотров: 148
Количество скачиваний: 1