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

Содержание

Слайд 2

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

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

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

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

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

Слайд 3

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

Чернова Анна

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

Слайд 4

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

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

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

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

Слайд 5

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

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

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

Слайд 6

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

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

Слайд 7

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

разработкой

анализом

управлением

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

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

Слайд 8

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

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

нет ошибок.

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

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

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

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

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

Слайд 9

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

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

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

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

Слайд 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 by IEEE - Institute of

Electrical and Electronics Engineers

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

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

Слайд 13

ExpertSoft

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

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

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

Слайд 14

RUP Rational Unified Process - an iterative software development process

Тестирование —

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

RUP Rational Unified Process - an iterative software development process Тестирование — одна

Слайд 15

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

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

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

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

Слайд 16

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

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

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

________________________________________

QC (Quality Control)

– Контроль качества

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

Слайд 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 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.

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

Слайд 22

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

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

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

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

Слайд 23

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

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

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

Слайд 24

Тест (Test)

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

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

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

Слайд 25

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

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

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

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

Слайд 26

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

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

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

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

Слайд 27

человек

совершает

ошибку

ведущую к

дефекту

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

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

отказа

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

Слайд 28

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

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

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

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

Слайд 29

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

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

Слайд 30

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

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

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

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

Слайд 31

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

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

миссии
Совершенствование методов и средств тестирования

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

Слайд 32

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

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

завершения и успешности тестирования.

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

Слайд 33

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

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

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

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

Слайд 34

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

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

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

Слайд 35

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

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

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

Слайд 36

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

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

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

Х

100%

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

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

Х 100% =

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

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

Х 100%

=

Джонс (1986)

Фаган (1976)

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

Слайд 37

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

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

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

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

Слайд 38

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

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

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

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

Слайд 39

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

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

Слайд 40

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

Модель жизненного цикла – структура, состоящая

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

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

Слайд 41

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

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

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

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

Слайд 42

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

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


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

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

Слайд 43

Слайд 44

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

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

Слайд 45

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

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

оценивать;
Улучшить набор тестов.

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

Слайд 46

Итоги

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

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

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

Слайд 47

Дополнительные материалы
Савин. Тестирование 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
Брукс Ф.П. Мифический человеко-месяц, или как создаются программные системы.

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

Имя файла: Тестирование-программного-обеспечения.pptx
Количество просмотров: 26
Количество скачиваний: 0