Меню

Site Logo

Современное состояние дел в области разработки программного обеспечения

  1. Текущая ситуация на рынке разработки программного обеспечения
  2. Факторы, тормозящие создание и внедрение новых IT-решений
  3. Классические проблемы IT-инфраструктуры предприятий, которые развивали ее по историческим соображениям
  4. Тенденции развития методов разработки программного обеспечения

Надежность программного обеспечения

  1. Понятие "надежность программного обеспечения". Отличие от надежности технических систем.
  2. Качество и работоспособность. Отличие качества от работоспособности.
  3. Отказы и сбои. Типы отказов.
  4. Цена ошибки.
  5. Методы обеспечения надежности.

Семантика языков программирования

  1. Формальные методы
  2. Синтаксис, семантика и прагматика. Проблема описания смысла.
  3. Способы определения семантики.
  4. Синтезируемые атрибуты
  5. Атрибутивные грамматики
  6. Операционная семантика
  7. Аксиоматическая семантика. Алгебраическая система Хоара. Алгоритм доказательства свойств программ.

Введение в тестирование программного обеспечения

  1. Тестирование программного обеспечения.
  2. Виды тестирования.
  3. Тестирование и модель жизненного цикла.
  4. Как получить тесты.
  5. Тестовый сценарий.
  6. Построение сценариев.
  7. Чек-лист.
  8. Тест-кейс.
  9. Типовой цикл тестирования.
  10. Функциональное тестирование.
  11. Тестирование производительности.
  12. Тестирование удобства пользования.
  13. Тестирование графического интерфейса.
  14. Тестирование безопасности.
  15. Тестирование локализации
  16. Тестирование совместимости
  17. Структурное тестирование
  18. Восстановительные тесты.
  19. Конфигурационное тестирование.
  20. Сравнительное тестирование.
  21. Аттестационное тестирование.

Организация ручного тестирования программного обеспечения

  1. Методика ручного тестирования программного обеспечения.
  2. Критерий успеха. Чек-лист. Сценарий тестирования (тест кейс). Тест скрипт. Набор тестов. Список идей тестов. Модель нагрузки. Дефекты.
  3. Средства поддержки процесса ручного тестирования. Продукт HP Sprinter.

Автоматическое тестирование программного обеспечения

  1. Недостатки «ручного» тестирования.
  2. Автоматическое тестирование программного обеспечения.
  3. Что можно автоматизировать.
  4. Преимущества автоматического тестирования.
  5. Подходы к автоматизации тестирования.
  6. Автоматизация тестирования и современные жизненные циклы программного обеспечения.
  7. Проблемы автоматизации тестирования.

Модульное тестирование

  1. Технология модульного тестирования.
  2. Показатели оценки качества покрытия кода тестами.
  3. Преимущества технологии модульного тестирования.
  4. Недостатки модульного тестирования.
  5. Фреймворки модульного тестирования.
  6. CppUnit
  7. NUnit
  8. JUnit

Модульное тестирование баз данных

  1. Цели модульного тестирования базы данных.
  2. Особенности тестирования базы данных.
  3. Схемы организации модульного тестирования базы данных.
  4. DBUnit
  5. Модульное тестирование баз данных с помощью MS Visual Studio

Автоматизация тестирования приложений через графический интерфейс пользователя

  1. Автоматизация тестирования приложений через графический интерфейс пользователя.
  2. Четыре поколения средств автоматизации приложений через графический интерфейс пользователя.
  3. Утилиты записи и воспроизведения.
  4. Плееры тестовых скриптов (сценариев).
  5. Тестирование, управляемое данными.
  6. Тестирование на основе DSL (domain specific languages).

Coded UI Test

  1. Разработка теста, режимы создания тестов.
  2. Структура теста.
  3. Настройка проверок.
  4. Кодирование проверок и сценариев вручную.
  5. Настройка и редактирование источников данных.

Автоматизация тестирования приложений через графический интерфейс пользователя – IBM Rational Functional Tester

  1. Обзор продукта IBM Rational Functional Tester.
  2. Схема работы.
  3. Структура скрипта.
  4. Технология Script Assure.
  5. Точки верификации.
  6. Пулы данных.

Тестирование производительности – IBM Rational Performance Tester

  1. Обзор продукта IBM Rational Performance Tester.
  2. Схема работы.
  3. Запись теста.
  4. Пулы данных.
  5. Проблема корреляции данных.
  6. Распределение и назначение рабочей нагрузки.
  7. План тестирования.
  8. Мониторинг производительности.

Статический анализ кода

  1. Обзор методики статического анализа кода.
  2. Виды статических анализаторов.
  3. Метод метрик. Размерно-ориентированные метрики. Объектно-ориентированные метрики. Комбинированные метрики. Преимущества и недостатки.
  4. Статические анализаторы на основе правил. FxCop.
  5. Средства статической валидации, интегрированные в редактор кода. JetBrains ReSharper. Visual Assist.

Динамический анализ кода

  1. Динамический анализ. Виды динамического анализа. Цели динамического анализа.
  2. Измерение производительности — профайлеры.
  3. Средства борьбы с утечками памяти и ресурсов. Методы анализа — отладочное API, анализ дампов, автоматическое инструментирование.

Автоматизация тестирования Web-приложений

  1. Подходы к автоматизации тестирования Web-приложений.
  2. Selenium

Программирование без ошибок

  1. Источники ошибок
  2. Способы борьбы с ошибками
  3. Формальные модели
  4. Виды формальных моделей
  5. Логические модели
  6. Операционные модели
  7. Конечные автоматы, проверки с помощью конечных автоматов
  8. Как бороться с большим числом состояний
  9. Расширенный конечный автомат
  10. Трассовые модели
  11. Временные логики
  12. Способы измерения полноты тестов
  13. Как проверить правильность понимания задачи