SlideShare una empresa de Scribd logo
1 de 25
Шаптала Максим | Компьютерная академия Шаг
Тестирование ПО
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

Más contenido relacionado

La actualidad más candente

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

La actualidad más candente (19)

QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам
 
Ответственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектахОтветственность за качество в разных ИТ-проектах
Ответственность за качество в разных ИТ-проектах
 
Jubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation Tool
 
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTОценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBT
 
Agile Testing: вопросы и ответы
Agile Testing: вопросы и ответыAgile Testing: вопросы и ответы
Agile Testing: вопросы и ответы
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
 
Подготовка стратегии тестирования под высокорискованный, высокодоходный проект
Подготовка стратегии тестирования под высокорискованный, высокодоходный проектПодготовка стратегии тестирования под высокорискованный, высокодоходный проект
Подготовка стратегии тестирования под высокорискованный, высокодоходный проект
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
Great functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and ThucydidesGreat functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and Thucydides
 
Dmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QADmitriy Kovalenko: Minimization of manual QA
Dmitriy Kovalenko: Minimization of manual QA
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
 
Agile Testing & Agile Tester
Agile Testing & Agile TesterAgile Testing & Agile Tester
Agile Testing & Agile Tester
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
 
Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?
 

Destacado

000 introduction
000 introduction000 introduction
000 introductionsivorka
 
презентация привязка модели и валидация данных
презентация   привязка модели и валидация данныхпрезентация   привязка модели и валидация данных
презентация привязка модели и валидация данныхsivorka
 
06 integrating extra features and looking forward
06   integrating extra features and looking forward06   integrating extra features and looking forward
06 integrating extra features and looking forwardМарина Босова
 
навигация и валидаторы презентация
навигация и валидаторы   презентациянавигация и валидаторы   презентация
навигация и валидаторы презентацияsivorka
 
05 cерверные элементы управления презентация
05 cерверные элементы управления   презентация05 cерверные элементы управления   презентация
05 cерверные элементы управления презентацияsivorka
 
001 hosting
001 hosting001 hosting
001 hostingsivorka
 
01 introduction to entity framework
01   introduction to entity framework01   introduction to entity framework
01 introduction to entity frameworkMaxim Shaptala
 
C++ 11 Style : A Touch of Class
C++ 11 Style : A Touch of ClassC++ 11 Style : A Touch of Class
C++ 11 Style : A Touch of ClassYogendra Rampuria
 
Webium: Page Objects in Python
Webium: Page Objects in PythonWebium: Page Objects in Python
Webium: Page Objects in PythonIgor Khrol
 
Team Foundation Server Process Templates For Effective Project Management
Team Foundation Server Process Templates For Effective Project ManagementTeam Foundation Server Process Templates For Effective Project Management
Team Foundation Server Process Templates For Effective Project ManagementAaron Bjork
 
Team Foundation Server 2012 Reporting
Team Foundation Server 2012 ReportingTeam Foundation Server 2012 Reporting
Team Foundation Server 2012 ReportingSteve Lange
 
Team Foundation Server - Tracking & Reporting
Team Foundation Server - Tracking & ReportingTeam Foundation Server - Tracking & Reporting
Team Foundation Server - Tracking & ReportingSteve Lange
 

Destacado (20)

Testing po
Testing poTesting po
Testing po
 
000 introduction
000 introduction000 introduction
000 introduction
 
02 beginning code first
02   beginning code first02   beginning code first
02 beginning code first
 
презентация привязка модели и валидация данных
презентация   привязка модели и валидация данныхпрезентация   привязка модели и валидация данных
презентация привязка модели и валидация данных
 
06 integrating extra features and looking forward
06   integrating extra features and looking forward06   integrating extra features and looking forward
06 integrating extra features and looking forward
 
05 managing transactions
05   managing transactions05   managing transactions
05 managing transactions
 
04 managing the database
04   managing the database04   managing the database
04 managing the database
 
навигация и валидаторы презентация
навигация и валидаторы   презентациянавигация и валидаторы   презентация
навигация и валидаторы презентация
 
05 cерверные элементы управления презентация
05 cерверные элементы управления   презентация05 cерверные элементы управления   презентация
05 cерверные элементы управления презентация
 
01 introduction to entity framework
01   introduction to entity framework01   introduction to entity framework
01 introduction to entity framework
 
001 hosting
001 hosting001 hosting
001 hosting
 
03 managing relationships
03   managing relationships03   managing relationships
03 managing relationships
 
Getting started with angular js
Getting started with angular jsGetting started with angular js
Getting started with angular js
 
01 introduction to entity framework
01   introduction to entity framework01   introduction to entity framework
01 introduction to entity framework
 
C++ 11 Style : A Touch of Class
C++ 11 Style : A Touch of ClassC++ 11 Style : A Touch of Class
C++ 11 Style : A Touch of Class
 
Webium: Page Objects in Python
Webium: Page Objects in PythonWebium: Page Objects in Python
Webium: Page Objects in Python
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Team Foundation Server Process Templates For Effective Project Management
Team Foundation Server Process Templates For Effective Project ManagementTeam Foundation Server Process Templates For Effective Project Management
Team Foundation Server Process Templates For Effective Project Management
 
Team Foundation Server 2012 Reporting
Team Foundation Server 2012 ReportingTeam Foundation Server 2012 Reporting
Team Foundation Server 2012 Reporting
 
Team Foundation Server - Tracking & Reporting
Team Foundation Server - Tracking & ReportingTeam Foundation Server - Tracking & Reporting
Team Foundation Server - Tracking & Reporting
 

Similar a Mva stf module 1 - rus

Презентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспеченияПрезентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспеченияRauan Ibraikhan
 
презентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияпрезентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияRauan Ibraikhan
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей РевкоSQALab
 
Проблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийПроблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийTatyanazaxarova
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Dima Dzuba
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Tatyanazaxarova
 
Обеспечение качества: Практические советы
Обеспечение качества: Практические советыОбеспечение качества: Практические советы
Обеспечение качества: Практические советыSQALab
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...solit
 

Similar a Mva stf module 1 - rus (20)

Презентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспеченияПрезентация по дисциплине технология разработки программного обеспечения
Презентация по дисциплине технология разработки программного обеспечения
 
презентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияпрезентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспечения
 
Sep reqm-lec1
Sep reqm-lec1Sep reqm-lec1
Sep reqm-lec1
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Проблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийПроблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложений
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
 
TAP
TAPTAP
TAP
 
Обеспечение качества: Практические советы
Обеспечение качества: Практические советыОбеспечение качества: Практические советы
Обеспечение качества: Практические советы
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Team workflow
Team workflowTeam workflow
Team workflow
 
MS ALM 2013 Review
MS ALM 2013 ReviewMS ALM 2013 Review
MS ALM 2013 Review
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Lection 3 4_pm
Lection 3 4_pmLection 3 4_pm
Lection 3 4_pm
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Test design print
Test design printTest design print
Test design print
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
 

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

Notas del editor

  1. 1
  2. 3