Илья Кацев: Анализ данных для поиска ошибок
description
Transcript of Илья Кацев: Анализ данных для поиска ошибок
Анализ данных для поиска ошибок
Илья Кацев Тестовая среда, 30.11.2013
План доклада
Какие бывают ошибки? Принцип работы МТ
Описание Примеры
Проект Роботестер http://habrahabr.ru/company/yandex/blog/182976/
Какие бывают ошибки?
Какие бывают ошибки?
Какие бывают ошибки?
Почему это ошибка?
Общая схема
Однотипные страницы
Общая схема
Однотипные страницы ê
условие
Общая схема
Однотипные страницы ê
условие (которое выполняется для 99.8% страниц)
Все строки разные
Цены – есть в продаже
Есть хоть что-то
Общая схема работы
1. Строим правила на основе страниц из production
2. Проверяем правила на странице в testing
Блоки
Блоки
Блоки
Блоки
Блоки
Блоки
Блоки
Блоки
Непостоянный xpath
/html/body/div[1]/table[2]/tbody/tr/td[2]/div[2]/ul/li[5]/span/a
Непостоянный xpath
/html/body/div[1]/table[2]/tbody/tr/td[2]/div[2]/ul/li[3]/span/a
Упрощенный xpath
/html/body/div[1]/table[2]/tbody/tr/td[2]/div[2]/ul/li[3]/span/a
Упрощенный xpath
/html/body/div/table/tbody/tr/td/ div/ul/li/span/a
Упрощенный xpath
/html/body/div/table/tbody/tr/td/ div/ul/li/span/a
ipath <body> <div class="b-max-width"> <table class="l-head"> <tbody> <tr> <td class="l-head__c"> <div class="b-head-search" onclick="return {name:'b-head-search'}"> <div class="b-head-search__wrap b-head-search__arrow"> <form class="b-search"> <table class="b-search__table"> <tbody> <tr> <td class="b-search__input"> <span class="b-form-input b-form-input_is-bem_yes b-form-input_size_16 i-bem" onclick="return {'b-form-input':{name:'b-form-input'}}"> <span class="b-form-input__box"> <input class="b-form-input__input" maxlength="400" tabindex="1" type="text"
Убираем атрибуты
id,name,href,for,retpath,action,src
Похожие блоки
/html/body/div/table/tbody/tr/td/ div/ul/li/span/a
Очень похожие блоки
Модель
Модель = набор правил
1. Блок А всегда есть 2. Если есть блок А, то есть и блок Б 3. Блок А всегда содержит нечто 4. Текст удовлетворяет условию
Условия на текст
Тексты ê
Регулярка
Условия на текст
Условия на текст
Пример отчета
Общая схема работы
1. Строим модели на основе страниц из production
2. Сравниваем страницу (testing) с подходящей моделью
Общая схема работы
1. Роботестер попадает на страницу 2. Html-код страницы посылается МТ 3. Подбираем подходящую модель 4. Сравниваем
Найденные ошибки
Найденные ошибки
Найденные ошибки
Найденные ошибки
Турецкий Маркет
Турецкий Маркет
0 автотестов написано людьми Автоматически найдено 10 багов, из них 5 блокеров
Будущее
1. Оценка моделей
2. Отчет о результатах
3. «Контентные блоки»
Контентные блоки
49
Вопросы!