Qa Automation Flashcards

1
Q

What is cucumber and why is it important?

A

Cucumber is a software testing tool that simplifies writing and duplicating test cases. It supports BDD, enabling various professionals to understand and test software without deep technical knowledge. This speeds up testing, helping companies release and fix software more quickly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Describe some primary benefits of using cucumber?

A

From my experience, Cucumber supports various programming languages, facilitating collaboration with different developers. It acts as an end-to-end testing framework, accommodating all types of tests. Its simple architecture allows for code reuse, which cuts costs and accelerates development.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What’s the difference between selenium and cucumber?

A

Selenium and Cucumber are both automation tools but serve different purposes: Cucumber is for BDD and acceptance tests, while Selenium is for UI tests. Technical teams often prefer Selenium, while Cucumber is favored by teams with both business and development roles due to its ease of use for script creation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

how does BDD process work?

A

The BDD process has three phases: discovery, where acceptance criteria are collaboratively created; formulation, which refines these criteria into detailed acceptance tests; and automation, which enables continuous testing of these criteria.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Explain a master /slave architecture of Jenkins ?

A

• Jenkins master pulls the code from the remote GitHub repository every time there is a code commit
• It distributes the workload to all the Jenkins slaves
• On request from Jenkins master, the slaves carry out builds and tests and produce test reports

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

1) Mention what is Jenkins?

A

Jenkins is an open source tool with plugin built for continuous integration purpose. The principle functionality of Jenkins is to keep a track of version control system and to initiate and monitor a build system if changes occur. It monitors the whole process and provides reports and notifications to alert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

2) Explain what is continuous integration?

A

In software development, when multiple developers or teams are working on different segments of same web application, we need to perform integration test by integrating all modules. In order to do that an automated process for each piece of code is performed on daily bases so that all your code get tested.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the requirements for using Jenkins?

A

Source code repository like Git
And a working build script like maven checked into repository

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

6) Mention what are the commands you can use to start Jenkins manually
To start Jenkins manually?

A

Either of the following
• (Jenkins_url)/restart: Forces a restart without waiting for builds to complete
• (Jenkin_url)/safeRestart: Allows all running builds to complete

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Mention some useful Jenkins plug ins and the purpose of plug ins?

A

Maven 2 project
• Amazon EC2
• HTML publisher
• Copy artifact
• Join
• Green Balls

For addition features
Integrations
Capabilities
Build tools
Source code managements
Testing framework

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is Git?

A

Git is a free, open-source version control system (VCS) that helps software engineers, programmers, and developers collaborate on projects by tracking changes to source code

Git is a distributed version control system that tracks code changes, supports collaboration, and manages different versions of a project efficiently.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is version control?

A

Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

List of common shell commands?

A

Ls -listing files
Cp- copy file
Mv- move files or directories
Mkdir- creates new directory
Touch - modify timestamp
Vim- Linux text editor that runs in the terminal
grep - searches for matching lines a search pattern and prints them

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Linux Shell Scripting

A

: Involves writing scripts to automate tasks in the Linux operating system, such as file management, system monitoring, and software installation. It uses shell commands to execute operations on the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Linux?

A

Linux® is an open-source OS that manages hardware and resources like CPU, memory, and storage, connecting software to physical components.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is application integration?

A

Application integration is the process of enabling individual systems and applications, each designed for its own specific purpose, to work with one another, driving increased operational efficiency.

17
Q

How do you write a scenario in cucumber using gherkin?

A

Given: Preconditions
When detailed Steps
And: additional step
Then: expected output.
Writing a sSCENERIO in gherkin tagging my automation code and turning it into a .feature file to introduce into automation

18
Q

What’s an example of you writing a server side shell script in Linux environment ?

A

Scenario
Extract Transaction Data: Retrieve data from a SQL database.
Process Data: Perform basic transformations or calculations.
Generate Report: Create a report and save it to a specified location.

Configuration Variables: Define database connection details, report directory, and file names.

Create Report Directory: Ensure the report directory exists.

Extract Data: Use mysql to execute an SQL query and save the result to a CSV file.

Error Handling: Check if the extraction command was successful.
Data Processing: For simplicity, count the number of transactions.

Generate Summary Report: Create a text file summarizing the report.

19
Q

Give us an example of how you used Jenkins at your current company?

A

“At Panasonic, I was part of a team working on a large-scale enterprise application that required regular builds and automated testing to ensure code quality and timely delivery.

I used Jenkins to streamline our CI/CD processes. I configured Jenkins Pipelines to automate our nightly builds and tests, integrating it with Git, Maven, and JUnit. Jenkins triggered builds on code commits and scheduled nightly jobs, and it sent notifications for failed builds.

This automation reduced manual errors, sped up our development cycle, and improved code quality. It allowed us to catch issues early and deploy features more reliably.”