daria chernishova test automation story

13
AUTOMATED- TESTING.INFO Мой опыт автоматизации, или проект с нуля Дарья Чернышёва 2012

Upload: automated-testinginfo

Post on 15-Jun-2015

814 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Мой опыт автоматизации,

или проект с нуля

Дарья Чернышёва2012

Page 2: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

О себе

• QA с 2009, Automation QA с 2011.• Перебежчик из вражеского стана:

в прошлом Java Developer.• Инструментарий: Java, Ruby,

Borland SilkTest.• Место работы: Компания EPAM,

проект Thomson Reuters.• Личная информация: барабанщик, граммар-наци, Android-гик,

бла-бла-бла, никому не интересно.

2

Page 3: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Зачем Dev уходят в QA?

• Проявляем перфекционизм.• Делаем мир лучше.• …идём куда пошлют.

3

Page 4: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Java

Тестируемый проект

4

Новость (XML-

документ или бинарный

файл)

FTP-сервер

Пациент

жив?

Валидатор

Помойка

Файло-

хранилище

База (MySQL)

Новостные каналы

Page 5: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Дано:

Это ужасно.

5

Page 6: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Решение: новый проект

Устранение хард-кода.

Создание системы повторно используемых функций.

Уменьшение времени выполнения тестов.

Обеспечение масштабируемости.

6

Page 7: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Реализация: шаг 1.1

Базовые функции:• работа с окружением и тестовыми данными

7

Project

XML

DB (MySQL

)

parse /

update

connect / query

Remote file

server

upload / download

Page 8: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Project:

Реализация: шаг 1.2

8

case/suite setup/teardown

test data folder structure

configuration files

Базовые функции:• работа со структурой проекта

Page 9: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Реализация: шаг 2

9

Создать файл по шаблону

Обновить файл Подключиться к серверу и

базе

Проверить выходные

данные

Найти результат

Загрузить файл

Первородные тест-кейсы:

Page 10: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Реализация: шаг 3

Промежуточный уровень функций:

инициализация ftp + отправка на сервер;

поиск файла в базе + скачивание;

скачивание + проверка структуры файла

10

Page 11: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Реализация: шаг 4

11

db_utils

ftp_utils

xml_updater File VS DB

Validator:1) parse xml2) query db3) compare

results

Test Item Management:1) get original file2) get resulting file3) get log file4) run validation

Распределение функций промежуточного уровня по модулям и классам

Page 12: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Реализация: шаг N• Пересмотр старых функций:

– рефакторинг;– сокращение количества подобных функций;

• Добавление нового функционала:– шаг 2 (первичные тест-кейсы);– шаг 3 (выделение функций промежуточного уровня).

12

method_type :testcase test_tags "positive" def verify_random_opt_against_db

profile = 'SNEP-External' news_item = NewsItemEntity.newnews_item.create_from_random_opt(profile)snep_news_item.run_news_message_structure_validationsnep_news_item.run_nml2_to_db_validation end

Это делается постоянно:

Так выглядит типичный кейс:

Page 13: Daria Chernishova Test Automation Story

A U T O M AT E D -T E S T I N G . I N F O

Это всё, можно выдыхать

Спасибо за внимание!

13