Upload
julia-nechaeva
View
5.526
Download
1
Embed Size (px)
DESCRIPTION
Вебинар "Тестирование для не-тестировщиков", организатор - УЦ Люксофт, 19 ноября 2009
Citation preview
Тестирование для не-тестировщиков
Простые мысли про высокое
Юлия Нечаева
Кто я?
• Тестировщик• Тест-менеджер____________________Опыт 4 года
• Инструктор• Активный участник конференций
2
О чем вебинар
1. Что такое тестирование?2. Зачем нужно тестировать?3. Кто должен тестировать?
3
О чем вебинар
1. Что такое тестирование?2. Зачем нужно тестировать?3. Кто должен тестировать?
Цель: не научить, а натолкнуть вас на мысли.
4
План рассказа
1. ЧТО? Тестирование.2. ЗАЧЕМ? Цели тестирования.3. КТО? Кто должен тестировать?
Сравнивайте и делайте выводы!
5
1. Что? Тестирование.
6
1.1. Вид сверху. Определения.
Определение 0: «Качество – это соответствие ожиданиям заказчика (пользователя).»
(Филипп Крухтен)
7
1.1. Вид сверху. Определения.
Определение 0: «Качество – это соответствие ожиданиям заказчика (пользователя).»
(Филипп Крухтен)
В итоге, всё-таки, пользователя.
8
1.1. Вид сверху. Определения.
Определение 1: «Тестирование программного обеспечения — процесс выявления ошибок в программном обеспечении »
(Википедия)
9
1.1. Вид сверху. Определения.
Определение 1: «Тестирование программного обеспечения — процесс выявления ошибок в программном обеспечении »
(Википедия) Куча вопросов: - Каких ошибок? - До каких пор мы будем их выявлять? - Сколько их должно быть? - Каким образом мы должны их выявлять? - … … … 10
1.1. Вид сверху. Определения.
Определение 2: «Правильное определение тестирования таково: Тестирование — процесс выполнения программы с намерением найти ошибки.»
(Интернет)
11
1.1. Вид сверху. Определения.
Определение 2: «Правильное определение тестирования таково: Тестирование — процесс выполнения программы с намерением найти ошибки.»
(Интернет) Содержит не цель, а намерение.
12
1.1. Вид сверху. Определения.
Определение 3. «Тестирование – это сверка реализации со спецификацией.»
(Народное творчество)
13
1.1. Вид сверху. Определения.
Определение 3. «Тестирование – это сверка реализации со спецификацией.»
(Народное творчество)
Где здесь ожидания пользователя?
14
1.1. Вид сверху. Определения.
Определение 4: «Тестирование программного обеспечения - проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом.
(IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004)
15
1.1. Вид сверху. Определения.
Определение 4: «Тестирование программного обеспечения - проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом.
(IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004)
Содержит в себе и цель, и метод.16
1.1. Вид сверху. Определения.
Определение 5: «Тестирование – это процесс позволяющий определить корректность, полноту и качество разработанного программного продукта.
(тестировщики.ру)
Достаточно просто и правдиво.
17
1.1. Вид сверху. Определения.
Определение 5: «Тестирование – это процесс позволяющий определить корректность, полноту и качество разработанного программного продукта.
(тестировщики.ру)
Достаточно просто и правдиво.
Нельзя слепо следовать определениям.
18
1.2. Взгляд разработчика на тестирование.
• «Подчистка» за разработчиком• Поиск ошибок• Вынесено, потому что у нас: - нет времени - нет сил - нет желания - недостойное занятие
19
1.2. Взгляд разработчика на тестирование.
• «Подчистка» за разработчиком• Поиск ошибок• Вынесено, потому что у нас: - нет времени - нет сил - нет желания - недостойное занятие
Торчит хвост определения 1.
20
1.3. Взгляд тестировщика на тестирование.
• Без нас никуда: - у них не тот склад ума - нельзя тестировать свою работу - не смотрят, как пользователь
• При недоверии к разработчикам полное доверие аналитикам
- спецификация – это Библия
21
1.3. Взгляд тестировщика на тестирование.
• Без нас никуда: - у них не тот склад ума - нельзя тестировать свою работу - не смотрят, как пользователь
• При недоверии к разработчикам полное доверие аналитикам
- спецификация – это Библия
Видны происки определений 2 и 3.
22
1.4. Взгляд менеджера на тестирование.
• Редко влазит: - ставит лишь задачу и сроки
• А лучше бы влезал: - бизнес-область - приоритеты - демонстрация
23
1.4. Взгляд менеджера на тестирование.
• Редко влазит: - ставит лишь задачу и сроки
• А лучше бы влезал: - бизнес-область - приоритеты - демонстрация
Вообще не знает определений. Может и к лучшему.
24
1.5. Взгляд руководителя на тестирование.
• Считает, что внедрение тестирование повысит качество само по себе
25
1.5. Взгляд руководителя на тестирование.
• Считает, что внедрение тестирование повысит качество само по себе
В компанию к менеджеру. Книжки читать.
26
1.6. Взгляд программного продукта
27
1.6. Взгляд программного продукта
Вот, кто всё знает, только сказать не может.
28
1.7. Промежуточные выводы.
• Тестирование – это не обеспечение качества, а всего лишь его контроль
• На качество влияет, что делает команда с полученными показателями
• Для улучшения ситуации надо понимать, что сейчас?
29
1.7. Промежуточные выводы.
• Тестирование – это не обеспечение качества, а всего лишь его контроль
• На качество влияет, что делает команда с полученными показателями
• Для улучшения ситуации надо понимать, что сейчас?
У всей команды должно быть одно видение тестирования.
30
1.8. Тестирование. Какое?
• Не нашли или нашли мало ошибок. Плохое?
- а если это последний релиз-кандидат? - а если это приемочный тест?
31
1.8. Тестирование. Какое?
• Нашли много или очень много ошибок. Хорошее?
- тогда разработка плохая? - а если раз за разом?
32
1.8. Тестирование. Какое?
• Весь код (все требования) покрыты тестами. Полное?
- а как быть с невыявленными требованиями?
33
1.8. Тестирование. Какое?
• Не весь код (не все требования) покрыты. Разное покрытие
Недостаточное?
- недостаточное для чего?
34
1.8. Тестирование. Какое?
• Не весь код (не все требования) покрыты. Разное покрытие
Недостаточное?
- недостаточное для чего?
Слепое навешивание ярлыков –это плохо.
Можно промахнуться.
35
1.9. Тестирование. Сколько?
• Бойтесь голых метрик• Метрика – это лишь сигнал
36
1.9. Тестирование. Сколько?
• Бойтесь голых метрик• Метрика – это лишь сигналВсего лишь сигнал, что надо идти и
копать.
37
1.10. Тестирование. Что же?
• Тестирование – это часть процесса разработки ПО, которое в совокупности с действиями остальной проектной команды помогает повысить качество ПП
• Само по себе может: - измерить - подтвердить - опровергнуть
38
1.10. Тестирование. Что же?
• Тестирование – это часть процесса разработки ПО, которое в совокупности с действиями остальной проектной команды помогает повысить качество ПП
• Само по себе может: - измерить - подтвердить - опровергнуть
Главный вопрос: ЗАЧЕМ?
39
2. Зачем? Цели.
40
2.1. Цели. Классификация.
• По объекту (что тестируем)• По субъекту (кто тестирует)
41
2.2. Цели по объекту
• Уровень 1 – часть приложения (модуль, экран, функциональность)
- поиск ошибок в требованиях (на тестируемость) - поиск ошибок в реализации - проверка работоспособности - оценка удобства - измерение характеристик - проверка тезиса - … … …
42
2.2. Цели по объекту
• Уровень 2 – приложение в целом - поиск ошибок в требованиях - поиск ошибок в реализации - проверка работоспособности - оценка удобства - измерение характеристик - проверка способности к интеграции - проверка устойчивости, восстанавливаемости ,
стабильности, надежности - … … …
43
2.2. Цели по объекту
• Уровень 3 - продукт (идея, среда обитания, задачи и потребности пользователей, конкурентная ситуация и рынок, маркетинговые задачи и задачи бизнеса и т.п.)
Продукт <> приложение
44
2.2. Цели по объекту
• Уровень 3 - продукт (идея, среда обитания, задачи и потребности пользователей, конкурентная ситуация и рынок, маркетинговые задачи и задачи бизнеса и т.п.)
Продукт <> приложение
Тестировщики здесь редкие гости. К сожалению.
45
2.2. Цели по объекту
• Уровень 3 – продукт - актуальность - своевременность - окупаемость - привлекательность для аудитории - удобство для аудитории - позиционирование на рынке - соответствие требованиям бизнеса - … … … 46
2.2. Цели по объекту
• Уровень 3 – продукт - актуальность - своевременность - окупаемость - привлекательность для аудитории - удобство для аудитории - позиционирование на рынке - соответствие требованиям бизнеса - … … …
Вот где оно, обеспечение качества.
47
2.3. Цели по субъекту
• Уровень 1 – тестировщик - поиск ошибок - сверка со спецификацией - измерение характеристик - контроль реакции на результаты - слежение за не-ухудшением - резолюция о состоянии - … … …
48
2.3. Цели по субъекту
• Уровень 1 – тестировщик - поиск ошибок - сверка со спецификацией - измерение характеристик - контроль реакции на результаты - слежение за не-ухудшением - резолюция о состоянии - … … …
То есть, он выполняет программу на определенном наборе тестов для достижения поставленных
целей.
49
2.3. Цели по субъекту
• Уровень 2 – команда тестирования - разработка плана и стратегии - тестирование - резолюция о состоянии - коммуникация - носитель информации - носитель экспертизы - … … …
50
2.3. Цели по субъекту
• Уровень 2 – команда тестирования - разработка плана и стратегии - тестирование - резолюция о состоянии - коммуникация - носитель информации - носитель экспертизы - … … …
То есть, здесь определяется тот набор тестов, который
максимально эффективно поможет достичь цели.
51
2.3. Цели по субъекту
• Уровень 3 – команда разработки - создать качественный продукт
52
2.3. Цели по субъекту
• Уровень 3 – команда разработки - создать качественный продуктТестирование даёт картину
состояния.
53
2.3. Цели по субъекту
• Уровень 4 – команда продукта - идея - разработка - продвижение (внедрение) - лавры
54
2.3. Цели по субъекту
• Уровень 4 – команда продукта - идея - разработка - продвижение (внедрение) - лавры
Тестирование на этом уровне – часть разработки. Ирония судьбы.
55
2.4. Цели. Важность.
• Цели нужно ставить • В зависимости от целей меняются: - взгляды - подходы - действия - настроения• Цели должны быть прозрачными
56
2.4. Цели. Важность.
• Цели нужно ставить • В зависимости от целей меняются: - взгляды - подходы - действия - настроения• Цели должны быть прозрачными
Цели тестирования должны служить целям продукта.
57
2.5. Виды тестирования.
• Выбор в зависимости от целей
58
2.5. Виды тестирования.
• Выбор в зависимости от целей
Для максимальной эффективности.
59
2.5. Виды тестирования.
• Для целей уровня 1 (часть приложения): - методы тестирования требований - функциональное - нагрузочное - юзабилити - объемное
60
2.5. Виды тестирования.
• Для целей уровня 2 (приложение в целом): - методы тестирования требований - функциональное - нагрузочное - юзабилити - объемное, восстанавливаемости - надежности, стресс
61
2.5. Виды тестирования.
• Для целей уровня 3 (продукт): - методы анализа требований - постановка целей тестирования - приоритеты и детализация - критерии окончания тестирования - степень Good Enough - организация процесса тестирования - обеспечение реакции - разработка плана и стратегии 62
2.6. Стратегия тестирования.
• Составляется на основе целей• С ней должны быть ознакомлены все
участники разработки
63
2.6. Стратегия тестирования.
• Составляется на основе целей• С ней должны быть ознакомлены все
участники разработкиТеперь мы знаем что, зачем и как.
А кто же будет это делать?
64
3. Кто должен тестировать?
65
3.1. Тестировщики, конечно!
• У нас есть: - умения - навыки - опыт - знания - окружения - нам за это платят
66
3.2. Почему не разработчики?
«Мы и так пишем хороший код, давай покажу, что все работает».
• Не смотрит глазами пользователя• Не в курсе аудитории продукта• «Замыленный взгляд»
67
3.2. Почему не разработчики?
«Мы и так пишем хороший код, давай покажу, что все работает».
• Не смотрит глазами пользователя• Не в курсе аудитории продукта• «Замыленный взгляд»
Программисты должны программировать!
68
3.3. Почему не менеджер?
«Я же лучше всех знаю, чего хочет заказчик!»
• Не участник, а организатор процесса
69
3.3. Почему не менеджер?
«Я же лучше всех знаю, чего хочет заказчик!»
• Не участник, а организатор процессаОставьте менеджеру
менеджерово!
70
3.4. Почему же разработчики?
• Обнаружение дефектов на уровне кода
71
3.4. Почему же разработчики? Пример.
• Обнаружение дефектов на уровне кода
72
3.4. Почему же разработчики?
• Обнаружение дефектов на уровне кода• Смоук (приемочное) тестирование на
работоспособность билда• Тестирование требований на реализуемость
73
3.4. Почему же разработчики?
• Обнаружение дефектов на уровне кода• Смоук (приемочное) тестирование на
работоспособность билда• Тестирование требований на реализуемость
Вопреки всему.
74
3.4. Почему же менеджер?
• Обнаружение «жизненных» дефектов• Самые-пресамые невыявленные требования
75
3.4. Почему же менеджер? Пример.
• Обнаружение «жизненных» дефектов• Самые-пресамые невыявленные требования
Control Panel > Regional and Language Options > Advances > ‘Select a language to match the language version of the non-Unicode programs you want to use ’ 76
3.4. Почему же менеджер?
• Обнаружение «жизненных» дефектов• Самые-пресамые невыявленные требования
77
3.4. Почему же менеджер?
• Обнаружение «жизненных» дефектов• Самые-пресамые невыявленные требования
Пусть и он в поле поработает.
78
4. Заключение.
79
4.1. Магический треугольник.
80
Пользователи Команда
Бизнес
Качество
4.2. И всё-таки…
• Общее видение• Определение целей• Прозрачность целей• Сотрудничество в достижении
81
4.2. И всё-таки…
• Общее видение• Определение целей• Прозрачность целей• Сотрудничество в достижении
Умение пользоваться инструментом, даже при
высоком уровне умения с ним обращаться, неэффективно без понимания глобальных целей.
82
Спасибо.
• Вам• Люксофту• Моим учителям• Моим коллегам – тестировщикам,
разработчикам, менеджерам, руководителям. Они - тоже мои учителя.
• Пользователям
83
Контакты.
Я пишу: http://jnechaeva.blogspot.com
Я общаюсь: [email protected]
Skype: julia.nechaeva
ICQ: 315399166
84