Текущее время: Чт, июн 26 2025, 19:04

Часовой пояс: 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
Сообщения: 1257
Как я понимаю, самая большая мощь и краса этой тулзы проявляются при использовании несколько иного подхода, чем нам привычен, при разработке - 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
Сообщения: 1257
Лично я использовал юнит-тесты, когда надо было разработать свою систему классов для проверок. Т.е. на входе данные, есть масса настроек, по определенным условиям считываются настройки проверок, выбираются нужные методы проверок, выполняются проверки. И тоже самое для замещений на другом проекте (это сейчас в системе есть 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
Сообщения: 1257
...все течет, все меняется.. вот уже и 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
Сообщения: 1257
Jelena написала:
Меня всегда интересует, чем именно занимаются в SAP люди, которые агитируют за ту или иную технологию.


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

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


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

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


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

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

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


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

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

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

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


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

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


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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