SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
Обеспечение
качества в
разработке ПО
Развенская Ксения и Влад Алюков
Предисловие
 В ВУЗах не уделяют внимания теме качества ПО
 Понимание необходимости тестировать продукт в лучшем
случае приходит с опытом

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

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

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

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

8
Структура
 5 лекций
 4 практических занятия
 2 рубежных контроля: 40/60 баллов
 Тестирование по материалу курса
 Зачет – 70 и более баллов

9
Введение
 Интернет – высококонкурентная среда
 Выживает сильнейший
 Качество – ключ к успеху

10
Качество
Первые определения
 Пригодность к использованию/fitness for use
Joseph Juran
 Соответствие требованиям/conformance to
requirements
Philip Crosby
 Оправдание ожиданий потребителя/meeting the
expectations of the customer
Armand Feigenbaum

…
11
Управление
качеством
Управление качеством
 Plan-Do-Check-Act (PDCA)
 Juran Trilogy (Трилогия Джурана)
 Six Sigma (Шесть сигм)
 Zero Defects (Ноль дефектов)
 Total Quality Control
 Kaizen (Кайдзен)
 …
13
PDCA
Plan – Do – Check – Act (PDCA) – цикл Шухарта, колесо Деминга. Разработан в
1930-х годах Уолтером Шухартом (Bell System) – «цикл улучшений Шухарта».
Концепция получила известность благодаря Эдварду Демингу, который в 1950х
годах активно пропагандировал ее в качестве основного способа повышения
качества.
Цикл состоит из 4 шагов:
•
•
•
•

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

14
Управление качеством
 Plan-Do-Check-Act (PDCA)
 Juran Trilogy (Трилогия Джурана)
 Six Sigma (Шесть сигм)
 Zero Defects (Ноль дефектов)
 Total Quality Control
 Kaizen (Кайдзен)
 …
15
Модели
качества (ПО)
Модели качества ПО
 Модель МакКола (McCall), 1977
 Модель Боема, 1978
 FURPS, 1987
 ISO 9126, 1991, 2001
 ГОСТ - 28806-90 (!)
 SQuaRE, ISO 25010, 2011
 …

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

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

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

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

Эксплуатация
продукта
Практичность Удобство Надежность Эффективность Целостность
18
Модели качества ПО
 Модель МакКола (McCall), 1977
 Модель Боема, 1978
 FURPS, 1987
 ISO 9126, 1991, 2001
 ГОСТ - 28806-90 (!)
 SQuaRE, ISO 25010, 2011
 …

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

функциональность (functionality)
надежность (reliability)
удобство использования (usability)
эффективность (efficiency)
сопровождаемость (maintainability)
мобильность (portability)
20
Модели качества ПО
 Модель МакКола (McCall), 1977
 Модель Боема, 1978
 FURPS, 1987
 ISO 9126, 1991, 2001
 ГОСТ - 28806-90 (!)
 SQuaRE, ISO 25010, 2011
 …

21
SQuaRE

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

23
И все-таки

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

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

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

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

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

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

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



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

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

“Verification: Are we building the product right?
Validation: Are we building the right product?”
B. Boehm

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

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

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

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

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

35
«Development Testing: A New Era In
Software Quality», 2011
В 2011 году компанией Forrester Consulting было проведено независимое
исследование «Тестирование на стадии разработки: новая эра в качестве ПО». Было
опрошено 250+ IT-менеджеров из более 200 компаний.

36
«Development Testing: A New Era In
Software Quality», 2011
Основные результаты:
 Значимость тестирования на стадии разработки значительно
возросла за последние 2 года.
 Чем дольше баги остаются не замеченными, тем выше их
стоимость.
 От разработчиков требуют быстрого внедрения новейших
технологий, при этом они не могут жертвовать качеством
ради скорости.
 Тестирование – одна из основных функций разработчика.
 Отсутствие сотрудничества между разработчиками и
тестировщиками увеличивает проектные риски.
37
«Development Testing: A New Era In
Software Quality», 2011
Почему тестировать код на стадии разработки сегодня наиболее важно?

38
«Development Testing: A New Era In
Software Quality», 2011
Рассматриваете ли вы тестирование как одну из
ключевых задач разработчика?

39
«Development Testing: A New Era In
Software Quality», 2011
Какие виды тестирования выполняются
разработчиками (в вашей компании)?

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

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

Ручное

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

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

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

Модульное

43
Виды тестирования
По цели тестирования:
 Smoke-тестирование (“дымовое”)
 Sanity-тестирование
 Приемочное тестирование (Acceptance testing)
 Регрессионное тестирование (Regression testing)
 Пользовательское тестирование (альфа- и бетатестирование)
44
Виды тестирования
По типу тестируемых характеристик:
 Функциональное (Functional)
 Нагрузочное тестирование, тестирование
производительности (Load, Performance, Stress, Volume)
 Безопасности и защищенности (Security)
 Удобства использования (Usability)
 …
45
Техники тестирования
На основе спецификации (Specification-based)
• На основе выбора входных данных/Доменное (Input Domain-based)
На основе кода (Code-based)
• Поток управления (control-flow)
• Поток данных (data-flow)
На основе модели (Model-based)
• Конечный автомат
• Таблица принятия решений
• Формальная спецификация
На основе интуиции и опыта
• Ad-hoc
• Исследовательское
• Прогнозирование ошибок
…
+ комбинации
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

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

49

Más contenido relacionado

La actualidad más candente

тестирование по
тестирование потестирование по
тестирование поIon Griu
 
Тестирование ПО (лекция 2)
Тестирование ПО (лекция 2)Тестирование ПО (лекция 2)
Тестирование ПО (лекция 2)Igor Khmelnytskyy
 
Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)Igor Khmelnytskyy
 
Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Igor Khmelnytskyy
 
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?SQALab
 
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...CUSTIS
 
Тестирование для не-тестировщиков
Тестирование для не-тестировщиковТестирование для не-тестировщиков
Тестирование для не-тестировщиковJulia Nechaeva
 
Requirements engineering. IREB practices
Requirements engineering. IREB practicesRequirements engineering. IREB practices
Requirements engineering. IREB practicesEugene Bulba
 
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
 
2.1 Тестирование: основные определения
2.1 Тестирование: основные определения2.1 Тестирование: основные определения
2.1 Тестирование: основные определенияNatalia Odegova
 
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionSqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionAlexei Lupan
 
Михаил Павлов - 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
 

La actualidad más candente (19)

тестирование по
тестирование потестирование по
тестирование по
 
Тестирование ПО (лекция 2)
Тестирование ПО (лекция 2)Тестирование ПО (лекция 2)
Тестирование ПО (лекция 2)
 
Istqb lesson 4
Istqb lesson 4Istqb lesson 4
Istqb lesson 4
 
Istqb lesson 6
Istqb lesson 6Istqb lesson 6
Istqb lesson 6
 
Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)
 
Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)
 
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?
 
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
 
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
 
Requirements engineering. IREB practices
Requirements engineering. IREB practicesRequirements engineering. IREB practices
Requirements engineering. IREB practices
 
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
 
2.1 Тестирование: основные определения
2.1 Тестирование: основные определения2.1 Тестирование: основные определения
2.1 Тестирование: основные определения
 
Tdd Workbook
Tdd WorkbookTdd Workbook
Tdd Workbook
 
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionSqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for quality
 

Destacado

Leccion 13 - ¡Para que no olvidemos! (Malaquias)
Leccion 13 - ¡Para que no olvidemos! (Malaquias)Leccion 13 - ¡Para que no olvidemos! (Malaquias)
Leccion 13 - ¡Para que no olvidemos! (Malaquias)adarmejear
 
Leccion 08 . Confiar en la bondad de Dios (Habacuc)
Leccion 08 . Confiar en la bondad de Dios (Habacuc)Leccion 08 . Confiar en la bondad de Dios (Habacuc)
Leccion 08 . Confiar en la bondad de Dios (Habacuc)adarmejear
 
Leccion 12 - El mejor don del cielo (Zacarias)
Leccion 12 - El mejor don del cielo (Zacarias)Leccion 12 - El mejor don del cielo (Zacarias)
Leccion 12 - El mejor don del cielo (Zacarias)adarmejear
 
Leccion 10 - ¡Las Primeas Cosas Primero! (Hageo)
Leccion 10 - ¡Las Primeas Cosas Primero! (Hageo)Leccion 10 - ¡Las Primeas Cosas Primero! (Hageo)
Leccion 10 - ¡Las Primeas Cosas Primero! (Hageo)adarmejear
 
Leccion 07 - El pueblo especial de Dios (Miqueas) - Complemento
Leccion 07 - El pueblo especial de Dios (Miqueas) - ComplementoLeccion 07 - El pueblo especial de Dios (Miqueas) - Complemento
Leccion 07 - El pueblo especial de Dios (Miqueas) - Complementoadarmejear
 

Destacado (6)

Saq412 11
Saq412 11Saq412 11
Saq412 11
 
Leccion 13 - ¡Para que no olvidemos! (Malaquias)
Leccion 13 - ¡Para que no olvidemos! (Malaquias)Leccion 13 - ¡Para que no olvidemos! (Malaquias)
Leccion 13 - ¡Para que no olvidemos! (Malaquias)
 
Leccion 08 . Confiar en la bondad de Dios (Habacuc)
Leccion 08 . Confiar en la bondad de Dios (Habacuc)Leccion 08 . Confiar en la bondad de Dios (Habacuc)
Leccion 08 . Confiar en la bondad de Dios (Habacuc)
 
Leccion 12 - El mejor don del cielo (Zacarias)
Leccion 12 - El mejor don del cielo (Zacarias)Leccion 12 - El mejor don del cielo (Zacarias)
Leccion 12 - El mejor don del cielo (Zacarias)
 
Leccion 10 - ¡Las Primeas Cosas Primero! (Hageo)
Leccion 10 - ¡Las Primeas Cosas Primero! (Hageo)Leccion 10 - ¡Las Primeas Cosas Primero! (Hageo)
Leccion 10 - ¡Las Primeas Cosas Primero! (Hageo)
 
Leccion 07 - El pueblo especial de Dios (Miqueas) - Complemento
Leccion 07 - El pueblo especial de Dios (Miqueas) - ComplementoLeccion 07 - El pueblo especial de Dios (Miqueas) - Complemento
Leccion 07 - El pueblo especial de Dios (Miqueas) - Complemento
 

Similar a Тестирование осень 2013 лекция 1

Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в ScrumDenis Petelin
 
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...COMAQA.BY
 
Test management
Test managementTest management
Test managementQA Guards
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...LuxoftTraining
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CICEE-SEC(R)
 
Trpo 12 управление качеством
Trpo 12 управление качествомTrpo 12 управление качеством
Trpo 12 управление качествомpogromskaya
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional testerVitebsk Miniq
 
Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?sqadays8
 
Отвечает ли тестировщик за качество?
Отвечает ли тестировщик за качество?Отвечает ли тестировщик за качество?
Отвечает ли тестировщик за качество?SQALab
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rusMaxim Shaptala
 
Роли, в которые играют тестировщики
Роли, в которые играют тестировщикиРоли, в которые играют тестировщики
Роли, в которые играют тестировщикиSQALab
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...Alex V. Petrov
 
Роман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизньРоман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизнь_itcampus
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rusMaxim Shaptala
 
Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Technopark
 
Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Evgeniy Krivosheev
 
Проблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийПроблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийTatyanazaxarova
 

Similar a Тестирование осень 2013 лекция 1 (20)

Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
01ka-nov
01ka-nov01ka-nov
01ka-nov
 
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
 
Test management
Test managementTest management
Test management
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
 
Trpo 12 управление качеством
Trpo 12 управление качествомTrpo 12 управление качеством
Trpo 12 управление качеством
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional tester
 
Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?
 
Отвечает ли тестировщик за качество?
Отвечает ли тестировщик за качество?Отвечает ли тестировщик за качество?
Отвечает ли тестировщик за качество?
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rus
 
Роли, в которые играют тестировщики
Роли, в которые играют тестировщикиРоли, в которые играют тестировщики
Роли, в которые играют тестировщики
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
 
Роман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизньРоман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизнь
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
 
Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3Тестирование осень 2013 лекция 3
Тестирование осень 2013 лекция 3
 
Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"
 
Testing
TestingTesting
Testing
 
Проблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложенийПроблемы тестирования 64-битных приложений
Проблемы тестирования 64-битных приложений
 

Más 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
 

Más 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-зап...
 

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

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