26
Процесс тестирования

Процесс тестирования

Embed Size (px)

DESCRIPTION

Процесс тестирования

Citation preview

Page 1: Процесс тестирования

Процесс тестирования

Page 2: Процесс тестирования

Тестирование ПО - процесс исследования программного обеспечения с целью получения информации о качестве продукта (wikipedia).

Качество - степень соответствия присущих характеристик требованиям (ISO 9001)

Требования ПО - совокупность утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации (wikipedia).

Тестирование как понятие

Page 3: Процесс тестирования

Внутреннее качество ПО.◦ Точка зрения разработчиков

Внешнее качество ПО ◦ Точка зрения руководства◦ Аттестации ПО на соответствие требованиям

Для двух точек зрения — внешнего качества и внутреннего качества — в рамках ISO 9126 предложена модель качества, состоящая из 6 факторов и 27 атрибутов.

Тестирование как понятие Качество

Page 4: Процесс тестирования

Тестирование как понятие Качество

Page 5: Процесс тестирования

Качество ПО c т.з. пользователя (ISO 9126 )◦ Эффективность

◦ Продуктивность

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

◦ Удовлетворение пользователей

Тестирование как понятие Качество

Page 6: Процесс тестирования

Виды требований по уровням◦ Бизнес-требования◦ Пользовательские требования◦ Функциональные требования

Виды требований по характеру◦ Функциональный характер◦ Нефункциональный характер

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

Page 7: Процесс тестирования

Источники требований◦ Стандарты (HTML, CSS, XML, URL, пр.)◦ Федеральное и муниципальное отраслевое

законодательство (конституция, законы, распоряжения)

◦ Нормативное обеспечение организации (регламенты, положения, уставы, приказы)

◦ Представления и ожидания потребителей и пользователей системы

◦ Конкурирующие программные продукты

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

Page 8: Процесс тестирования

Методы выявления требований◦ Общение с заказчиком◦ Общение с авторами продукта◦ Анализ стандартов, нормативной документации◦ Анализ выявленных проблем в багтрекере

Проверка требований на проверяемость◦ Проверяемые◦ Непроверяемые

Документирование требований◦ Удобство понимания для специалистов разного

уровня подготовки

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

Page 9: Процесс тестирования

Тестирование как понятиеВерификация и валидация

Page 10: Процесс тестирования

Верификация проверяет соответствие между: ◦ нормами стандартов ◦ описанием требований (техническим заданием) к ПО ◦ проектными решениями ◦ исходным кодом ◦ пользовательской документацией

и функционированием самого ПО

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

Верификация отвечает на вопрос "Делаем ли мы продукт правильно?", а валидация — на вопрос"Делаем ли мы правильный продукт?" /B. Boehm/

Тестирование как понятие

Page 11: Процесс тестирования

Тестирование как процессНачало

Page 12: Процесс тестирования

Тестовая спецификация◦ Начальные условия◦ Сценарий выполнения◦ Ожидаемый результат◦ Взаимозависимости ◦ Требования

Отчет о тестировании◦ Тестовая процедура ◦ Тестовая спецификация ◦ Описание ошибки ◦ Оценка серьезности

Тест план◦ Тестируемые

требования ◦ Не тестируемые

требования◦ Стратегия

тестирования◦ Типы тестирования◦ Ресурсы◦ Этапы тестирования◦ Критерии тестирования

Тестовая процедура◦ Набор тестов◦ Критерий оценки

результатов

Тестирование как процесс Документация

Page 13: Процесс тестирования

Стратегия

◦ Незначительные изменения в интерфейсе

◦ Новая функциональность

◦ Плановое тестирование функциональности

◦ Тестирование изменений

Тестирование как процесс Документация

GUI

Page 14: Процесс тестирования

Критерии тестирования

◦ Критерии начала

Готовность функционала или его части

Готовность тестовой среды.

Наличие документации для новой функциональности

(требования, тест-спецификация).

◦ Критерии окончания

Все тесты успешны

Производительность не упала

Безопасность в пределах допустимого

Тестирование как процесс Документация

Page 15: Процесс тестирования

Тестовая спецификация - описание теста (т.e. данных, разработанных для проверки отдельной программы или верификация соответствия на определенное требование)◦ Начальные условия◦ Сценарий выполнения◦ Ожидаемый результат◦ Взаимозависимости ◦ Требования

Тестовая процедура - последовательность взаимосвязанных тестовых спецификаций

для достижения цели определенного типа тестирования.

Тестирование как процесс Документация

Page 16: Процесс тестирования

Функциональное

Нефункциональное

Тестирование, связанное с изменениями.

Тестирование как процесс Типы тестирования

Page 17: Процесс тестирования

Функциональное тестирование◦ Системное

◦ Тестирование цикличных бизнесс-процессов

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

Тестирование как процесс Типы тестирования

Page 18: Процесс тестирования

Нефункциональное тестирование

◦ Нагрузочное тестирование

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

◦ Тестирование загрузки

Тестирование как процесс Типы тестирования

Page 19: Процесс тестирования

Тестирование, связанное с изменениями.

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

◦ Дымовое тестирование

Тестирование как процесс Типы тестирования

Page 20: Процесс тестирования

Тестовое Покрытие - это одна из метрик оценки качества тестирования, представляющая из себя плотность покрытия тестами требований либо исполняемого кода.

◦ Покрытие тестами кода

◦ Покрытие тестами требований

Тестирование как процессПокрытие

Page 21: Процесс тестирования

Покрытие тестами кода

Расчет тестового покрытия относительно исполняемого кода программного обеспечения проводится по формуле:

где:Tcov - тестовое покрытиеLtc - кол-во строк кода, покрытых тестамиLcode - общее кол-во строк кода.

Метод оценки покрытия кода не выявит нереализованные требования, так как работает не с конечным продуктом, а с существующим исходным кодом

Тестирование как процессПокрытие

Tcov = (Ltc/Lcode) * 100%

Page 22: Процесс тестирования

Покрытие тестами требований◦ Расчет тестового покрытия относительно требований проводится

по формуле:

где:Tcov - тестовое покрытиеLcov - количество требований, проверяемых тест кейсамиLtotal - общее количество требований

Метод покрытия требований может оставить непроверенными некоторые участки кода, потому что не учитывает конечную реализацию.

Тестирование как процессПокрытие

Tcov = (Lcov/Ltotal) * 100%

Page 23: Процесс тестирования

Контроль качества на всех этапах реализации функционала

Тестирование как процессЧто должно получиться

Page 24: Процесс тестирования

Инфраструктурные инструменты◦ Testlink◦ Mantis◦ Planner (Web2Project, Wiki)◦ Wiki◦ Система контроля версий

Инструменты для работы◦ Jmeter (нагрузка)

Сценарии для автоматизации. ◦ Selenium (IDE, RC, Grid, пр.)

Автоматизация функционального тестирования◦ Bromine (требуется исследование)◦ Hudson (требуется исследование)

Тестирование как процессИнструменты

Page 25: Процесс тестирования

Система управления тест-кейсами и требованиями.◦ Устанавливает связь требований с тестами◦ Устанавливает зависимости между

требованиями◦ Поддерживает версионность требований и

тестов◦ Фиксирует результаты выполнения тестов◦ Формирует отчеты по результатам прогонов за

любой период и по любому билду (выкатке)◦ Имеется интерфейс для BTS Mantis.

Тестирование как процессTestlink

Page 26: Процесс тестирования

Спасибо за внимание!