Testschool Тестирование ПО: введение. Основы. Санкт-Петербург, 08 октября


Testschool Тестирование ПО: введение. Основы. Санкт-Петербург, 08 октября 2011

09.12.2017 Intern Maria Bykova / Основы тестирования: введение 2 Содержание лекции

09.12.2017 3 Зачем нужно тестировать программное обеспечение? Программное обеспечение обслуживает практически все сферы нашей жизни Бизнес-приложения (например, банковские системы) Интернес-сервисы (системы бронирования билетов, оплаты услуг и товаров) Клиенты для доступа к интернет-сервисам (IP-телефония, электронная почта, веб-браузеры) Программное обеспечение мобильных устройств (телефонов, навигаторов, электронных книг и т.п.) Программы обновляются и становятся все сложнее Прогресс в области ИТ позволяет использовать более новые, усовершенствованные технологии Интернет-сайты предоставляют новые сервисы, адаптируют сайты для разных стран, чтобы завоевать больше клиентов Новые услуги в области телекоммуникаций заставляют совершенствовать и существующее и создавать новое программное обеспечение Intern Maria Bykova / Основы тестирования: введение

09.12.2017 4 Программное обеспечение не всегда работает так, как задумано Некорректная работа веб-сайтов «Зависание» мобильных телефонов, коммуникаторов и других устройств Некорректное завершение работы офисных программ Сбои в системах телекоммуникаций Утечка важной информации из-за пробелов в программных системах защиты (хакерский взлом ) Какие примеры вы можете привести? Зачем нужно тестировать программное обеспечение? Intern Maria Bykova / Основы тестирования: введение

09.12.2017 5 Зачем нужно тестировать программное обеспечение? Некоторые ошибки в программах почти не приносят убытков Небольшие временные неудобства Отсутствие неприятных последствий Некоторые ошибки наносят вред имиджу компании Новая система Check-in авиакомпании Lufthansa Ошибки и ляпы в первоначальной версии сайта Российской Академии Наук Некоторые ошибки приносят миллионы убытков Ariane 5 ($7 млрд) American Airlines ($50 млн) Некоторые ошибки уносят человеческие жизни Patriot Missile (28 жертв) Intern Maria Bykova / Основы тестирования: введение

09.12.2017 6 Что следует понимать под качеством ПО? Intern Maria Bykova / Основы тестирования: введение

09.12.2017 7 Что следует понимать под качеством ПО? Intern Maria Bykova / Основы тестирования: введение

09.12.2017 8 Что следует понимать под качеством ПО? Intern Maria Bykova / Основы тестирования: введение

09.12.2017 9 Что следует понимать под качеством ПО? Intern Maria Bykova / Основы тестирования: введение Функциональность (Functionality) определяется способностью ПО решать задачи, которые соответствуют зафиксированным и предполагаемым потребностям пользователя, при заданных условиях использования ПО. Т.е. эта характеристика отвечает за то, что ПО работает исправно и точно, функционально совместимо, соответствует стандартам отрасли и защищено от несанкционированного доступа. Надежность (Reliability) – способность ПО выполнять требуемые задачи в обозначенных условиях на протяжении заданного промежутка времени или указанное количество операций. Атрибуты данной характеристики – это завершенность и целостность всей системы, способность самостоятельно и корректно восстанавливаться после сбоев в работе, отказоустойчивость. Удобство использования (Usability) – возможность легкого понимания, изучения, использования и привлекательности ПО для пользователя.

09.12.2017 10 Что следует понимать под качеством ПО? Intern Maria Bykova / Основы тестирования: введение Эффективность (Efficiency) – способность ПО обеспечивать требуемый уровень производительности в соответствие с выделенными ресурсами, временем и другими обозначенными условиями. Удобство сопровождения (Maintainability) – легкость, с которой ПО может анализироваться, тестироваться, изменяться для исправления дефектов, для реализации новых требований, для облегчения дальнейшего обслуживания и адаптироваться к именующемуся окружению. Портативность (Portability) – характеризует ПО с точки зрения легкости его переноса из одного окружения (software/hardware) в другое.

09.12.2017 11 Семь основных принципов тестирования Intern Maria Bykova / Основы тестирования: введение Во время тестирования выявляются ошибки в программном обеспечении Тестирование не может быть исчерпывающим Чем раньше начинается фаза тестирования, тем лучше Правило скопления ошибок ("Fehlercluster") Повторение одинаковых тестов неэффективно Тестирование разных программных продуктов требует разного подхода Отсутствие ошибок не означает, что ПО на 100% является пригодным к использованию

09.12.2017 12 Связи между спецификацией программного продукта и его функциональностями Intern Maria Bykova / Основы тестирования: введение

09.12.2017 13 Связи между спецификацией программного продукта и его функциональностями Intern Maria Bykova / Основы тестирования: введение Спецификация включает ряд пользовательских сценариев (англ. use cases), которые описывают все варианты взаимодействия между пользователями и программным обеспечением. Пользовательские сценарии являются средством представления функциональных требований. В дополнение к пользовательским сценариям, спецификация также содержит нефункциональные требования, которые налагают ограничения на дизайн или реализацию (такие как требования производительности, стандарты качества, или проектные ограничения). В стандарте IEEE 830 содержится рекомендации к структуре и методам описания программных требований — «Recommended Practice for Software Requirements Specifications».

09.12.2017 14 Headline Связи между спецификацией программного продукта и его функциональностями Intern Maria Bykova / Основы тестирования: введение Пользовательский сценарий описывает, «кто» и «что» может сделать с рассматриваемой системой. Каждый пользовательский сценарий сосредотачивается на описании того, как достигнуть цели или задачи. Потребуется множество пользовательских сценариев, чтобы определить необходимый набор свойств новой системы или программы

09.12.2017 15 Headline Связи между спецификацией программного продукта и его функциональностями Intern Maria Bykova / Основы тестирования: введение Пользовательский сценарий (Use Case) должен: Описывать, что именно система должна сделать, чтобы пользователь достиг своей цели. Не затрагивать деталей реализации. Иметь достаточный уровень детализации. Не описывать пользовательские интерфейсы и экраны. Это делается во время дизайна пользовательского интерфейса.

09.12.2017 16 Headline Процесс тестирования Intern Maria Bykova / Основы тестирования: введение Спецификация помогает согласовать требования к программному продукту между заказчиком и исполнителем Функциональности программы реализуются разработчиками согласно требованиям и параметрам программного продукта, описанных в спецификации Тестовые сценарии часто создаются именно на основе требований к программному продукту, описанных в спецификации

09.12.2017 17 Процесс тестирования Intern Maria Bykova / Основы тестирования: введение вперед назад Старт Окончание Планирование и управление Анализ и тест дизайн Проведение теста Оценка критериев выхода и составление отчета Завершение теста

Планирование Управление Анализ и тест дизайн Проведение теста Процесс тестирования Оценка критериев выхода, отчет Завершение теста Процесс тестирования Определяется объем работы Определяются цели тестирования, стратегия теста Контроль прогресса при тестировании Отчеты, метрики, принятие решений в сложной ситуации Изучение спецификации, тестовых объектов Определение необходимых средств и ресурсов Проектирование тестов Выполнение тестовых сценариев Нахождение и документирование ошибок Фиксация результатов теста Оценка прогресса, качества тестирования, количества найденных ошибок Финальный тестовый отчет Передача результатов теста клиенту Обсуждение “Lessons learned” 09.12.2017 18 Intern Maria Bykova / Основы тестирования: введение

09.12.2017 19 Цели тестирования, тестовое покрытие, результат Intern Maria Bykova / Основы тестирования: введение Цели тестирования: Определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе Выявление отличий между реально существующими и требуемыми свойствами программного продукта Выявление дефектов программного продукта Проверки взаимодействия и правильности интеграции компонентов программного продукта

09.12.2017 20 Цели тестирования, тестовое покрытие, результат Intern Maria Bykova / Основы тестирования: введение Тестовое покрытие - это одна из метрик оценки качества тестирования, представляющая из себя плотность покрытия тестами требований либо исполняемого кода. Так как, согласно 2му принципу тестирования, тестирование не может быть исчерпывающим, достичь 100% тестового покрытия невозможно Чем выше требуемый уровень тестового покрытия, тем больше тестов будет выбрано, для проверки тестируемых требований или исполняемого кода Для разработки набора тестов, обеспечивающего более-менее высокий уровень покрытия, можно использовать специальные инструменты либо техники тест дизайна.

0.8 Цели тестирования, тестовое покрытие, результат Существует 2 широко применяемых подхода к оценке и измерению тестового покрытия: Intern Maria Bykova / Основы тестирования: введение

09.12.2017 22 Цели тестирования, тестовое покрытие, результат Результат теста Intern Maria Bykova / Основы тестирования: введение

09.12.2017 23 Цели тестирования, тестовое покрытие, результат Intern Maria Bykova / Основы тестирования: введение

09.12.2017 24 Ваши вопросы Intern Maria Bykova / Основы тестирования: введение

Санкт-Петербург, 08 октября 2011 Спасибо за внимание!

12880-test_basics_for_sonja_and_co_1.ppt
- Количество слайдов: 25