You are on page 1of 32

Experiment No.

5
DATE: ________
Aim:- Study Software Testing and designing different test case on
given definition

Theory:-
Software Testing
Testing is the process of executing a program to find errors. To make our software
perform well it should be error-free. If testing is done successfully it will remove
all the errors from the software.
Principles of Testing:-
(i) All the tests should meet the customer requirements.
(ii) To make our software testing should be performed by a third party.
(iii) Exhaustive testing is not possible. As we need the optimal amount of testing
based on the risk assessment of the application.
(iv) All the tests to be conducted should be planned before implementing it
(v) It follows the Pareto rule(80/20 rule) which states that 80% of errors come
from 20% of program components.
(vi) Start testing with small parts and extend it to large parts.
Types of Testing:-
1. Unit Testing
● It focuses on the smallest unit of software design. In this, we test an
individual unit or group of interrelated units. It is often done by the
programmer by using sample input and observing its corresponding
outputs.
Example:
● In a program we are checking if the loop, method, or function is working
fine
● Misunderstood or incorrect, arithmetic precedence.
● Incorrect initialization
2. Integration Testing
● The objective is to take unit-tested components and build a program
structure that has been dictated by design. Integration testing is testing in
which a group of components is combined to produce output.

● Integration testing is of four types: (i) Top-down (ii) Bottom-up (iii)


Sandwich (iv) Big-Bang

105
Example:
● Black Box testing:- It is used for validation.
● In this, we ignore internal working mechanisms and focus on what is the
output?.
● White box testing:- It is used for verification.
● In this, we focus on internal mechanisms i.e. how the output is achieved?
3. Regression Testing
● Every time a new module is added leads to changes in the program. This
type of testing makes sure that the whole component works properly even
after adding components to the complete program.
Example
● In school, record suppose we have module staff, students and finance
combining these modules and checking if on integration of these modules
works fine in regression testing
4. Smoke Testing
● This test is done to make sure that the software under testing is ready or
stable for further testing
● It is called a smoke test as the testing of an initial pass is done to check if
it did not catch the fire or smoke in the initial switch on.
● Example:
● If the project has 2 modules so before going to the module make sure that
module 1 works properly
5. Alpha Testing
● This is a type of validation testing. It is a type of acceptance testing which
is done before the product is released to customers. It is typically done by
QA people.
Example:
● When software testing is performed internally within the organization
6. Beta Testing
● The beta test is conducted at one or more customer sites by the end-user of
the software. This version is released for a limited number of users for
testing in a real-time environment
Example:
● When software testing is performed for the limited number of people
7. System Testing
● This software is tested such that it works fine for the different operating
systems. It is covered under the black box testing technique. In this, we just

106
focus on the required input and output without focusing on internal
working.
● In this, we have security testing, recovery testing, stress testing, and
performance testing
Example:
● This includes functional as well as non functional testing
8. Stress Testing
● In this, we give unfavourable conditions to the system and check how they
perform in those conditions.
Example:
● Test cases that require maximum memory or other resources are executed
● Test cases that may cause thrashing in a virtual operating system
● Test cases that may cause excessive disk requirement
9. Performance Testing
● It is designed to test the run-time performance of software within the
context of an integrated system. It is used to test the speed and effectiveness
of the program. It is also called load testing. In it we check, what is the
performance of the system in the given load.
Example:
● Checking several processor cycles.
10. Object-Oriented Testing
● This testing is a combination of various testing techniques that help to
verify and validate object-oriented software. This testing is done in the
following manner:

Testing of Requirements,
● Design and Analysis of Testing,
● Testing of Code,
● Integration testing,
● System testing,
● User Testing.
11. Acceptance Testing

● Acceptance testing is done by the customers to check whether the delivered


products perform the desired tasks or not, as stated in requirements.
What is a Test Case?
A Test Case is a set of actions executed to verify a particular feature or

107
functionality of your software application. A Test Case contains test steps, test
data, precondition, post condition developed for specific test scenario to verify
any requirement. The test case includes specific variables or conditions, using
which a testing engineer can compare expected and actual results to determine
whether a software product is functioning as per the requirements of the customer.
Test Scenario Vs Test Case
Test scenarios are rather vague and cover a wide range of possibilities. Testing is
all about being very specific.
For a Test Scenario: Check Login Functionality there many possible test cases
are:
Test Case 1: Check results on entering valid User Id & Password
Test Case 2: Check results on entering Invalid User ID & Password
Test Case 3: Check response when a User ID is Empty & Login Button is
pressed, and many more
This is nothing but a Test Case.
How to Write Test Cases in Manual Testing

Step 1) A simple test case to explain the scenario would be

Step 2) Test the Data.


In order to execute the test case, you would need Test Data. Adding it below

Identifying test data can be time-consuming and may sometimes require

108
creating test data afresh. The reason it needs to be documented.
Step 3) Perform actions.
In order to execute a test case, a tester needs to perform a specific set of actions
on the AUT. This is documented as below:

Many times the Test Steps are not simple as above, hence they need
documentation. Also, the author of the test case may leave the organization or
go on a vacation or is sick and off duty or is very busy with other critical tasks.
A recently hire may be asked to execute the test case. Documented steps will
help him and also facilitate reviews by other stakeholders.
Step 4) Check behaviour of the AUT.
The goal of test cases in software testing is to check behaviour of the AUT for
an expected result. This needs to be documented as below

During test execution time, the tester will check expected results against actual
results and assign a pass or fail status

Step 5) That apart your test case -may have a field like,
Pre – Condition which specifies things that must be in place before the test can
run. For our test case, a pre-condition would be to have a browser installed to
have access to the site under test. A test case may also include Post – Conditions
which specifies anything that applies after the test case completes. For our test
case, a post condition would be time & date of login is stored in the database

109
The format of Standard Test Cases
Below is a format of a standard login Test cases example.

This entire table may be created in Word, Excel or any other Test management
tool. That’s all to Test Case Design

While drafting a test case to include the following information


● The description of what requirement is being tested
● The explanation of how the system will be tested
● The test setup like a version of an application under test, software, data
files, operating system, hardware, security access, physical or logical

110
date, time of day, prerequisites such as other tests and any other setup
information pertinent to the requirements being tested
● Inputs and outputs or actions and expected results
● Any proofs or attachments
● Use active case language
● Test Case should not be more than 15 steps
● An automated test script is commented with inputs, purpose and expected
results
● The setup offers an alternative to pre-requisite tests
● With other tests, it should be an incorrect business scenario order

Best Practice for writing good Test Case Example.


1. Test Cases need to be simple and transparent:
● Create test cases that are as simple as possible. They must be clear and
concise as the author of the test case may not execute them.
● Use assertive language like go to the home page, enter data, click on this
and so on. This makes the understanding the test steps easy and tests
execution faster.
2. Create Test Case with End User in Mind
● The ultimate goal of any software project is to create test cases that meet
customer requirements and is easy to use and operate. A tester must create
test cases keeping in mind the end user perspective
3. Avoid test case repetition.
● Do not repeat test cases. If a test case is needed for executing some other
test case, call the test case by its test case id in the pre-condition column
4. Do not Assume
● Do not assume functionality and features of your software application
while preparing test case. Stick to the Specification Documents.
5. Ensure 100% Coverage
● Make sure you write test cases to check all software requirements
mentioned in the specification document. Use Traceability Matrix to
ensure no functions/conditions is left untested.
6. Test Cases must be identifiable.
● Name the test case id such that they are identified easily while tracking
defects or identifying a software requirement at a later stage.
7. Implement Testing Techniques
● It’s not possible to check every possible condition in your software

111
application. Software Testing techniques help you select a few test cases
with the maximum possibility of finding a defect.
● Boundary Value Analysis (BVA): As the name suggests it’s the technique
that defines the testing of boundaries for a specified range of values.
● Equivalence Partition (EP): This technique partitions the range into equal
parts/groups that tend to have the same behaviour.
● State Transition Technique: This method is used when software
behaviour changes from one state to another following particular action.
● Error Guessing Technique: This is guessing/anticipating the error that
may arise while doing manual testing. This is not a formal method and
takes advantages of a tester’s experience with the application
8. Self-cleaning
● The test case you create must return the Test Environment to the pre-test
state and should not render the test environment unusable. This is
especially true for configuration testing.
9. Repeatable and self-standing
● The test case should generate the same results every time no matter who
tests it
10. Peer Review.
● After creating test cases, get them reviewed by your colleagues. Your peers
can uncover defects in your test case design, which you may easily miss.

Requirements

Functional Requirements

Primary:

112
1. Admin User can create a Manufacturer from the admin Panel.
2. Admin User can edit Manufacture from the admin Panel..
3. All Manufacturer lists should be visible to public users
4. Admin User can delete Manufacture from the admin Panel.

Test Scenario-Test Case

113
114
CONCLUSION:-

QUESTIONS:-

1) What do you understand by V&V in software testing?


In Software testing verification and validation (V&V) is the process of checking that a
software system meets specifications and requirements so that it fulfills its intended
purpose. It may also be referred to as software quality control.

2) Which granularity level of testing checks the behaviour of module


cooperation?
Integration testing is the phase in software testing in which individual software modules
are combined and tested as a group.

3) Which test refers to the retesting of a unit, integration and system after
modification, in order to ascertain that the change has not introduced
new faults?
Regression test seeks to uncover new software bugs in existing functional and non-
functional areas of a system after changes have been made to them.

4) In which test design each input is tested at both ends of its valid range
and just outside its valid range?
Boundary value analysis is a software testing technique in which tests are designed to
include representatives of boundary values.

5) When does the testing process stops?


As software testing is an exhaustive process, when the quality assurance is established and
the product is ready to be delivered, testing is stopped.

115
Marks (out of 10)
Signature with Date of Completion

116
Experiment No. 6
DATE: ________
Aim:- Demonstrate the End to End Project flow and Dashboard with the
help of JIRA Tools

Theory:-
JIRA is an Incident Management Tool used for Project Management, Bug
Tracking, Issue Tracking and Workflow. JIRA is based on the following three
concepts – Project, Issue and Workflow.

Important Points to Note


The following points explain some interesting details of JIRA.
● JIRA is an incident management tool.
● JIRA is developed by Atlassian Inc., an Australian Company.
● JIRA is a platform independent tool; it can be used with any OS.
● JIRA is multi-lingual tool – English, French, German, Japanese, Spanish,
etc.
● JIRA supports MySQL, Oracle, PostgreSQL and SQL server in the
backend.
● JIRA can be integrated with many other tools – Subversion, GIT, Clear
case, Team Foundation Software, Mercury, Concurrent Version System
and many more.

License and Free Trial


The following points describes the legalities of the JIRA Tool.
● JIRA is a commercial tool and available as a Trial version for a limited
time.
● To utilize JIRA services, a license is required.
● JIRA provides free license for academic projects.
● A 15-day trial version is available for an individual person to use.
● Use of JIRA Following are some of the most significant uses of JIRA.
● JIRA is used in Bugs, Issues and Change Request Tracking.
● JIRA can be used in Helpdesk, Support and Customer Services to create
tickets and track the resolution and status of the created tickets.
● JIRA is useful in Project Management, Task Tracking and Requirement
Management.
● JIRA is very useful in Workflow and Process management

81
JIRA ─ Core Features
The following table explains some of the most important and
commonly used features in detail for better understanding.

82
JIRA – Project
A Project contains issues; a JIRA project can be called as a collection of issues.
A JIRA Project can be of several types. For example –
● Software Development Project
● Marketing Project
● Migration to other platform project
● Help Desk Tracking Project
● Leave Request Management System
● Employee Performance System
● Website Enhancement
Create a New Project
To create a project, the user should login as a JIRA Service Desk Admin and then
Click on Project  Create Project. The following screenshot shows how to reach
to the Create Project button from the Dashboard.

83
Choose the type of Project that suits your requirement and the process it should
follow.
The following screenshot displays the type of projects available in JIRA.

Once the type of project is selected, click on Next. The user will see the flow of
the project based on the selection. Here, we have selected Basic Software
development. The following screenshot displays the available issue types and the
workflow for the chosen project in the step mentioned above:

84
Click on the Select button, enter the name of the project and confirm the Key that
the user wants to display as a reference in all the issues. Once this is done, click
on the Submit button. The following screenshot displays the fields to provide
details before the creation of a project.

The page having issues will display. The following screenshot displays whether
any issues are linked with a new created project.

85
JIRA – Issues
JIRA is a project management tool and uses issues to track all the tasks. An issue
helps to track all works that underlie in a project. In real time, every work or task
either technical, non-technical, support or any other type of a project in JIRA are
logged as an issue.
An issue can be dependent on the organization and requirements:
● Story of a project
● Task of a story
● Sub-task of a story
● A defect or bug can be an issue
● Helpdesk Ticket can be logged as issue
● Leave Request
The following screenshot shows the basic page and information of an open
issue.

86
JIRA – Workflow
In JIRA, workflow is used to track the lifecycle of an Issue. Workflow is a record
of statuses and transitions of an issue during its lifecycle. A status represents the
stage of an issue at a particular point. An issue can be in only one status at a given
point of time like Opened, To Do, Done, Closed, Assigned, etc.
A transition is a link between two statuses when an issue moves from one status
to another. For an issue to move between two statuses, a transition must exist. In
a simple way, a transition is some kind of work done on the issue, while status is
the impact of work on that issue.
Example
As of now, an issue is created and opened. When the assignee starts working on
the issue, the issue moves to the In Progress status. Here, the transition is starting
the work, while the status of the issue is now progressive.
JIRA workflow has the following stages to track as soon as an issue is created:
Open Issue: After creation, the issue is open and can be assigned to the assignee
to start working on it.
In Progress Issue: The assignee has actively started to work on the issue.
Resolved Issue: All sub-tasks and works of that Issue are completed. Now, the
issue is waiting to be verified by the reporter. If verification is successful, it will
be closed or re-opened, if any further changes are required.
Reopened Issue: This issue was resolved previously, but the resolution was
either incorrect or missed a few things or some modifications are required. From
Reopened stage, issues are marked either as assigned or resolved.
Close Issue: The issue is considered as finished, resolution is correct as of now.
Closed issues can be re-opened later based on the requirement.
JIRA Workflow can be referred as a Defect Lifecycle. It follows the same

87
concepts. The only difference is that it is generic for all issues rather than limited
to Defects only.
The following diagram shows a standard workflow:

A transition is a one-way link, if an issue moves back and forth between two
statuses. Two transitions should be created.
Example: There are two-way transitions between closed and re-opened statuses.
A closed issue can be reopened if any modifications are required at any time until
the project completes, while a re-opened issue can be closed directly if additional
work is taken care in another issue and no specific work has been done on the re-
opened issue.
JIRA – Installation
In this chapter, we will learn how to install JIRA on your system.
Important Points to Note
● JIRA is a web application that provides a private website to an individual
or a set of requested users belonging to the same company/project.
● JIRA can be run as a Windows Service at the server side.
● JIRA is a pure Java based application and supports all OS platforms like
Windows, Linux of different versions or MAC, etc., those satisfy
JDK/JRE requirements.
● JIRA supports all famous browsers like Chrome, IE, Mozilla and Safari.
● It supports Mobile browsers as well in mobile views

88
System Requirements
Since JIRA is a web-application, it follows the concept of client/server. It means
that JIRA can be installed centrally on a server and users can interact with it
through web-browsers using a website from any computer.
Browser: JavaScript should be enabled, the user is recommended not to use any
script-blocking tool like NoScript to access full functionality of JIRA.
JDK/JRE: It is recommended to update JRE/JDK with the latest version. JIRA
6.4 recommends using JRE/JDK version 8. Since our scope is to consume the
JIRA application as end users, we can ignore the server side requirements.

Installation at the Server Side


● JIRA follows the Client/Server concept. At the server side, JIRA must be
installed before using it as end user.
● At the server side, JIRA must connect with relation database to store
issues/application data.
● Download the JIRA Windows Installer.exe file from the following link –
https://www.atlassian.com/software/jira/download?_ga=1.28526460.1787
473978.1 488778536
● Select the OS type and click on Download

The following screenshot shows how to download the .exe file for a specific OS.

Run the .exe file to run the installation wizard. The following screenshot shows
the downloaded .exe file.

89
After clicking the .exe file, the Run confirmation pop-up displays, click on
RUN. The following screenshot shows the RUN confirmation pop-up.

The following JIRA installation wizard displays, click on Next.

90
Choose the appropriate installation option as shown in following screenshot and
then click on Next.

The installation summary is displayed with the Destination Directory, Home


Directory, TCP Ports, etc., as shown in the following screenshot.

91
Click on Install. JIRA will start installing as displayed in following screenshot.
It takes a couple of minutes to finish the installation.

After installation, JIRA will be started automatically if the check box to “Start
JIRA Software 7.3.4 now” is checked. Then click on Next, if not, it can be
accessed using the appropriate Windows Start Menu shortcut.

92
Process flow with JIRA
1. Getting start with Jira

You need to sign up for a free Jira account. For that, you just need to visit the official
website and click on “Get it free”.
Once you’ve created a fresh account and logged into Jira, you’ll see your dashboard.

93
2. Create Project :

If you don’t create project create new one.

3. Understanding an Agile Process

Here, you’ll learn how to use Jira to create a project management workflow for a
software project.
Once you move through this agile process and get to the review stage, you’ll either
build your software or go back to the planning stage depending on whether you uncover
any issues along the project workflow.

4. Creating a Software Development Workflow

Our software development journey begins once you click on “Board” on the left-hand
side of your dashboard.

Creating an Epic:

94
This is the first step of creating the project workflow. All you need to do is navigate up
to “Create”.
In the same way create more two Epic.

95
Creating a child issue :

In this step, we’re going to create a subtask within each of these issues or stories.
To do that click on “Your work” in the left-top corner. Then click on your recent Epic.
At the end click on “Add a child issue” to create a sub-issue.

96
Understanding Scrum Roles :

Before you finish the project workflow for the software development project, we need
to identify what scrum roles are. It’s a hierarchy of employees working on a software
development project and how they function to achieve agile development.

97
Creating other project type :

98
To create projects other than software development, you can head over to “Project” and
then “Create Project”. In the project type, choose “Classic project”. After entering the
project name, you can change the template.

CONCLUSION:-

QUESTIONS:-
1) Explain the workflow of Jira.
A Jira workflow is a set of statuses and transitions that an issue moves through during its
lifecycle, and typically represents a process within your organization. Workflows can be
associated with particular projects and, optionally, specific issue types by using a workflow
scheme.

2) What are the issue types in a Scrum project in Jira?


The standard issue types in Jira are story, task, bug, subtask, and epic.

3) What is the role of validators in Jira?

99
Validators check that any input made to the transition is valid before the transition is
performed. Input can include that gathered from the user on the transition's screen.

4) What is an Event in Jira?


Jira uses an event-listener mechanism to alert the system that something has happened, and
to perform appropriate action (e.g. send an email notification) based on the event that has
occurred.

5) What are some of the common Jira add-ons?


▪ Requirements and Test Management for Jira (RTM)
▪ ScriptRunner For Jira (Version 5.3.16) By Adaptavist
▪ Automation For Jira (Version 3.11.12) By Code Barrel Pty Ltd
▪ Structure For Jira (Version 4.6.1) By ALM Works
▪ BigPicture For PPM, Project Management (Version 6.12.3) By SoftwarePlant
▪ SQL For Jira Driver – Convert JQL To SQL (Version 6.8.3) By MarketPlace Expert
▪ Katl-com For Power Scripts & Power Apps (Version 4.0.16) By CPrime
▪ Tempo Timesheets For Jira

Marks (out of 10)


Signature with Date of Completion

100

You might also like