Sei sulla pagina 1di 4

Why do managers use Jira?

JIRA is a software product developed by Atlassian for issue tracking and project management.
Jira allows users to create multiple types of tasks within projects and manage those tasks
through a customized workflow.

Managers use Jira to plan and manage the execution of a project. JIRA provides a number of
options for viewing and reporting on the status of issues including project boards, dashboards,
and reports. Users are added to projects under a role (Admin, Client, etc.) with a specified set of
permissions. The software facilitates collaboration by sending email notifications to selected
watchers whenever an issue is updated. You can @mention someone in a comment and they
will receive notification by email, even if they are not a watcher.

Jira Features:

● Customizable workflows
● Unlimited custom fields
● Bugs and defect management
● Seamless source and issue integration
● Search and filtering
● Advanced reporting
● Customizable dashboards and wallboards
● Advanced security and administration
● Integration with flexible REST APIs
● Easily import data from other systems
● Mobile interface
● OnDemand and OnPremise deployment
● Scrum, Kanban, and Scrumban boards
● Polished user experience

How is Ansible used in simple IT Automation?

Ansible is a simple but powerful configuration management and orchestration tool. Ansible is
mainly used for the automation of cross-platform computer support tasks. It is fundamentally
intended for IT professionals, who use it for configuration management, cloud provisioning,
application deployment, intra-service orchestration, updates on workstations and servers, and
nearly for anything a systems administrator does on a day-to-day basis. Ansible doesn't depend
on agent software and, most importantly, no additional custom security infrastructure, so this
makes it easy to deploy. It uses a straightforward language (YAML, in the form of Ansible
Playbooks) that allows people to use it to describe automation jobs, and this way, it's easy to
use.
Ansible does not just automate but also simplifies the repetitive, complex, and strenuous tasks
that bring substantial time savings and increases overall productivity. Ansible helps to automate
server and cloud provisioning, application deployment and configuration management.

Ansible works by connecting to your server with SSH and thereby pushing out small programs,
known as 'Ansible modules' to it. Ansible's most powerful feature of creating playbooks, a small
piece of YAML code, is used to automate almost anything related to your IT requirements.

Ansible advantages
1. It is agentless - No need to install additional software on your server nodes to manage
Ansible.
2. Declarative and not procedural - You as a master specify and write a description of the
final desired state of the machine, and it takes all the essential steps to fulfill that
description.
3. Ansible Playbooks are quite easy to understand, read and edit. The Playbooks are
written in simple YAML, and easy to setup.
4. It allows you to have automatic step-by-step reporting - It encourages users to name
every task in the provisioning script, and it automatically reports whether or not that task
succeeded or failed and shows error messages if any.
5. IAC - infrastructure defined and described through code in Ansible. It eases the process
of continuous integration and continuous deployment techniques by reducing the
elements of human errors.
Unit Testing
Unit Testing is a level of testing in software development where individual components/units of a
software are tested. The purpose of unit testing is to check that each component of the software
performs as expected. A component is the smallest testable part of a software. It usually has
one or a few inputs and usually a single output.

Unit Testing Benefits


● Unit testing helps in maintaining code and develops the confidence that the written code
works as expected. Good unit tests allow us to catch any defects introduced due to the
change.
● Codes are more reusable. Unit testing requires the code to be modular, which makes it
more reusable and readable.
● Development is faster. How? If you do not have unit testing in place, you write your code
and perform that fuzzy ‘developer test’ (You set some breakpoints, fire up the GUI,
provide a few inputs that hopefully hit your code and hope that you are all set.) But, if
you have unit testing in place, you write the test, write the code and run the test. Writing
tests takes time but the time is compensated by the less amount of time it takes to run
the tests; You need not fire up the GUI and provide all those inputs. It makes the
development process faster in the long run too. How? Finding and fixing a defect during
Unit Testing requires less effort while in System Testing or Acceptance Testing it can
take a lot of time.
● The cost of fixing a defect in early stages of development is less in comparison to fixing
a defect detected in later stages of development. Compare the cost of a defect detected
during acceptance testing or when the software is live.
● Debugging is easy. We only need to debug the part of code for which a test is failed.

Unit Testing Techniques:


● Black Box Testing
○ In Black Box testing, only the input and output of the system are tested
ignoring how the output was generated.
● White Box Testing
○ In White Box testing, functional behaviour of a system is tested along with
input and output.

Potrebbero piacerti anche