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