SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Обеспечение
качества в
разработке ПО
Развенская Ксения и Влад Алюков
Предисловие
 В ВУЗах не уделяют внимания теме качества ПО
 Понимание необходимости тестировать продукт в лучшем
случае приходит с опытом

2
Опрос разработчиков Поиска

3
Цели курса
Качество – это важно
Обеспечение качества – общая задача
Как повысить качество разработки

4
Профит
 Знания и навыки, востребованные в сфере IT
 Привлекательность для работодателей

5
О чем курс
Расскажем:
 Какие виды тестирования есть, когда применяются
 Как выбирать тесты, чтобы они находили ошибки
Научим:
 Автоматизировать функциональное тестирование
 Писать хорошие юнит-тесты

 Проводить нагрузочные испытания
 Организовывать непрерывное тестирование
6
О чем мы не расскажем
Об организации процесса ручного тестирования
О




тестовой документации:
составлении тест-планов
описании тест-кейсов
построении отчетов о тестировании

О подробностях всех методологий тестирования

7
Структура








8
Введение
 Интернет – высококонкурентная среда
 Выживает сильнейший

 Качество – ключ к успеху

9
Качество
Первые определения
 Пригодность к использованию/fitness for use
Joseph Juran
 Соответствие требованиям/conformance to
requirements

Philip Crosby
 Оправдание ожиданий потребителя/meeting the
expectations of the customer
Armand Feigenbaum

…
10
Управление
качеством
Управление качеством
 Plan-Do-Check-Act (PDCA)
 Juran Trilogy (Трилогия Джурана)
 Six Sigma (Шесть сигм)

 Zero Defects (Ноль дефектов)
 Total Quality Control

 Kaizen (Кайдзен)
 …
12
PDCA
Plan – Do – Check – Act (PDCA) – цикл Шухарта, колесо Деминга. Разработан в
1930-х годах Уолтером Шухартом (Bell System) – «цикл улучшений Шухарта».
Концепция получила известность благодаря Эдварду Демингу, который в 1950х
годах активно пропагандировал ее в качестве основного способа повышения
качества.
Цикл состоит из 4 шагов:

•
•
•
•

Планирование
Реализация
Проверка
Реакция

13
Управление качеством
 Plan-Do-Check-Act (PDCA)
 Juran Trilogy (Трилогия Джурана)
 Six Sigma (Шесть сигм)

 Zero Defects (Ноль дефектов)
 Total Quality Control

 Kaizen (Кайдзен)
 …
14
Модели
качества (ПО)
Модели качества ПО
 Модель МакКола (McCall), 1977
 Модель Боема, 1978

 FURPS, 1987
 ISO 9126, 1991, 2001

 ГОСТ - 28806-90 (!)
 SQuaRE, ISO 25010, 2011
 …

16
Модели качества ПО, McCall 1977
Характеристики качества:
• Факторы
• Критерии
• Метрики
Сопровождаемость
Гибкость
Тестопригодность

Переносимость
Переиспользуемость
Способность к взаимодействию

Переработка
продукта

Внедрение
продукта

Эксплуатация
продукта
Практичность Удобство Надежность Эффективность Целостность
17
Модели качества ПО
 Модель МакКола (McCall), 1977
 Модель Боема, 1978

 FURPS, 1987
 ISO 9126, 1991, 2001

 ГОСТ - 28806-90 (!)
 SQuaRE, ISO 25010, 2011
 …

18
ГОСТ
Качество программного средства:
Совокупность свойств программного средства, которые
обусловливают его пригодность удовлетворять заданные или
подразумеваемые потребности в соответствии с его назначением.







функциональность (functionality)
надежность (reliability)
удобство использования (usability)
эффективность (efficiency)
сопровождаемость (maintainability)
мобильность (portability)
19
Модели качества ПО
 Модель МакКола (McCall), 1977
 Модель Боема, 1978

 FURPS, 1987
 ISO 9126, 1991, 2001

 ГОСТ - 28806-90 (!)
 SQuaRE, ISO 25010, 2011
 …

20
SQuaRE

21
Про стандарты

22
И все-таки

Quality – is value to some person.. *
Gerald Weinberg
*У каждого – свое представление о качестве.

23
Тестирование
Тестирование, ISO
Тестирование — это наблюдение за
функционированием ПО в специфических условиях с
целью определения степени соответствия ПО
требованиям к нему (ISO, 1990 г).
ISO/IEC 29119 Software Testing – новый стандарт,
2011 год.

25
Тестирование, ISO
Тестирование — это наблюдение за
функционированием ПО в специфических условиях с
целью определения степени соответствия ПО
требованиям к нему (ISO, 1990 г).

НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ

ISO/IEC 29119 Software Testing – новый стандарт,
2011 год.

26
Тестирование
 Процесс выполнения программы с намерением
обнаружить ошибки (Глен Майерс, 1979).
 Техническое исследование, которое проводится с целью
предоставить заинтересованным лицам информацию о
качестве тестируемого продукта (Сэм Канер, 1999).
 Проверка соответствия реального поведения системы
ожидаемому, осуществляемая на конечном наборе
тестов, выбранным определенным образом (SWEBOK,
2004).
27
QA – QC - Тестирование
 Обеспечение качества (Quality Assurance, (S)QA) –
деятельность по разработке, внедрению, оценке и
усовершенствованию процессов, способствующих созданию
качественного продукта (на всех этапах создания ПО).
 Контроль качества (Quality Control, QC) – совокупность
видов деятельности, направленных на оценку качества
выпускаемого продукта и выявление расхождений с
требованиями к нему.
 Тестирование (Testing) – тестирование, каким мы хотим
его видеть, по сути и должно являться контролем
качества.

28
Верификация и валидация


Верификация – проверка соответствия характеристик продукта заданным
требованиям, результатом является вывод о соответствии (или несоответствии).





Статические методы (ex. код-ревью)
Динамические методы (ex. тестирование)

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

“Verification: Are we building the product
right?
Validation: Are we building the right
product?”
B. Boehm
29
Цели тестирования
Поиск ошибок

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

30
Development testing
Development Testing (Тестирование на стадии разработки) –
процессы и методы в разработке ПО, направленные на раннее
обнаружение дефектов и повышение качества кода.

31
Зачем разработчикам
уметь тестировать
 Чтобы писать более качественный код
 Вовремя завершать проекты по разработке ПО

 Выпускать в продакшн качественное ПО, даже если
на проекте недостаточно или нет тестировщиков
 Чтобы понимать специалистов по тестированию

32
Кривая Боема

33
Кривая Боема

34
В 2011 году компанией Forrester Consulting было проведено независимое
исследование «Тестирование на стадии разработки: новая эра в качестве ПО». Было
опрошено 250+ IT-менеджеров из более 200 компаний.

35
Основные результаты:
 Значимость тестирования на стадии разработки значительно
возросла за последние 2 года.
 Чем дольше баги остаются не замеченными, тем выше их
стоимость.
 От разработчиков требуют быстрого внедрения новейших
технологий, при этом они не могут жертвовать качеством
ради скорости.
 Тестирование – одна из основных функций разработчика.
 Отсутствие сотрудничества между разработчиками и
тестировщиками увеличивает проектные риски.
36
Почему тестировать код на стадии разработки сегодня наиболее важно?

37
Рассматриваете ли вы тестирование как одну из
ключевых задач разработчика?

38
Какие виды тестирования выполняются
разработчиками (в вашей компании)?

39
Виды
тестирования
Стратегии тестирования
 Тестирование черного ящика/Black-box Testing/DataDriven

 Тестирование белого ящика (стеклянного,
прозрачного)/Структурное тестирование/Whitebox/Glass-box
 Тестирование серого ящика/Greybox/Комбинированное

41
Виды тестирования
По объекту тестирования:
 Модульное тестирование

Ручное

(Unit-testing)

 Интеграционное тестирование
(Integration testing)

Системное
Интеграционное

 Системное тестирование
(System testing)

Модульное

42
Виды тестирования
По цели тестирования:
 Smoke-тестирование (“дымовое”)

 Sanity-тестирование
 Приемочное тестирование (Acceptance testing)
 Регрессионное тестирование (Regression testing)
 Пользовательское тестирование (альфа- и бетатестирование)
43
Виды тестирования
По типу тестируемых характеристик:
 Функциональное (Functional)
 Нагрузочное тестирование, тестирование
производительности (Load, Performance, Stress, Volume)
 Безопасности и защищенности (Security)

 Удобства использования (Usability)
 …
44
Техники тестирования
На основе спецификации (Specification-based)
• На основе выбора входных данных/Доменное (Input Domain-based)
На основе кода (Code-based)
• Поток управления (control-flow)
• Поток данных (data-flow)

На основе модели (Model-based)
• Конечный автомат
• Таблица принятия решений
• Формальная спецификация
На основе интуиции и опыта
• Ad-hoc
• Исследовательское
• Прогнозирование ошибок
…
+ комбинации
45
В следующей лекции
 Какой ты тестировщик?
 Вся правда о тестовом покрытии

 Как выбрать тест-кейсы, чтобы обнаружить баги
 Критерии завершения тестирования

46
Материалы
1. Сэм Канер, Джек Фолк, Енг Кек Нгуен “Тестирование программного
обеспечения”
2. Г. Майерс “Искусство тестирования программ”, 3-е издание
3. International Organization for Standardization. Software Engineering—
Product Quality—Part 1: Quality Model. ISO, Geneva, Switzerland, 2001.
ISO/IEC 9126-1:2001(E).
4. Software Quality Models and Philosophies
http://www.bth.se/com/besq.nsf/(WebFiles)/CF1C3230DB425EDCC1257069
00317C44/$FILE/chapter_1.pdf
5. SWEBOK 2004 http://www.computer.org/portal/web/swebok/htmlformat
6. http://www.testingeducation.org/BBST/foundations/
7. Forrester Consulting, “Development Testing: A New Era In Software
Quality”
8. http://www.intuit.ru/department/se/testing/3/2.html

47
Спасибо за внимание!
Развенская Ксения,
k.razvenskaya@corp.mail.ru

48

Mais conteúdo relacionado

Mais procurados

Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Igor Khmelnytskyy
 
Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестированияAlexander Solosh
 
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?SQALab
 
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...CUSTIS
 
Requirements engineering. IREB practices
Requirements engineering. IREB practicesRequirements engineering. IREB practices
Requirements engineering. IREB practicesEugene Bulba
 
Тестирование для не-тестировщиков
Тестирование для не-тестировщиковТестирование для не-тестировщиков
Тестирование для не-тестировщиковJulia Nechaeva
 
2.1 Тестирование: основные определения
2.1 Тестирование: основные определения2.1 Тестирование: основные определения
2.1 Тестирование: основные определенияNatalia Odegova
 
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineProcess Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineSergiy Povolyashko, PMP
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityAlexei Lupan
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional testerVitebsk Miniq
 
Теория тестирования, часть 1
Теория тестирования, часть 1 Теория тестирования, часть 1
Теория тестирования, часть 1 DressTester
 

Mais procurados (20)

Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)
 
Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестирования
 
Istqb lesson 3
Istqb lesson 3Istqb lesson 3
Istqb lesson 3
 
Test management print
Test management printTest management print
Test management print
 
Istqb lesson 4
Istqb lesson 4Istqb lesson 4
Istqb lesson 4
 
Istqb lesson 6
Istqb lesson 6Istqb lesson 6
Istqb lesson 6
 
Istqb lesson 1
Istqb lesson 1Istqb lesson 1
Istqb lesson 1
 
Istqb lesson 5
Istqb lesson 5Istqb lesson 5
Istqb lesson 5
 
Istqb lesson 2
Istqb lesson 2Istqb lesson 2
Istqb lesson 2
 
Test design print
Test design printTest design print
Test design print
 
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?
 
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
 
Requirements engineering. IREB practices
Requirements engineering. IREB practicesRequirements engineering. IREB practices
Requirements engineering. IREB practices
 
Тестирование для не-тестировщиков
Тестирование для не-тестировщиковТестирование для не-тестировщиков
Тестирование для не-тестировщиков
 
2.1 Тестирование: основные определения
2.1 Тестирование: основные определения2.1 Тестирование: основные определения
2.1 Тестирование: основные определения
 
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineProcess Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
 
Tdd Workbook
Tdd WorkbookTdd Workbook
Tdd Workbook
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for quality
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional tester
 
Теория тестирования, часть 1
Теория тестирования, часть 1 Теория тестирования, часть 1
Теория тестирования, часть 1
 

Semelhante a Тестирование весна 2014 лекция 1

Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Test management
Test managementTest management
Test managementQA Guards
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rusMaxim Shaptala
 
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...COMAQA.BY
 
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...Zestranec
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CICEE-SEC(R)
 
Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Technopark
 
Отвечает ли тестировщик за качество?
Отвечает ли тестировщик за качество?Отвечает ли тестировщик за качество?
Отвечает ли тестировщик за качество?SQALab
 
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыSQALab
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rusMaxim Shaptala
 
Trpo 12 управление качеством
Trpo 12 управление качествомTrpo 12 управление качеством
Trpo 12 управление качествомpogromskaya
 
Организация процесса тестирования в Agile команде с помощью квадрантов тестир...
Организация процесса тестирования в Agile команде с помощью квадрантов тестир...Организация процесса тестирования в Agile команде с помощью квадрантов тестир...
Организация процесса тестирования в Agile команде с помощью квадрантов тестир...SQALab
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаYana Brodetski
 
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...Julia Kryuchkova
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиковUladzimir Kryvenka
 
Роман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизньРоман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизнь_itcampus
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 

Semelhante a Тестирование весна 2014 лекция 1 (20)

Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Test management
Test managementTest management
Test management
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
 
Testing
TestingTesting
Testing
 
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
 
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
Организация процесса тестирования в Agile команде с помощью матрицы квадранто...
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
 
Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3
 
Отвечает ли тестировщик за качество?
Отвечает ли тестировщик за качество?Отвечает ли тестировщик за качество?
Отвечает ли тестировщик за качество?
 
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rus
 
01ka-nov
01ka-nov01ka-nov
01ka-nov
 
Trpo 12 управление качеством
Trpo 12 управление качествомTrpo 12 управление качеством
Trpo 12 управление качеством
 
Организация процесса тестирования в Agile команде с помощью квадрантов тестир...
Организация процесса тестирования в Agile команде с помощью квадрантов тестир...Организация процесса тестирования в Agile команде с помощью квадрантов тестир...
Организация процесса тестирования в Agile команде с помощью квадрантов тестир...
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проекта
 
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
Внедрение юзабилити практик в процесс разработки ПО в соответствии с СMMI - д...
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиков
 
Роман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизньРоман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизнь
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 

Mais de Technopark

Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelTechnopark
 
Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuTechnopark
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARNTechnopark
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. SparkTechnopark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache MahoutTechnopark
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeperTechnopark
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveTechnopark
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Technopark
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Technopark
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Technopark
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSTechnopark
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы HadoopTechnopark
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceTechnopark
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...Technopark
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"Technopark
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"Technopark
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"Technopark
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"Technopark
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...Technopark
 

Mais de Technopark (20)

Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель Pregel
 
Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.Ru
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARN
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. Spark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache Mahout
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeper
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и Hive
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFS
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы Hadoop
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduce
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
 

Тестирование весна 2014 лекция 1

  • 2. Предисловие  В ВУЗах не уделяют внимания теме качества ПО  Понимание необходимости тестировать продукт в лучшем случае приходит с опытом 2
  • 4. Цели курса Качество – это важно Обеспечение качества – общая задача Как повысить качество разработки 4
  • 5. Профит  Знания и навыки, востребованные в сфере IT  Привлекательность для работодателей 5
  • 6. О чем курс Расскажем:  Какие виды тестирования есть, когда применяются  Как выбирать тесты, чтобы они находили ошибки Научим:  Автоматизировать функциональное тестирование  Писать хорошие юнит-тесты  Проводить нагрузочные испытания  Организовывать непрерывное тестирование 6
  • 7. О чем мы не расскажем Об организации процесса ручного тестирования О    тестовой документации: составлении тест-планов описании тест-кейсов построении отчетов о тестировании О подробностях всех методологий тестирования 7
  • 9. Введение  Интернет – высококонкурентная среда  Выживает сильнейший  Качество – ключ к успеху 9
  • 10. Качество Первые определения  Пригодность к использованию/fitness for use Joseph Juran  Соответствие требованиям/conformance to requirements Philip Crosby  Оправдание ожиданий потребителя/meeting the expectations of the customer Armand Feigenbaum … 10
  • 12. Управление качеством  Plan-Do-Check-Act (PDCA)  Juran Trilogy (Трилогия Джурана)  Six Sigma (Шесть сигм)  Zero Defects (Ноль дефектов)  Total Quality Control  Kaizen (Кайдзен)  … 12
  • 13. PDCA Plan – Do – Check – Act (PDCA) – цикл Шухарта, колесо Деминга. Разработан в 1930-х годах Уолтером Шухартом (Bell System) – «цикл улучшений Шухарта». Концепция получила известность благодаря Эдварду Демингу, который в 1950х годах активно пропагандировал ее в качестве основного способа повышения качества. Цикл состоит из 4 шагов: • • • • Планирование Реализация Проверка Реакция 13
  • 14. Управление качеством  Plan-Do-Check-Act (PDCA)  Juran Trilogy (Трилогия Джурана)  Six Sigma (Шесть сигм)  Zero Defects (Ноль дефектов)  Total Quality Control  Kaizen (Кайдзен)  … 14
  • 16. Модели качества ПО  Модель МакКола (McCall), 1977  Модель Боема, 1978  FURPS, 1987  ISO 9126, 1991, 2001  ГОСТ - 28806-90 (!)  SQuaRE, ISO 25010, 2011  … 16
  • 17. Модели качества ПО, McCall 1977 Характеристики качества: • Факторы • Критерии • Метрики Сопровождаемость Гибкость Тестопригодность Переносимость Переиспользуемость Способность к взаимодействию Переработка продукта Внедрение продукта Эксплуатация продукта Практичность Удобство Надежность Эффективность Целостность 17
  • 18. Модели качества ПО  Модель МакКола (McCall), 1977  Модель Боема, 1978  FURPS, 1987  ISO 9126, 1991, 2001  ГОСТ - 28806-90 (!)  SQuaRE, ISO 25010, 2011  … 18
  • 19. ГОСТ Качество программного средства: Совокупность свойств программного средства, которые обусловливают его пригодность удовлетворять заданные или подразумеваемые потребности в соответствии с его назначением.       функциональность (functionality) надежность (reliability) удобство использования (usability) эффективность (efficiency) сопровождаемость (maintainability) мобильность (portability) 19
  • 20. Модели качества ПО  Модель МакКола (McCall), 1977  Модель Боема, 1978  FURPS, 1987  ISO 9126, 1991, 2001  ГОСТ - 28806-90 (!)  SQuaRE, ISO 25010, 2011  … 20
  • 23. И все-таки Quality – is value to some person.. * Gerald Weinberg *У каждого – свое представление о качестве. 23
  • 25. Тестирование, ISO Тестирование — это наблюдение за функционированием ПО в специфических условиях с целью определения степени соответствия ПО требованиям к нему (ISO, 1990 г). ISO/IEC 29119 Software Testing – новый стандарт, 2011 год. 25
  • 26. Тестирование, ISO Тестирование — это наблюдение за функционированием ПО в специфических условиях с целью определения степени соответствия ПО требованиям к нему (ISO, 1990 г). НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ ISO/IEC 29119 Software Testing – новый стандарт, 2011 год. 26
  • 27. Тестирование  Процесс выполнения программы с намерением обнаружить ошибки (Глен Майерс, 1979).  Техническое исследование, которое проводится с целью предоставить заинтересованным лицам информацию о качестве тестируемого продукта (Сэм Канер, 1999).  Проверка соответствия реального поведения системы ожидаемому, осуществляемая на конечном наборе тестов, выбранным определенным образом (SWEBOK, 2004). 27
  • 28. QA – QC - Тестирование  Обеспечение качества (Quality Assurance, (S)QA) – деятельность по разработке, внедрению, оценке и усовершенствованию процессов, способствующих созданию качественного продукта (на всех этапах создания ПО).  Контроль качества (Quality Control, QC) – совокупность видов деятельности, направленных на оценку качества выпускаемого продукта и выявление расхождений с требованиями к нему.  Тестирование (Testing) – тестирование, каким мы хотим его видеть, по сути и должно являться контролем качества. 28
  • 29. Верификация и валидация  Верификация – проверка соответствия характеристик продукта заданным требованиям, результатом является вывод о соответствии (или несоответствии).    Статические методы (ex. код-ревью) Динамические методы (ex. тестирование) Валидация - анализ заданных областей применения продукта и оценка соответствия характеристик продукта этим условиям. “Verification: Are we building the product right? Validation: Are we building the right product?” B. Boehm 29
  • 30. Цели тестирования Поиск ошибок Оценка качества ПО Обеспечение стабильного развития системы 30
  • 31. Development testing Development Testing (Тестирование на стадии разработки) – процессы и методы в разработке ПО, направленные на раннее обнаружение дефектов и повышение качества кода. 31
  • 32. Зачем разработчикам уметь тестировать  Чтобы писать более качественный код  Вовремя завершать проекты по разработке ПО  Выпускать в продакшн качественное ПО, даже если на проекте недостаточно или нет тестировщиков  Чтобы понимать специалистов по тестированию 32
  • 35. В 2011 году компанией Forrester Consulting было проведено независимое исследование «Тестирование на стадии разработки: новая эра в качестве ПО». Было опрошено 250+ IT-менеджеров из более 200 компаний. 35
  • 36. Основные результаты:  Значимость тестирования на стадии разработки значительно возросла за последние 2 года.  Чем дольше баги остаются не замеченными, тем выше их стоимость.  От разработчиков требуют быстрого внедрения новейших технологий, при этом они не могут жертвовать качеством ради скорости.  Тестирование – одна из основных функций разработчика.  Отсутствие сотрудничества между разработчиками и тестировщиками увеличивает проектные риски. 36
  • 37. Почему тестировать код на стадии разработки сегодня наиболее важно? 37
  • 38. Рассматриваете ли вы тестирование как одну из ключевых задач разработчика? 38
  • 39. Какие виды тестирования выполняются разработчиками (в вашей компании)? 39
  • 41. Стратегии тестирования  Тестирование черного ящика/Black-box Testing/DataDriven  Тестирование белого ящика (стеклянного, прозрачного)/Структурное тестирование/Whitebox/Glass-box  Тестирование серого ящика/Greybox/Комбинированное 41
  • 42. Виды тестирования По объекту тестирования:  Модульное тестирование Ручное (Unit-testing)  Интеграционное тестирование (Integration testing) Системное Интеграционное  Системное тестирование (System testing) Модульное 42
  • 43. Виды тестирования По цели тестирования:  Smoke-тестирование (“дымовое”)  Sanity-тестирование  Приемочное тестирование (Acceptance testing)  Регрессионное тестирование (Regression testing)  Пользовательское тестирование (альфа- и бетатестирование) 43
  • 44. Виды тестирования По типу тестируемых характеристик:  Функциональное (Functional)  Нагрузочное тестирование, тестирование производительности (Load, Performance, Stress, Volume)  Безопасности и защищенности (Security)  Удобства использования (Usability)  … 44
  • 45. Техники тестирования На основе спецификации (Specification-based) • На основе выбора входных данных/Доменное (Input Domain-based) На основе кода (Code-based) • Поток управления (control-flow) • Поток данных (data-flow) На основе модели (Model-based) • Конечный автомат • Таблица принятия решений • Формальная спецификация На основе интуиции и опыта • Ad-hoc • Исследовательское • Прогнозирование ошибок … + комбинации 45
  • 46. В следующей лекции  Какой ты тестировщик?  Вся правда о тестовом покрытии  Как выбрать тест-кейсы, чтобы обнаружить баги  Критерии завершения тестирования 46
  • 47. Материалы 1. Сэм Канер, Джек Фолк, Енг Кек Нгуен “Тестирование программного обеспечения” 2. Г. Майерс “Искусство тестирования программ”, 3-е издание 3. International Organization for Standardization. Software Engineering— Product Quality—Part 1: Quality Model. ISO, Geneva, Switzerland, 2001. ISO/IEC 9126-1:2001(E). 4. Software Quality Models and Philosophies http://www.bth.se/com/besq.nsf/(WebFiles)/CF1C3230DB425EDCC1257069 00317C44/$FILE/chapter_1.pdf 5. SWEBOK 2004 http://www.computer.org/portal/web/swebok/htmlformat 6. http://www.testingeducation.org/BBST/foundations/ 7. Forrester Consulting, “Development Testing: A New Era In Software Quality” 8. http://www.intuit.ru/department/se/testing/3/2.html 47
  • 48. Спасибо за внимание! Развенская Ксения, k.razvenskaya@corp.mail.ru 48