- •Понятие автоматизированного тестирования. Автотесты. Достоинства и недостатки автоматизированного тестирования.
- •Недостатки.
- •Типы автоматизированного тестирования, их цели. Средства автоматизированного тестирования.
- •Директивы, категории директив
- •Группы утверждений, классическая и закрытая модель утверждений
- •Понятие версии программного продукта и системы контроля версий
- •Две модели версионирования, их сравнение.
- •Система конкурирующих версий cvs, ее достоинства и недостатки
- •Хранилище, его структура, правки. Команды svn для работы с хранилищем
- •Утилита модульного тестирования nUnit. Средства описания тестов.
- •Сценарий объединения правок. Конфликты и способы их разрешения
- •Понятия рабочей копии и служебного каталога. Команды svn для работы с рабочими копиями
- •Документирование процесса разработки. Типы документов управления
- •Документирование программного продукта. Документация сопровождения, ее назначение и состав
- •Документирование программного продукта. Пользовательская документация, ее назначение и состав
- •Генератор документации Sandcastle, его назначение и принцип работы
- •Критерии оценивания проектов, шкалы ценности проекта
- •Способы контроля хода выполнения проекта: меры и метрики. Виды метрик.
Понятие автоматизированного тестирования. Автотесты. Достоинства и недостатки автоматизированного тестирования.
Автоматизированное тестирование основано на использовании специальных инструментальных средств. Основная идея автоматизированного тестирования заключается в использовании автотестов – записанных на специальных скриптовых языках действий по проверке качества программ.
Преимущества.
•Экономия времени – программа-робот гораздо быстрее перебирает тестовые варианты, чем любой человек
•Исключение человеческого фактора – вероятность совершения ошибки при выполнении человеком рутинных операций высока
•Возможность эмулировать многопользовательскую работу: средства автоматизации являются единственным способом решить проблему нагрузочного тестирования
Недостатки.
•Временные затраты на создание, поддержку и тестирование тестов – автоматизированное тестирование всегда начинается с тестирования вручную, поскольку необходимо показать роботу, как, что и с чем он должен делать
•Неприменимость к некоторым объектам, оцениваемым субъективно
•Необходимость программистских навыков у тестировщика – настоящая профессиональная автоматизация тестирования невозможна без работы непосредственно с кодом тестового скрипта
•Чувствительность к среде, программному и аппаратному окружению тестируемого приложения - один и тот же тест повторно может проходить совершенно иначе, чем в первый раз.
Типы автоматизированного тестирования, их цели. Средства автоматизированного тестирования.
функциональное (в том числе модульное, или unit-тестирование),
регрессионное (проверка работоспособности старого функционала и отсутствия ранее исправленных дефектов в новых версиях)
нагрузочное (поведение приложения под рабочей и стрессовой нагрузкой, влияние работающего приложения на системное окружение).
Средства автоматизации.
Чтобы робот-тестировщик мог выполнить необходимую работу, необходимо: •построить репозиторий с подробным описанием всех тестируемых объектов; •записать библиотеку функций, методов или элементарных действий с объектами (если не подходят стандартные методы); •создать скрипт, содержащий описание тестовых шагов, логики теста и глобальных переменных
Для нагрузочного тестирования добавляются варианты многопользовательской и многопротокольной работы с возможностью задавать последовательность доступа виртуальных пользователей, указывать, что и когда им нужно делать.
Средства функционального тестирования.
Mercury QuickTest мощное средство, обладающее удобным и понятным пользовательским интерфейсом для создания тестов без ручной правки скрипта
Mercury WinRunner от QuickTest оно отличается тем, что приходится много вручную работать с кодом, написанным на спец. языке TSL
Segue SilkTest относительно удобное средство, предоставляющее широкие возможности для ручной работы со стандартными и нестандартными объектами на объектно-ориентированном языке 4Test
Средства нагрузочного тестирования.
Mercury LoadRunner удобный инструмент, обладающий широчайшим спектром возможностей
Segue SilkPerformer хорошее средство со своими + и -
RadView WebLoad неплохая программа для тестирования Web-приложений
Утверждения, параметры утверждений
Утверждения - гипотезы, высказываемые тестировщиком относительно результатов выполнения того или иного теста. Если гипотеза подтвердилась, то начинает выполняться следующий тест (либо тестирование завершается), иначе - ошибка. Все утверждения являются static методами класса Assert и, обычно, содержат 2 параметра: ожидаемый р-тат и действительный: Assert.AssMethod(expected, actual); Примеры:Assert.Greater( x, y );StringAssert.IsMatch( “Hello!”, MyStr );
Однако для каждого метода существуют перегружаемые варианты, которые содержат дополнительные параметры, позволяющие сформировать строку сообщения. Дополнительный параметр может быть обычной строкой, либо строкой со списком параметров, добавляемых в сообщение о результатах выполнения теста:Assert.AreEqual( int expected, int actual, string message ); Аssert.AreEqual( int expected, int actual, string message, params object[] parms ).