Тестирование Инструменты и методики
О докладчике Татьяна Дурова: Тестировщик «ЦВТ» Удгу 2011 прикладная информатика в дизайне Опыт 3 средних проекта, 4 больших проекта (в том числе стартапы) юзабилити тестирование планирование, отчетность, тест-дизайн. Постановка процесса тестирования, внедрение багтреккера;
Цель доклада Вы поймете процесс тестирования Узнаете, как быстро «познать» продукт Освоите техники проектирования тестов Узнаете о полезных плагинах для браузера И даже почувствуете себя разработчиком тестов!
Термины и определения Тестирование - это проверка реализации продукта на соответствие требованиям (ожиданиям) заказчика(клиента) Баг - причина, приводящая к дефектам; несоответствие реализации ожиданием клиента (пользователя, заказчика); Чек-лист - простой список того, что нужно не забыть протестировать; План тестирования - подробный перечень всего того, что нужно для проведения тестирования чего-то, план действий с техническими подробностями. Размер тест-плана зависит от методологии, команды, проекта, заказчика. Тест-кейс - список шагов для проверки реализации некой функциональности. Может содержать постусловия, предусловия, требования к системе и другие данные.
Процесс тестирования цель тестирования => тест план => тест-дизайн => настройка конфигурации => запуск тестов => отчётность, анализ результатов
ТЕСТ-ПЛАН Когда нужен и для чего? -Когда проект командный и есть заказчик, чтобы закрыть задницу, учесть всё, согласовать с заказчиком, с разработчиками, с админами, слаженная работа. Что включает? Ответы на вопросы: что надо тестировать – какой объект? что будем тестировать – какие функции, компоненты? как будем тестировать – какие виды, методики? когда будем тестировать – какой у нас процесс? Когда начинаем и когда заканчиваем тестить?
Тест-дизайн Черный ящик
Классы эквивалентности Виды тестовых сценариев Позитивные сценарии Негативные сценарии Граничные сценарии Исследовательские сценарии: «А что должно быть если…»
Классы эквивалентности Два теста считаются эквивалентными если они настолько похожи, что проводить оба бессмысленно. Если тест с некоторым значением из данного класса эквивалентности обнаруживает ошибку, то было бы разумно ожидать обнаружения той же ошибки тестом с любым другим значением из данного класса эквивалентности.
Пример: – Программа складывает два целых числа – Каждое из слагаемых – не более чем целое двузначное число – Программа запрашивает у пользователя два числа и выводит результат
Классы эквивалентности Какие еще сущности можно разбивать на классы эквивалентности? числа символы количество (записей в БД, строк) длина строки размер файла объем памяти разрешение экрана версии операционной системы, библиотек объем передаваемых данных
Минусы классов эквивалентности
Решение избытка информации Использовать техники тест-дизайна: Orthogonal Arrays Testing - на потом! Orthogonal Arrays Testing State-Transition Testing -не сейчас! State-Transition Testing Decision Table Testing - рассмотрим позже! Decision Table Testing Boundary Value Testing - тоже затронули! Boundary Value Testing Equivalence Class Testing - только что было! Equivalence Class Testing Allpairs Algorithm testing – ПОГНАЛИ!Allpairs Algorithm testing
Тестирование всех пар Каждое значение хотя бы единожды сочетается с каждым другим значением. Применяется для компактной комбинации параметров: – ОС, браузеры, переключатели и др, среды, другие параметры Пусть есть три параметра: 1.Пол – { м, ж } 2.Возраст { 0-24, 25 – 60, 60+ } 3.Дети { есть, нет } Тогда перебор всех параметров = 2*3*2 = 12 комбинаций
Пары значений Все уникальные пары значений параметров – 6 комбинаций! полвозрастдети 1мужчинадо 25детей нет 2женщинадо 25дети есть 3мужчина25-60дети есть 4женщина25-60детей нет 5мужчинастарше 60детей нет 6женщинастарше 60дети есть
Пары значений: инструмент PICT Model.txt: SEX: Male, Female Age: Under 25, 25-60, Older than 60 Children: Yes, No
Пары значений: инструмент PICT Вывод и сохранение тест кейсов в Excel: C:\Program Files\PICT>pict Model.txt > example.xls
Пары значений: инструмент PICT Дополнительные возможности: +Пары, триплеты, квандранты… +Группировка параметров в подмодели с отдельным порядком комбинации +Условия и ограничения на отдельные параметры +Создание отдельной группы тестов для не-валидных значений; +Генерация с учетом предпочтений и весов разных комбинаций; Скачивать тут: msdn.microsoft.com/en-us/testing/bb msdn.microsoft.com/en-us/testing/bb980925
Таблицы решений Компактное представления модели со сложной логикой Устанавливают связь между условиями и действиями УсловияВарианты выполнения условий ДействияНеобходимость действий Условия список возможных условий, Варианты выполнения условий комбинация из выполнения и/или невыполнения условий из этого списка. Действия список возможных действий, Необходимость действий указание надо или не надо выполнять
Таблица решений: несколько действий
Таблица решений: тест-кейсы + не бинарные условия
Таблица решений: как использовать? Для фиксирования требований Для описания дизайна приложения. Для описания бизнес логики приложения Как основа для тест-кейсов
ТЕСТ-ДИЗАЙН: на примере MS WORD Обсудим? Какие идеи? Что должны сделать тестировщики первым делом?
Что делает продукт?
С какими параметрами?
Какие значения проверять?
Проектируем тесты Для каждого действия отдельно, по-одиночке Учитывая взаимосвязи параметров Комбинирую значения параметров Достигая требуемый уровень покрытия
Проектируем тесты Проверим все значения хотя бы раз Проверим взаимосвязь всех полож-х значений Взаимосвязь только зависимых параметров Попарные проверки
Комбинируем проверки Рассмотрим сохранение документа в Word: Миним-м проверки: 4 позитивных + 3 негативных теста Максимальное покрытие: 288 тестов Все пары: 16 позитивных + 3 негативных
Пример: таблицы решений
Процесс тестирования, риски
Где вести? В TMS; В табличке docs.google.com; Стикеры на стенке; Любое общедоступное место! Что с ними делать? Игнорировать Единократно повторять Учитывать в картах продукта – Наиболее подходящее решение! Процесс тестирования, риски
Инструменты тестирования MS Test Manager – платный Jmeter – сложный, мощный, free Yslow – аддон к инструментам разработчика в браузере Jing! – скриншотинг и захват видео, можно рисовать стрелки, копировать
Для скриншотинга:
Jmeter - нагрузочное тестирование:
Nunit – автоматический запуск тестов:
Acunetix WEB - сканер уязвимостей:
YSLOW – скорость загрузки ресурсов
Dicter – контекстный переводчик При выделении текста, который необходимо перевести, используйте комбинацию клавиш Ctrl + Alt в любом месте Windows или любой запущенной программы.
Web developer – browser toolbar
OneNote создания быстрых заметок организации личной информации блокнот с иерархической организацией записей
Xenu – проверка ссылок
CookieSwap
Edit this cookie
FoxyProxy
Вопросы? Что почитать? software-testing.ru TDD testitquickly.com/ natalyarukol.ru habrahabr.ru/post/135776/ Контакты: Icq: Skype: whiteblond.