Введение в QA (Quality Assurance)
О чем этот доклад? 2
Кто тестирует программы? 3
ВЫ! 4
Разработчики Тестировщики 5
"Если программа не делает того, чего пользователь от нее вполне обосновано ожидает, значит налицо программная ошибка” Myers и Beizer 6
Как устроена разработка? И когда дело доходит до тестирования? 7
Команда 8
Who is who? 9
10
Без системы контроля версий жизни нет!
Скриншот из hg 12
Что можно протестировать? 13
Тестирование бывает … - UI -модульное - функциональное - нагрузочное 14
Юзабилити тестирование 15
Покрытие исходного кода тестами - Atlassian Clover - Emma Jcover - в VS есть встроенное решение 16
17
Генерирование модульных тестов Pex – разработка Microsoft Research 18
Полезные ссылки по Pex: - http: //www. techdays. ru/videos/3614. html - http: //research. microsoft. com/pex 19
Нагрузочное тестирование 20
Функциональное тестирование 21
Цель тест-дизайна: Уменьшить количество тестов и время тестирования без ухудшения тестового покрытия. 22
другой тип тестирования 23
Карты тестирования (Mind. Map) 24
Техники тестирования: 1. Анализ границ 2. Классы эквивалентности 25
Анализ Граничных Значений (Boundary Value Analysis - BVA) Пусть есть интервал значений [1, 10]. Для позитивного тестирования выберем min и max границы (1 и 10), и значения больше и меньше границ (0 и 11). 26
Границы бывают: - физические - логические - произвольные (придуманные аналитиками) - технологические (5460 символов – max для инпута в Windows, 4 Кб – max длина Getзапроса) 27
Эквивалентное разделение (Equivalence Partitioning - EP) В нашем примере, вы должны выбрать одно верное значение внутри интервала, скажем, 5, и одно неверное значение вне интервала - 0. 28
Попарное тестирование Пример: пусть мы хотим проверить фунциональность программы по записи дисков. Рассмотрим список параметров. 29
Параметры 30
CD DVD 31
32
Инструменты 1. All. Pairs Metacommunication 2. Microsoft PICT 3. pairwise. org 33
Автоматизация тестирования Selenium 34
Selenium - это HTTP-сервер, написанный на java. Он принимает команды в текстовом формате. Причем, можно как набирать команды в "серверной консоли", так и посылать их, подсоедившись к порту 4444. 35
Идентифицируем сессию cmd=get. New. Browser. Session&1=*iexplore& 2=http: //www. google. ru 36
Selenium умеет 1. запускать браузер 2. исполнять в нем различные действия: 2. 1. клик на кнопку 2. 2. поиск элемента страницы по ID 2. 3. ожидание загрузки страницы 37
тестовый сценарий набор действий набор Se-команд выполнение команд в рамках одной сессии 38
Что нужно, чтобы тесты были красивыми? 39
Демонстрация 40
Спасибо за внимание! 41