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 Управление тестовыми скриптами
Содержание курса
02 | Методологии тестирования ПО
2.1 Техники тестирования
2.2 Уровни тестирования
2.3 Типы тестов
Обзор
02 | Методологии тестирования ПО
2.1 Техники тестирования
Обзор раздела
В этом разделе будут рассмотрены следующие вопросы:
– Техники тестирования. Темы: ручное тестирование,
автоматизированное тестирование, тестирование черный и белый
ящики.
Основные вопросы
Что такое ручное тестирование?
Какие преимущества автоматизированного тестирования?
Чем отличается тестирование черного ящика от тестирования
белого ящика?
Ручное тестирование
Первый опыт тестирования мы получаем во время изучения
программирования: попробуй и посмотри как это работает.
Это самый простой подход называют ручным тестированием.
При ручном тестировании тестер играет роль пользователя и
проверяет есть ли какое-либо неожиданное или
нежелательное поведение приложения.
Часто, используют план тестов со специфическими тестовыми
случаями для обеспечения тщательного исследования
проекта.
Тестер может быть или не быть частью команды
разработчиков.
Автоматизированное тестирование
Автоматизованное тестирование проводится с применением
тестового программного обеспечения (такого, как Microsoft®
Test Manager в Microsoft Visual Studio®) для контроля и
отслеживания одного или более автоматически исполняемых
тестов.
Автоматизованные тесты могут быть созданы и
сконфигурированы каждый раз для новой версии проекта (или
части исходного кода).
Microsoft Test Manager предоставляет детальный отчет о
результатах каждого автоматического теста.
Ручное или автоматизированное тестирование
Ручные и автоматизированные тесты дополняют друг друга;
оба типа тестов важны для обеспечения высокого качества
программного обеспечения.
Автоматизация является быстрой и позволяет проверить
поведение ПО на различных исходных данных; оно также
позволяет повторять тесты во время развития проекта. В связи
с тем, что выполнение тестов производиться на компьютере,
усталость и ошибки, которые иногда сопровождаются при
выполнении повторяющихся задач исключаются.
Не смотря на то, что ручные тесты обычно более длительны
(т.к. они выполняются человеком), они часто требуют намного
Тестирование черного ящика (Black box)
Тестирование черного ящика связано с отсутствием
информации/знаний о том как работает тестируемая система.
Этот тип тестирования имитирует работу конечного пользователя.
В общем случае, тестер не знает как работает код – он выполняет ввод
и изучает результат. Этот человек не обязательно должен знать
программирование.
Примерный сценарий тестирования черного ящика включает:
 Тестирование, что пользовательский интерфейс содержит все требования и
функционал.
 Тестирование различных входных параметров (включаю ввод выходящих за
ожидаемый диапазон данных, таких, как ввод отрицательного числа для
веса).
 Нагрузочное или стрессовое тестирование системы.
 Тестирование безопасности проекта или системы.
Тестирование белого ящика (White Box)
Также известный как стеклянный ящик, чистый ящик или
открытый ящик.
Это тестирования связано с исследованием кода на
потенциальные сценарии отказа или сбоя.
Тестовые случаи создаются тем, кто анализирует код
приложения и подготавливает тесты для обеспечения что
поведение класса соответствует спецификации.
Сценарий тестирования белого ящика предусматривает:
 Тестирование подпрограмм которые используются “за сценой.”
 Тестирование циклов и условий на точность.
 Тестирование производительности кода или алгоритма
Видео
Простое воспроизведение ошибок с помощью
ручного тестирования
http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-
Ultimate-Overview-RUS/Visual-Studio-Ultimate-2012-Easily-
reproducing-issues-through-manual-testing-RUS
Вопросы раздела
 Что такое ручное тестирование?
 В чем преимущество автоматизированного тестирования?
 Чем отличается тестирование черного ящика от тестирования
белого ящика?
2.2 Уровни тестирования
02 | Методологии тестирования
Обзор раздела
В этом разделе будут рассмотрено:
– Модульное тестирование
– Компонентное и интеграционное тестирование
Главные вопросы
Как называется уровень тестирования, когда разработчик тестирует
отдельный метод?
Что такое интеграционное тестирование?
Какое другое название для интеграционных тестов?
Модульное тестирование (Unit Testing)
Модульные тесты это автоматизированные тесы, которые
проверяют функциональность на уровне компонентов, классов,
методов или уровне собственности.
Основная цель модульного тестирования является в том, чтобы
взять небольшую часть тестируемого приложения, изолировать
ее от остального кода и выяснить является ли ее поведение
таким как ожидается.
Каждый модуль тестируется отдельно перед интегрированием
его в компоненты для тестирования интерфейса между
модулями.
Модульные тесты должны быть написаны перед тем (или в
Пример модульного теста
Рассмотрим пример мобильного приложения которое принимает рост
и вес человека, затем рассчитывает индекс массы тела (ИМТ) и затем
дает рекомендации для улучшения здоровья и спортивной формы.
Индекс массы рассчитывается используя высоту в дюймах, но
пользователь ввел футы и дюймы (например, 5’6”).
Модульный тес будет включать тестовый метод или функцию которая
конвертирует футы и дюймы в общие дюймы.
Метод, которые рассчитывает индекс массы с весом и общие дюймы
может быть другим модульным тестом.
 Отметим, что модульные тесты покрывают код который не обязательно
видимый для пользователя, он, возможно, не осознают, что высота будет
конвертирована.
Компонентное и интеграционное тестирование
С точки зрения тестирования, индивидуальные модули
интегрируются вместе для формированию больших
компонент. В простейшем случае, два модуля, которые уже
протестированы объединяют в интегрированный компонент и
тестируют интерфейс между ними.
Это тестирование называют интеграционное (или
“компонентное тестирования”).
Интеграционное тестирование выявляет проблемы которые
проявляются при объединении модулей. Новые ошибки,
которые появляются скорее всего связаны с интерфейсами
между модулями чем с самими модулями – это упрощает
Пример интеграционного теста
В нашем примере вычисления индекса массы тела,
предположим, что мы написали метод конвертирования роста
человека в дюймы и что мы написали отдельный метод
который использует соответствующую формулу для
вычисления ИМТ.
Когда мы пишем третий метод который получает
пользовательский ввод, вызывает метод конвертации и
использует результат для вызова метода расчета , нам
необходимо выполнить интеграционный тест между этими
частями кода.
Вопросы раздела
 Как называется когда разработчик тестирует отдельный метод?
 Что такое интегрированные тесты?
 Какое другое название интегрирующих тестов?
2.3 Типы тестирования
02 | Методологии тестирования ПО
Обзор раздела
В этом разделе будет рассмотрено следующее:
– Типы тестов
– Тема включает:
Функциональный
Производительности
Регрессионный
Безопасности
Стрессовый
Доступности
Удобства использования
Тестирование локализации
Основные вопросы
Что такое регрессия в разработке программного обеспечения?
Какой пример ситуации которая может нагрузить программную
систему?
Какой из типов тестов помогает обеспечить поддержку
пользователей с ограниченными возможностями?
Регрессионное тестирование
При изменениях в проекте возможно что существующий код
не будет работать или ранее не выявленные баги начнут
проявлять себя. Этот тип багов называют регрессионными.
Для перехвата этих ошибок, целый проект должен пройти
регрессионные тесты: полностью повторное тестирование
измененной программы предпочтительнее чем тестирование
только измененных модулей, что гарантирует отсутствие
ошибок с изменениями.
Стрессовое тестирование
Тестирование в небольших масштабах, например один
пользователь работающий с веб-приложением или базой данных,
только ручной ввод, не может выявить проблемы, которые могут
появиться при использовании приложения в условиях реальной
нагрузки, в «реальном мире».
Нагрузочное тестирование выявляет функциональные ограничения
системы. Это реализуется путем создания экстремального
воздействия, таких как большой объем данных или одновременно
большое количество пользователей.
 Эти тесты также называют нагрузочными так как тестируют систему
при тяжелых нагрузках.
Автоматизация теста позволяет выполнить тяжелы стрессовые
тесты с минимальными трудозатратами.
Тесты производительности
Тестирование производительности определяет отзывчивость,
производительность, надежность, и/или масштабируемости
системы, в рамках данной рабочей нагрузки.
Для веб приложений, тестирование производительности часто
тесно связано с стресс тестированием, измеряющим задержку
(lag) и отзывчивость под нагрузкой.
Для других приложений (десктопных и мобильных, например),
тест производительности измеряет скорость и использование
ресурсов таких, как память и жесткий диск.
Видео
Нагрузочное тестирование приложений в Visual Studio
http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-
Ultimate-Overview-RUS/Visual-Studio-Ultimate-2012-Load-testing-
applications-in-Visual-Studio-RUS
Тестирование безопасности
Тест безопасности проверяет службы безопасности
приложения и выявляет потенциальные проблемы с
безопасностью.
Большинство проектов в использует подход черного ящика
для тестирования безопасности, позволяющий экспертам по
безопасности, которым не известен код приложения
исследовать его на дыры и недостатки.
Тестирование удобства использования
Тестирование удобства использования исследует то, как
реальные пользователи на самом деле используют ПО.
Например:
 Измеряется как долго для пользователя может занять выполнение
задания.
 Отслеживание как много “кликов” или пользовательских действий
занимает для выполнения задания или доступ к функции.
Тестирование локализации
Локализация переводит ГПИ продукта и иногда изменяет
некоторые начальные настройки для того, что бы приложение
было подходящим для другого региона.
 Например, локализованный проект для Великобритании может
изменить язык на английский и единицы измерения, например,
длинны на дюймы или футы.
Тестирование локализации позволяет проверить качество
локализации продукта для определенной целевой
культуры/локали.
Это тестирование сфокусировано на ГПИ и других областях
связанных с локализацией (установка и обновление в
локализованной среде, совместимость железа основанного на
целевом регионе и т.д.).
Тестирование доступности
Проверяет поддержку для пользователей с ограниченными
возможностями. Тестирование доступности может включать:
 Соответствие: Соответствует ли оно требованиям
законодательства?
 Эффективность: Могут ли пользователи с ограниченными
возможностями использовать приложение?
 Полезность: Предоставляет ли приложение адекватную
функциональность для пользователей с ограниченными
возможностями?
 Удовлетворенность: Как приложение воспринимается
пользователями с ограниченными возможностями?
Тестирование доступности может включать в себя тесты на удобство
использования для инвалидов с применением вспомогательных
технологических устройств.
Видео
Простое тестирование пользовательских интерфейсов с
помощью закодированных тестов
пользовательского интерфейса
http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-
Ultimate-Overview-RUS/Visual-Studio-Ultimate-2012-Easily-testing-
user-interfaces-with-Coded-UI-tests-RUS
Вопросы раздела
 Что такое регрессия при разработке программного обеспечения?
 Какой пример ситуации которая может привести программную
систему в стрессовое состояние?
 Какой тип тестирования помогает убедится в поддержке
пользователей с ограниченными вомзожностями?
Дополнительные ресурсы к этой лекции
MSDN Software Testing Resources
Testing Process for Application Blocks http://msdn.microsoft.com/en- us/library/ff649517.aspx
Black Box & White Box Testing for Application Blocks http://msdn.microsoft.com/en- us/library/ff649503.aspx
Patterns and Practices: Manual System Tests http://msdn.microsoft.com/en- us/library/jj159334.aspx
Test Early and Often http://msdn.microsoft.com/en- us/library/vstudio/ee330950.aspx
Unit Testing http://msdn.microsoft.com/en- us/library/aa292197.aspx
Unit Testing: Testing the Inside http://msdn.microsoft.com/en- us/library/jj159340.aspx
Integration Testing http://msdn.microsoft.com/en- us/library/aa292128.aspx
Unit testing, component level testing and UI testing,
what to use and when
http://blogs.msdn.com/b/raulperez/archive /2010/04/29/unit-testing-
component- level-testing-and-ui-testing-what-to-use- and-when.aspx
Regression Testing http://blogs.msdn.com/b/narendra_parihar
s_blog/archive/2012/04/20/regression- testing.aspx
Performance and Stress Testing http://msdn.microsoft.com/library/dd2935 40.aspx
Security Testing http://msdn.microsoft.com/en- us/library/aa292190.aspx
Localization Testing http://msdn.microsoft.com/en- us/library/aa292138.aspx
Testing a User Interface (UI) http://msdn.microsoft.com/en-
us/library/windows/desktop/ff728827.aspx

More Related Content

What's hot

Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov
 
Тестирование ПО (лекция 2)
Тестирование ПО (лекция 2)Тестирование ПО (лекция 2)
Тестирование ПО (лекция 2)
Igor Khmelnytskyy
 
TestLink
TestLinkTestLink
TestLinkISsoft
 
Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)
Igor Khmelnytskyy
 
Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)
Igor Khmelnytskyy
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QAFest
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU
 
тестирование по
тестирование потестирование по
тестирование по
Ion Griu
 
TAP
TAPTAP
TAP
miraj84
 
Istqb lesson 3
Istqb lesson 3Istqb lesson 3
Istqb lesson 3
Eugene Bulba
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDD
Club QA Kostroma
 
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTОценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBT
SQALab
 
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
RIF-Technology
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
Hub-IT-School
 
Istqb lesson 6
Istqb lesson 6Istqb lesson 6
Istqb lesson 6
Eugene Bulba
 
Проблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийПроблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложений
Tatyanazaxarova
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
Return on Intelligence
 
Istqb lesson 1
Istqb lesson 1Istqb lesson 1
Istqb lesson 1
Eugene Bulba
 

What's hot (19)

Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Тестирование ПО (лекция 2)
Тестирование ПО (лекция 2)Тестирование ПО (лекция 2)
Тестирование ПО (лекция 2)
 
Test management print
Test management printTest management print
Test management print
 
TestLink
TestLinkTestLink
TestLink
 
Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)
 
Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
 
тестирование по
тестирование потестирование по
тестирование по
 
TAP
TAPTAP
TAP
 
Istqb lesson 3
Istqb lesson 3Istqb lesson 3
Istqb lesson 3
 
ClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDDClubQA #2. Unit testing and TDD
ClubQA #2. Unit testing and TDD
 
Оценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBTОценка методологии автоматизации - MBT
Оценка методологии автоматизации - MBT
 
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
 
Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
 
Istqb lesson 6
Istqb lesson 6Istqb lesson 6
Istqb lesson 6
 
Проблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийПроблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложений
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Istqb lesson 1
Istqb lesson 1Istqb lesson 1
Istqb lesson 1
 

Viewers also liked

Testing po
Testing poTesting po
Testing po
Marina Bosova
 
05 managing transactions
05   managing transactions05   managing transactions
05 managing transactions
Марина Босова
 
03 managing relationships
03   managing relationships03   managing relationships
03 managing relationships
Марина Босова
 
презентация привязка модели и валидация данных
презентация   привязка модели и валидация данныхпрезентация   привязка модели и валидация данных
презентация привязка модели и валидация данных
sivorka
 
05 cерверные элементы управления презентация
05 cерверные элементы управления   презентация05 cерверные элементы управления   презентация
05 cерверные элементы управления презентация
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
 
02 beginning code first
02   beginning code first02   beginning code first
02 beginning code first
Марина Босова
 
000 introduction
000 introduction000 introduction
000 introduction
sivorka
 
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
sivorka
 
04 managing the database
04   managing the database04   managing the database
04 managing the database
Марина Босова
 
Getting started with angular js
Getting started with angular jsGetting started with angular js
Getting started with angular js
Maurice De Beijer [MVP]
 
01 introduction to entity framework
01   introduction to entity framework01   introduction to entity framework
01 introduction to entity framework
Maxim 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 Class
Yogendra Rampuria
 
Webium: Page Objects in Python
Webium: Page Objects in PythonWebium: Page Objects in Python
Webium: Page Objects in Python
Igor 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 Management
Aaron Bjork
 
Team Foundation Server 2012 Reporting
Team Foundation Server 2012 ReportingTeam Foundation Server 2012 Reporting
Team Foundation Server 2012 Reporting
Steve Lange
 
Team Foundation Server - Tracking & Reporting
Team Foundation Server - Tracking & ReportingTeam Foundation Server - Tracking & Reporting
Team Foundation Server - Tracking & Reporting
Steve Lange
 

Viewers also liked (20)

Testing po
Testing poTesting po
Testing po
 
05 managing transactions
05   managing transactions05   managing transactions
05 managing transactions
 
03 managing relationships
03   managing relationships03   managing relationships
03 managing relationships
 
презентация привязка модели и валидация данных
презентация   привязка модели и валидация данныхпрезентация   привязка модели и валидация данных
презентация привязка модели и валидация данных
 
05 cерверные элементы управления презентация
05 cерверные элементы управления   презентация05 cерверные элементы управления   презентация
05 cерверные элементы управления презентация
 
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
 
навигация и валидаторы презентация
навигация и валидаторы   презентациянавигация и валидаторы   презентация
навигация и валидаторы презентация
 
02 beginning code first
02   beginning code first02   beginning code first
02 beginning code first
 
000 introduction
000 introduction000 introduction
000 introduction
 
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
 
04 managing the database
04   managing the database04   managing the database
04 managing the database
 
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 to Mva stf module 2 - rus

Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проекта
Yana Brodetski
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Dima Denisenko
 
Ptsp презентация
Ptsp презентацияPtsp презентация
Ptsp презентацияakmoldir
 
Unit testing
Unit testingUnit testing
Unit testingISsoft
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Tatyanazaxarova
 
технология и отладка по (47)
технология и отладка по (47)технология и отладка по (47)
технология и отладка по (47)
romachka_pole
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
SQALab
 
Test plan Толстова Ольга
Test plan Толстова ОльгаTest plan Толстова Ольга
Test plan Толстова Ольга
Smart-on-line
 
ук 03.007.02 2011
ук 03.007.02 2011ук 03.007.02 2011
ук 03.007.02 2011etyumentcev
 
Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Technopark
 
Как мы тестируем анализатор кода
Как мы тестируем анализатор кодаКак мы тестируем анализатор кода
Как мы тестируем анализатор кода
Tatyanazaxarova
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDD
Iosif Itkin
 
IntroductionPrinciples
IntroductionPrinciplesIntroductionPrinciples
IntroductionPrinciplesQA Guards
 
Как тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиКак тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книги
kosyakov
 
Test management
Test managementTest management
Test managementQA Guards
 
Урок 7. Проблемы выявления 64-битных ошибок
Урок 7. Проблемы выявления 64-битных ошибокУрок 7. Проблемы выявления 64-битных ошибок
Урок 7. Проблемы выявления 64-битных ошибок
Tatyanazaxarova
 
Unit тесты java
Unit тесты javaUnit тесты java
Unit тесты java
Vadim Lyakhovets
 
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
ITMO University
 
Unit tests ru
Unit tests ruUnit tests ru
Unit tests ruISsoft
 

Similar to Mva stf module 2 - rus (20)

Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проекта
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Ptsp презентация
Ptsp презентацияPtsp презентация
Ptsp презентация
 
Unit testing
Unit testingUnit testing
Unit testing
 
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...
 
технология и отладка по (47)
технология и отладка по (47)технология и отладка по (47)
технология и отладка по (47)
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Test plan Толстова Ольга
Test plan Толстова ОльгаTest plan Толстова Ольга
Test plan Толстова Ольга
 
ук 03.007.02 2011
ук 03.007.02 2011ук 03.007.02 2011
ук 03.007.02 2011
 
Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1
 
Как мы тестируем анализатор кода
Как мы тестируем анализатор кодаКак мы тестируем анализатор кода
Как мы тестируем анализатор кода
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDD
 
IntroductionPrinciples
IntroductionPrinciplesIntroductionPrinciples
IntroductionPrinciples
 
Как тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книгиКак тестируют в гугле - обзор книги
Как тестируют в гугле - обзор книги
 
Test design print
Test design printTest design print
Test design print
 
Test management
Test managementTest management
Test management
 
Урок 7. Проблемы выявления 64-битных ошибок
Урок 7. Проблемы выявления 64-битных ошибокУрок 7. Проблемы выявления 64-битных ошибок
Урок 7. Проблемы выявления 64-битных ошибок
 
Unit тесты java
Unit тесты javaUnit тесты java
Unit тесты java
 
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
 
Unit tests ru
Unit tests ruUnit tests ru
Unit tests ru
 

Mva stf module 2 - 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. 02 | Методологии тестирования ПО
  • 4. 2.1 Техники тестирования 2.2 Уровни тестирования 2.3 Типы тестов Обзор
  • 5. 02 | Методологии тестирования ПО 2.1 Техники тестирования
  • 6. Обзор раздела В этом разделе будут рассмотрены следующие вопросы: – Техники тестирования. Темы: ручное тестирование, автоматизированное тестирование, тестирование черный и белый ящики.
  • 7. Основные вопросы Что такое ручное тестирование? Какие преимущества автоматизированного тестирования? Чем отличается тестирование черного ящика от тестирования белого ящика?
  • 8. Ручное тестирование Первый опыт тестирования мы получаем во время изучения программирования: попробуй и посмотри как это работает. Это самый простой подход называют ручным тестированием. При ручном тестировании тестер играет роль пользователя и проверяет есть ли какое-либо неожиданное или нежелательное поведение приложения. Часто, используют план тестов со специфическими тестовыми случаями для обеспечения тщательного исследования проекта. Тестер может быть или не быть частью команды разработчиков.
  • 9. Автоматизированное тестирование Автоматизованное тестирование проводится с применением тестового программного обеспечения (такого, как Microsoft® Test Manager в Microsoft Visual Studio®) для контроля и отслеживания одного или более автоматически исполняемых тестов. Автоматизованные тесты могут быть созданы и сконфигурированы каждый раз для новой версии проекта (или части исходного кода). Microsoft Test Manager предоставляет детальный отчет о результатах каждого автоматического теста.
  • 10. Ручное или автоматизированное тестирование Ручные и автоматизированные тесты дополняют друг друга; оба типа тестов важны для обеспечения высокого качества программного обеспечения. Автоматизация является быстрой и позволяет проверить поведение ПО на различных исходных данных; оно также позволяет повторять тесты во время развития проекта. В связи с тем, что выполнение тестов производиться на компьютере, усталость и ошибки, которые иногда сопровождаются при выполнении повторяющихся задач исключаются. Не смотря на то, что ручные тесты обычно более длительны (т.к. они выполняются человеком), они часто требуют намного
  • 11. Тестирование черного ящика (Black box) Тестирование черного ящика связано с отсутствием информации/знаний о том как работает тестируемая система. Этот тип тестирования имитирует работу конечного пользователя. В общем случае, тестер не знает как работает код – он выполняет ввод и изучает результат. Этот человек не обязательно должен знать программирование. Примерный сценарий тестирования черного ящика включает:  Тестирование, что пользовательский интерфейс содержит все требования и функционал.  Тестирование различных входных параметров (включаю ввод выходящих за ожидаемый диапазон данных, таких, как ввод отрицательного числа для веса).  Нагрузочное или стрессовое тестирование системы.  Тестирование безопасности проекта или системы.
  • 12. Тестирование белого ящика (White Box) Также известный как стеклянный ящик, чистый ящик или открытый ящик. Это тестирования связано с исследованием кода на потенциальные сценарии отказа или сбоя. Тестовые случаи создаются тем, кто анализирует код приложения и подготавливает тесты для обеспечения что поведение класса соответствует спецификации. Сценарий тестирования белого ящика предусматривает:  Тестирование подпрограмм которые используются “за сценой.”  Тестирование циклов и условий на точность.  Тестирование производительности кода или алгоритма
  • 13. Видео Простое воспроизведение ошибок с помощью ручного тестирования http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and- Ultimate-Overview-RUS/Visual-Studio-Ultimate-2012-Easily- reproducing-issues-through-manual-testing-RUS
  • 14.
  • 15. Вопросы раздела  Что такое ручное тестирование?  В чем преимущество автоматизированного тестирования?  Чем отличается тестирование черного ящика от тестирования белого ящика?
  • 16. 2.2 Уровни тестирования 02 | Методологии тестирования
  • 17. Обзор раздела В этом разделе будут рассмотрено: – Модульное тестирование – Компонентное и интеграционное тестирование
  • 18. Главные вопросы Как называется уровень тестирования, когда разработчик тестирует отдельный метод? Что такое интеграционное тестирование? Какое другое название для интеграционных тестов?
  • 19. Модульное тестирование (Unit Testing) Модульные тесты это автоматизированные тесы, которые проверяют функциональность на уровне компонентов, классов, методов или уровне собственности. Основная цель модульного тестирования является в том, чтобы взять небольшую часть тестируемого приложения, изолировать ее от остального кода и выяснить является ли ее поведение таким как ожидается. Каждый модуль тестируется отдельно перед интегрированием его в компоненты для тестирования интерфейса между модулями. Модульные тесты должны быть написаны перед тем (или в
  • 20. Пример модульного теста Рассмотрим пример мобильного приложения которое принимает рост и вес человека, затем рассчитывает индекс массы тела (ИМТ) и затем дает рекомендации для улучшения здоровья и спортивной формы. Индекс массы рассчитывается используя высоту в дюймах, но пользователь ввел футы и дюймы (например, 5’6”). Модульный тес будет включать тестовый метод или функцию которая конвертирует футы и дюймы в общие дюймы. Метод, которые рассчитывает индекс массы с весом и общие дюймы может быть другим модульным тестом.  Отметим, что модульные тесты покрывают код который не обязательно видимый для пользователя, он, возможно, не осознают, что высота будет конвертирована.
  • 21. Компонентное и интеграционное тестирование С точки зрения тестирования, индивидуальные модули интегрируются вместе для формированию больших компонент. В простейшем случае, два модуля, которые уже протестированы объединяют в интегрированный компонент и тестируют интерфейс между ними. Это тестирование называют интеграционное (или “компонентное тестирования”). Интеграционное тестирование выявляет проблемы которые проявляются при объединении модулей. Новые ошибки, которые появляются скорее всего связаны с интерфейсами между модулями чем с самими модулями – это упрощает
  • 22. Пример интеграционного теста В нашем примере вычисления индекса массы тела, предположим, что мы написали метод конвертирования роста человека в дюймы и что мы написали отдельный метод который использует соответствующую формулу для вычисления ИМТ. Когда мы пишем третий метод который получает пользовательский ввод, вызывает метод конвертации и использует результат для вызова метода расчета , нам необходимо выполнить интеграционный тест между этими частями кода.
  • 23. Вопросы раздела  Как называется когда разработчик тестирует отдельный метод?  Что такое интегрированные тесты?  Какое другое название интегрирующих тестов?
  • 24. 2.3 Типы тестирования 02 | Методологии тестирования ПО
  • 25. Обзор раздела В этом разделе будет рассмотрено следующее: – Типы тестов – Тема включает: Функциональный Производительности Регрессионный Безопасности Стрессовый Доступности Удобства использования Тестирование локализации
  • 26. Основные вопросы Что такое регрессия в разработке программного обеспечения? Какой пример ситуации которая может нагрузить программную систему? Какой из типов тестов помогает обеспечить поддержку пользователей с ограниченными возможностями?
  • 27. Регрессионное тестирование При изменениях в проекте возможно что существующий код не будет работать или ранее не выявленные баги начнут проявлять себя. Этот тип багов называют регрессионными. Для перехвата этих ошибок, целый проект должен пройти регрессионные тесты: полностью повторное тестирование измененной программы предпочтительнее чем тестирование только измененных модулей, что гарантирует отсутствие ошибок с изменениями.
  • 28. Стрессовое тестирование Тестирование в небольших масштабах, например один пользователь работающий с веб-приложением или базой данных, только ручной ввод, не может выявить проблемы, которые могут появиться при использовании приложения в условиях реальной нагрузки, в «реальном мире». Нагрузочное тестирование выявляет функциональные ограничения системы. Это реализуется путем создания экстремального воздействия, таких как большой объем данных или одновременно большое количество пользователей.  Эти тесты также называют нагрузочными так как тестируют систему при тяжелых нагрузках. Автоматизация теста позволяет выполнить тяжелы стрессовые тесты с минимальными трудозатратами.
  • 29. Тесты производительности Тестирование производительности определяет отзывчивость, производительность, надежность, и/или масштабируемости системы, в рамках данной рабочей нагрузки. Для веб приложений, тестирование производительности часто тесно связано с стресс тестированием, измеряющим задержку (lag) и отзывчивость под нагрузкой. Для других приложений (десктопных и мобильных, например), тест производительности измеряет скорость и использование ресурсов таких, как память и жесткий диск.
  • 30. Видео Нагрузочное тестирование приложений в Visual Studio http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and- Ultimate-Overview-RUS/Visual-Studio-Ultimate-2012-Load-testing- applications-in-Visual-Studio-RUS
  • 31.
  • 32. Тестирование безопасности Тест безопасности проверяет службы безопасности приложения и выявляет потенциальные проблемы с безопасностью. Большинство проектов в использует подход черного ящика для тестирования безопасности, позволяющий экспертам по безопасности, которым не известен код приложения исследовать его на дыры и недостатки.
  • 33. Тестирование удобства использования Тестирование удобства использования исследует то, как реальные пользователи на самом деле используют ПО. Например:  Измеряется как долго для пользователя может занять выполнение задания.  Отслеживание как много “кликов” или пользовательских действий занимает для выполнения задания или доступ к функции.
  • 34. Тестирование локализации Локализация переводит ГПИ продукта и иногда изменяет некоторые начальные настройки для того, что бы приложение было подходящим для другого региона.  Например, локализованный проект для Великобритании может изменить язык на английский и единицы измерения, например, длинны на дюймы или футы. Тестирование локализации позволяет проверить качество локализации продукта для определенной целевой культуры/локали. Это тестирование сфокусировано на ГПИ и других областях связанных с локализацией (установка и обновление в локализованной среде, совместимость железа основанного на целевом регионе и т.д.).
  • 35. Тестирование доступности Проверяет поддержку для пользователей с ограниченными возможностями. Тестирование доступности может включать:  Соответствие: Соответствует ли оно требованиям законодательства?  Эффективность: Могут ли пользователи с ограниченными возможностями использовать приложение?  Полезность: Предоставляет ли приложение адекватную функциональность для пользователей с ограниченными возможностями?  Удовлетворенность: Как приложение воспринимается пользователями с ограниченными возможностями? Тестирование доступности может включать в себя тесты на удобство использования для инвалидов с применением вспомогательных технологических устройств.
  • 36. Видео Простое тестирование пользовательских интерфейсов с помощью закодированных тестов пользовательского интерфейса http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and- Ultimate-Overview-RUS/Visual-Studio-Ultimate-2012-Easily-testing- user-interfaces-with-Coded-UI-tests-RUS
  • 37.
  • 38. Вопросы раздела  Что такое регрессия при разработке программного обеспечения?  Какой пример ситуации которая может привести программную систему в стрессовое состояние?  Какой тип тестирования помогает убедится в поддержке пользователей с ограниченными вомзожностями?
  • 39. Дополнительные ресурсы к этой лекции MSDN Software Testing Resources Testing Process for Application Blocks http://msdn.microsoft.com/en- us/library/ff649517.aspx Black Box & White Box Testing for Application Blocks http://msdn.microsoft.com/en- us/library/ff649503.aspx Patterns and Practices: Manual System Tests http://msdn.microsoft.com/en- us/library/jj159334.aspx Test Early and Often http://msdn.microsoft.com/en- us/library/vstudio/ee330950.aspx Unit Testing http://msdn.microsoft.com/en- us/library/aa292197.aspx Unit Testing: Testing the Inside http://msdn.microsoft.com/en- us/library/jj159340.aspx Integration Testing http://msdn.microsoft.com/en- us/library/aa292128.aspx Unit testing, component level testing and UI testing, what to use and when http://blogs.msdn.com/b/raulperez/archive /2010/04/29/unit-testing- component- level-testing-and-ui-testing-what-to-use- and-when.aspx Regression Testing http://blogs.msdn.com/b/narendra_parihar s_blog/archive/2012/04/20/regression- testing.aspx Performance and Stress Testing http://msdn.microsoft.com/library/dd2935 40.aspx Security Testing http://msdn.microsoft.com/en- us/library/aa292190.aspx Localization Testing http://msdn.microsoft.com/en- us/library/aa292138.aspx Testing a User Interface (UI) http://msdn.microsoft.com/en- us/library/windows/desktop/ff728827.aspx

Editor's Notes

  1. 1
  2. 3
  3. Unit tests are automated tests that verify functionality at the component, class, method, or property level. The primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the remainder of the code, and determine whether it behaves exactly as you expect. Each unit is tested separately before integrating them into components to test the interfaces between units. Unit tests should be written before (or very soon after) a method is written. Often, developers building the class or method designs the unit test themselves.