
- •Надежность, свойства надежности.
- •Показатели надежности компьютерных систем.
- •Показатели надежности невосстанавливаемых объектов.
- •Показатели надежности восстанавливаемых объектов.
- •Эффективность компьютерных систем.
- •Требования к программному продукту и их свойства.
- •Надежность программного обеспечения. Особенности по по сравнению с аппаратурой.
- •Основные причины появления ошибок в по.
- •Основные процессы жизненного цикла разработки по.
- •Вспомогательные процессы жизненного цикла разработки по.
- •Модели надежности по.
- •Сложность по.
- •Модель Джелинского-Моранды, Шика-Волвертона.
- •Геометрическая модель.
- •Статистическая модель Миллса.
- •Модель Нельсона.
- •Способы обеспечения надежности по.
- •Основные стандарты оценки качества.
- •Гост 28195-99.
- •Внутренние метрики надежности по.
- •Тестирование методами «черного, белого и серого ящиков».
- •Процесс разработки тестовых случаев. Свойства тестовых случаев.
- •Эквивалентирование и анализ граничных значений.
- •Ошибка. Свойства ошибки.
- •Правила составления отчетов об ошибках.
- •Жизненный цикл ошибки. Системы документирования ошибок.
- •Приемочный тест, критерии его непрохождения. Критическое и углубленное тестирование.
- •Использование контрольных перечней в углубленном тестировании.
- •Специфика тестирования веб-приложений.
- •Тестирование инсталляции по.
- •Тестирование безопасности по.
- •Виды уязвимостей по.
- •Тестирование производительности по
- •Тестирование usability по.
- •Автоматизация модульного тестирования.
- •Достоинства и недостатки автоматизированного тестирования.
- •Необоснованные ожидания от автоматизированного тестирования.
- •Требования, предъявляемые к автоматизированным тестам.
- •Метод «Play&Record» в автоматизированном тестировании.
- •Метод «Data-driven» в автоматизированном тестировании.
- •Метод «Keyword-driven» в автоматизированном тестировании.
- •Возможности Selenium ide.
- •Возможности Selenium rc
- •Возможности системы TestComplete.
- •Процессы, окна, элементы управления в TestComplete.
- •Проекты и элементы TestComplete.
- •Скрипты в TestComplete.
Тестирование производительности по
Для систем массового обслуживания, как правило, клиент-серверных, необходимо производить проверку работы их под определенными нагрузками, при больших объемах данных, поведение в стрессовых ситуациях. Задача: уточнить время отклика, проверить надежность, проверить конфигурацию, найти когда система начнет медленно работать, поиск узких мест.
Виды:
Нагрузочное (low-testing) –при стандартных нагрузках
Стрессовое (stress-testing) – нагрузка увеличивается посепенно, необходимо найти критическую точку.
Производительности (stability-testing) – проверить насколько стабильно работает система в течении 24/7
Тюнинг и оптимизация систем – возможное переконфигурирование систем – тестирование БД, не ухудшается ли произвоительность после внесения изменений, проверка системы для одновременной работы пользователей
Тестирование больших объемов (volume-testing) Подходы: большое количество запросов; большой объем данных; классический (на уровне протокола http –нагрузка на сервер); с реальным пользователем; распределенное тестирование производительности; облачные хостинги; функциональное тестирование(оценка производительности небольших сайтов); автоматизированное тестирование производительности (средства LoadRunner, VS TestEdition, TestComplete, QALoad, SilkPerformer, PerformanceTester)
Тестирование usability по.
Удобство использования, легкость, доступность применения: насколько быстро можно научиться пользоваться; эффективность применения; легко ли все запоминается; насколько ПО подвержено ошибкам и сбоям; насколько пользователю нравиться использовать эту систему.
Usability (термин определен в ISO/IEC 9241-11) – проверки для тестирования:
- простота навигации; - понятность; - последовательность действий; - сообщения, подсказки системы; - время загрузки страницы; - целевая аудитория; расположение основных элементов; - соответствие стандарту разработки ПО; - поддержка цветовых и звуковых решений; - поддержка клавиш для бстродействия.
Автоматизация модульного тестирования.
Модульное тестирование или UnitTesting которое проводится на основе оболочек тестирования. Эти оболочки позволяют строить тесты, выполнять тесты, выводить результаты прохождения тестов а также могут быть использованы как программные средства разработки. Эти оболочки могут использоваться на любой стадии разработки ПО включая:
Разработку программной архитектуры,
Дизайна,
Реализацию кода,
Отладку,
Оптимизацию производительности,
Обеспечения качества.
Наиболее распространённой оболочкой юнит тестов является семейство xUnit которое включает в себя:
JUnit – реализация оболочки для тестирования Java-кода,
CPPUnit – для тестирования cppкода,
NUnit – для тестирования .netприложений. Эта реализация NUnitреализована на языке с# но может быть использована для тестирования любого .netязыка включая j#, c++.
PyUnit – для Pithon,
vbUnit – для Visual Basic,
utPLSQL – для ORACLE.
HttpUnit – для php,
DUnit – для Delphi
Взаимодействие основных классов семейства XUnit.
Д
ля
написания тестов в оболочке XUnitиспользуются
3 основных класса:
TestCase,
TestSuite, TestResult
TestRunner.
TestCase – это класс который состоит из одного или более тестов описанного в методах этого класса. Обычно один объект этого класса содержит в себе методы для тестирования одной и той же функциональности т.е. это набор тестов одной направленности.
TestSuite – эту группу тестов удобно использовать как объект TestSuiteдля сборки родственных тестов. Если не задавать TestSuiteдля тестового сценария TestCase, то XUnitавтоматически создаст TestSuiteобъект, который будет включать в себе все тесты сценария.
TestRunner – это объект для запуска тестовых наборов TestSuite.XUnitпредоставляет несколько тестовых исполнителей которые наследуются от интерфейса BaseTestRunner.