mva stf module 1 - rus

25
Шаптала Максим | Компьютерная академия Шаг Тестирование ПО

Upload: maxim-shaptala

Post on 13-Feb-2017

389 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Mva stf module 1 - rus

Шаптала Максим | Компьютерная академия Шаг

Тестирование ПО

Page 2: Mva stf module 1 - rus

Тестирование ПО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 Управление тестовыми скриптами

Содержание курса

Page 3: Mva stf module 1 - rus

Click to edit Master subtitle style

01 | Основы тестирования ПО

Page 4: Mva stf module 1 - rus

1.1 Тестирование ПО1.2 Программные и «железные» компоненты1.3 Основы программирования1.4 Управление жизненным циклом приложения

Основы тестирования ПО - Обзор

Page 5: Mva stf module 1 - rus

01 | Основы тестирования ПО

1.1 Тестирование ПО1.2 Программные и железные компоненты

Page 6: Mva stf module 1 - rus

Обзор раздела

В этом разделе будут рассмотрены следующие вопросы:

– Оценка качества ПО и преимущество тестирования.– Отличительные особенности ОС, компьютерных сетей,

данных, «железа», ПО и их взаимодействия и зависимости.

Page 7: Mva stf module 1 - rus

Основные вопросы

Какова цель тестирования во время разработки программного обеспечения?

Как можно оценить качество программного обеспечения?

Какова роль операционной системы (ОС) в компьютерной системе?

Page 8: Mva stf module 1 - rus

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

Page 9: Mva stf module 1 - rus

Важность тестирования ПОСокращение стоимости разработки ПО.

Не выявленная и не решенная проблема при использовании программного обеспечения может быть в 40-100 раз дороже при решении чем выявленная проблема на ранней стадии во время разработки ПО.

Обеспечивает работу приложения именно так, как оно должно работать.Сокращение общей стоимости владения для конечных пользователей. Работает на компанию повышая ее авторитет на рынке.

Page 10: Mva stf module 1 - rus

Преимущества тестирования для конечных пользователейРаннее тестирование ПО позволяет улучшить удобство использования и надежность, а также снизить общую стоимость владения.

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

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

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

ПО которое хорошо оттестировано в конечном итоге приводит к увеличению удовлетворенности пользователей.

Page 11: Mva stf module 1 - rus

Оценка качества ПО

Существует множество различных метрик (стандартов измерений) для оценки ПО. В общем метрики включают:

Метрики производительности, такие как время затраченное на выполнение или количество памяти необходимое для приложения.

Метрики надежности, такие как общее количество багов или «плотность дефектов» которое определяются отношением количества багов на количество строк кода.

“Вы не можете управлять тем, что не можете измерить” –Lord Kelvin (1824-1907)

Page 12: Mva stf module 1 - rus

Понятие компьютерной системы«Железо» связано со всеми физическими элементами компьютерной системы. Пример, клавиатура, мышь, жесткий диск, процессор и т.д.ПО это данные и инструкции которые работают на компьютере.

Операционная система (ОС) это ПО которое контролирует распределением и использованием ресурсами «железа» такими как память, временем использования центрального процессора (ЦП), дисковым пространством и периферийными устройствами. ОС это основное ПО от которого зависит приложение.

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

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

Page 13: Mva stf module 1 - rus

Вопросы секции

Какова цель тестирования ПО во время его разработки?

Как можно оценить качество ПО?

Какова роль операционной системы (ОС) в компьютерной системе?

Page 14: Mva stf module 1 - rus

01 | Основы тестирования ПО1.3 Основы программирования1.4 Управление жизненным циклом приложения

Page 15: Mva stf module 1 - rus

Обзор раздела

В этом разделе будут рассмотрены следующие вопросы:

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

–Жизненный цикл приложения: agile, водопада,

жизненный цикл проектов и продуктов.

Page 16: Mva stf module 1 - rus

Основные вопросыЧто происходит когда интерпретируемое приложение создано и выполняется?

Какие наиболее общие типы данных?

В чем agile подход в разработке ПО отличается от модели водопада?

Page 17: Mva stf module 1 - rus

Компилируемые и интерпретируемые языкиКомпилируемые языки, как C++, преобразуют в машинный код (“native code”) который запускается прямо операционной системой.Интерпретируемые языки, включая C#, Visual Basic, Java компилируют в промежуточный код. Когда приложение выполняется, в это время компилятор транслирует промежуточный код в машинный.

Интерпретируемый код в общем случае “управляемый”— среда выполнения которая исполняет код управляет множеством низкоуровневых задач, таких как управление памятью и безопасность..

Интерпретируемые приложения в общем случае “управляемые”— среда выполнения которая исполнят код управляет множеством низкоуровневых задач, таких как управление памятью и безопасность.

Page 18: Mva stf module 1 - rus

Типы данных

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

Например, тип данных определенный как целое число (integer) или число с плавающей точкой (“десятичное” или дробное).

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

Например, тип данных строка (String) обычно включает метод для получения подстроки (substring).

Page 19: Mva stf module 1 - rus

Методология разработки ПОСуществует множество различных моделей для управления разработки ПО, каждый из которых имеет свои преимущества и недостатки.Обычно, их разделяют на две основные категории:

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

Итеративная разработка, в которой команда циклами выполняет одну часть проекта, затем выполняется другая часть и т.д.; это повторяется в быстром темпе пока весь проект не будет завершен.

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

Page 20: Mva stf module 1 - rus

Модель водопадаКак пример последовательной разработки рассмотрим модель водопада, названная так потому, что поток проходит через ряд фаз как вода каскадно стекает вниз в водопаде. Основные характеристики модели:

Команда начинает с детального (и, возможно, длительного) процесса проектирования, определяя требования к программе и дизайн системы для удовлетворения этих требований.

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

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

Поход водопада приводит к значительным временным затратам на проект и планирование; кодирование не начинается до того как детальный проект подготовлен.

Page 21: Mva stf module 1 - rus

Модель водопада

Page 22: Mva stf module 1 - rus

Agile модельПри agile разработке, ПО разрабатывается инкрементально, быстрыми циклами. В результате малых, инкрементальных выпусках, каждый релиз разрабатывается на базе предыдущей функциональности.Каждый релиз полностью тестируется, что гарантирует что все вопросы решаются в следующей итерации.Agile подчеркивает способность реагировать на изменения, чем на тщательное планирование. В то же время планирование все же важно, план это объект, который изменяется с разработкой проекта.В общем, проекты поставляются “рано и часто” и позволяет пользователю/заказчику возможность получить обратную связь что может повлиять на следующую итерацию.

Page 23: Mva stf module 1 - rus

Agile модель

Page 24: Mva stf module 1 - rus

Вопросы раздела

Что происходит когда интерпретируемое приложение собрано и выполняется?

Какие наиболее общие типы данных? Чем agile разработка отличается от водопадной

модели?

Page 25: Mva stf module 1 - rus

Дополнительные ресурсы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