Testschool Тестирование ПО : введение. Основы.

  • Размер: 984.5 Кб
  • Количество слайдов: 25

Описание презентации Testschool Тестирование ПО : введение. Основы. по слайдам

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

29. 01. 16 Intern Maria Bykova / Основы тестирования: введение 2 Содержание лекции 1 Зачем нужно29. 01. 16 Intern Maria Bykova / Основы тестирования: введение 2 Содержание лекции 1 Зачем нужно тестировать ПО? 2 Что следует понимать под качеством ПО? 3 Семь основных принципов тестирования 4 Связи между спецификацией программного продукта и его функциональностями 6 Цели тестирования, тестовое покрытие, результат 75 Процесс тестирования

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

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

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

29. 01. 16 6 Программное обеспечение, или ПО — совокупность программ системы обработки информации и программных29. 01. 16 6 Программное обеспечение, или ПО — совокупность программ системы обработки информации и программных документов необходимых для эксплуатации этих программ (ГОСТ 19781 -90). Программное обеспечение. Что следует понимать под качеством ПО? Качество программного обеспечения (Software Quality) — это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности. [ISO 8402: 1994 Quality management and quality assurance ]Качество ПО Intern Maria Bykova / Основы тестирования: введение

29. 01. 16 7 Характеристики качества ПОЭффектив ность Функционал ьность Удобство сопровожден ия Надежно сть 29. 01. 16 7 Характеристики качества ПОЭффектив ность Функционал ьность Удобство сопровожден ия Надежно сть Удобство использования Портативнос ть Что следует понимать под качеством ПО? Intern Maria Bykova / Основы тестирования: введение

29. 01. 16 8 Что следует понимать под качеством ПО?  Функционал ьная  исправность Соответстви29. 01. 16 8 Что следует понимать под качеством ПО? Функционал ьная исправность Соответстви е стандартам Функционал ьная совместимос ть Безопасност ь Точность. Функциональ ность Эффективно сть по времени Эффективно сть использован ия ресурсов. Эффективн ость Завершенно сть Восстанавли вае-мость Устойчивост ь к отказам. Надежност ь Удобство установки Заменяемос ть Совместимо сть. Портативнос ть Удобство изучения Понятность Удобство и простота использован ия. Удобство использова ния Стабильност ь Анализируе мость Контролепр игод-ность Изменяемос ть. Удобство сопровожд ения Intern Maria Bykova / Основы тестирования: введение

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

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

29. 01. 16 11 Семь основных принципов тестирования Intern Maria Bykova / Основы тестирования: введение 1.29. 01. 16 11 Семь основных принципов тестирования Intern Maria Bykova / Основы тестирования: введение 1. Во время тестирования выявляются ошибки в программном обеспечении 2. Тестирование не может быть исчерпывающим 3. Чем раньше начинается фаза тестирования, тем лучше 4. Правило скопления ошибок («Fehlercluster») 5. Повторение одинаковых тестов неэффективно 6. Тестирование разных программных продуктов требует разного подхода 7. Отсутствие ошибок не означает, что ПО на 100% является пригодным к использованию

29. 01. 16 12 Связи между спецификацией программного продукта и его функциональностями Intern Maria Bykova /29. 01. 16 12 Связи между спецификацией программного продукта и его функциональностями Intern Maria Bykova / Основы тестирования: введение. Функциональная спецификация в разработке программного обеспечения —это документ, описывающий требуемые характеристики системы (функциональность). Документация описывает необходимые для пользователя системы входные и выходные параметры. Функциональная спецификация ПО Спецификация программного обеспечения (англ. Software Requirements Specification, SRS) — законченное описание поведения программы, которую требуется разработать. Спецификация программного обеспечения (синоним функциональной спецификации ПО)

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

29. 01. 16 14 Headline. Связи между спецификацией программного продукта и его функциональностями Intern Maria Bykova29. 01. 16 14 Headline. Связи между спецификацией программного продукта и его функциональностями Intern Maria Bykova / Основы тестирования: введение. Сценарий использования или пользовательский сценарий (англ. Use Case) — в разработке программного обеспечения и системном проектировании это описание поведения системы, которым она отвечает на внешние запросы. Пользовательский сценарий (англ. Use Case) Пользовательский сценарий описывает, «кто» и «что» может сделать с рассматриваемой системой. Каждый пользовательский сценарий сосредотачивается на описании того, как достигнуть цели или задачи. Потребуется множество пользовательских сценариев, чтобы определить необходимый набор свойств новой системы или программы

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

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

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

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

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

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

Покрытие кода (Code Coverage) - оценка покрытия исполняемого кода тестами, путем отслеживания непроверенных в процессе тестированияПокрытие кода (Code Coverage) — оценка покрытия исполняемого кода тестами, путем отслеживания непроверенных в процессе тестирования частей программного обеспечения. Анализ покрытия кода основывается на полноте проверки тестами разработанной части продукта (исходного кода). Покрытие кода (Code Coverage) Цели тестирования, тестовое покрытие, результат Покрытие требований ( Requirements Coverage) – оценка покрытия тестами функциональных и нефункциональных требований к продукту путемпостроения матриц трассировки (traceability matrix). Метод покрытия требований сосредоточен на проверке соответствия набора проводимых тестов требованиям к продукту. Покрытие требований ( Requirements Coverage)Существует 2 широко применяемых подхода к оценке и измерению тестового покрытия: Intern Maria Bykova / Основы тестирования: введение

29. 01. 16 22 Цели тестирования, тестовое покрытие,  результат Результат теста Результат (result ) 29. 01. 16 22 Цели тестирования, тестовое покрытие, результат Результат теста Результат (result ) – Результат выполнения теста. В результат могут входить все виды информации, отчеты, отправляемые сообщения. Результат Ожидаемый результат (expected result): Поведение компонента или системы при установленных условиях, которое определено спецификацией или другими источниками. Ожидаемый результат Фактический результат (actual result): Наблюдаемое или генерируемое поведение компонента или системы во время тестирования. Фактический результат Intern Maria Bykova / Основы тестирования: введение

29. 01. 16 23 Цели тестирования, тестовое покрытие,  результат Результат (result )  – Результат29. 01. 16 23 Цели тестирования, тестовое покрытие, результат Результат (result ) – Результат выполнения теста. В результат могут входить все виды информации, отчеты, отправляемые сообщения. Результат Ожидаемый результат (expected result): Поведение компонента или системы при установленных условиях, которое определено спецификацией или другими источниками. Ожидаемый результат Фактический результат (actual result): Наблюдаемое или генерируемое поведение компонента или системы во время тестирования. Фактический результат Intern Maria Bykova / Основы тестирования: введение

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

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