Oracle Based Testing

336 views
215 views

Published on

SQA Days 2012 presentation by Siarhei Talalayeu

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
336
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Мифическое определение ОракулаОра́кул (лат. oraculum, от лат. oro — «говорю, прошу») — наиболее распространённая вантичности форма прорицания, состоявшая в том, что предсказание от имени божества по запросу верующих оглашал специальный жрец, который и именовался оракулом. В современном языке под оракулом понимается человек, все суждения которого признаются непреложной истиной.
  • Кто лишний на этом слайде?Формула1Изначально “королевский вид спорта” имел такой высокий порог вхождения, что позволить себе участие в чемпионате могли очень немногие команды.Кардинальные изменения начали происходить после изменения тех регламента с одной стороны (как следствие унификация и снижение издержек)изменений в процессах проектирования гоночных болидов (в частности тесты аэродинамики и поведения шасси)БоингВ условиях жесткой конкуренции авиастроительные компании вынуждены постоянно искать методы снижения издержек на этапе проектирования новых самолетов. В том числе на этом этапе закладываются не только сугубо технические требования (вместимость, экономичность, дальность полета ) но и такие казалось бы напрямую не связанные с производством вещи как эффективность последующей эксплуатации.Тесты на доступность узлов сточки зрения ремонта.
  • В отличие от мифического Оракула мы оперируем в рамках моделей.И как следствие есть некоторые допущения, ограничения для модели.Более прагматическое определение ОракулаЭто система позволяющая получить ответ, затрачивая при этом существенно меньше ресурсов.
  • Исходная документация – 50 листов для автостраховки одного из штатов (в каждом штате есть отличия)Финальная документация в виде пригодном для скрптования правил – 18 листов Excel и 43 таблицы в них
  • Проблема – огромное количество вариантов для регрессии, которые хотелось бы иметь не в статическом (предварительно просчитанном виде), а гибко менять в рамках заданного диапазона.Пример: Необходимо проверить правильно ли система вычисляет стоимость страховки по определённому виду страхового полиса (Авто полис). В отличие от простейшей системы страхования автогражданки принятой на постсоветском пространстве (тип транспортного ср-ва, опыт вождения предыдущие страховки) в США например для расчета аналогичного полиса используется порядка 40 входных параметров.Вариант 1:Мы предварительно готовим расчетные данные по критичным типовым вариантам (условия => цифра)В ходе тестирования необходимо только ввести данные согласно таблицы и сверить полученный результат“+”: быстро, легко проверяется, легко программируется“-”: мы покрываем малую часть функционала и предполагаем что все наборы из заданных диапазонов работают такжеВариант 2:Для каждого прогона теста мы согласно правилам рассчитываем стоимость страховки В ходе тестирования вводим данные использованные для расчета и сверяем полученный результат с расчетной стоимостью из первого шага“+”: гибко“-”: мы все-таки работаем в рамках модели и долдны понимать что неизбежны погрешности
  • Скрепки, катушка ниток и пластилин ... Можно ли имея в наличиии только это построить космический корабль? У нас в руках гораздо больше:Excel с подготовленными данными Пытливый ум вооруженный необходимыми знаниями И программисткая лень не позволяющая скатиться до банального пересчета согласно документации и последующей сверки с данными в приложении
  • - Использование чистого калькулятора без UI Использование накопленных статистических данных, периодичекие сверки с полноценными экспериментами (“Как я провел этим летом”) Данные полученные из старой системы должны до точки совпадать с данными в новой Есть возможность самотестирования целостности данных
  • Oracle Based Testing

    1. 1. Oracle based testingТестирование основанноена знаниях ОракулаСергей ТалалаевExigen Services
    2. 2. Аннотация• Терминология и проблематика• Постановка задачи (собственный опыт)• Вариант решения. Теория• Вариант решения. Практика• Признаки подходящих проектов
    3. 3. Общая терминология и проблематика
    4. 4. Общая терминология и проблематика
    5. 5. Общая терминология и проблематика Корректный вопрос Правильный ответ Насколько внесенные Улучшились на 5.2% по изменения улучшили сравнению с базовой аэродинамику? моделью Насколько уменьшится Увеличится на 9.3% по время замены двигателя сравнению с Boeing 787-A для Boeing 787-B?Насколько индивидуальная Каков будет максимально Кофейная гуща, гадальныебыстрый кругшасси для на настройка у Феттеля На 1.2% Монако сократит среднее кости, свечи и т.д.  гран при Монако? время круга?
    6. 6. Собственный опыт: система страхованияБизнес-анализ
    7. 7. Постановка задачи (собственный опыт)• Система страхования: разработка
    8. 8. Постановка задачи (собственный опыт)• Система страхование: тестирование
    9. 9. Инструментарий• Именованные диапазоны (names)• Проверка данных (data validation)• Выборка по ключу (vlookup)• Условное форматирование (conditional formatting)
    10. 10. Признаки проектов готовых к“Оракулизму”• Сложная расчетная логика погруженная в недра UI• Реализация какой-либо физической модели• Миграция с одной системы на другую• Избыточные калькулируемые данные (БД)

    ×