Automated Test Framework (ATF) Fundamentals
Micro-Certification 2023 With Complete Solution|
Verified Answers
Describe you test automation framework - ANSWERIt's a Java-based test automation
framework, we use BDD (cucumber) where we write tests in human-readable
feature files and we follow Page Object design pattern where we represent each of
the pages as PageObject class with step definitions as services that the page offers.
Maven is used as the build and dependencies management tool. For assertions we
are using TestNG and Selenium WebDriver in order to interact with the browser.
Our code is stored in GitHub repository it's being run as part of Jenkins build
pipelines.
What is Jenkins? - ANSWERA CI/CD application that allows your team to build and
test software projects continuously. Jenkins also has a number of tools and plugins
to make it even more efficient for the users involved.
Jenkins can generate test reports, schedule tests, deploy directly to production or
test environments, and handle notification
What is continuous integration? - ANSWERWhen multiple dev or teams are working
on different segments of same web application, we need to perform integration test
by integrating all modules. To do that an automated process for code is performed
on daily bases so that all code gets tested.
What are the requirements for using Jenkins? - ANSWERSource code repo which is
accessible (e.g. GitHub repository)
A build script (e.g. mvn clean install)
The machine is set up for build execution (e.g selenium drivers are installed or
Selenium Grid is available)
What are the advantages of using Jenkins? - ANSWER•At integration stage, build
failures are cached.
•For each code commit changes, an automatic build report notification generates.
•For notification about build success or failure, it can be integrated with email
servers.
•Achieves CI agile development and TDD
•With simple steps, maven release project is automated
•Easy tracking of bugs at early stage in development environment
What are some of the useful plugins for Jenkins? - ANSWERMaven Integration to
create maven build jobs
Git to get source code from with git repository and watch for changes there
JUnit to see test results information
, How do you create a Jenkins job? - ANSWERTo create a project that is handled via
jobs in Jenkins. Select New item from the menu => enter name of the job => select
the job type, e.g. maven => click OK. The next page enables you to configure your
job.
What is a build trigger? - ANSWERBuild triggers tells Jenkins when to execute jobs.
E.g. start the build job:
once another build job has completed (e.g. deployment one)
periodical intervals (e.g. nightly)
once there are changes in source code of repository
What is a pre-build and post-build step? What can you do in these steps? -
ANSWERPre-build and post-build steps include executing various commands before
and after the build job is started or completed. E.g. database rollback or triggering of
other builds
What components are Jenkins usually integrated with? - ANSWERJenkin is mainly
integrated with two components
•Version Control system like GIT, SVN
•And build tools like Apache Maven.
What is Maven? - ANSWERMaven is build and dependencies management tool.
What is the POM? - ANSWERProject Object Model. It is an XML file that contains
information about the project and configuration details used by Maven to build the
project.
What is a maven dependency? - ANSWERIt is an artifact which your application
needs during its build life cycle. You can define it in the dependencies node of
POM.xml and it will try to retrieve it from Maven repository
What fields does a dependency contain? - ANSWERgroupId - the id of the project's
group. Similar to package in java
artifactId - the id/name of the artifact (project)
version - the version of the artifact under the specified group
These 3 fields provide it a fully qualified artifact name
<groupId>:<artifactId>:<version>. E.g.:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
What are some useful maven plugins? - ANSWERmaven-surefire-plugin is used
during the test phase of the build lifecycle to execute the tests.
maven-compiler-plugin allows setting the source and target java versions
Micro-Certification 2023 With Complete Solution|
Verified Answers
Describe you test automation framework - ANSWERIt's a Java-based test automation
framework, we use BDD (cucumber) where we write tests in human-readable
feature files and we follow Page Object design pattern where we represent each of
the pages as PageObject class with step definitions as services that the page offers.
Maven is used as the build and dependencies management tool. For assertions we
are using TestNG and Selenium WebDriver in order to interact with the browser.
Our code is stored in GitHub repository it's being run as part of Jenkins build
pipelines.
What is Jenkins? - ANSWERA CI/CD application that allows your team to build and
test software projects continuously. Jenkins also has a number of tools and plugins
to make it even more efficient for the users involved.
Jenkins can generate test reports, schedule tests, deploy directly to production or
test environments, and handle notification
What is continuous integration? - ANSWERWhen multiple dev or teams are working
on different segments of same web application, we need to perform integration test
by integrating all modules. To do that an automated process for code is performed
on daily bases so that all code gets tested.
What are the requirements for using Jenkins? - ANSWERSource code repo which is
accessible (e.g. GitHub repository)
A build script (e.g. mvn clean install)
The machine is set up for build execution (e.g selenium drivers are installed or
Selenium Grid is available)
What are the advantages of using Jenkins? - ANSWER•At integration stage, build
failures are cached.
•For each code commit changes, an automatic build report notification generates.
•For notification about build success or failure, it can be integrated with email
servers.
•Achieves CI agile development and TDD
•With simple steps, maven release project is automated
•Easy tracking of bugs at early stage in development environment
What are some of the useful plugins for Jenkins? - ANSWERMaven Integration to
create maven build jobs
Git to get source code from with git repository and watch for changes there
JUnit to see test results information
, How do you create a Jenkins job? - ANSWERTo create a project that is handled via
jobs in Jenkins. Select New item from the menu => enter name of the job => select
the job type, e.g. maven => click OK. The next page enables you to configure your
job.
What is a build trigger? - ANSWERBuild triggers tells Jenkins when to execute jobs.
E.g. start the build job:
once another build job has completed (e.g. deployment one)
periodical intervals (e.g. nightly)
once there are changes in source code of repository
What is a pre-build and post-build step? What can you do in these steps? -
ANSWERPre-build and post-build steps include executing various commands before
and after the build job is started or completed. E.g. database rollback or triggering of
other builds
What components are Jenkins usually integrated with? - ANSWERJenkin is mainly
integrated with two components
•Version Control system like GIT, SVN
•And build tools like Apache Maven.
What is Maven? - ANSWERMaven is build and dependencies management tool.
What is the POM? - ANSWERProject Object Model. It is an XML file that contains
information about the project and configuration details used by Maven to build the
project.
What is a maven dependency? - ANSWERIt is an artifact which your application
needs during its build life cycle. You can define it in the dependencies node of
POM.xml and it will try to retrieve it from Maven repository
What fields does a dependency contain? - ANSWERgroupId - the id of the project's
group. Similar to package in java
artifactId - the id/name of the artifact (project)
version - the version of the artifact under the specified group
These 3 fields provide it a fully qualified artifact name
<groupId>:<artifactId>:<version>. E.g.:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
What are some useful maven plugins? - ANSWERmaven-surefire-plugin is used
during the test phase of the build lifecycle to execute the tests.
maven-compiler-plugin allows setting the source and target java versions