Size: a a a

2020 September 10

LP

Leonid Pautov in testspro1c
S Krainev
Доброго всем!
Подскажите правильный подход, пожалуйста.
Собираемся тестировать сотни кейсов (пока их еще нет), каждый из которых представляет из себя десяток сценариев. Проведение (контролируем выходные движения сверяя с эталоном), формирование отчетов (сверяем с эталоном), выгрузка (сверяем с xml) и т.д. Понятно, что будут использованы экспортные сценарии и скорее всего подготовка данных прямо внутри фич (ИнициаторомДанных). Все бы хорошо, но если бизнес-логика вдруг поменяется (удалили/добавили колонку), то во всем этом понаписанном нужно будет все это руками поправить. Это долго, трудозатратно (( Хотелось бы как-то оптимизировать этот момент. В какую сторону посмотреть стоит? Как вы решаете вопросы массового изменения сценариев?
Плюс не совсем понял про оценку трудозатрат по исправлению сценариев. Трудно заранее сказать, какие изменения за собой повлекут небольшие изменения тестов, а какие - большие.
источник

AC

Anton Charushkin in testspro1c
Leonid Pautov
1. Ваши сценарии будут соответствовать вашей бизнес логике (БЛ).
2. Если БЛ сильно изменилась - то есть большая вероятность что и сценарии сильно поплывут.
3. Основой посыл - это избегать копипаста. Как вы уже написали - использовать экспортные сценарии.
P.S. Добавление колонки, вообще говоря, не должно приводить к большому слому (если мы говорим про формы списка).
мне кажется, у @krainev есть опасения, что при изменении метаданных (добавили/удалили колонку к регистре) сценарии будут падать из-за того, что полученные данные не сходятся с эталонными (сравнение движений, например)
источник

AC

Anton Charushkin in testspro1c
в общем, насколько тяжело поддерживать эталонные данные в актуальном состоянии
источник

ПЗ

Пётр Зиннатханов... in testspro1c
Ну здесь 100% решения в принципе нет, написать и забыть не получится никак.
Мы например, входные данные делаем не импортом, а экспортными сценариями, имхо так устойчивее получается. Но с эталонами движений да, беда, уже сталкивались пару раз.
Тут можно максимально аккуратно писать сами фичи, чтобы проверять не полностью весь макет, а на вхождения строк, чтобы тест не ломался, а просто пропускал новые движения - но тогда встает вопрос к методике и общим задачам тестирования - лично мне кажется, что в такой ситуации тест должен все таки отломаться, т.к. он уже не соответствует поведению, и об этом лучше знать, а не смотреть на стену зеленых лампочек и пребывать в уверенности, что все отлично.
Ну и декомпозиция конечно, чтобы минимизировать копипасту - это главное, присоединюсь.
Правда у нас через СППР, не уверен удобно ли делать сквозные сценарии на чистых фичах, но вроде бы тоже есть люди и с таким подходом.
источник

ВА

Валентин Ажеронок... in testspro1c
S Krainev
Доброго всем!
Подскажите правильный подход, пожалуйста.
Собираемся тестировать сотни кейсов (пока их еще нет), каждый из которых представляет из себя десяток сценариев. Проведение (контролируем выходные движения сверяя с эталоном), формирование отчетов (сверяем с эталоном), выгрузка (сверяем с xml) и т.д. Понятно, что будут использованы экспортные сценарии и скорее всего подготовка данных прямо внутри фич (ИнициаторомДанных). Все бы хорошо, но если бизнес-логика вдруг поменяется (удалили/добавили колонку), то во всем этом понаписанном нужно будет все это руками поправить. Это долго, трудозатратно (( Хотелось бы как-то оптимизировать этот момент. В какую сторону посмотреть стоит? Как вы решаете вопросы массового изменения сценариев?
Переписывать придется огромное количество строк сценариев. Ну, или доходить до не совсем красивых подходов. Пример:
в старой БСП окно печатной формы называлось "Печать документа", в новой БСП по имени объекта ("Реализация ххх"). Приходится переписывать все сценарии, связанные с печатными формами, а их не одна сотня.
Сразу начинают лезть в голову мысли как этого избежать: экспортный сценарий один на это заточить, вместо имени окна использовать только "*" и т.д.
Пока решения красивого не нашли, переписываем каждый сценарий, передавая "привет" разработчикам БСП 👌, и таких исправлений масса на ровном месте (команды вызова отчетов, ввода на основании и пр.)
источник

SK

S Krainev in testspro1c
Anton Charushkin
мне кажется, у @krainev есть опасения, что при изменении метаданных (добавили/удалили колонку к регистре) сценарии будут падать из-за того, что полученные данные не сходятся с эталонными (сравнение движений, например)
да, Антон, одно из опасений
источник

SK

S Krainev in testspro1c
Пётр Зиннатханов
Ну здесь 100% решения в принципе нет, написать и забыть не получится никак.
Мы например, входные данные делаем не импортом, а экспортными сценариями, имхо так устойчивее получается. Но с эталонами движений да, беда, уже сталкивались пару раз.
Тут можно максимально аккуратно писать сами фичи, чтобы проверять не полностью весь макет, а на вхождения строк, чтобы тест не ломался, а просто пропускал новые движения - но тогда встает вопрос к методике и общим задачам тестирования - лично мне кажется, что в такой ситуации тест должен все таки отломаться, т.к. он уже не соответствует поведению, и об этом лучше знать, а не смотреть на стену зеленых лампочек и пребывать в уверенности, что все отлично.
Ну и декомпозиция конечно, чтобы минимизировать копипасту - это главное, присоединюсь.
Правда у нас через СППР, не уверен удобно ли делать сквозные сценарии на чистых фичах, но вроде бы тоже есть люди и с таким подходом.
Про "входные данные делаем не импортом" можете пояснить, что это?
источник

SK

S Krainev in testspro1c
Валентин Ажеронок
Переписывать придется огромное количество строк сценариев. Ну, или доходить до не совсем красивых подходов. Пример:
в старой БСП окно печатной формы называлось "Печать документа", в новой БСП по имени объекта ("Реализация ххх"). Приходится переписывать все сценарии, связанные с печатными формами, а их не одна сотня.
Сразу начинают лезть в голову мысли как этого избежать: экспортный сценарий один на это заточить, вместо имени окна использовать только "*" и т.д.
Пока решения красивого не нашли, переписываем каждый сценарий, передавая "привет" разработчикам БСП 👌, и таких исправлений масса на ровном месте (команды вызова отчетов, ввода на основании и пр.)
Экспортный сценарий вида "я жму на смысловую кнопку  "Печать"" )) и  в одном месте исправлять Печать документа , Реализация...
источник

ПЗ

Пётр Зиннатханов... in testspro1c
S Krainev
Про "входные данные делаем не импортом" можете пояснить, что это?
Не грузим данные готовые из заготовок. Т.е. для тестирования перемещения например, остатки вводим не загрузкой из фикстур, а создаем вызовом сценария создания документа ввод остатков.
источник

SK

S Krainev in testspro1c
К своей теме массовой замены. Была мысль базы эталонных движений, откуда экспортировать готовые данные и фичи. Но будет ли выхлоп...
источник

ПЗ

Пётр Зиннатханов... in testspro1c
Бывает и подольше цепочки подготовки, зависит от процесса
источник

SK

S Krainev in testspro1c
Пётр Зиннатханов
Не грузим данные готовые из заготовок. Т.е. для тестирования перемещения например, остатки вводим не загрузкой из фикстур, а создаем вызовом сценария создания документа ввод остатков.
ага, понял. Спасибо.
источник

ПЗ

Пётр Зиннатханов... in testspro1c
Мне такой подход не нравится, от многих других тоже слышал такое же мнение. Но это не  100% - кому то заходит. У всех все по разному, у нас например вообще нет прода, тиражное решение пилим, поэтому даже не думали в эту сторону
источник

ПЗ

Пётр Зиннатханов... in testspro1c
А если без прода руками делать эталонную базу - то это мне кажется еще больше работы получится.
Но это все ИМХО, пробовал только один подход, который сейчас делаем, поэтому оценка моя конечно субъективная.
источник

cc

carabas carabas in testspro1c
Делаю авто-инструкцию html
1 Как сделать подсветку кнопки на форме, которую нажимают?
2 Как уменьшить разрешение скриншотов без постобработки. Чтобы скрин сразу делался с нужным разрешением.
источник

LP

Leonid Pautov in testspro1c
carabas carabas
Делаю авто-инструкцию html
1 Как сделать подсветку кнопки на форме, которую нажимают?
2 Как уменьшить разрешение скриншотов без постобработки. Чтобы скрин сразу делался с нужным разрешением.
1. Эффекты (рамки, стрелочки) делаются также как и для видео инструкций.
2. Этой опции нет.
источник

cc

carabas carabas in testspro1c
Для видео инструкций, это использовать сикуликс?
источник

AZ

Andrey Zoteev in testspro1c
carabas carabas
Для видео инструкций, это использовать сикуликс?
Зависит от типа клиента: если тонкий то SikuliX, если web то VanessaExt + SikuliX (по необходимости)
источник

cc

carabas carabas in testspro1c
Я в инструкции глянул бегло, написано что нужно заранее заскринить нужные кнопки и потом с помощью сикуликс скрины сниматься с подсветкой. Сразу скрин с активной кнопкой не снимается в инструкции?
источник

AZ

Andrey Zoteev in testspro1c
carabas carabas
Я в инструкции глянул бегло, написано что нужно заранее заскринить нужные кнопки и потом с помощью сикуликс скрины сниматься с подсветкой. Сразу скрин с активной кнопкой не снимается в инструкции?
Вообще должен сниматься, но у меня как то не очень это получается, поэтому готовлю отдельно картинки
источник