ПРОСТАЯ АВТОМАТИЗАЦИЯ СЛОЖНЫХ ТЕСТОВ

Есть вещи, которые может протестировать только человек ... и Testo

Системные тесты - что это?

Системные тесты - это один из наиболее комплексных способов проверить работоспособность вашей программы. Это тестирование программы в тех условиях, в которых ей придётся работать. Проверьте, что Ваша программа работает при любых комбинациях внешних факторов, ведь то, что у Вас всё работает - не значит что будет работать у пользователя

Интеграция с oперационной системой

  • Работа в разных версиях ОС
  • Взаимодействие с драйверами и системными компонентами
  • Работа в условиях разграничения прав доступа
  • Взаимодействие с другими приложениями

  • Взаимодействие с антивирусами и фаерволлами
  • Интеграция плагинов в приложения
  • Проверка сложных конвейеров из приложений и сервисов
  • Проверка отказоустойчивости

  • Резервное копирование и восстановление
  • Сохранение результатов при перебоях питания
  • Функционирование при медленных сетевых соединениях
  • Разные конфигурации оборудования и сетей

  • Работа в условиях недостатка оперативной памяти
  • Взаимодействие распределенных приложений по сети
  • Адаптация к промежуточному сетевому оборудованию
  • Примеры системных тестов

    Посмотрите, какие сценарии можно автоматизировать с помощью платформы Testo. Все сценарии доступны на GitHub. Вы можете скачать их и запустить на своей машине.

    • Пример 1
    • Пример 2
    • Тестирование процесса установки и удаления программ

      Для данного примера мы написали "игрушечное" приложение MySuperApp и упаковали его в инсталлятор. Мы хотим убедиться, что инсталлятор корректно устанавливает и удаляет приложение, а также правильно записывает ключи в реестр. Все эти проверки мы автоматизировали и оформили в виде тестового сценария на языке Testo Lang.

      Открыть этот пример на GitHub
    • Тестирование взаимодействия приложения с операционной системой

      Для данного примера мы написали "игрушечное" приложение MySuperApp, которое показывет список пользователей в системе, а также умеет создавать новых пользователей. Мы хотим убедиться, что приложение MySuperApp корректно взаимодействует с операционной системой в различных ситуациях. Все эти проверки мы автоматизировали и оформили в виде тестового сценария на языке Testo Lang.

      Открыть этот пример на GitHub

    Простой язык с широкими возможностями

    Для удобного представления тестовых сценариев мы создали специализированный язык Testo Lang, который понятен не только программистам, но и тестировщикам.

    machine my_vm {
      ram: 1024Mb
      iso: "/opt/iso/ubuntu.iso"
    }
    

    Создавайте виртуальные машины всего парой строк

    Вы можете также указать такие параметры, как размер диска, количество ядер процессора и многие другие. Testo создаст виртуальную машину при запуске первого теста и будет следить за актуальностью её состояния.

    test my_first_test {
      my_vm {
        start
        mouse click "Install Ubuntu"
        wait "Welcome"
        press Enter
        ...
      }
    }

    Записывайте тесты с помощью простых команд

    В тестовом сценарии описывается, что Вы ожидаете увидеть на экране виртуальной машины и что необходимо сделать при появлении ожидаемых объектов. Вам доступен широкий спектр команд: от управления клавиатурой - до передачи файлов внутрь гостевой системы.

    test base_test {
      ...
    }
    
    test derived_test: base_test {
      ...
    }
    

    Организуйте Ваши тесты в иерархию

    Создавайте сложные тесты на основе более простых. При запуске производного теста платформа Testo автоматически приведёт систему к тому виду, в каком она находилась на момент окончания базового теста.

    Если тест может выполнить человек - сможет и Testo

    Testo позволяет имитировать действия, которые делает человек, сидящий за компьютером и пользующийся Вашей программой.

    • Клавиатура
    • Мышь
    • Plug-n-Play
    • Управление клавиатурой

      Платформа Testo предлагает различные возможности по управлению клавиатурой. Вы можете автоматизировать нажатие любых клавиш, в том числе - их комбинации. В случае, если Вам необходимо набрать текст на клавиатуре, то Вы можете воспользоваться командой type, которая подберёт нужную последовательность комбинаций клавиш за Вас.

      press LeftMeta+R
      type "notepad"
      press Enter
      type "Hello world!"
      press LeftAlt+F4
      press Right
      press Enter
    • Управление курсором мыши

      Платформа Testo предлагает различные возможности по управлению курсором мыши. Вы можете позиционировать курсор либо с помощью задания абсолютных координат, либо указывая объект, на который необходимо поместить курсор. Вы можете автоматизировать такие действия как клик мышкой, зажатие клавиш мыши и другие.

      mouse rclick "This folder is empty"
      mouse move "New"
      mouse click "Folder".from_top(0)
      mouse click 400 300
      mouse move "New folder"
      mouse hold lbtn
      mouse move 400 300
      mouse move "Desktop"
      mouse release
    • Управление виртуальными флешками и дисководом

      Вы можете с легкостью перемещать файлы между вашими виртуальными машинами с помощью виртуальных флешек. Платформа Testo автоматически создаст виртуальные флешки и запишет на них файлы перед началом теста. По окончании теста, состояние флешек фиксируется в виде снепшота.

      plug flash my_flash
      unplug flash my_flash
      plug dvd "some_file.iso"
      unplug dvd "some_file.iso"

    Мы используем искусственный интеллект

    Для распознавания того, что изображено на экране, мы используем нейросети. Все, что нужно для работы Testo - картинка с экрана виртуальной машины.

    Принцип чёрного ящика

    Не нужно устанавливать какие-либо дополнительные агенты внутрь виртуальных машин для работоспособности Testo.

    Работает без Интернета

    Вам не нужно соединение с Интернетом для работы нейросетей. Вся логика запускается локально у Вас на машине.

    Поддержка GPU

    Вы можете ускорить работу нейросетей с помощью GPU. Это позволит вам значительно быстрее выполнять тесты.

    Запуск в одно касание

    Забудьте о ручной подготовке стендов - нажмите одну кнопку, откиньтесь на спинку кресла и наслаждайтесь тем, как Testo разворачивает всю необходимую виртуальную инфраструктуру за Вас.

    user$ sudo testo run ~/testo/hello_world.testo
    TESTS TO RUN:
    my_first_test
    [ 0%] Preparing the environment for test my_first_test
    [ 0%] Creating virtual machine my_ubuntu
    [ 0%] Taking snapshot initial for virtual machine my_ubuntu
    [ 0%] Running test my_first_test
    [ 0%] Starting virtual machine my_ubuntu
    [ 0%] Taking snapshot my_first_test for virtual machine my_ubuntu
    [100%] Test my_first_test PASSED in 0h:0m:1s
    PROCESSED TOTAL 1 TESTS IN 0h:0m:1s
    UP-TO-DATE: 0
    RUN SUCCESSFULLY: 1
    FAILED: 0
    user$

    Разворачивание стенда с нуля

    Вам не нужно создавать и настраивать виртуальные машины - платформа Testo сделает эту работу за Вас.

    Отслеживание состояния стенда

    Вы можете ломать и переделывать стенд так, как Вам удобно, при запуске тестов стенд снова будет приведён в целостный вид.

    Удобное хранение в VCS

    Скриптовые файлы .testo содержат только текст, поэтому их удобно хранить в вашей VCS. Ваши тесты и стенды всегда согласованы с версией тестируемого ПО.

    Что дальше?

    1

    Скачайте и установите Testo

    На данный момент платформа Testo доступна для Windows и Linux систем.

    2

    Ознакомьтесь с документацией

    В документации Вы найдёте инструкцию по установке и настройке платформы. Мы подготовили для Вас уроки для быстрого старта.

    3

    Задайте нам вопрос

    Столкнулись с проблемой? Мы подскажем, как её решить.