Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Как научить робота
   тестировать
 Web-интерфейс
  Артем Ерошенко, Илья Кацев




                 1
2
2
3
Проверки вне
     контекста
Cсылки
Картинки
JavaSript
Верстка
Формы
            4
Проверки вне
     контекста
Cсылки
Картинки
JavaSript
Верстка
Формы
            4
5
Автоматизация




      6
Эволюция




   7
Эволюция




   7
spidy
  8
spidy
  8
Обход




  9
Ограничения обхода




        10
Ограничения обхода




        10
Проверки




   11
Проверки вне
     контекста
Cсылки
Картинки
JavaSript
Верстка
Формы
            12
Универсальные тесты

Cсылки
Картинки
JavaSript
Верстка

            13
Извлечение ссылок
<a href=”...”>...</a>
          <script src=”...”></script>
<img src=”...” />
          <link rel=”...” src=”...”/>
background-image: url(path)
                    14
Тестирование ссылок

status code

redirect


              15
Тестирование ссылок

                   content-type
status code
                   content-length
redirect
                   content-encoding


              15
Универсальные тесты

Cсылки
Картинки
JavaSript
Верстка

            16
Извлечение картинок

    <img src=”...” />

   <style>...</style>


            17
Тестирование




x
  картинок




     18
Универсальные тесты

Cсылки
Картинки
JavaSript
Верстка

            19
Извлечение скриптов

 <script src=”...”></script>

 <script>...</script>


              20
Тестирование
       скриптов

доступность
 синтаксис
мертвый код
              21
Универсальные тесты

Cсылки
Картинки
JavaSript
Верстка

            22
Извлечение стилей

<link rel=”stylesheet” src=”...”/>

       <style>...</style>


                 23
Тестирование стилей

доступность
 синтаксис
мертвый код
              24
Специфичные тесты




        25
Специфичные тесты



favicon



           25
Специфичные тесты



favicon   404



                25
Специфичные тесты



favicon   404        robots.txt



                25
Специфичные тесты



favicon   404        robots.txt     title


                                  и еще...
                25
Настройки системы


              авторизация

прокси


         26
Покрытие




   27
Ограничения spidy


разбор статической html-страницы
нет поддержки разных браузеров



               28
spidy-man
    29
spidy-man
    29
30
Prototype
    30
Keen
            eye sight




Prototype
    30
Keen
                       eye sight

A ctive
ac tions




           Prototype
               30
Keen
                       eye sight

A ctive
ac tions


                       Tester’s
                        Heart
           Prototype
               30
Поведение человека




        31
Новые возможности

Формы
Верстка
JavaScript


             32
Анализ               Генерация Тесты

 link                     link   link



 form    Contoller        form   form



  js                       js     js


                     33
Анализ
           адрес
         страницы
анализ              Contoller
          схема
         данных




              34
Генерация

               схема
              данных           генерация
Contoller
            ограничения                    data




                          35
Тестирование

 генерация                       тесты
                    data

а это делают люди          это обычные тесты




                     36
Новые возможности

Формы
Верстка
JavaScript


             37
Сложность




    38
Сложность
bla-bla-bla




              bla-bla-bla
click!        bla-bla-bla




                  38
Результат?


44,800,000
сценариев!

             39
Действия человека




        40
Действия человека




        40
Человек эффективнее

в 16,000 раз

          2800
        сценариев
          41
Человек эффективнее

в 16,000 раз

          2800
        сценариев
          41
Человек эффективнее

в 16,000 раз

          2800
        сценариев
          41
Анализ    Генерация   Проведение
страницы    данных       тестов




               42
Определение формы




        43
Определение формы

     form

        43
Определение формы



    js:ajax
        43
Определение формы




 js:dynamic
        43
Анализ    Генерация   Проведение
страницы    данных       тестов




               44
Оптимальная
 генерация




     45
Ограничение
по ресурсам




     46
Количество вариантов
Выпад.  список         Фиксированное
Чекбокс                количество
Радио  кнопка          вариантов


Text  input            Количество  вариантов
Выбор  даты            задается  тестером

                       47
Анализ    Генерация   Проведение
страницы    данных       тестов




               48
Универсальные
  проверки




      49
Универсальные
  проверки




      49
Универсальные
  проверки




      49
Универсальные
  проверки




      49
Универсальные
  проверки




      49
Специфичные формы




        50
Специфичные формы




        51
Новые возможности

Формы
Верстка
JavaScript


             52
Действия человека




        53
Действия человека




        53
Анализ    Генерация   Проведение
страницы    данных       тестов




               54
Координаты блоков

position.x
position.y

  width
 height


              55
Анализ    Генерация   Проведение
страницы    данных       тестов




               56
Типы отношений
границы блока      относительное расположение




          выравнивание


                   57
Типы отношений
границы блока      относительное расположение




          выравнивание


                   57
Полнота проверок

 бинарные
отношения

      гибкие проверки

        58
Анализ    Генерация   Проведение
страницы    данных       тестов




               59
Изменение размера




        60
Изменение размера




        60
Разные браузеры




       61
Разные браузеры




       61
Новые возможности

Формы
Верстка
JavaScript


             62
Анализ JavaScript

обнаружени форм

анализа зависимых
    элементов




                    63
Тестирование
  JavaScript




     64
Подкрутить




    65
Окончание загрузки
    страници
        66
Множество элементов
   на странице
         67
68
mr. Spider
    69
mr. Spider
    69
Интеллектище!

Статистика и обучение
Проверки flash, html5
Глубокий анализ JavaScript




                   70
Артем Ерошенко
eroshenkoam@yandex-team.ru


Илья Кацев
bromozel@yandex-team.ru




             71

More Related Content

Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Яндекс