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

Нажмите для полного просмотра!
Тестирование программного обеспечения Swebok, слайд №1Тестирование программного обеспечения Swebok, слайд №2Тестирование программного обеспечения Swebok, слайд №3Тестирование программного обеспечения Swebok, слайд №4Тестирование программного обеспечения Swebok, слайд №5Тестирование программного обеспечения Swebok, слайд №6Тестирование программного обеспечения Swebok, слайд №7Тестирование программного обеспечения Swebok, слайд №8Тестирование программного обеспечения Swebok, слайд №9Тестирование программного обеспечения Swebok, слайд №10Тестирование программного обеспечения Swebok, слайд №11Тестирование программного обеспечения Swebok, слайд №12Тестирование программного обеспечения Swebok, слайд №13Тестирование программного обеспечения Swebok, слайд №14Тестирование программного обеспечения Swebok, слайд №15Тестирование программного обеспечения Swebok, слайд №16Тестирование программного обеспечения Swebok, слайд №17Тестирование программного обеспечения Swebok, слайд №18Тестирование программного обеспечения Swebok, слайд №19Тестирование программного обеспечения Swebok, слайд №20Тестирование программного обеспечения Swebok, слайд №21Тестирование программного обеспечения Swebok, слайд №22Тестирование программного обеспечения Swebok, слайд №23Тестирование программного обеспечения Swebok, слайд №24Тестирование программного обеспечения Swebok, слайд №25Тестирование программного обеспечения Swebok, слайд №26Тестирование программного обеспечения Swebok, слайд №27Тестирование программного обеспечения Swebok, слайд №28Тестирование программного обеспечения Swebok, слайд №29Тестирование программного обеспечения Swebok, слайд №30Тестирование программного обеспечения Swebok, слайд №31Тестирование программного обеспечения Swebok, слайд №32Тестирование программного обеспечения Swebok, слайд №33Тестирование программного обеспечения Swebok, слайд №34Тестирование программного обеспечения Swebok, слайд №35Тестирование программного обеспечения Swebok, слайд №36Тестирование программного обеспечения Swebok, слайд №37Тестирование программного обеспечения Swebok, слайд №38Тестирование программного обеспечения Swebok, слайд №39Тестирование программного обеспечения Swebok, слайд №40Тестирование программного обеспечения Swebok, слайд №41Тестирование программного обеспечения Swebok, слайд №42Тестирование программного обеспечения Swebok, слайд №43Тестирование программного обеспечения Swebok, слайд №44Тестирование программного обеспечения Swebok, слайд №45Тестирование программного обеспечения Swebok, слайд №46Тестирование программного обеспечения Swebok, слайд №47Тестирование программного обеспечения Swebok, слайд №48Тестирование программного обеспечения Swebok, слайд №49Тестирование программного обеспечения Swebok, слайд №50Тестирование программного обеспечения Swebok, слайд №51Тестирование программного обеспечения Swebok, слайд №52Тестирование программного обеспечения Swebok, слайд №53Тестирование программного обеспечения Swebok, слайд №54Тестирование программного обеспечения Swebok, слайд №55Тестирование программного обеспечения Swebok, слайд №56Тестирование программного обеспечения Swebok, слайд №57Тестирование программного обеспечения Swebok, слайд №58Тестирование программного обеспечения Swebok, слайд №59Тестирование программного обеспечения Swebok, слайд №60Тестирование программного обеспечения Swebok, слайд №61Тестирование программного обеспечения Swebok, слайд №62Тестирование программного обеспечения Swebok, слайд №63Тестирование программного обеспечения Swebok, слайд №64Тестирование программного обеспечения Swebok, слайд №65Тестирование программного обеспечения Swebok, слайд №66Тестирование программного обеспечения Swebok, слайд №67Тестирование программного обеспечения Swebok, слайд №68Тестирование программного обеспечения Swebok, слайд №69Тестирование программного обеспечения Swebok, слайд №70Тестирование программного обеспечения Swebok, слайд №71Тестирование программного обеспечения Swebok, слайд №72Тестирование программного обеспечения Swebok, слайд №73Тестирование программного обеспечения Swebok, слайд №74Тестирование программного обеспечения Swebok, слайд №75Тестирование программного обеспечения Swebok, слайд №76Тестирование программного обеспечения Swebok, слайд №77Тестирование программного обеспечения Swebok, слайд №78Тестирование программного обеспечения Swebok, слайд №79Тестирование программного обеспечения Swebok, слайд №80Тестирование программного обеспечения Swebok, слайд №81Тестирование программного обеспечения Swebok, слайд №82Тестирование программного обеспечения Swebok, слайд №83Тестирование программного обеспечения Swebok, слайд №84Тестирование программного обеспечения Swebok, слайд №85Тестирование программного обеспечения Swebok, слайд №86

Содержание

Вы можете ознакомиться и скачать презентацию на тему Тестирование программного обеспечения Swebok. Доклад-сообщение содержит 86 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Тестиирование
По Swebok
Описание слайда:
Тестиирование По Swebok

Слайд 2





Определение
Тестирование (software testing) – деятельность, выполняемая для оценки и улучшения качества программного обеспечения. Эта деятельность, в общем случае, базируется на обнаружении дефектов и проблем в программных системах.
Тестирование программных систем состоит из динамической верификации поведения программ на конечном (ограниченном) наборе тестов (set of test cases), выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия ожидаемому поведению системы.
Описание слайда:
Определение Тестирование (software testing) – деятельность, выполняемая для оценки и улучшения качества программного обеспечения. Эта деятельность, в общем случае, базируется на обнаружении дефектов и проблем в программных системах. Тестирование программных систем состоит из динамической верификации поведения программ на конечном (ограниченном) наборе тестов (set of test cases), выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия ожидаемому поведению системы.

Слайд 3





Динамичность (dynamic)
 Термин подразумевает тестирование всегда предполагает выполнение тестируемой программы с заданными входными данными. При этом, величины, задаваемые на вход тестируемому программному обеспечению, не всегда достаточны для определения теста. Сложность и недетерминированность систем приводит к тому, что система может по разному реагировать на одни и те же входные параметры, в зависимости от состояния системы. В данной области знаний термин “вход” (input) будет использоваться в рамках соглашения о том, что вход может также специфицировать состояние системы, в тех случаях, когда это необходимо. Кроме динамических техник проверки качества, то есть тестирования, существуют также и статические техники, рассматриваемые в области знаний “Software Quality”.
Описание слайда:
Динамичность (dynamic)  Термин подразумевает тестирование всегда предполагает выполнение тестируемой программы с заданными входными данными. При этом, величины, задаваемые на вход тестируемому программному обеспечению, не всегда достаточны для определения теста. Сложность и недетерминированность систем приводит к тому, что система может по разному реагировать на одни и те же входные параметры, в зависимости от состояния системы. В данной области знаний термин “вход” (input) будет использоваться в рамках соглашения о том, что вход может также специфицировать состояние системы, в тех случаях, когда это необходимо. Кроме динамических техник проверки качества, то есть тестирования, существуют также и статические техники, рассматриваемые в области знаний “Software Quality”.

Слайд 4





Конечность (ограниченность, finite)
Для простых программ теоретически возможно столь большое количество тестовых сценариев, что исчерпывающее тестирование может занять многие месяцы и даже годы. Именно поэтому, с практической точки зрения, всестороннее тестирование считается бесконечным. Тестирование всегда предполагает компромисс между ограниченными ресурсами и заданными сроками, с одной стороны, и практически неограниченными требованиями по тестированию, с другой. То есть мы снова говорим об определении характеристик “приемлемого” качества, на основе которых планируем необходимы объем тестирования.
Описание слайда:
Конечность (ограниченность, finite) Для простых программ теоретически возможно столь большое количество тестовых сценариев, что исчерпывающее тестирование может занять многие месяцы и даже годы. Именно поэтому, с практической точки зрения, всестороннее тестирование считается бесконечным. Тестирование всегда предполагает компромисс между ограниченными ресурсами и заданными сроками, с одной стороны, и практически неограниченными требованиями по тестированию, с другой. То есть мы снова говорим об определении характеристик “приемлемого” качества, на основе которых планируем необходимы объем тестирования.

Слайд 5





Выбор (selection)
Многие предлагаемые техники тестирования отличаются друг от друга в том, как выбираются сценарии тестирования. Инженеры по программному обеспечению должны обладать представлением о том, что различные критерии выбора тестов могут давать разные результаты, с точки зрения эффективности тестирования. Определение подходящего набора тестов для заданных условий является очень сложной проблемой. Обычно, для выбора соответствующих тестов совместно применяют техники анализа рисков, анализ требований и соответствующую экспертизу в области тестирования и заданной прикладной области.
Описание слайда:
Выбор (selection) Многие предлагаемые техники тестирования отличаются друг от друга в том, как выбираются сценарии тестирования. Инженеры по программному обеспечению должны обладать представлением о том, что различные критерии выбора тестов могут давать разные результаты, с точки зрения эффективности тестирования. Определение подходящего набора тестов для заданных условий является очень сложной проблемой. Обычно, для выбора соответствующих тестов совместно применяют техники анализа рисков, анализ требований и соответствующую экспертизу в области тестирования и заданной прикладной области.

Слайд 6





Ожидаемое поведение 
(expected behaviour)
Хотя это не всегда легко, все же необходимо решить, какое наблюдаемое поведение программы будет приемлемо, а какое – нет. В противном случае, усилия по тестированию – бесполезны. Наблюдаемое поведение может рассматриваться в контексте пользовательских ожиданий (подразумевая “тестирования для проверки” - testing for validation), спецификации (“тестирование для аттестации” - testing for verification) или, наконец, в контексте предсказанного поведения на основе неявных требований или обоснованных ожиданий. См. тему SWEBOK 6.4 “Приемочные тесты” области знаний “Software Requirements”.
Описание слайда:
Ожидаемое поведение  (expected behaviour) Хотя это не всегда легко, все же необходимо решить, какое наблюдаемое поведение программы будет приемлемо, а какое – нет. В противном случае, усилия по тестированию – бесполезны. Наблюдаемое поведение может рассматриваться в контексте пользовательских ожиданий (подразумевая “тестирования для проверки” - testing for validation), спецификации (“тестирование для аттестации” - testing for verification) или, наконец, в контексте предсказанного поведения на основе неявных требований или обоснованных ожиданий. См. тему SWEBOK 6.4 “Приемочные тесты” области знаний “Software Requirements”.

Слайд 7





*Качество программного обеспечения” (Software Quality)
статические (без выполнения кода)
динамические (с выполнением кода)
Описание слайда:
*Качество программного обеспечения” (Software Quality) статические (без выполнения кода) динамические (с выполнением кода)

Слайд 8


Тестирование программного обеспечения Swebok, слайд №8
Описание слайда:

Слайд 9





1. Основы тестирования (Software Testing Fundamentals)
Основные понятия в области тестирования, базовые термины, ключевые проблемы и их связь другими областями деятельности и знаний.
Описание слайда:
1. Основы тестирования (Software Testing Fundamentals) Основные понятия в области тестирования, базовые термины, ключевые проблемы и их связь другими областями деятельности и знаний.

Слайд 10





1.1 Терминология тестирования (Testing-Related Terminology)
IEEE Standard 610-90 (Standard Glossary of Software Engineering Terminology)
Описание слайда:
1.1 Терминология тестирования (Testing-Related Terminology) IEEE Standard 610-90 (Standard Glossary of Software Engineering Terminology)

Слайд 11





1.1.2 Недостатки и сбои (Faults vs. Failures)
Существующие термины:  недостатки (faults), дефекты (defects), сбои (failures), ошибки (errors)
SWEBOK:
 причина нарушения работы (недостаток или дефект)
нежелательный эффект, вызываемый этими причинами – сбой. 
ошибка, в зависимости от контекста, может описывать и как причину сбоя, и сам сбой. Тестирование позволяет обнаружить дефекты, приводящие к сбоям
Описание слайда:
1.1.2 Недостатки и сбои (Faults vs. Failures) Существующие термины: недостатки (faults), дефекты (defects), сбои (failures), ошибки (errors) SWEBOK:  причина нарушения работы (недостаток или дефект) нежелательный эффект, вызываемый этими причинами – сбой. ошибка, в зависимости от контекста, может описывать и как причину сбоя, и сам сбой. Тестирование позволяет обнаружить дефекты, приводящие к сбоям

Слайд 12





1.2 Ключевые вопросы (Key Issues)
Критерии отбора тестов могут использоваться как для создания набора тестов, так и для проверки, насколько выбранные тесты адекватны решаемым задачам (тестирования). При этом, обсуждаемые критерии помогают определить, когда можно или необходимо прекратить тестирование.
Описание слайда:
1.2 Ключевые вопросы (Key Issues) Критерии отбора тестов могут использоваться как для создания набора тестов, так и для проверки, насколько выбранные тесты адекватны решаемым задачам (тестирования). При этом, обсуждаемые критерии помогают определить, когда можно или необходимо прекратить тестирование.

Слайд 13





1.2.2 Эффективность тестирования/Цели тестирования (Test effectiveness/Objectives for testing)
Тестирование – это наблюдение за выполнением программы, запущенной в целях тестирования с заданными параметрами, по заданному сценарию или с другими заданными начальными условиями или целями тестирования. 
Эффективность теста может быть определена только в контексте заданных условий.
Описание слайда:
1.2.2 Эффективность тестирования/Цели тестирования (Test effectiveness/Objectives for testing) Тестирование – это наблюдение за выполнением программы, запущенной в целях тестирования с заданными параметрами, по заданному сценарию или с другими заданными начальными условиями или целями тестирования. Эффективность теста может быть определена только в контексте заданных условий.

Слайд 14





1.2.3 Тестирование для идентификации дефектов 
(Testing for defect identification)
Случай тестирования подразумевает успешность процедуры тестирования, если дефект найден. Это отличается от подхода в тестировании, когда тесты запускаются для демонстрации того, что программное обеспечение удовлетворяет предъявляемым требованиями и, соответственно, тест считается успешным, если не найдено дефектов.
Описание слайда:
1.2.3 Тестирование для идентификации дефектов (Testing for defect identification) Случай тестирования подразумевает успешность процедуры тестирования, если дефект найден. Это отличается от подхода в тестировании, когда тесты запускаются для демонстрации того, что программное обеспечение удовлетворяет предъявляемым требованиями и, соответственно, тест считается успешным, если не найдено дефектов.

Слайд 15





1.2.4 Проблема оракула 
(The oracle problem)
“Оракул” -  любой агент (человек или программа), оценивающий поведение программы, формулируя вердикт - тест пройден (“pass”) или нет (“fail”).
Описание слайда:
1.2.4 Проблема оракула (The oracle problem) “Оракул” - любой агент (человек или программа), оценивающий поведение программы, формулируя вердикт - тест пройден (“pass”) или нет (“fail”).

Слайд 16





1.2.5 Теоретические и практические ограничения тестирования (Theoretical and practical limitation of testing)
Теория тестирования выступает против необоснованного уровня доверия к серии успешно пройденных тестов. К сожалению, большинство установленных результатов теории тестирования – негативны, означая, по словам Дейкстры (Dijkstra), то, что “тестирование программы может использоваться для демонстрации наличия дефектов, но никогда не покажет их отсутствие”. Основная причина этого в том, что полное (всеобъемлющее) тестирование недостижимо для реального программного обеспечения. 
Описание слайда:
1.2.5 Теоретические и практические ограничения тестирования (Theoretical and practical limitation of testing) Теория тестирования выступает против необоснованного уровня доверия к серии успешно пройденных тестов. К сожалению, большинство установленных результатов теории тестирования – негативны, означая, по словам Дейкстры (Dijkstra), то, что “тестирование программы может использоваться для демонстрации наличия дефектов, но никогда не покажет их отсутствие”. Основная причина этого в том, что полное (всеобъемлющее) тестирование недостижимо для реального программного обеспечения. 

Слайд 17





1.2.6 Проблема неосуществимых путей 
(The problem of infeasible paths)
Проблема автоматизированного тестирования связана с тем, что путь, по которому выполняются потоки работ тестируемой программной системы, не могут быть заданы входными параметрами.
Описание слайда:
1.2.6 Проблема неосуществимых путей (The problem of infeasible paths) Проблема автоматизированного тестирования связана с тем, что путь, по которому выполняются потоки работ тестируемой программной системы, не могут быть заданы входными параметрами.

Слайд 18





1.2.7 Тестируемость (Testability)
Степень легкости описания критериев покрытия тестами для заданной программной системы
Возможность вероятность, возможность статистического измерения того, что при тестировании проявится сбой программной системы
Описание слайда:
1.2.7 Тестируемость (Testability) Степень легкости описания критериев покрытия тестами для заданной программной системы Возможность вероятность, возможность статистического измерения того, что при тестировании проявится сбой программной системы

Слайд 19





1.3 Связь тестирования с другой деятельностью (Relationships of testing with other activities)
Управление качеством
Конструирование
Описание слайда:
1.3 Связь тестирования с другой деятельностью (Relationships of testing with other activities) Управление качеством Конструирование

Слайд 20





2. Уровни тестирования
 (Test Levels)
2.1 Над чем производятся тесты 
(The target of the test)
Уровень тестирования определяет “над чем” производятся тесты: над отдельным модулем, группой модулей или системой, в целом.
Описание слайда:
2. Уровни тестирования (Test Levels) 2.1 Над чем производятся тесты (The target of the test) Уровень тестирования определяет “над чем” производятся тесты: над отдельным модулем, группой модулей или системой, в целом.

Слайд 21





2.1.1 Модульное тестирование 
(Unit testing)
Позволяет проверить функционирование отдельно взятого элемента системы.
Модуль системы определяется контекстом. 
IEEE 1008-87 “Standard for Software Unit Testing”, (Интегрированная концепция систематического и документированного подхода к модульному тестированию)
Описание слайда:
2.1.1 Модульное тестирование (Unit testing) Позволяет проверить функционирование отдельно взятого элемента системы. Модуль системы определяется контекстом. IEEE 1008-87 “Standard for Software Unit Testing”, (Интегрированная концепция систематического и документированного подхода к модульному тестированию)

Слайд 22





2.1.2 Интеграционное тестирование (Integration testing)
Уровень тестирования является процессом проверки взаимодействия между программными компонентами/модулями
 (стратегии в классике:  “сверху-вниз”, “снизу-вверх”)
Описание слайда:
2.1.2 Интеграционное тестирование (Integration testing) Уровень тестирования является процессом проверки взаимодействия между программными компонентами/модулями  (стратегии в классике: “сверху-вниз”, “снизу-вверх”)

Слайд 23





2.1.3 Системное тестирование (System testing)
 безопасность, производительность, точность, надежность
тестируются интерфейсы к внешним приложениям, аппаратному обеспечению, операционной среде
Описание слайда:
2.1.3 Системное тестирование (System testing)  безопасность, производительность, точность, надежность тестируются интерфейсы к внешним приложениям, аппаратному обеспечению, операционной среде

Слайд 24





2.2 Цели тестирования 
(Objectivies of Testing)
Тестовые сценарии могут разрабатываться 
для проверки функциональных требований (функциональные тесты), 
для оценки нефункциональных требований
Существуют такие тесты, когда количественные параметры и результаты тестов могут лишь опосредованно говорить об удовлетворении целям тестирования (“usability” – легкость, простота использования)
Описание слайда:
2.2 Цели тестирования (Objectivies of Testing) Тестовые сценарии могут разрабатываться для проверки функциональных требований (функциональные тесты), для оценки нефункциональных требований Существуют такие тесты, когда количественные параметры и результаты тестов могут лишь опосредованно говорить об удовлетворении целям тестирования (“usability” – легкость, простота использования)

Слайд 25





2.2.1 Приёмочное тестирование (Acceptance/qualification testing)
Проверяет поведение системы на предмет удовлетворения требований заказчика. 
Это возможно в том случае, если заказчик берет на себя ответственность, связанную с проведением таких работ, как сторона “принимающая” программную систему, или специфицированы типовые задачи, успешная проверка (тестирование) которых позволяет говорить об удовлетворении требований заказчика.
Описание слайда:
2.2.1 Приёмочное тестирование (Acceptance/qualification testing) Проверяет поведение системы на предмет удовлетворения требований заказчика. Это возможно в том случае, если заказчик берет на себя ответственность, связанную с проведением таких работ, как сторона “принимающая” программную систему, или специфицированы типовые задачи, успешная проверка (тестирование) которых позволяет говорить об удовлетворении требований заказчика.

Слайд 26





2.2.2 Установочное тестирование (Installation testing)
Данные тесты проводятся с целью проверки процедуры инсталляции системы в целевом окружении.
Описание слайда:
2.2.2 Установочное тестирование (Installation testing) Данные тесты проводятся с целью проверки процедуры инсталляции системы в целевом окружении.

Слайд 27





2.2.3 Альфа- и бета-тестирование (Alpha and beta testing)
альфа (внутреннее пробное использование) 
бета (пробное использование с привлечением отобранных внешних пользователей)
 Отчеты об ошибках, поступающие от пользователей этих версий продукта, обрабатываются в соответствии с определенными процедурами, включающими подтверждающие тесты (любого уровня), проводимые специалистами группы разработки.
Описание слайда:
2.2.3 Альфа- и бета-тестирование (Alpha and beta testing) альфа (внутреннее пробное использование) бета (пробное использование с привлечением отобранных внешних пользователей) Отчеты об ошибках, поступающие от пользователей этих версий продукта, обрабатываются в соответствии с определенными процедурами, включающими подтверждающие тесты (любого уровня), проводимые специалистами группы разработки.

Слайд 28





2.2.4 Функциональные тесты/тесты соответствия (Conformance testing/Functional testing/Correctness testing)
Проверка соответствия системы, предъявляемым к ней требованиям, описанным на уровне спецификации поведенческих характеристик
Описание слайда:
2.2.4 Функциональные тесты/тесты соответствия (Conformance testing/Functional testing/Correctness testing) Проверка соответствия системы, предъявляемым к ней требованиям, описанным на уровне спецификации поведенческих характеристик

Слайд 29





2.2.5 Достижение и оценка надежности (Reliability achievement and evaluation)
Помогая идентифицировать причины сбоев, тестирование подразумевает и повышение надежности программных систем. 
Случайно генерируемые сценарии тестирования могут применяться для статистической оценки надежности. 
Описание слайда:
2.2.5 Достижение и оценка надежности (Reliability achievement and evaluation) Помогая идентифицировать причины сбоев, тестирование подразумевает и повышение надежности программных систем. Случайно генерируемые сценарии тестирования могут применяться для статистической оценки надежности. 

Слайд 30





2.2.6 Регрессионное тестирование (Regression testing)
Определение успешности регрессионных тестов (IEEE 610-90 “Standard Glossary of Software Engineering Terminology”) : “повторное выборочное тестирование системы или компонент для проверки сделанных модификаций не должно приводить к непредусмотренным эффектам”. 
Проблема регрессионного тестирования  - поиск компромисса между имеющимеся ресурсами и необходимостью проведения таких тестов по мере внесения каждого изменения. 
задача состоит в том, чтобы определить критерии “масштабов” изменений, с достижением которых необходимо проводить регрессионные тесты.
Описание слайда:
2.2.6 Регрессионное тестирование (Regression testing) Определение успешности регрессионных тестов (IEEE 610-90 “Standard Glossary of Software Engineering Terminology”) : “повторное выборочное тестирование системы или компонент для проверки сделанных модификаций не должно приводить к непредусмотренным эффектам”. Проблема регрессионного тестирования - поиск компромисса между имеющимеся ресурсами и необходимостью проведения таких тестов по мере внесения каждого изменения. задача состоит в том, чтобы определить критерии “масштабов” изменений, с достижением которых необходимо проводить регрессионные тесты.

Слайд 31





2.2.7 Тестирование производительности (Performance testing)
Специализированные тесты проверки удовлетворения специфических требований, предъявляемых к параметрам производительности. 
Особый подвид тестов, когда делается попытка достижения количественных пределов, обусловленных характеристиками самой системы и ее операционного окружения.
Описание слайда:
2.2.7 Тестирование производительности (Performance testing) Специализированные тесты проверки удовлетворения специфических требований, предъявляемых к параметрам производительности. Особый подвид тестов, когда делается попытка достижения количественных пределов, обусловленных характеристиками самой системы и ее операционного окружения.

Слайд 32





2.2.8 Нагрузочное тестирование (Stress testing)
Тестированием производительности с целью достижения ее реальных (достижимых) возможностей производительности и выполнением программной системы c повышением нагрузки, вплоть до достижения запланированных характеристик и далее, с отслеживанием поведения на всем протяжении повышения загрузки системы.
Описание слайда:
2.2.8 Нагрузочное тестирование (Stress testing) Тестированием производительности с целью достижения ее реальных (достижимых) возможностей производительности и выполнением программной системы c повышением нагрузки, вплоть до достижения запланированных характеристик и далее, с отслеживанием поведения на всем протяжении повышения загрузки системы.

Слайд 33





2.2.9 Сравнительное тестирование (Back-to-back testing)
Единичный набор тестов, позволяющих сравнить две версии системы.
Описание слайда:
2.2.9 Сравнительное тестирование (Back-to-back testing) Единичный набор тестов, позволяющих сравнить две версии системы.

Слайд 34





2.2.10 Восстановительные тесты (Recovery testing)
Цель – проверка возможностей рестарта системы в случае непредусмотренной катастрофы (disaster), влияющей на функционирование операционной среды, в которой выполняется система.
Описание слайда:
2.2.10 Восстановительные тесты (Recovery testing) Цель – проверка возможностей рестарта системы в случае непредусмотренной катастрофы (disaster), влияющей на функционирование операционной среды, в которой выполняется система.

Слайд 35





2.2.11 Конфигурационное тестирование (Configuration testing)
Если программное обеспечение создается для использования различными пользователями (в терминах “ролей”), данный вид тестирования направлен на проверку поведения и работоспособности системы в различных конфигурациях.
Описание слайда:
2.2.11 Конфигурационное тестирование (Configuration testing) Если программное обеспечение создается для использования различными пользователями (в терминах “ролей”), данный вид тестирования направлен на проверку поведения и работоспособности системы в различных конфигурациях.

Слайд 36





2.2.12 Тестирование удобства и простоты использования (Usability testing)
Цель – проверить, насколько легко конечный пользователь системы может ее освоить, включая не только функциональную составляющую – саму систему, но и ее документацию; 
насколько эффективно пользователь может выполнять задачи, автоматизация которых осуществляется с использованием данной системы; 
 насколько хорошо система застрахована (с точки зрения потенциальных сбоев) от ошибок пользователя.
Описание слайда:
2.2.12 Тестирование удобства и простоты использования (Usability testing) Цель – проверить, насколько легко конечный пользователь системы может ее освоить, включая не только функциональную составляющую – саму систему, но и ее документацию; насколько эффективно пользователь может выполнять задачи, автоматизация которых осуществляется с использованием данной системы; насколько хорошо система застрахована (с точки зрения потенциальных сбоев) от ошибок пользователя.

Слайд 37





2.2.13 Разработка, управляемая тестированием (Test-driven development)
это не столько техника тестирования, сколько стиль организации процесса разработки, жизненного цикла, когда тесты являются неотъемлемой частью требований (и соответствующих спецификаций) вместо того, чтобы рассматриваться независимой деятельностью по проверке удовлетворения требований программной системой.
TDD методология
Описание слайда:
2.2.13 Разработка, управляемая тестированием (Test-driven development) это не столько техника тестирования, сколько стиль организации процесса разработки, жизненного цикла, когда тесты являются неотъемлемой частью требований (и соответствующих спецификаций) вместо того, чтобы рассматриваться независимой деятельностью по проверке удовлетворения требований программной системой. TDD методология

Слайд 38






FDD – Feature-Driven Development (разработка на основе функциональных возможностей). 
TDD может естественно рассматриваться как составная часть XP или, как минимум Agile-методов. 
FDD может рассматриваться как один из методов гибкой разработки.
 Тесты – инструмент достижения характеристик системы, удовлетворяющей заданным требованиям, то есть потребностям пользователей, а “возможности” (features) – практически сами (чаще – функциональные) требования, воплощенные (в идеальном случае) в код.
Описание слайда:
FDD – Feature-Driven Development (разработка на основе функциональных возможностей). TDD может естественно рассматриваться как составная часть XP или, как минимум Agile-методов. FDD может рассматриваться как один из методов гибкой разработки.  Тесты – инструмент достижения характеристик системы, удовлетворяющей заданным требованиям, то есть потребностям пользователей, а “возможности” (features) – практически сами (чаще – функциональные) требования, воплощенные (в идеальном случае) в код.

Слайд 39





3. Техники тестирования (Test Techniques)
3.1 Техники, базирующиеся на интуиции и опыте инженера (Based on the software engineer’s intuition and experience)
Описание слайда:
3. Техники тестирования (Test Techniques) 3.1 Техники, базирующиеся на интуиции и опыте инженера (Based on the software engineer’s intuition and experience)

Слайд 40





3.1.1 Специализированное тестирование (Ad hoc testing)
Тесты основываются на опыте, интуиции и знаниях инженера, рассматривающего проблему с точки зрения имевшихся ранее аналогий. Данный вид тестирования может быть полезен для идентификации тех тестов, которые не охватываются более формализованными техниками.
Описание слайда:
3.1.1 Специализированное тестирование (Ad hoc testing) Тесты основываются на опыте, интуиции и знаниях инженера, рассматривающего проблему с точки зрения имевшихся ранее аналогий. Данный вид тестирования может быть полезен для идентификации тех тестов, которые не охватываются более формализованными техниками.

Слайд 41





3.1.2 Исследовательское тестирование (Exploratory testing)
Одновременное обучение, проектирование теста и его исполнение. 
Заранее не определяется в плане тестирования и такие тесты создаются, выполняются и модифицируются динамически, по мере необходимости. 
Эффективность зависит от знаний инженера, формируемых на основе поведения тестируемого продукта в процессе проведения тестирования, степени знакомства с приложением, платформой, типами возможных сбоев и дефектов, рисками, ассоциированными с конкретным продуктом
Описание слайда:
3.1.2 Исследовательское тестирование (Exploratory testing) Одновременное обучение, проектирование теста и его исполнение. Заранее не определяется в плане тестирования и такие тесты создаются, выполняются и модифицируются динамически, по мере необходимости. Эффективность зависит от знаний инженера, формируемых на основе поведения тестируемого продукта в процессе проведения тестирования, степени знакомства с приложением, платформой, типами возможных сбоев и дефектов, рисками, ассоциированными с конкретным продуктом

Слайд 42





3.2 Техники, базирующиеся на спецификации (Specification-based techniques)

Рассматриваемая область приложения разделяется на коллекцию наборов или эквивалентных классов, которые считаются эквивалентными с точки зрения рассматриваемых связей и характеристик <спецификации>. Репрезентативный набор тестов (только один тест) формируется из тестов эквивалентных классов (наборов классов).
Описание слайда:
3.2 Техники, базирующиеся на спецификации (Specification-based techniques) Рассматриваемая область приложения разделяется на коллекцию наборов или эквивалентных классов, которые считаются эквивалентными с точки зрения рассматриваемых связей и характеристик <спецификации>. Репрезентативный набор тестов (только один тест) формируется из тестов эквивалентных классов (наборов классов).

Слайд 43





3.2.2 Анализ граничных значений (Boundary-value analysis)
Тесты строятся с ориентацией на использование тех величин, которые определяют предельные характеристики тестируемой системы. Расширением этой техники являются тесты оценки живучести (robustness testing) системы, проводимые с величинами, выходящими за рамки специфицированных пределов значений.
Описание слайда:
3.2.2 Анализ граничных значений (Boundary-value analysis) Тесты строятся с ориентацией на использование тех величин, которые определяют предельные характеристики тестируемой системы. Расширением этой техники являются тесты оценки живучести (robustness testing) системы, проводимые с величинами, выходящими за рамки специфицированных пределов значений.

Слайд 44





3.2.3 Таблицы принятия решений (Decision table)
Таблицы представляют логические связи между условиями (могут рассматриваться в качестве “входов”) и действиями  (могут рассматриваться как “выходы”). 
Набор тестов строится последовательным рассмотрением всех возможных кросс-связей в такой таблице.
Описание слайда:
3.2.3 Таблицы принятия решений (Decision table) Таблицы представляют логические связи между условиями (могут рассматриваться в качестве “входов”) и действиями  (могут рассматриваться как “выходы”). Набор тестов строится последовательным рассмотрением всех возможных кросс-связей в такой таблице.

Слайд 45





3.2.4 Тесты на основе конечного автомата (Finite-state machine-based)
Комбинация тестов для всех состояний и переходов между состояниями, представленных в соответствующей модели (переходов и состояний приложения).
Описание слайда:
3.2.4 Тесты на основе конечного автомата (Finite-state machine-based) Комбинация тестов для всех состояний и переходов между состояниями, представленных в соответствующей модели (переходов и состояний приложения).

Слайд 46





3.2.5 Тестирование на основе формальной спецификации (Testing from formal specification)
Для спецификации, определенных с использованием формального языка, возможно автоматически создавать и тесты для функциональных требований. Могут строится на основе модели, являющейся частью спецификации, не использующей формального языка описания.
Описание слайда:
3.2.5 Тестирование на основе формальной спецификации (Testing from formal specification) Для спецификации, определенных с использованием формального языка, возможно автоматически создавать и тесты для функциональных требований. Могут строится на основе модели, являющейся частью спецификации, не использующей формального языка описания.

Слайд 47





3.2.6 Случайное тестирование (Random testing)
Тесты генерируются случайным образом по списку заданного набора специфицированных характеристик.
Описание слайда:
3.2.6 Случайное тестирование (Random testing) Тесты генерируются случайным образом по списку заданного набора специфицированных характеристик.

Слайд 48





3.3 Техники, ориентированные на код (Code-based techniques
Набор тестов строится исходя из покрытия всех условий и решений блок-схемы. В какой-то степени напоминает тесты на основе конечного автомата. Отличие – в источнике набора тестов. 
Максимальная отдача от тестов на основе блок-схемы получается когда тесты покрывают различные пути блок-схемы, сценарии потоков работ (поведения) тестируемой системы. 
Адекватность таких тестов оценивается как процент покрытия всех возможных путей блок-схемы.
Описание слайда:
3.3 Техники, ориентированные на код (Code-based techniques Набор тестов строится исходя из покрытия всех условий и решений блок-схемы. В какой-то степени напоминает тесты на основе конечного автомата. Отличие – в источнике набора тестов. Максимальная отдача от тестов на основе блок-схемы получается когда тесты покрывают различные пути блок-схемы, сценарии потоков работ (поведения) тестируемой системы. Адекватность таких тестов оценивается как процент покрытия всех возможных путей блок-схемы.

Слайд 49





3.3.2 Тесты на основе потоков данных (Data-flow-based criteria)
Отслеживается полный жизненный цикл величин (переменных) – с момента рождения (определения), на всем протяжении использования, вплоть до уничтожения (неопределенности). 
В реальной практике используются нестрогое тестирование такого вида, ориентированное, например, только на проверку задания начальных значений всех переменных или всех вхождений переменных в код, с точки зрения их использования.
Описание слайда:
3.3.2 Тесты на основе потоков данных (Data-flow-based criteria) Отслеживается полный жизненный цикл величин (переменных) – с момента рождения (определения), на всем протяжении использования, вплоть до уничтожения (неопределенности). В реальной практике используются нестрогое тестирование такого вида, ориентированное, например, только на проверку задания начальных значений всех переменных или всех вхождений переменных в код, с точки зрения их использования.

Слайд 50





3.3.3 Ссылочные модели для тестирования, ориентированного на код (Reference models for code-based testing – flowgraph, call graph)
Является не столько техникой тестирования, сколько контролем структуры программы, представленной в виде дерева вызовов (например, sequence-диаграммы, определенной в нотации UML и построенной на основе анализа кода).
Описание слайда:
3.3.3 Ссылочные модели для тестирования, ориентированного на код (Reference models for code-based testing – flowgraph, call graph) Является не столько техникой тестирования, сколько контролем структуры программы, представленной в виде дерева вызовов (например, sequence-диаграммы, определенной в нотации UML и построенной на основе анализа кода).

Слайд 51





3.4 Тестирование, ориентированное на дефекты (Fault-based techniques)
На уровне названия таких техник тестирования, они, действительно, ориентированы на ошибки. Точнее – на специфические категории ошибок.
Описание слайда:
3.4 Тестирование, ориентированное на дефекты (Fault-based techniques) На уровне названия таких техник тестирования, они, действительно, ориентированы на ошибки. Точнее – на специфические категории ошибок.

Слайд 52





3.4.1 Предположение ошибок (Error guessing)
Направлены на обнаружение наиболее вероятных ошибок, предсказываемых, например, в результате анализа рисков.
Описание слайда:
3.4.1 Предположение ошибок (Error guessing) Направлены на обнаружение наиболее вероятных ошибок, предсказываемых, например, в результате анализа рисков.

Слайд 53





3.4.2 Тестирование мутаций (Mutation testing)
Мутация – небольшое изменение тестируемой программы, произошедшее за счет частных синтаксических изменений кода (в частности, рефакторинга). Соответствующие тесты запускаются для оригинального и всех “мутировавших” вариантов тестируемой программы.
SWEBOK фокусируется на возможности, с помощью тестов, определять отличия между мутантами и исходным вариантом кода. Если такое отличие установлено, мутанта “убивают”, а тест считается успешным. Обычно, данный подход фокусируется на синтаксических ошибках, на практике отслеживаемых современными средами разработки и, конечно, компиляторами.
Описание слайда:
3.4.2 Тестирование мутаций (Mutation testing) Мутация – небольшое изменение тестируемой программы, произошедшее за счет частных синтаксических изменений кода (в частности, рефакторинга). Соответствующие тесты запускаются для оригинального и всех “мутировавших” вариантов тестируемой программы. SWEBOK фокусируется на возможности, с помощью тестов, определять отличия между мутантами и исходным вариантом кода. Если такое отличие установлено, мутанта “убивают”, а тест считается успешным. Обычно, данный подход фокусируется на синтаксических ошибках, на практике отслеживаемых современными средами разработки и, конечно, компиляторами.

Слайд 54





3.5 Техники, базирующиеся на условиях использования (Usage-based techniques)
Базируется на условиях использования системы.
Тестирование для оценки надёжности системы должно проводиться в таком тестовом окружении, которое максимально приближено к реальным условиям работы системы. 
Результаты таких тестов позволяют оценить поведение системы в реальных условиях. 
Входные параметры тестов задаются на основе вероятностного распределения соответствующих параметров или их наборов при эксплуатации (входные данные могут прогнозироваться исходя из частоты возможных сценариев работы пользователей).
Описание слайда:
3.5 Техники, базирующиеся на условиях использования (Usage-based techniques) Базируется на условиях использования системы. Тестирование для оценки надёжности системы должно проводиться в таком тестовом окружении, которое максимально приближено к реальным условиям работы системы. Результаты таких тестов позволяют оценить поведение системы в реальных условиях. Входные параметры тестов задаются на основе вероятностного распределения соответствующих параметров или их наборов при эксплуатации (входные данные могут прогнозироваться исходя из частоты возможных сценариев работы пользователей).

Слайд 55





3.5.2 Тестирование, базирующееся на надежности инженерного процесса (Software Reliability Engineered Testing)
Базируется на условиях разработки системы.
Соответствующие тесты (обозначаемые также аббревиатурой SRET от Software Reliability Engineered Testing)
Проектируются в контексте используемого процесса разработки и методик тестирования.
Описание слайда:
3.5.2 Тестирование, базирующееся на надежности инженерного процесса (Software Reliability Engineered Testing) Базируется на условиях разработки системы. Соответствующие тесты (обозначаемые также аббревиатурой SRET от Software Reliability Engineered Testing) Проектируются в контексте используемого процесса разработки и методик тестирования.

Слайд 56





3.6 Техники, базирующиеся на природе приложения (Techniques based on the nature of the application
Объектно-ориентированное тестирование
Компонентно-ориентированное тестирование
Web-ориентированное тестирование
Тестирование на соответствие протоколам
Тестирование систем реального времени
Описание слайда:
3.6 Техники, базирующиеся на природе приложения (Techniques based on the nature of the application Объектно-ориентированное тестирование Компонентно-ориентированное тестирование Web-ориентированное тестирование Тестирование на соответствие протоколам Тестирование систем реального времени

Слайд 57





3.7 Выбор и комбинация различных техник (Selecting and combining techniques)
Техники тестирования, строящиеся на основе спецификаций или кода часто называют функциональными или структурными, соответственно. Оба подхода не должны противопоставляться, но дополнять друг друга.
Описание слайда:
3.7 Выбор и комбинация различных техник (Selecting and combining techniques) Техники тестирования, строящиеся на основе спецификаций или кода часто называют функциональными или структурными, соответственно. Оба подхода не должны противопоставляться, но дополнять друг друга.

Слайд 58





3.7.1 Определенное или случайное (Deterministic vs. random)
Тесты можно распределить по данным группам на основе используемой политики выбора или определения входных параметров тестов.
Описание слайда:
3.7.1 Определенное или случайное (Deterministic vs. random) Тесты можно распределить по данным группам на основе используемой политики выбора или определения входных параметров тестов.

Слайд 59





4. Измерение результатов тестирования (Test-related measures)
Измерения являются инструментом анализа качества.
 Измерение результатов тестирования касается оценки качества получаемого продукта – программной системы. 
История измерений демонстрирует прогресс достижения приемлемого качества. Такая история является инструментом менеджмента качества.
Описание слайда:
4. Измерение результатов тестирования (Test-related measures) Измерения являются инструментом анализа качества. Измерение результатов тестирования касается оценки качества получаемого продукта – программной системы. История измерений демонстрирует прогресс достижения приемлемого качества. Такая история является инструментом менеджмента качества.

Слайд 60





4.1 Оценка программ в процессе тестирования (Evaluation of the program under test, IEEE 982.1-98)
Измерения могут базироваться на размере программ (например, в терминах количества строк кода или функциональных точек) или их структуре (например, с точки зрения оценки ее сложности в тех или иных архитектурных терминах). Структурные измерения могут также включать частоту обращений одних модулей программы к другим.
Описание слайда:
4.1 Оценка программ в процессе тестирования (Evaluation of the program under test, IEEE 982.1-98) Измерения могут базироваться на размере программ (например, в терминах количества строк кода или функциональных точек) или их структуре (например, с точки зрения оценки ее сложности в тех или иных архитектурных терминах). Структурные измерения могут также включать частоту обращений одних модулей программы к другим.

Слайд 61





4.1.2 Типы дефектов, их классификация и статистика возникновения (Fault types, classification and statistics)
Эффективность тестирования может быть достигнута в случае, понимания типов дефектов найденных в процессе тестирования программной системы и как изменяется их частота во времени (подразумевая историческую перспективу развития системы, а не её сбоев в процессе работы). 
Эта информация позволяет прогнозировать качество системы и помогает совершенствовать процесс разработки, в целом.
Описание слайда:
4.1.2 Типы дефектов, их классификация и статистика возникновения (Fault types, classification and statistics) Эффективность тестирования может быть достигнута в случае, понимания типов дефектов найденных в процессе тестирования программной системы и как изменяется их частота во времени (подразумевая историческую перспективу развития системы, а не её сбоев в процессе работы). Эта информация позволяет прогнозировать качество системы и помогает совершенствовать процесс разработки, в целом.

Слайд 62





Стандарт IEEE 1044-93
классифицирует возможные программные “аномалии”.
Описание слайда:
Стандарт IEEE 1044-93 классифицирует возможные программные “аномалии”.

Слайд 63





4.1.3 Плотность дефектов (Fault density)
Тестируемая программа может оцениваться на основе подсчета и классификации найденных дефектов. Для каждого класса дефектов можно определить отношение между количеством соответствующих дефектов и размером программы (в терминах выбранных метрик оценки размера).
Описание слайда:
4.1.3 Плотность дефектов (Fault density) Тестируемая программа может оцениваться на основе подсчета и классификации найденных дефектов. Для каждого класса дефектов можно определить отношение между количеством соответствующих дефектов и размером программы (в терминах выбранных метрик оценки размера).

Слайд 64





4.1.4 Жизненный цикл тестов, оценка надежности (Life test, reliability evaluation)
Статистические ожидания в отношении надежности программной системы (см. выше 2.2.5 “Достижение и оценка надежности ”) могут использоваться для принятия решения о продолжении или прекращении (окончании) тестирования, исходя из заданных параметров приемлемого качества (например, плотности дефектов заданного класса).
Описание слайда:
4.1.4 Жизненный цикл тестов, оценка надежности (Life test, reliability evaluation) Статистические ожидания в отношении надежности программной системы (см. выше 2.2.5 “Достижение и оценка надежности ”) могут использоваться для принятия решения о продолжении или прекращении (окончании) тестирования, исходя из заданных параметров приемлемого качества (например, плотности дефектов заданного класса).

Слайд 65





4.1.5 Модели роста надежности (Reliability growth models)
Модели обеспечивают возможности прогнозирования надежности системы, базируясь на обнаруженных сбоях (2.2.5). Модели такого рода разбиваются на две группы – по количеству сбоев (failure-count) и времени между сбоями (time-between-failure).
Описание слайда:
4.1.5 Модели роста надежности (Reliability growth models) Модели обеспечивают возможности прогнозирования надежности системы, базируясь на обнаруженных сбоях (2.2.5). Модели такого рода разбиваются на две группы – по количеству сбоев (failure-count) и времени между сбоями (time-between-failure).

Слайд 66





4.2 Оценка выполненных тестов (Evaluation of the tests performed)
Критерии “адекватности” тестирования, в ряде случаев, требуют систематического выполнения тестов для определенных набора элементов программы, задаваемых ее архитектурой или спецификацией. 
Метрики позволяют оценить степень охвата характеристик системы (процент различных тестируемых параметров производительности) и глубину их детализации (случайное тестирование параметров производительности или с учетом граничных значений). 
Метрики помогают прогнозировать вероятностное достижение заданных параметров качества системы.
Описание слайда:
4.2 Оценка выполненных тестов (Evaluation of the tests performed) Критерии “адекватности” тестирования, в ряде случаев, требуют систематического выполнения тестов для определенных набора элементов программы, задаваемых ее архитектурой или спецификацией. Метрики позволяют оценить степень охвата характеристик системы (процент различных тестируемых параметров производительности) и глубину их детализации (случайное тестирование параметров производительности или с учетом граничных значений). Метрики помогают прогнозировать вероятностное достижение заданных параметров качества системы.

Слайд 67





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

Слайд 68





4.2.3 Оценка мутаций (Mutation score)
Получаемое в процессе тестирования мутаций (3.4.2) отношение “убитых” к общему числу сгенерированных мутантов помогает измерить эффективность выполняемых тестов. 
Количественные оценки мутаций имеют практическое значение только для определенных типов систем.
Описание слайда:
4.2.3 Оценка мутаций (Mutation score) Получаемое в процессе тестирования мутаций (3.4.2) отношение “убитых” к общему числу сгенерированных мутантов помогает измерить эффективность выполняемых тестов. Количественные оценки мутаций имеют практическое значение только для определенных типов систем.

Слайд 69





4.2.4 Сравнение и относительная эффективность различных техник тестирования (Comparison and relative effectiveness of different techniques)
Возможные варианты интерпретации этого понятия –
 число тестов (данной техники), необходимых для обнаружения первого дефекта; 
отношение количества всех обнаруженных дефектов к дефектам, найденным с применением заданного подхода.
Описание слайда:
4.2.4 Сравнение и относительная эффективность различных техник тестирования (Comparison and relative effectiveness of different techniques) Возможные варианты интерпретации этого понятия – число тестов (данной техники), необходимых для обнаружения первого дефекта; отношение количества всех обнаруженных дефектов к дефектам, найденным с применением заданного подхода.

Слайд 70





5. Процесс тестирования (Test Process)
Концепции, стратегии, техники и измерения тестирования должны быть объединены в единый процесс тестирования как деятельности по обеспечению качества. Процесс тестирования поддерживает работы по тестированию и определяет “правила игры” для членов команды тестирования – от планирования тестов до оценки их результатов.
Описание слайда:
5. Процесс тестирования (Test Process) Концепции, стратегии, техники и измерения тестирования должны быть объединены в единый процесс тестирования как деятельности по обеспечению качества. Процесс тестирования поддерживает работы по тестированию и определяет “правила игры” для членов команды тестирования – от планирования тестов до оценки их результатов.

Слайд 71





5.1 Практические соображения (Practical considerations)
Совместное стремление участников проекта обеспечить необходимое качество продукта. Менеджеры играют ключевую роль в организации этой деятельности и на стадии разработки и в процессе сопровождения программных систем.
Описание слайда:
5.1 Практические соображения (Practical considerations) Совместное стремление участников проекта обеспечить необходимое качество продукта. Менеджеры играют ключевую роль в организации этой деятельности и на стадии разработки и в процессе сопровождения программных систем.

Слайд 72





5.1.2 Руководства по тестированию (Test guides)
Работы по тестированию могут руководствоваться различными соображениями и критериями – от управления рисками до специфицированных сценариев работы программных систем. В любом случае, желательно, исходя из ресурсов, количественных оценок и других характеристик, обеспечить использование различных техник тестирования для многосторонней оценки и улучшения качества получаемого продукта.
Описание слайда:
5.1.2 Руководства по тестированию (Test guides) Работы по тестированию могут руководствоваться различными соображениями и критериями – от управления рисками до специфицированных сценариев работы программных систем. В любом случае, желательно, исходя из ресурсов, количественных оценок и других характеристик, обеспечить использование различных техник тестирования для многосторонней оценки и улучшения качества получаемого продукта.

Слайд 73





5.1.3 Управление процессом тестирования (Test process management)
Работы по тестированию должны быть организованы в единый (однозначно интерпретируемый) процесс, на основе учета 4 элементов и связанных с ними факторов: 
людей (в том числе, в контексте организационной структуры и культуры), 
инструментов, 
регламентов 
количественных оценок (измерений).
IEEE, ISO/IEC, ГОСТ Р 12207 не выделяет деятельность по тестированию в качестве самостоятельного процесса, однако, рассматривает соответствующие принципы работ по тестированию как неотъемлемую часть процессов жизненного цикла и сопровождения программных систем. 
IEEE 1074 деятельность по тестированию также объединена с другими оценочными работами как интегральная часть полного жизненного цикла.
Описание слайда:
5.1.3 Управление процессом тестирования (Test process management) Работы по тестированию должны быть организованы в единый (однозначно интерпретируемый) процесс, на основе учета 4 элементов и связанных с ними факторов: людей (в том числе, в контексте организационной структуры и культуры), инструментов, регламентов количественных оценок (измерений). IEEE, ISO/IEC, ГОСТ Р 12207 не выделяет деятельность по тестированию в качестве самостоятельного процесса, однако, рассматривает соответствующие принципы работ по тестированию как неотъемлемую часть процессов жизненного цикла и сопровождения программных систем. IEEE 1074 деятельность по тестированию также объединена с другими оценочными работами как интегральная часть полного жизненного цикла.

Слайд 74





5.1.4 Документирование тестов и рабочего продукта (Test documentation and work products)
IEEE 829-98 “Standard for Software Test Documentation”:
План тестирования
Спецификация процедуры тестирования
Спецификация тестов
Лог тестов
Описание слайда:
5.1.4 Документирование тестов и рабочего продукта (Test documentation and work products) IEEE 829-98 “Standard for Software Test Documentation”: План тестирования Спецификация процедуры тестирования Спецификация тестов Лог тестов

Слайд 75





5.1.5 Внутренние и независимые команды тестирования (Internal vs. independent test team)
Формализация процесса тестирования может включать и организационную формализацию команд(ы) тестирования
члены проектной команды, разрабатывающие код, 
внешние лица и группы.
Описание слайда:
5.1.5 Внутренние и независимые команды тестирования (Internal vs. independent test team) Формализация процесса тестирования может включать и организационную формализацию команд(ы) тестирования члены проектной команды, разрабатывающие код, внешние лица и группы.

Слайд 76





5.1.6 Оценка стоимости и усилий, а также другие измерения процесса (Cost/effort estimation and other process measures)
Ряд метрик, связанных с оценкой ресурсов, необходимых для тестирования, как и оценка эффективности тестирования на разных этапах и уровнях, основывается на точке зрения и практиках менеджмента проекта (подразделения, компании...) и используется для оценки и улучшения (оптимизации) процесса тестирования. Разные техники, концепции и модели тестирования требуют разных затрат – по времени и необходимым ресурсам. Результат – стоимость тестирования, как затратная составляющая проекта. Понимание соответствия между стоимостью/усилиями, необходимыми для той или иной формы тестирования является обязательной частью современного управления проектами разработки программного обеспечения.
Описание слайда:
5.1.6 Оценка стоимости и усилий, а также другие измерения процесса (Cost/effort estimation and other process measures) Ряд метрик, связанных с оценкой ресурсов, необходимых для тестирования, как и оценка эффективности тестирования на разных этапах и уровнях, основывается на точке зрения и практиках менеджмента проекта (подразделения, компании...) и используется для оценки и улучшения (оптимизации) процесса тестирования. Разные техники, концепции и модели тестирования требуют разных затрат – по времени и необходимым ресурсам. Результат – стоимость тестирования, как затратная составляющая проекта. Понимание соответствия между стоимостью/усилиями, необходимыми для той или иной формы тестирования является обязательной частью современного управления проектами разработки программного обеспечения.

Слайд 77





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

Слайд 78





5.1.8 Повторное использование и шаблоны тестов (Test reuse and test patterns)
Доведение тестов до конца и обеспечение сопровождения программной системы необходимо каждый фрагмент системы тестировать систематическим образом, повторно используя наработанные тесты. Общий репозиторий тестовых активов должен находиться под контролем системы конфигурационного управления, с тем, чтобы любые изменения в требованиях или дизайне могли быть отражены в используемых наборах тестов, в том числе, с точки зрения их расширения новыми тестами, если этого требуют соответствующие изменения.
Шаблоны тестов конструируются на основе тестовых решений, наработанных для проверки определенных ситуаций или типовых фрагментов программных систем. Такие шаблоны должны быть документированы с учетом повторного использования, включая прозрачные возможности их адаптации под специфику программных решений, к которым такие шаблоны применяются.
Описание слайда:
5.1.8 Повторное использование и шаблоны тестов (Test reuse and test patterns) Доведение тестов до конца и обеспечение сопровождения программной системы необходимо каждый фрагмент системы тестировать систематическим образом, повторно используя наработанные тесты. Общий репозиторий тестовых активов должен находиться под контролем системы конфигурационного управления, с тем, чтобы любые изменения в требованиях или дизайне могли быть отражены в используемых наборах тестов, в том числе, с точки зрения их расширения новыми тестами, если этого требуют соответствующие изменения. Шаблоны тестов конструируются на основе тестовых решений, наработанных для проверки определенных ситуаций или типовых фрагментов программных систем. Такие шаблоны должны быть документированы с учетом повторного использования, включая прозрачные возможности их адаптации под специфику программных решений, к которым такие шаблоны применяются.

Слайд 79





5.2 Тестовые работы (Test Activities)
Успешное управление тестовыми работами зависит от процессов конфигурационного управления (Software Configuration Management)
Описание слайда:
5.2 Тестовые работы (Test Activities) Успешное управление тестовыми работами зависит от процессов конфигурационного управления (Software Configuration Management)

Слайд 80





5.2.1 Планирование (Planning)
координацию персонала
управление оборудованием и другими средствами, необходимыми для организации тестирования
планирование обработки нежелательных результатов (т.е. является управлением определенными видами рисков)
Описание слайда:
5.2.1 Планирование (Planning) координацию персонала управление оборудованием и другими средствами, необходимыми для организации тестирования планирование обработки нежелательных результатов (т.е. является управлением определенными видами рисков)

Слайд 81





5.2.2 Генерация сценариев тестирования (Test-case generation)
Создание тестовых сценариев основывается на уровне и конкретных техниках тестирования. Тесты должны находиться под управлением системы конфигурационного управления и описывать ожидаемые результаты тестирования.
Описание слайда:
5.2.2 Генерация сценариев тестирования (Test-case generation) Создание тестовых сценариев основывается на уровне и конкретных техниках тестирования. Тесты должны находиться под управлением системы конфигурационного управления и описывать ожидаемые результаты тестирования.

Слайд 82





5.2.3 Разработка тестового окружения (Test environment development)
Используемое для тестирования окружение должно быть совместимо с инструментами программной инженерии (будут рассматриваться позднее как тема самостоятельной области знаний). Это окружение должно обеспечивать разработку и контроль тестовых сценариев, ведение журнала тестирования, и возможности восстановления ожидаемых и отслеживаемых результатов тестирования, самих сценариев, а также других активов тестирования.
Описание слайда:
5.2.3 Разработка тестового окружения (Test environment development) Используемое для тестирования окружение должно быть совместимо с инструментами программной инженерии (будут рассматриваться позднее как тема самостоятельной области знаний). Это окружение должно обеспечивать разработку и контроль тестовых сценариев, ведение журнала тестирования, и возможности восстановления ожидаемых и отслеживаемых результатов тестирования, самих сценариев, а также других активов тестирования.

Слайд 83





5.2.4 Выполнение тестов (Execution)
должны фиксироваться все работы и результаты процесса тестирования
форма журналирования таких работ и их результатов должна быть такой, чтобы соответствующее содержание было понятно, однозначно интрепретируемой и повторяемо другими лицами (не теми, кто первоначально проводил тестирование)
тестирование должно проводиться в соответствии с заданными и документированными процедурами
тестирование должно производиться над однозначно идентифицируемой версией и конфигурацией программной системы
IEEE 1008-87
Описание слайда:
5.2.4 Выполнение тестов (Execution) должны фиксироваться все работы и результаты процесса тестирования форма журналирования таких работ и их результатов должна быть такой, чтобы соответствующее содержание было понятно, однозначно интрепретируемой и повторяемо другими лицами (не теми, кто первоначально проводил тестирование) тестирование должно проводиться в соответствии с заданными и документированными процедурами тестирование должно производиться над однозначно идентифицируемой версией и конфигурацией программной системы IEEE 1008-87

Слайд 84





5.2.5 Анализ результатов тестирования (Test results evaluation)
Для определения успешности тестов их результаты должны оцениваться, анализироваться. В большинстве случаев, “успешность” тестирования подразумевает, что тестируемое программное обеспечение функционирует так, как ожидалось и в процессе работы не приводит к непредусмотренным последствиям. Не все такие последствия обязательно являются сбоями, они могут восприниматься как “помехи”. Однако, любое непредусмотренное поведение может стать источником сбоев при изменении конфигурации или условий функционирования системы, поэтому требуют внимания, как минимум, с точки зрения идентификации причин таких помех. Перед устранением обнаруженного сбоя, необходимо определить и зафиксировать те усилия, которые необходимы для анализа проблемы, отладки и устранения. Это позволит в дельнейшем обеспечить большую глубину измерений, а, соответственно, в перспективе, иметь возможность улучшения самого процесса тестирования. В тех случаях, когда результаты тестирования особенно важны, например, в силу критичности обнаруженного сбоя, может быть сформирована специальная группа анализа (review board).
Описание слайда:
5.2.5 Анализ результатов тестирования (Test results evaluation) Для определения успешности тестов их результаты должны оцениваться, анализироваться. В большинстве случаев, “успешность” тестирования подразумевает, что тестируемое программное обеспечение функционирует так, как ожидалось и в процессе работы не приводит к непредусмотренным последствиям. Не все такие последствия обязательно являются сбоями, они могут восприниматься как “помехи”. Однако, любое непредусмотренное поведение может стать источником сбоев при изменении конфигурации или условий функционирования системы, поэтому требуют внимания, как минимум, с точки зрения идентификации причин таких помех. Перед устранением обнаруженного сбоя, необходимо определить и зафиксировать те усилия, которые необходимы для анализа проблемы, отладки и устранения. Это позволит в дельнейшем обеспечить большую глубину измерений, а, соответственно, в перспективе, иметь возможность улучшения самого процесса тестирования. В тех случаях, когда результаты тестирования особенно важны, например, в силу критичности обнаруженного сбоя, может быть сформирована специальная группа анализа (review board).

Слайд 85





5.2.6 Отчёты о проблемах/журнал тестирования (Problem reporting/Test log)
В процессе тестовой деятельности ведётся журнал тестирования, фиксирующий информацию о соответствующих работах: когда проводится тест, какой тест, кем проводится, для какой конфигурации программной системы (в терминах параметров и в терминах идентифицируемой версии контекста конфигурационного управления) и т.п. Неожиданные или некорректные результаты тестов могут записываться в специальной подсистеме ведения отчетности по сбоям (problem-reporting system, обеспечивая формирование базы данных, используемой для отладки, устранения проблем и дальнейшего тестирования. Кроме того, аномалии (помехи), которые нельзя идентифицировать как сбои, также могут фиксироваться в журнале и/или системе ведения отчетности по сбоям. В любом случае, документирование таких аномалий снижает риски процесса тестирования и помогает решать вопросы повышения надежности самой тестируемой системы. Отчёты по тестам могут являться входом для процесса управления изменениями и генерации запросов на изменения (change request) в рамках процессов конфигурационного управления (см. далее соответствующую область знаний “Software Configuration Management”).
Описание слайда:
5.2.6 Отчёты о проблемах/журнал тестирования (Problem reporting/Test log) В процессе тестовой деятельности ведётся журнал тестирования, фиксирующий информацию о соответствующих работах: когда проводится тест, какой тест, кем проводится, для какой конфигурации программной системы (в терминах параметров и в терминах идентифицируемой версии контекста конфигурационного управления) и т.п. Неожиданные или некорректные результаты тестов могут записываться в специальной подсистеме ведения отчетности по сбоям (problem-reporting system, обеспечивая формирование базы данных, используемой для отладки, устранения проблем и дальнейшего тестирования. Кроме того, аномалии (помехи), которые нельзя идентифицировать как сбои, также могут фиксироваться в журнале и/или системе ведения отчетности по сбоям. В любом случае, документирование таких аномалий снижает риски процесса тестирования и помогает решать вопросы повышения надежности самой тестируемой системы. Отчёты по тестам могут являться входом для процесса управления изменениями и генерации запросов на изменения (change request) в рамках процессов конфигурационного управления (см. далее соответствующую область знаний “Software Configuration Management”).

Слайд 86





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



Похожие презентации
Mypresentation.ru
Загрузить презентацию