SlideShare a Scribd company logo
Шаптала Максим | Компьютерная академия Шаг
Тестирование ПО
01 | Основы тестирования ПО
1.1 Тестирование ПО
1.2 Программные и железные компоненты
1.3 Основы программирования
1.4 Управление жизненным циклом
04 | Управление проектами тестирования
4.1 Основные этапы тестирования
4.2 Agile подход
4.3 Работа в распределенной команде
02 | Методологии тестирования ПО
2.1 Техники тестирования
2.2 Уровни тестирования
2.3 Типы тестов
05 | Работа с багами
5.1 Выявление программных дефектов
5.2 Журналирование багов
5.3 Управление багами
03 | Разработка тестов ПО
3.1 Пользовательское централизованное
тестирование
3.2 Тестируемость ПО
3.3 Разработка плана тестирования
компонентов
3.4 Особенности тестирования
3.5 Appropriately Scoped Test Cases
06 | Автоматизация тестирования ПО
6.1 Автоматизация тестирования
6.2 Стратегия автоматизация тестирования
6.3 Написание автоматизированных тестов
6.4 Управление тестовыми скриптами
Содержание курса
01 | Основы тестирования ПО
1.1 Тестирование ПО
1.2 Программные и «железные» компоненты
1.3 Основы программирования
1.4 Управление жизненным циклом приложения
Основы тестирования ПО - Обзор
01 | Основы тестирования ПО
1.1 Тестирование ПО
1.2 Программные и железные
компоненты
Обзор раздела
В этом разделе будут рассмотрены следующие вопросы:
– Оценка качества ПО и преимущество тестирования.
– Отличительные особенности ОС, компьютерных сетей, данных,
«железа», ПО и их взаимодействия и зависимости.
Основные вопросы
Какова цель тестирования во время разработки программного
обеспечения?
Как можно оценить качество программного обеспечения?
Какова роль операционной системы (ОС) в компьютерной
системе?
Понятие тестирования ПО
Тестирование это процесс исследования ПО для проверки
соответствия его требованиям которые к нему предъявлялись
во время проектирования и ожидаемому качеству.
Тестирование позволяет оценить качество приложения или
проекта.
Разработчик должен иметь ввиду что его проект на самом деле
имеет баги или дефекты, которые еще небыли обнаружены.
Тестирование помогает найти и исправить эти дефекты.
Баг это ошибка кодирования или логическая ошибка
приводящая к собою программы или к неверному результату.
Важность тестирования ПО
Сокращение стоимости разработки ПО.
Не выявленная и не решенная проблема при использовании
программного обеспечения может быть в 40-100 раз дороже при
решении чем выявленная проблема на ранней стадии во время
разработки ПО.
Обеспечивает работу приложения именно так, как оно должно
работать.
Сокращение общей стоимости владения для конечных
пользователей.
Работает на компанию повышая ее авторитет на рынке.
Преимущества тестирования для конечных
пользователей
Раннее тестирование ПО позволяет улучшить удобство
использования и надежность, а также снизить общую
стоимость владения.
 Выявленные баги во время тестирования не требуют от
пользователей время на их идентификацию.
 Выявленные баги в проекте перед развертыванием не требуют ни
затрат пользователей ни времени простоя пока исправления
будут выпущены и установлены.
 ПО которое работает как ожидается требует меньше подготовки и
поддержки пользователей.
 ПО которое хорошо оттестировано в конечном итоге приводит к
увеличению удовлетворенности пользователей.
Оценка качества ПО
Существует множество различных метрик (стандартов
измерений) для оценки ПО. В общем метрики включают:
Метрики производительности, такие как время затраченное на
выполнение или количество памяти необходимое для приложения.
Метрики надежности, такие как общее количество багов или
«плотность дефектов» которое определяются отношением
количества багов на количество строк кода.
“Вы не можете управлять тем, что не можете
измерить” –Lord Kelvin (1824-1907)
Понятие компьютерной системы
«Железо» связано со всеми физическими элементами компьютерной
системы. Пример, клавиатура, мышь, жесткий диск, процессор и т.д.
ПО это данные и инструкции которые работают на компьютере.
 Операционная система (ОС) это ПО которое контролирует распределением и
использованием ресурсами «железа» такими как память, временем
использования центрального процессора (ЦП), дисковым пространством и
периферийными устройствами. ОС это основное ПО от которого зависит
приложение.
 Драйвер устройства позволяет компьютерной системе взаимодействовать с
устройством. Большинство устройств не работают должным образом в
отсутствии корректным образом установленных драйверов в системе.
Компьютерная сеть это группа компьютеров и ассоциированных
устройств подключенных посредством средств связи.
Вопросы секции
 Какова цель тестирования ПО во время его разработки?
 Как можно оценить качество ПО?
 Какова роль операционной системы (ОС) в компьютерной
системе?
01 | Основы тестирования ПО
1.3 Основы программирования
1.4 Управление жизненным
циклом приложения
Обзор раздела
В этом разделе будут рассмотрены следующие вопросы:
– Типы данных, особенности языков программирования такие как
компилируемые или интерпретируемые и анализ простых
алгоритмов.
– Жизненный цикл приложения: agile, водопада, жизненный цикл
проектов и продуктов.
Основные вопросы
Что происходит когда интерпретируемое приложение создано и
выполняется?
Какие наиболее общие типы данных?
В чем agile подход в разработке ПО отличается от модели водопада?
Компилируемые и интерпретируемые языки
Компилируемые языки, как C++, преобразуют в машинный код (“native
code”) который запускается прямо операционной системой.
Интерпретируемые языки, включая C#, Visual Basic, Java компилируют в
промежуточный код. Когда приложение выполняется, в это время
компилятор транслирует промежуточный код в машинный.
 Интерпретируемый код в общем случае “управляемый”— среда выполнения
которая исполняет код управляет множеством низкоуровневых задач, таких
как управление памятью и безопасность..
Интерпретируемые приложения в общем случае “управляемые”—
среда выполнения которая исполнят код управляет множеством
низкоуровневых задач, таких как управление памятью и безопасность.
Типы данных
Типы данных определяют как данных (т.е. переменные)
хранятся в памяти и какие значения могут быть сохранены в
этом наборе данных.
Например, тип данных определенный как целое число (integer) или
число с плавающей точкой (“десятичное” или дробное).
Тип данных также определяет что можно сделать с данными,
включая то какой метод или функция может быть вызвана.
Например, тип данных строка (String) обычно включает метод для
получения подстроки (substring).
Методология разработки ПО
Существует множество различных моделей для управления разработки
ПО, каждый из которых имеет свои преимущества и недостатки.
Обычно, их разделяют на две основные категории:
 Последовательная разработка, в которой команда разработчиков проходит
через ряд последовательных фаз. В общем случае, команда не переходит к
следующей фазе пока предыдущая фаза не завершена.
 Итеративная разработка, в которой команда циклами выполняет одну часть
проекта, затем выполняется другая часть и т.д.; это повторяется в быстром
темпе пока весь проект не будет завершен.
Каждый подход имеет свои преимущества и недостатки.
Используемый подход команды играет большую роль в определении
того как ПО будет тестироваться.
Модель водопада
Как пример последовательной разработки рассмотрим модель водопада,
названная так потому, что поток проходит через ряд фаз как вода каскадно стекает
вниз в водопаде. Основные характеристики модели:
 Команда начинает с детального (и, возможно, длительного) процесса проектирования,
определяя требования к программе и дизайн системы для удовлетворения этих требований.
 После завершения проектирования команда начинает кодирование, тестирование модулей
в том порядке в кортом они разрабатываются.
 Затем, команда интегрирует отдельные модули и тестирует всю систему.
 В конце, проект внедряется и переходит к фазе поддержки.
Поход водопада приводит к значительным временным затратам на проект и
планирование; кодирование не начинается до того как детальный проект
подготовлен.
Модель водопада
Agile модель
При agile разработке, ПО разрабатывается инкрементально, быстрыми
циклами. В результате малых, инкрементальных выпусках, каждый релиз
разрабатывается на базе предыдущей функциональности.
Каждый релиз полностью тестируется, что гарантирует что все вопросы
решаются в следующей итерации.
Agile подчеркивает способность реагировать на изменения, чем на
тщательное планирование. В то же время планирование все же важно,
план это объект, который изменяется с разработкой проекта.
В общем, проекты поставляются “рано и часто” и позволяет
пользователю/заказчику возможность получить обратную связь что
может повлиять на следующую итерацию.
Agile модель
Вопросы раздела
 Что происходит когда интерпретируемое приложение собрано и
выполняется?
 Какие наиболее общие типы данных?
 Чем agile разработка отличается от водопадной модели?
Дополнительные ресурсы
MSDN Software Testing Resources
Testing for Continuous Delivery with Visual Studio 201 http://msdn.microsoft.com/en- us/library/jj159345.aspx
Частое тестирование на ранних этапах разработки http://msdn.microsoft.com/ru-ru/en-
%20us/library/ee330950.aspx
Testing Overview http://msdn.microsoft.com/en- us/library/aa292191.aspx
Типы (Руководство по программированию на C#) http://msdn.microsoft.com/ru-ru/en-
%20us/library/ms173104.aspx
Compiled vs. Interpreted Applications http://msdn.microsoft.com/en- us/library/aa240840.aspx
Процесс управляемого выполнения http://msdn.microsoft.com/ru-ru/en-
%20us/library/k5532s8a.aspx
Testing Methodologies http://msdn.microsoft.com/en- us/library/ff649520.aspx
Lab: Walkthrough for Analyzing Managed Code for Defects http://msdn.microsoft.com/ru-ru/library/ms182066.aspx

More Related Content

PPTX
Mva stf module 3 - rus
Maxim Shaptala
 
PPTX
Mva stf module 4 - rus
Maxim Shaptala
 
PPTX
Mva stf module 2 - rus
Maxim Shaptala
 
PPTX
Mva stf module 5 - rus
Maxim Shaptala
 
PPTX
Mva stf module 6 - rus
Maxim Shaptala
 
PPTX
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
RIF-Technology
 
PDF
Олег Бунин (Онтико) | Менеджмент и бизнес-процессы в разработке highload-прое...
RIF-Technology
 
PPTX
TestLink
ISsoft
 
Mva stf module 3 - rus
Maxim Shaptala
 
Mva stf module 4 - rus
Maxim Shaptala
 
Mva stf module 2 - rus
Maxim Shaptala
 
Mva stf module 5 - rus
Maxim Shaptala
 
Mva stf module 6 - rus
Maxim Shaptala
 
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
RIF-Technology
 
Олег Бунин (Онтико) | Менеджмент и бизнес-процессы в разработке highload-прое...
RIF-Technology
 
TestLink
ISsoft
 

What's hot (19)

PDF
QAFest. Роль тестирования в Devops
Анастасия Асеева
 
PPTX
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov
 
PPTX
10 принципов автоматизации, которые я не предам
SQALab
 
PPTX
Ответственность за качество в разных ИТ-проектах
SQALab
 
PPTX
Jubula – TDD UI QA Automation Tool
COMAQA.BY
 
PPT
Оценка методологии автоматизации - MBT
SQALab
 
PDF
Agile Testing: вопросы и ответы
Andrey Rebrov
 
PPT
Делаем автоматизацию проектных KPIs
SQALab
 
PPTX
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
SQALab
 
PDF
Подготовка стратегии тестирования под высокорискованный, высокодоходный проект
SQALab
 
PDF
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Yandex
 
PPTX
Great functional testing with WebDriver and Thucydides
Mikalai Alimenkou
 
PPTX
Dmitriy Kovalenko: Minimization of manual QA
Andriy Krayniy
 
PPTX
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QAFest
 
PPT
SQADAYS 21 Москва 2017
Adam Sandman
 
PDF
Процесс тестирования в распределенной команде
Svetlana Fedyanina
 
PPTX
Agile Testing & Agile Tester
COMAQA.BY
 
PPTX
Андрей Сильчук: "Автоматическое тестирование".
Hub-IT-School
 
PPT
Кому следует писать автоматические тесты?
Igor Khrol
 
QAFest. Роль тестирования в Devops
Анастасия Асеева
 
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov
 
10 принципов автоматизации, которые я не предам
SQALab
 
Ответственность за качество в разных ИТ-проектах
SQALab
 
Jubula – TDD UI QA Automation Tool
COMAQA.BY
 
Оценка методологии автоматизации - MBT
SQALab
 
Agile Testing: вопросы и ответы
Andrey Rebrov
 
Делаем автоматизацию проектных KPIs
SQALab
 
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
SQALab
 
Подготовка стратегии тестирования под высокорискованный, высокодоходный проект
SQALab
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Yandex
 
Great functional testing with WebDriver and Thucydides
Mikalai Alimenkou
 
Dmitriy Kovalenko: Minimization of manual QA
Andriy Krayniy
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QAFest
 
SQADAYS 21 Москва 2017
Adam Sandman
 
Процесс тестирования в распределенной команде
Svetlana Fedyanina
 
Agile Testing & Agile Tester
COMAQA.BY
 
Андрей Сильчук: "Автоматическое тестирование".
Hub-IT-School
 
Кому следует писать автоматические тесты?
Igor Khrol
 
Ad

Viewers also liked (20)

PPTX
Testing po
Marina Bosova
 
PDF
000 introduction
sivorka
 
PPTX
02 beginning code first
Марина Босова
 
PDF
презентация привязка модели и валидация данных
sivorka
 
PPTX
06 integrating extra features and looking forward
Марина Босова
 
PPTX
05 managing transactions
Марина Босова
 
PPTX
04 managing the database
Марина Босова
 
PDF
навигация и валидаторы презентация
sivorka
 
PDF
05 cерверные элементы управления презентация
sivorka
 
PPTX
01 introduction to entity framework
Марина Босова
 
PDF
001 hosting
sivorka
 
PPTX
03 managing relationships
Марина Босова
 
PPT
Getting started with angular js
Maurice De Beijer [MVP]
 
PPTX
01 introduction to entity framework
Maxim Shaptala
 
PDF
C++ 11 Style : A Touch of Class
Yogendra Rampuria
 
PPTX
Webium: Page Objects in Python
Igor Khrol
 
PDF
jQuery for beginners
Siva Arunachalam
 
PPTX
Team Foundation Server Process Templates For Effective Project Management
Aaron Bjork
 
PPTX
Team Foundation Server 2012 Reporting
Steve Lange
 
PPTX
Team Foundation Server - Tracking & Reporting
Steve Lange
 
Testing po
Marina Bosova
 
000 introduction
sivorka
 
02 beginning code first
Марина Босова
 
презентация привязка модели и валидация данных
sivorka
 
06 integrating extra features and looking forward
Марина Босова
 
05 managing transactions
Марина Босова
 
04 managing the database
Марина Босова
 
навигация и валидаторы презентация
sivorka
 
05 cерверные элементы управления презентация
sivorka
 
01 introduction to entity framework
Марина Босова
 
001 hosting
sivorka
 
03 managing relationships
Марина Босова
 
Getting started with angular js
Maurice De Beijer [MVP]
 
01 introduction to entity framework
Maxim Shaptala
 
C++ 11 Style : A Touch of Class
Yogendra Rampuria
 
Webium: Page Objects in Python
Igor Khrol
 
jQuery for beginners
Siva Arunachalam
 
Team Foundation Server Process Templates For Effective Project Management
Aaron Bjork
 
Team Foundation Server 2012 Reporting
Steve Lange
 
Team Foundation Server - Tracking & Reporting
Steve Lange
 
Ad

Similar to Mva stf module 1 - rus (20)

PPTX
технология и отладка по (47)
romachka_pole
 
PDF
Технологии разработки ПО
Anton Konushin
 
PDF
Тестирование весна 2014 лекция 1
Technopark
 
PPTX
01ka-nov
vyacheslavmaslov
 
PPTX
Agile. Эвридики
Valery Khvatov
 
PDF
ук 03.007.02 2011
etyumentcev
 
PPT
01-lection-ka
vyacheslavmaslov
 
PPTX
тестирование по
Ion Griu
 
PDF
Тестирование осень 2013 лекция 1
Technopark
 
PPTX
разработка бизнес приложений (8)
Alexander Gornik
 
PDF
Когда код «убивает», или зачем нам тестировать наши продукты
Олег Стрекаловский
 
PPTX
Лучшие практики на практике
Denis Tuchin
 
PPT
тестирование программного обеспечения
Natalia Zhelnova
 
PDF
Марина Широчкина — «Тестирование»
Yandex
 
PDF
Istqb lesson 2
Eugene Bulba
 
PDF
Марина Широчкина - Тестирование
Yandex
 
PDF
Модуль 8. Лекция 37-38. Управление качеством проекта
Yana Brodetski
 
PPT
Test design print
Michael Karpov
 
PDF
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Tatyanazaxarova
 
PPTX
Test management
QA Guards
 
технология и отладка по (47)
romachka_pole
 
Технологии разработки ПО
Anton Konushin
 
Тестирование весна 2014 лекция 1
Technopark
 
Agile. Эвридики
Valery Khvatov
 
ук 03.007.02 2011
etyumentcev
 
01-lection-ka
vyacheslavmaslov
 
тестирование по
Ion Griu
 
Тестирование осень 2013 лекция 1
Technopark
 
разработка бизнес приложений (8)
Alexander Gornik
 
Когда код «убивает», или зачем нам тестировать наши продукты
Олег Стрекаловский
 
Лучшие практики на практике
Denis Tuchin
 
тестирование программного обеспечения
Natalia Zhelnova
 
Марина Широчкина — «Тестирование»
Yandex
 
Istqb lesson 2
Eugene Bulba
 
Марина Широчкина - Тестирование
Yandex
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Yana Brodetski
 
Test design print
Michael Karpov
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Tatyanazaxarova
 
Test management
QA Guards
 

Mva stf module 1 - rus

  • 1. Шаптала Максим | Компьютерная академия Шаг
  • 2. Тестирование ПО 01 | Основы тестирования ПО 1.1 Тестирование ПО 1.2 Программные и железные компоненты 1.3 Основы программирования 1.4 Управление жизненным циклом 04 | Управление проектами тестирования 4.1 Основные этапы тестирования 4.2 Agile подход 4.3 Работа в распределенной команде 02 | Методологии тестирования ПО 2.1 Техники тестирования 2.2 Уровни тестирования 2.3 Типы тестов 05 | Работа с багами 5.1 Выявление программных дефектов 5.2 Журналирование багов 5.3 Управление багами 03 | Разработка тестов ПО 3.1 Пользовательское централизованное тестирование 3.2 Тестируемость ПО 3.3 Разработка плана тестирования компонентов 3.4 Особенности тестирования 3.5 Appropriately Scoped Test Cases 06 | Автоматизация тестирования ПО 6.1 Автоматизация тестирования 6.2 Стратегия автоматизация тестирования 6.3 Написание автоматизированных тестов 6.4 Управление тестовыми скриптами Содержание курса
  • 3. 01 | Основы тестирования ПО
  • 4. 1.1 Тестирование ПО 1.2 Программные и «железные» компоненты 1.3 Основы программирования 1.4 Управление жизненным циклом приложения Основы тестирования ПО - Обзор
  • 5. 01 | Основы тестирования ПО 1.1 Тестирование ПО 1.2 Программные и железные компоненты
  • 6. Обзор раздела В этом разделе будут рассмотрены следующие вопросы: – Оценка качества ПО и преимущество тестирования. – Отличительные особенности ОС, компьютерных сетей, данных, «железа», ПО и их взаимодействия и зависимости.
  • 7. Основные вопросы Какова цель тестирования во время разработки программного обеспечения? Как можно оценить качество программного обеспечения? Какова роль операционной системы (ОС) в компьютерной системе?
  • 8. Понятие тестирования ПО Тестирование это процесс исследования ПО для проверки соответствия его требованиям которые к нему предъявлялись во время проектирования и ожидаемому качеству. Тестирование позволяет оценить качество приложения или проекта. Разработчик должен иметь ввиду что его проект на самом деле имеет баги или дефекты, которые еще небыли обнаружены. Тестирование помогает найти и исправить эти дефекты. Баг это ошибка кодирования или логическая ошибка приводящая к собою программы или к неверному результату.
  • 9. Важность тестирования ПО Сокращение стоимости разработки ПО. Не выявленная и не решенная проблема при использовании программного обеспечения может быть в 40-100 раз дороже при решении чем выявленная проблема на ранней стадии во время разработки ПО. Обеспечивает работу приложения именно так, как оно должно работать. Сокращение общей стоимости владения для конечных пользователей. Работает на компанию повышая ее авторитет на рынке.
  • 10. Преимущества тестирования для конечных пользователей Раннее тестирование ПО позволяет улучшить удобство использования и надежность, а также снизить общую стоимость владения.  Выявленные баги во время тестирования не требуют от пользователей время на их идентификацию.  Выявленные баги в проекте перед развертыванием не требуют ни затрат пользователей ни времени простоя пока исправления будут выпущены и установлены.  ПО которое работает как ожидается требует меньше подготовки и поддержки пользователей.  ПО которое хорошо оттестировано в конечном итоге приводит к увеличению удовлетворенности пользователей.
  • 11. Оценка качества ПО Существует множество различных метрик (стандартов измерений) для оценки ПО. В общем метрики включают: Метрики производительности, такие как время затраченное на выполнение или количество памяти необходимое для приложения. Метрики надежности, такие как общее количество багов или «плотность дефектов» которое определяются отношением количества багов на количество строк кода. “Вы не можете управлять тем, что не можете измерить” –Lord Kelvin (1824-1907)
  • 12. Понятие компьютерной системы «Железо» связано со всеми физическими элементами компьютерной системы. Пример, клавиатура, мышь, жесткий диск, процессор и т.д. ПО это данные и инструкции которые работают на компьютере.  Операционная система (ОС) это ПО которое контролирует распределением и использованием ресурсами «железа» такими как память, временем использования центрального процессора (ЦП), дисковым пространством и периферийными устройствами. ОС это основное ПО от которого зависит приложение.  Драйвер устройства позволяет компьютерной системе взаимодействовать с устройством. Большинство устройств не работают должным образом в отсутствии корректным образом установленных драйверов в системе. Компьютерная сеть это группа компьютеров и ассоциированных устройств подключенных посредством средств связи.
  • 13. Вопросы секции  Какова цель тестирования ПО во время его разработки?  Как можно оценить качество ПО?  Какова роль операционной системы (ОС) в компьютерной системе?
  • 14. 01 | Основы тестирования ПО 1.3 Основы программирования 1.4 Управление жизненным циклом приложения
  • 15. Обзор раздела В этом разделе будут рассмотрены следующие вопросы: – Типы данных, особенности языков программирования такие как компилируемые или интерпретируемые и анализ простых алгоритмов. – Жизненный цикл приложения: agile, водопада, жизненный цикл проектов и продуктов.
  • 16. Основные вопросы Что происходит когда интерпретируемое приложение создано и выполняется? Какие наиболее общие типы данных? В чем agile подход в разработке ПО отличается от модели водопада?
  • 17. Компилируемые и интерпретируемые языки Компилируемые языки, как C++, преобразуют в машинный код (“native code”) который запускается прямо операционной системой. Интерпретируемые языки, включая C#, Visual Basic, Java компилируют в промежуточный код. Когда приложение выполняется, в это время компилятор транслирует промежуточный код в машинный.  Интерпретируемый код в общем случае “управляемый”— среда выполнения которая исполняет код управляет множеством низкоуровневых задач, таких как управление памятью и безопасность.. Интерпретируемые приложения в общем случае “управляемые”— среда выполнения которая исполнят код управляет множеством низкоуровневых задач, таких как управление памятью и безопасность.
  • 18. Типы данных Типы данных определяют как данных (т.е. переменные) хранятся в памяти и какие значения могут быть сохранены в этом наборе данных. Например, тип данных определенный как целое число (integer) или число с плавающей точкой (“десятичное” или дробное). Тип данных также определяет что можно сделать с данными, включая то какой метод или функция может быть вызвана. Например, тип данных строка (String) обычно включает метод для получения подстроки (substring).
  • 19. Методология разработки ПО Существует множество различных моделей для управления разработки ПО, каждый из которых имеет свои преимущества и недостатки. Обычно, их разделяют на две основные категории:  Последовательная разработка, в которой команда разработчиков проходит через ряд последовательных фаз. В общем случае, команда не переходит к следующей фазе пока предыдущая фаза не завершена.  Итеративная разработка, в которой команда циклами выполняет одну часть проекта, затем выполняется другая часть и т.д.; это повторяется в быстром темпе пока весь проект не будет завершен. Каждый подход имеет свои преимущества и недостатки. Используемый подход команды играет большую роль в определении того как ПО будет тестироваться.
  • 20. Модель водопада Как пример последовательной разработки рассмотрим модель водопада, названная так потому, что поток проходит через ряд фаз как вода каскадно стекает вниз в водопаде. Основные характеристики модели:  Команда начинает с детального (и, возможно, длительного) процесса проектирования, определяя требования к программе и дизайн системы для удовлетворения этих требований.  После завершения проектирования команда начинает кодирование, тестирование модулей в том порядке в кортом они разрабатываются.  Затем, команда интегрирует отдельные модули и тестирует всю систему.  В конце, проект внедряется и переходит к фазе поддержки. Поход водопада приводит к значительным временным затратам на проект и планирование; кодирование не начинается до того как детальный проект подготовлен.
  • 22. Agile модель При agile разработке, ПО разрабатывается инкрементально, быстрыми циклами. В результате малых, инкрементальных выпусках, каждый релиз разрабатывается на базе предыдущей функциональности. Каждый релиз полностью тестируется, что гарантирует что все вопросы решаются в следующей итерации. Agile подчеркивает способность реагировать на изменения, чем на тщательное планирование. В то же время планирование все же важно, план это объект, который изменяется с разработкой проекта. В общем, проекты поставляются “рано и часто” и позволяет пользователю/заказчику возможность получить обратную связь что может повлиять на следующую итерацию.
  • 24. Вопросы раздела  Что происходит когда интерпретируемое приложение собрано и выполняется?  Какие наиболее общие типы данных?  Чем agile разработка отличается от водопадной модели?
  • 25. Дополнительные ресурсы MSDN Software Testing Resources Testing for Continuous Delivery with Visual Studio 201 http://msdn.microsoft.com/en- us/library/jj159345.aspx Частое тестирование на ранних этапах разработки http://msdn.microsoft.com/ru-ru/en- %20us/library/ee330950.aspx Testing Overview http://msdn.microsoft.com/en- us/library/aa292191.aspx Типы (Руководство по программированию на C#) http://msdn.microsoft.com/ru-ru/en- %20us/library/ms173104.aspx Compiled vs. Interpreted Applications http://msdn.microsoft.com/en- us/library/aa240840.aspx Процесс управляемого выполнения http://msdn.microsoft.com/ru-ru/en- %20us/library/k5532s8a.aspx Testing Methodologies http://msdn.microsoft.com/en- us/library/ff649520.aspx Lab: Walkthrough for Analyzing Managed Code for Defects http://msdn.microsoft.com/ru-ru/library/ms182066.aspx

Editor's Notes