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

Содержание

Слайд 2

О преподавателе ISTQB Certified Tester Руководитель группы В тестировании 7

О преподавателе

ISTQB Certified Tester
Руководитель группы
В тестировании 7 лет
Проекты:
Ручное тестирование
Райффайзен

банк, Альфа банк,
Юникредит банк, Ренессанс кредит
Нагрузочное тестирование
LoadRunner, Jmeter
ВТБ24, Билайн, Министерство экологии и природопользования Московской области
Автоматизированное тестирование
Selenium WebDriver
Альфа банк (GUI, ядро), ВТБ24 (GUI, сервисы)

Skype: anna.chernova13
Mail to: achernova@specialist.ru

Слайд 3

Модуль 1. Введение в тестирование программного обеспечения Чернова Анна

Модуль 1. Введение в тестирование программного обеспечения

Чернова Анна

Слайд 4

Рассматриваемые вопросы Зачем нужно тестировать программы? Понятие качества ПО. Стандарты

Рассматриваемые вопросы

Зачем нужно тестировать программы?
Понятие качества ПО. Стандарты качества ПО
Атрибуты и

характеристики качества ПО
Основные определения тестирования
Цели и задачи процесса тестирования
Полный цикл тестирования. Фазы тестирования
Слайд 5

Программные ошибки так вредны, что это отражается на экономике. По

Программные ошибки так вредны, что это отражается на экономике. По

статистике, убыток от программных ошибок в США, составляет 0,6 процента ВВП, а это 100 млрд. долларов в год.
Слайд 6

Стоимость этапов жизненного цикла ПО

Стоимость этапов жизненного цикла ПО

Слайд 7

Тестирование НЕ является: разработкой анализом управлением техписательством

Тестирование НЕ является:

разработкой

анализом

управлением

техписательством

Слайд 8

Тестирование - это Тестирование – это процесс, позволяющий убедиться в

Тестирование - это

Тестирование – это процесс, позволяющий убедиться в том, что

в программе нет ошибок.

Невозможно отыскать абсолютно все ошибки в программном продукте. Ошибки остаются всегда.

2. Построение исчерпывающего входного теста невозможно.

Цель тестирования – показать, что программа корректно выполняет предусмотренные функции, т.е. программа соответствует спецификации. Или, более детально, цель тестирования – показать, в каких ситуациях программа не соответствует спецификации, в то время как тестовые данные используются в соответствии со спецификацией программы.

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

Слайд 9

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

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

компании IBM. Соучредитель и бывший исполнительный директор корпорации RadiSys. Автор «Искусство тестирования программ»

Тестирование ПО – это процесс выполнения программы с целью обнаружения ошибок.

Слайд 10

Сэм Канер Автор «Тестирование программного обеспечения» Тестирование — это процесс

Сэм Канер Автор «Тестирование программного обеспечения»

Тестирование — это процесс поиска ошибок. Хороший

набор тестов позволит найти больше ошибок, чем плохой, и ошибки эти будут более серьезными.
Библиографическая справка
В своей известной книге по философии науки, вышедшей в 1965 г., Карл Поупер (Karl Popper) утверждает, что правильный подход к проверке научной теории заключается в поиске не подтверждающих, а опровергающих ее фактов — попытке доказать, что в ней есть ошибки. И чем более тщательное тестирование выдерживает выдвинутая теория, тем больше у нас уверенности в том, что она верна
Слайд 11

ISO (International Organization for Standardization) Тестирование — это наблюдение за

ISO (International Organization for Standardization)

Тестирование — это наблюдение за функционированием

ПО в специфических условиях с целью определения степени соответствия ПО требованиям к нему.
Слайд 12

SWEBOK The Guide to the Software Engineering Body of Knowledge

SWEBOK The Guide to the Software Engineering Body of Knowledge by IEEE -

Institute of Electrical and Electronics Engineers

Тестирование – это проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранным определенным образом.

Слайд 13

ExpertSoft Тестирование представляет собой процесс, который ставит своей целью признать

ExpertSoft

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

безопасность и качество разрабатываемого программного обеспечения.
http://www.expertsoft.com.ua/scs/ 
Слайд 14

RUP Rational Unified Process - an iterative software development process

RUP Rational Unified Process - an iterative software development process

Тестирование — одна из дисциплин RUP. Она ориентирована в первую очередь на оценку качества с помощью следующих методов:
поиск и документирование дефектов качества;
общие рекомендации относительно качества;
проверка выполнения основных предположений и требований на конкретных примерах;
проверка, что продукт функционирует так, как было запроектировано;
проверка, что требования выполнены соответствующим образом.
Слайд 15

Тестирование – это проверка соответствия программы требованиям, осуществляемая путем наблюдения

Тестирование – это

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

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

Главная деятельность тестировщика Предоставление отрицательной обратной связи QA (Quality Assurance)

Главная деятельность тестировщика

Предоставление отрицательной обратной связи

QA (Quality Assurance) - Обеспечение качества

________________________________________

QC

(Quality Control) – Контроль качества
Слайд 17

Качество программного обеспечения способность программного продукта при заданных условиях удовлетворять

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

способность программного продукта при заданных условиях удовлетворять установленным или

предполагаемым потребностям (ISO/IEC 25000:2014)
весь объем признаков и характеристик программ, который относится к их способности удовлетворять установленным или предполагаемым потребностям (ГОСТ Р ИСО/МЭК 9126-93, ISO 8402:94)
степень, в которой система, компонент или процесс удовлетворяют потребностям или ожиданиям заказчика или пользователя (IEEE Std 610.12-1990)
Слайд 18

Модель качества (ISO 9126-1)

Модель качества (ISO 9126-1)

Слайд 19

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

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

Слайд 20

Характеристики качества. Матрица компромиссов

Характеристики качества. Матрица компромиссов

Слайд 21

ISO - International Organization for Standardization ISO 9126 «Информационная технология.

ISO - International Organization for Standardization

ISO 9126 «Информационная технология. Оценка программного

продукта. Характеристики качества и руководство по их применению».
ISO 9000:2000 Quality management systems — Fundamentals and vocabulary;
ISO 9001:2000 Quality management systems — Requirements. Models for quality assurance in design, development, production, installation, and servicing;
ISO 9004:2000 Quality management systems — Guidelines for performance improvements;
ISO/IEC 90003:2004 Software engineering — Guidelines for the application of ISO 9001:2000 to computer software.
Слайд 22

ГОСТ – каталог государственных стандартов ГОСТ Р ИСО/МЭК 9126-93. Информационная

ГОСТ – каталог государственных стандартов

ГОСТ Р ИСО/МЭК 9126-93. Информационная технология. Оценка

программной продукции. Характеристики качества и руководства по их применению. 
ГОСТ 28195-89. Оценка качества программных средств. Общие положения.
ГОСТ 28806-90. Качество программных средств. Термины и определения.
Слайд 23

Прочие стандарты качества IEEE 730-2014 - Standard for Software Quality

Прочие стандарты качества

IEEE 730-2014 - Standard for Software Quality Assurance Processes


IEEE 730 WG - Std for Software Quality Assurance Plans Working Group
CMMi - Process and Product Quality Assurance (PPQA)
TickIT
SEI SW-CMM
Слайд 24

Тест (Test) Это специальная, искусственно созданная ситуация, выбранная определенным образом,

Тест (Test)

Это специальная, искусственно созданная ситуация, выбранная определенным образом,
и описание того,

какие наблюдения за работой программы нужно сделать
для проверки ее соответствия некоторому требованию.
Слайд 25

Тестовый случай (Test Case) артефакт, описывающий совокупность шагов, конкретных условий

Тестовый случай (Test Case)

артефакт, описывающий совокупность шагов, конкретных условий и параметров,

необходимых для проверки реализации тестируемой функции или её части.
Для ручного или автоматического тестирования
Слайд 26

Ошибка-Дефект-Отказ Ошибка (Mistake) Возникает в результате деятельности людей, связанной с

Ошибка-Дефект-Отказ

Ошибка (Mistake)
Возникает в результате деятельности людей, связанной с разработкой программного обеспечения
Ошибка

в требованиях, ошибка в дизайне, ошибка в коде
Дефект (Defect)
Несоответствие поведения программы требованиям или ожидаемому поведению или несоответствие документации требованиям
Отказ (Error)
Проявление дефекта в ходе эксплуатации программы
Аварийный отказ – невозможность продолжать эксплуатацию программы
Слайд 27

человек совершает ошибку ведущую к дефекту обнаруживаемого, возможно, другим человеком проявляемому в виде отказа

человек

совершает

ошибку

ведущую к

дефекту

обнаруживаемого, возможно, другим человеком

проявляемому в виде

отказа

Слайд 28

Верификация vs Валидация Верификация (Verification) процесс оценки системы или её

Верификация vs Валидация

Верификация (Verification)
процесс оценки системы или её компонентов с

целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа. Т.е. выполняются ли наши цели, сроки, задачи по разработке проекта, определенные в начале текущей фазы.
Валидация (Validation)
определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе 
Слайд 29

Валидация – мы сделали то, что надо Верификация – мы сделали это правильно

Валидация – мы сделали то, что надо
Верификация – мы сделали это

правильно
Слайд 30

Цели и задачи тестирования Предоставить информацию Руководителю проекта Разработчику Заказчику

Цели и задачи тестирования

Предоставить информацию
Руководителю проекта
Разработчику
Заказчику
Что:
Обнаруженные несоответствия и рекомендации к их

исправлению
Рекомендации к усовершенствованию
Как:
Средства управления тестированием
Отчеты (E-mail)
Встречи
Слайд 31

Задачи тестировщика Определение миссии тестирования Проверка подхода к тестированию Проверка

Задачи тестировщика

Определение миссии тестирования
Проверка подхода к тестированию
Проверка стабильности выпуска
Тестирование и оценка
Достижение

приемлемого результата миссии
Совершенствование методов и средств тестирования
Слайд 32

Планирование тестов определение требований к тестам; оценка рисков; выбор стратегии

Планирование тестов

определение требований к тестам;
оценка рисков;
выбор стратегии тестирования;
определение ресурсов;
создание расписания/последовательностей;
разработка Плана

тестирования;
определение критериев завершения и успешности тестирования.
Слайд 33

Дизайн и разработка тестов анализ объёма работ; определение тестовых случаев

Дизайн и разработка тестов

анализ объёма работ;
определение тестовых случаев -> Дизайн;
обзор и

оценка тестового покрытия;
определение тесто-критичной функциональности в Дизайне и Модели реализации;
запись тест-кейсов или программирование тестовых скриптов;
создание/подготовка внешних наборов данных;
Слайд 34

Выполнение тестов выполнение тестов; оценка выполнения тестов; восстановление после сбойных

Выполнение тестов

выполнение тестов;
оценка выполнения тестов;
восстановление после сбойных тестов;
проверка результатов;
исследование неожиданных результатов;
запись

ошибок;
Слайд 35

Оценка тестов анализ дефектов; оценка критериев завершения и успешности тестирования.

Оценка тестов

анализ дефектов;
оценка критериев завершения и успешности тестирования.

Слайд 36

Эффективность тестирования Число ошибок, обнаруженных в ходе инспекции Общее число

Эффективность тестирования

Число ошибок, обнаруженных в ходе инспекции

Общее число ошибок в продукте

до инспекции

Х 100%

Дефекты, обнаруженные тестированием или инспекцией

Дефекты, имеющиеся во время тестирования или инспекции

Х 100% =

Обнаруженные дефекты

Обнаруженные + необнаруженные дефекты (обнаруженные позже)

Х 100%

=

Джонс (1986)

Фаган (1976)

Слайд 37

Участники процесса тестирования Менеджер проекта – обеспечение ресурсами, координация работ

Участники процесса тестирования

Менеджер проекта – обеспечение ресурсами, координация работ
Разработчик, технический писатель

– исправление найденных ошибок
Архитектор – обеспечение целостности проекта в процессе исправления ошибок
Интегратор (Релиз менеджер) – контроль и выпуск версий ПО
Аналитик – установка приоритетов, связанных с необходимостью и сложностью исправления найденных дефектов
Тестировщик – несет ответственность за процесс тестирования в целом
Слайд 38

Роли участников группы тестирования Руководитель группы тестирования (Test manager) –

Роли участников группы тестирования

Руководитель группы тестирования (Test manager) – представляет ключевую

роль тестировщика в рабочей группе, несет ответственность за организацию процесса тестирования в проекте, планирование и контроль действий по тестированию.
Тестировщик-аналитик (Test analyst) – несет ответственность за формирование тестовых спецификаций, и анализ итогов тестирования.
Разработчик тестов (Test developer) – несет ответственность за разработку автоматизированных тестов, предусмотренных в плане тестирования, установку и сопровождение инфраструктуры тестирования, создание стенда для проведения тестирования в соответствии с планом тестирования.
Исполнитель тестов (Test operator/ Engineer) - несет ответственность за фактическое исполнение тестов и документирование выявленных дефектов.
Слайд 39

Качество. Когда?

Качество. Когда?

Слайд 40

Определения модели жизненного цикла программной системы по ГОСТ Модель жизненного

Определения модели жизненного цикла программной системы по ГОСТ

Модель жизненного цикла –

структура, состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования [ГОСТ 12207, 1999].
Жизненный цикл автоматизированной системы (АС) – совокупность взаимосвязанных процессов создания и последовательного изменения состояния АС, от формирования исходных требований к ней до окончания эксплуатации и утилизации комплекса средств автоматизации АС [ГОСТ 34, 1990].
Слайд 41

Четыре обобщенные фазы жизненного цикла Концепция (инициация, идентификация, отбор) Определение

Четыре обобщенные фазы жизненного цикла

Концепция (инициация, идентификация, отбор)
Определение (анализ)
Выполнение (практическая реализация

или внедрение, производство и развертывание, проектирование или конструирование, сдача в эксплуатацию, инсталляция, тестирование и т.п.)
Закрытие (завершение, включая оценивание после завершения)
Слайд 42

Циклы тестирования Полный цикл тестирования обычно совпадает с итерацией разработки

Циклы тестирования

Полный цикл тестирования обычно совпадает с итерацией разработки или соответствует ее

определенной части.
Частный цикл тестирования, как правило, проводится для конкретной сборки объекта тестирования (системы, подсистемы или отдельного компонента).
Слайд 43

Слайд 44

Полный цикл тестирования

Полный цикл тестирования

Слайд 45

Частный цикл тестирования. Задачи Определить цели тестирования; Верифицировать метод тестирования;

Частный цикл тестирования. Задачи

Определить цели тестирования;
Верифицировать метод тестирования;
Подтвердить правильность

сборки;
Тестировать и оценивать;
Улучшить набор тестов.
Слайд 46

Итоги Программы необходимо тестировать для понижения стоимости конечного продукта и

Итоги

Программы необходимо тестировать для понижения стоимости конечного продукта и повышения удовлетворенности

заказчика.
 Качество ПО оценивается по 6 атрибутам (и их характеристикам).
 Определили:
Термины:
Тест, тестовый случай;
Ошибка, Дефект, Отказ;
Валидация, Верификация.
Цели процесса тестирования.
Задачи процесса тестирования.
Состав полного цикла тестирования.
Слайд 47

Дополнительные материалы Савин. Тестирование dot com Канер. Тестирование программного обеспечения

Дополнительные материалы
Савин. Тестирование dot com
Канер. Тестирование программного обеспечения
Жарко Е.Ф. Сравнение моделей

качества программного обеспечения: аналитический подход http://vspu2014.ipu.ru/proceedings/prcdngs/4585.pdf
CMMi - Process and Product Quality Assurance (PPQA) http://www.software-quality-assurance.org/cmmi-process-and-product-quality-assurance.html
Брукс Ф.П. Мифический человеко-месяц, или как создаются программные системы.
Имя файла: Тестирование-программного-обеспечения.pptx
Количество просмотров: 32
Количество скачиваний: 0