ABAP Blog
Чистый код может читаться и усовершенствоваться другими разработчиками, кроме его исходного автора. Для него написаны модульные и приемочные тесты. В чистом
коде используются содержательные имена. Для выполнения одной операции в нем используется один путь (вместо нескольких разных). Чистый код обладает минимальными зависимостями, которые явно определены, и четким, минимальным API. Код должен быть грамотным, потому что в зависимости от языка не вся необходимая информация может быть четко выражена в самом коде.
Д. Томас
Новое
- Получение инстанции cl_gui_alv_grid для SALV 11.09.2021
- Introduction to ABAP in the Cloud 18.08.2021
- Getting Started with FPM BOPF Integration 01.06.2021
- 30. How to Use Authority Checks in Business Object Processing Framework 29.05.2021
- 29. BOPF Extensibility 29.05.2021
- 28. BOPF Enterprise Procurement Model (EPM) 29.05.2021
- 27. BOPF Integration 29.05.2021
- 26. BOPF Business Configuration Objects 29.05.2021
- 25. BOPF Performance 29.05.2021
- 24. BOPF Supportability 29.05.2021
Последние комментарии
Аноним 03.08.2023 в 14:28 на Getting Started with FPM BOPF Integration Please upload the file.
Vlad 21.06.2023 в 11:33 на Простые трансформации Автор очень скромен, и думает, что все такие же умные как и он сам. По сути статья помогает разработчикам найти ответы на возникающие у них вопросы. Для функционального консультанта — темный лес. Автор зачем то использует свою терминологию, не удосуживаясь вопросами определения терминов. Для примеро.
Инопланетянин 28.04.2023 в 13:10 на Динамические таблицы в ABAP простой способ, если структура известна и достаточна: CREATE DATA lo_data TYPE TABLE OF (‘PLAF’)
Анна 17.04.2023 в 14:48 на ABAP Best Practice Спасибо вам большое за эту статью. Очень пользуюсь.
Артем 20.03.2023 в 20:51 на Выгрузка в Excel через cl_fdt_xl_spreadsheet Метод создаёт 3 дополнительных таба. Можно как-то без них?
Тестирование, управляемое данными (Data-Driven Testing)
Методология тестирования, управляемого данными (DDT) применяется в автоматизации тестирования ПО, представляет собой тестирование, выполнение и верификация которого производится на основе данных, которые хранятся в БД или любых других источниках данных.
Обычно сравнивают эталонные данные с теми, что на выходе получает система из метода (функции, программы и т.п.).
Тестирование, управляемое данными подразумевает разделение юнит тестов и данных, которые в них проверяются. Юнит тесты получают эталонные данные из некого источника и сравнивают их с результатами, полученными при тестировании объекта.
Изначально ABAP Unit не предоставляет никакого сервиса для хранения и ведения тестируемых данных, как например это делают другие фреймворки для тестирования: jUnit, nUnit. В статье пойдет речь о том как обойти это недоразумение.
В качестве подобного сервиса можно использовать контейнеры данных eCATT. Что такое eCATT и для чего он нужен можно посмотреть тут. Нас интересует один из элементов eCATT, а именно контейнер тестовых данных. Исходя из названия, становится понятно, что контейнер позволяет хранить внутри себя какие-то данные, но кроме хранения можно так же и вести (изменять) эти данные.
Рассмотрим небольшой пример, допустим, есть метод рассчитывающий тип треугольника относительно размеров его сторон, как известно из школьной программы, тип может быть следующим:
- Равносторонний (все стороны равны)
- Равнобедренный (хотя бы две стороны равны)
- Разносторонний (нет равных сторон).
Создадим класс ZCL_TRIANGLE c указанными атрибутами:
Подходы к автоматизации тестирования веб-приложений
Любой современный софт, включая веб-ориентированные приложения, тестируется на наличие ошибок. Скорость идентификации этих ошибок зависит не только от инструментов, количества тестировщиков и их опыта, но и от выбранного подхода. Об этом и поговорим.
Виды подходов
В автоматизированном тестировании выделяют следующие подходы: 1) TDD (англ. Test Driven Development); 2) BDD (англ. Behaviour Driven Development); 3) KDT (англ. Keyword Driven Testing); 4) DDT (англ. Data-driven testing).
Data-Driven Testing
Это тестирование, управляемое данными. При таком подходе тестовые данные хранятся отдельно от тест-кейсов, допустим, в файле либо в базе данных. Такое разделение логически упрощает тесты.
Data-Driven Testing используется в тех проектах, где нужно выполнить тестирование отдельных приложений в нескольких средах с большими наборами данных и стабильными test cases.
Обычно при DDT выполняются следующие операции: — извлечение части тестовых данных из хранилища; — ввод данных в форму приложения; — проверка результатов; — продолжение тестирования со следующим набором входных данных.
Подход Data-Driven Testing:
Чтобы проверка приложения была успешна, потребуются разные комбинации данных.
Keyword Driven Testing
Речь идёт о тестах, управляемых ключевыми словами. Данный подход предполагает использование ключевых слов, описывающих набор действий, нужных для выполнения конкретного шага тестового сценария.
При таком подходе в первую очередь определяется набор ключевых слов, а только после этого ассоциируется функция либо действие, связанное с данным ключевым словом. Например, каждые шаги теста, такие как щелчок мышью, нажатие клавиши, открытие либо закрытие браузера описываются определёнными ключевыми словами («открыть» — openbrowser, «нажать» — click и т. п.).
При KDT-подходе вы можете создавать простые функциональные тесты на самых ранних этапах разработки и тестировать приложение по частям.
Этапы разработки KDT-тестов: 1. Определяем ключевые слова. 2. Реализуем ключевые слова как исполняемые файлы. 3. Создаём тест-кейсы. 4. Создаём скрипты. 5. Выполняем автоматизированные сценарии.
Плюсы подхода: 1) функциональные тестировщики могут планировать автоматизацию тестирования до того, как приложение будет готово; 2) тесты можно разработать без знаний программирования; 3) подход не зависит от выбранного языка программирования.
Test Driven Development
Подход разработки через тестирование (TDD) предполагает организацию автоматического тестирования посредством написания модульных, функциональных и интеграционных тестов, определяющих требования к коду перед написанием кода. То есть в первую очередь пишется тест, проверяющий корректность работы ещё ненаписанного кода. Тест, само собой, не проходит. Далее программист пишет код, где выполняются действия, необходимые для прохождения теста. Когда тест будет успешно пройден, возможна доработка имеющегося кода.
Подход Test Driven Development:
Разработка через тестирование — это больше, чем просто проверка корректности, так как она оказывает влияние и на дизайн программы. Если вы изначально сфокусированы на тестах, вам проще представить, какая именно функциональность нужна пользователю. В результате разработчик продумает детали интерфейса до его реализации. Это, в свою очередь, сократит время на разработку и отладку.
Кроме того, разработка через TDD сосредотачивается на тестировании отдельно взятых модулей, при этом используются заглушки (mock-объекты) для представления внешнего мира.
Behavior-driven development
Подход BDD — это разработка, основанная на поведении. По сути, BDD является разновидностью (расширением) TDD с той лишь разницей, что BDD-подход ориентирован на поведение сущности, которую вы тестируете (в TDD основной фокус идёт непосредственно на сам код). Суть BDD заключается в описании системы архитектуры приложения в терминах, понятных неспециалисту. Это даёт возможность ускорить процесс получения обратной связи, убрав традиционные барьеры. То есть описание пользовательских сценариев происходит на естественном языке — грубо говоря, на языке бизнеса.
Подробнее познакомиться с BDD-подходом вы сможете на курсе «Java QA Engineer» в OTUS. Образовательная программа курса включает в себя отдельный модуль, задача которого — рассмотреть и научиться применять BDD — один из наиболее востребованных на сегодняшний день подходов в автоматизации тестирования.
Data-driven testing with Katalon Studio
Data-driven testing (DDT) is a software testing method that stores test data in table or spreadsheet format. Data-driven testing allows testers to input a single test script that can execute tests for all test data from a table and expect the test output in the same table.
Katalon Studio allows you to perform data-driven testing with internal and external data sources at both test case and test suite levels. You can download the data-driven testing sample project from our GitHub repository: Shopping cart sample.
This document discusses the DDT components and the supported data-driven testing methods in Katalon Studio .
Variables
Katalon Studio supports three types of variables: Global variables, Test Case variables, and Groovy variables.
Global variables
Global variables are variables defined in the execution profile and can be used in a test case, test object, web service object, and email configuration within a project. To learn more about global variables, see Global variables.
Test Case variables
Test case variables are variables defined in a test case, allowing you to pass dynamic data into a test case. You can create test case variables and call test cases with variables in both manual and script mode.
To learn more about using test case variables, see Test case variables.
Groovy variables
Katalon Studio supports Groovy from version 2.4.x onwards.
Groovy variables are the variables defined in Groovy script. For example:
// x is defined as a variable of String type String x = "Hello"; // y is defined as a variable of int type int y = 5; // The value of the variables are printed to the console println(x); println(y);
To learn more about Groovy, refer to this Apache Groovy document: Groovy semantics.
Test data
Test data is the data created for data-driven testing.
You can create internal or external data files, then configure data binding to read test data values from these files. To learn more about test data in Katalon Studio , see Manage test data.
By default, Katalon Studio converts variables to strings to perform data binding. However, you can disable this function to allow Katalon Studio to read test data values as their data types. See: Enhanced variable binding.
Set parameter for your test script
You can pass variables to your test scripts by setting parameters in test cases, test objects, or their properties:
- Parameterize Web Test Objects
- Parameterize Mobile Test Object
- Parameterize Web Service Object
- Parameterize Windows Test Objects
Data-driven testing methods
- In a test case: From version 8.3.0, you can perform data-driven testing in a test case independently from the test suite. See Data-driven testing at the test case level.
- In a test suite: You can perform data-driven testing in a test suite. See Data-driven testing in a test suite.
- In a dynamic test suite: Katalon Studio supports data-driven testing in a dynamic test suite. See Data-driven testing in a dynamic test suite.
Alternatively, you can also perform data-driven testing with Groovy using the findTestData method. To learn about this method, you can refer to our API documentation: TestData.
Learn in practice with our free Katalon Academy course: Katalon Studio: How to Apply Data-Driven Testing.
При подготовке материала использовались источники:
https://otus.ru/nest/post/1083/
https://docs.katalon.com/docs/create-tests/data-driven-testing/data-driven-testing-with-katalon-studio