Текущее время: Пт, апр 19 2024, 03:56

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Чт, мар 12 2015, 15:23 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, май 30 2006, 08:34
Сообщения: 1900
Смотрю на аbap unit - ну вроде правильная вещь, из лучших побуждений и ради прекрасных целей.
Но вот так в реальной жизни использовать - не могу понять. Индусский форум наполнен примерами тестирования подпрограмм а-ля "сложить два числа" и проверить результат с помощью abap unit.

Засада только в том, что в реальных подпрограммах, ФМах и т.п. обычно используется не по два простых параметра, а с десяток. И часть из параметров - таблицы, иногда с вложенными таблицами, И релевантных для юнит-теста записей - до нескольких десятков.
И получается, что написание юнит-теста (метода класса ...DEFINITION FOR TESTING) - задача посложнее той, что тестируем!
Я может упускаю что-то важное?


Рассмотрим на типичном примере.
Нужно подготовить тестовые данные для формы с входным параметром - таблицей типа PAYRU_RESULT. В таблице записей пара десятков. Из нее нужно выбрать пять, в каждой из которых заполнены все вложенные таблицы с количеством от 2-4 до 2-4 сотен записей.
Выходные параметры, допустим, 10 чисел, значения которых вычислены на основе некоторого запутанного алгоритма, который и нужно протестировать. Причем, алгоритм имеет несколько ветвлений, ну для простоты хотя бы три вариации.

Буду благодарен за практические советы!

_________________
С уважением.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Чт, мар 12 2015, 16:41 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Сб, июн 23 2007, 14:56
Сообщения: 203
calm написал(а):
Засада только в том, что в реальных подпрограммах, ФМах и т.п. обычно используется не по два простых параметра, а с десяток. И часть из параметров - таблицы, иногда с вложенными таблицами, И релевантных для юнит-теста записей - до нескольких десятков.
И получается, что написание юнит-теста (метода класса ...DEFINITION FOR TESTING) - задача посложнее той, что тестируем!

Именно так всё и обстоит. Для подавляющей части разработок реализовывать автоматическое/модульное тестирование слишком долго и дорого.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Чт, мар 12 2015, 17:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, май 30 2006, 08:34
Сообщения: 1900
Короче, надо запилить прогу, которая читает БД или принимает на вход заполненную внутреннюю таблицу,
а на выходе выдает текст тестового метода вида
Code:
clear ls_my_test_data.
ls_my_test_data-field_1 ='бла-бла-бла'.
ls_my_test_data-field_2 =123456.
append ls_my_test_data to lt_my_test_data.

:shock: :shock:

Десяток-другой таких прожек рутиную работу уменьшит процентов на 80 :?

_________________
С уважением.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Чт, мар 12 2015, 19:39 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Как я понимаю, самая большая мощь и краса этой тулзы проявляются при использовании несколько иного подхода, чем нам привычен, при разработке - TDD. Ну и никто не отменял принцип: пишите проще - легче тестить. Т.е. клепаются маааленькие методы\фм\т.д. которые легко тестить. Из них как из конструктора клепаются методы побольше, и так далее. Т.е. в идеале - каждый класс хорошо определен и делает только свою работу, а вся разработка разделена на слои.
Кроме того, есть ряд вещей, которым в принципе противопоказаны юнит-тесты: выборки из БД и их анализ, взаимодействие с пользователем и его обработка.
Еще, если речь идет о большой Z-разработке, можно использовать систему юнит-тестов как инструмент регрессионного анализа при изменениях в коде.
Ну и в др. языках используются всякие тулзы для облегчения реализации тестов (mock-объекты), чего в абап - не положили

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Пт, мар 13 2015, 09:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, май 30 2006, 08:34
Сообщения: 1900
Согласен. TDD можно и нужно применять без оглядки на начальнегов и всякие штуки типа abap unit. Даже банальное выписывание кейсов на бумажку положительно влияет на работу. Прочувствовал на практике.

_________________
С уважением.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Пт, мар 13 2015, 10:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Сб, июн 23 2007, 14:56
Сообщения: 203
calm написал(а):
TDD можно и нужно применять без оглядки на начальнегов

TDD в нашей отрасли - зло, в половине задач, пока пишешь тесты поменяется постановка.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Пт, мар 13 2015, 23:48 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
Делал несколько подходов к реализации автоматического тестирования. Но ни разу так и не удалось прочуствовать его прелесть.
Юнит тестирование подходит только для простых кусочков логики - у нас это грубо говоря статические методы классов. Но эти простые кусочки как правило выделяются для полноценных самодостаточных задач, которые пишешь один раз и дальше они практически никогда не меняются. В этом случае юнит тесты у меня превращались в обузу.

А вот когда речь доходит интересных вещей - интеграционного тестирования - инструментов увы никто не предлагает. Например, загрузить данные из файла через веб мордочку, создать на их основе документы (разумеется с записью в базу), для этих документов создать последующие документы опять же через веб, отправить данные в другую систему, получить ответ.

И опять же постановки меняются так часто и срочно, что нередко тестирование производится сразу на продуктивных данных.
Может быть я не умею готовить TDD?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Сб, мар 14 2015, 09:48 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Лично я использовал юнит-тесты, когда надо было разработать свою систему классов для проверок. Т.е. на входе данные, есть масса настроек, по определенным условиям считываются настройки проверок, выбираются нужные методы проверок, выполняются проверки. И тоже самое для замещений на другом проекте (это сейчас в системе есть BRF+, и я про нее знаю, тогда пришлось склепать свой велосипед). Все очень хорошо (за исключением чтения данных, как я писал выше) накрывается тестами. При смене настроек, модификации проверок - ррррраз и протестилось все.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Пн, мар 16 2015, 08:53 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, май 30 2006, 08:34
Сообщения: 1900
Цитата:
А вот когда речь доходит интересных вещей - интеграционного тестирования - инструментов увы никто не предлагает.

SAP утверждает, что для этого нужно использовать ECATT.
Вот только мне таких заказчиков встречать не приходилось. А использовать эту штуку по личной инициативе абапера - невозможно, imho. Слишком навороченно и в тестовых данных должна быть дисциплина и порядок.

_________________
С уважением.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Пн, мар 16 2015, 10:10 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
...все течет, все меняется.. вот уже и mock-объекты появились

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Пн, мар 16 2015, 22:55 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
Кодер написал(а):
Лично я использовал юнит-тесты, когда надо было разработать свою систему классов для проверок. Т.е. на входе данные, есть масса настроек, по определенным условиям считываются настройки проверок, выбираются нужные методы проверок, выполняются проверки. И тоже самое для замещений на другом проекте (это сейчас в системе есть BRF+, и я про нее знаю, тогда пришлось склепать свой велосипед). Все очень хорошо (за исключением чтения данных, как я писал выше) накрывается тестами. При смене настроек, модификации проверок - ррррраз и протестилось все.
Во, это как раз подходящая штука для тестирования.

calm написал(а):
Цитата:
А вот когда речь доходит интересных вещей - интеграционного тестирования - инструментов увы никто не предлагает.
SAP утверждает, что для этого нужно использовать ECATT.
Вот только мне таких заказчиков встречать не приходилось. А использовать эту штуку по личной инициативе абапера - невозможно, imho. Слишком навороченно и в тестовых данных должна быть дисциплина и порядок.
Я не очень догоняю как использовать ECATT для тестирования. Вот пример: мне нужно через web загрузить файлик, создать на его основе документы, изменить их и проверить результат. И как?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Пт, апр 10 2015, 19:30 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 18 2010, 15:38
Сообщения: 97
Кодер написал(а):
...все течет, все меняется.. вот уже и mock-объекты появились

в версии 7,4 09 :| :| :|


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Чт, апр 16 2015, 20:15 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Хороший вопрос! Пару лет назад я тут задавала похожий вопрос по поводу применения ООП в ABAP - вроде как в теории все замечательно, но насколько это применимо на практике?

Меня всегда интересует, чем именно занимаются в SAP люди, которые агитируют за ту или иную технологию. 99% моей работы составляют очень простые по сути вещи для которых какие-то дополнительные усилия для unit test были бы просто нецелесообразны. В таких случаях - это решение для проблемы, которой нет.

А в более сложных программах очень часто, как отмечено выше, проблема другая - меняющиеся задачи. Например, был у нас небольшой проект, для которого хорошо было бы применить и ООП, и unit test, и UML, но он развивался как перекати-поле и маленькая программка разрослась в процессе до неузнаваемости. Оглядываясь назад, я не знаю как можно было ее реализовать лучше, не зная заранее окончательных условий.

Кстати, Paul Hardy (автор новой книги про ABAP) как раз недавно написал блог об этом на SCN: http://scn.sap.com/community/abap/blog/ ... der-my-bed

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Чт, апр 16 2015, 20:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Jelena написала:
Меня всегда интересует, чем именно занимаются в SAP люди, которые агитируют за ту или иную технологию.


Реализация решения, которого нет в SAP. Локализации SAP и роллауты больших проектов (допиливание напильником)

Jelena написала:
99% моей работы составляют очень простые по сути вещи для которых какие-то дополнительные усилия для unit test были бы просто нецелесообразны. В таких случаях - это решение для проблемы, которой нет


Не поверите, но очень часто это просто вопрос дисциплины. Сетования на то, что "такая возможность есть, но зачем, если можно обойтись без этого", в моем понимании, сравнима с сетованиями людей персевшх на си с бейсика и паскаля "ууууу, все в функциях... да зачем это нужно?"

Jelena написала:
А в более сложных программах очень часто, как отмечено выше, проблема другая - меняющиеся задачи. Например, был у нас небольшой проект, для которого хорошо было бы применить и ООП, и unit test, и UML, но он развивался как перекати-поле и маленькая программка разрослась в процессе до неузнаваемости. Оглядываясь назад, я не знаю как можно было ее реализовать лучше, не зная заранее окончательных условий.


Ну во-первых, вот этот ваш абзац можно так же использовать как подтверждение моей мысли выше. :-)
А во-вторых: как раз для работы в изменяющихся условиях и нужны все эти ООП, инит-тесты и УМЛ. Попустительствуя легкому подходу в начале, на выходе - получаем "как всегда".
И - да: умение отличить случай, когда надо делать просто, а когда надо делать по модным методологиям с новыми инструментами-технологиями - и есть признак опытного специалиста, имхо.

ЗЫ: моя любимая статья на эту тему на хабре

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Abap unit test - кто-нибудь пользовался?
СообщениеДобавлено: Чт, апр 16 2015, 22:43 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Кодер написал(а):
ЗЫ: моя любимая статья на эту тему на хабре

Ай молодца! :pivo:

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB