Download as pdf or txt
Download as pdf or txt
You are on page 1of 36

wantsome.

ro Mai mult
decât știai.

Requirements analysis
10/05/2020
and
Environment setup
Classification: Restricted (V2)
Introduction

Requirements analysis, also called requirements


engineering, is the process of determining (as in
understanding) user expectations for a new or modified
product. These features, called requirements, must be
quantifiable, relevant and detailed.

wantsome.ro
Classification: Restricted (V2)
Introduction

• Many bugs in a software are due to incomplete,


inaccurate or ambiguous functional requirements.
• Requirements analysis is vital for effective Software
Testing. On many traditional projects, this was
devoted solely to Business Analysts.
• With an effective agile project, software testers
should also be part of this phase who can provide
significant value.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis - test team

• Requirements analysis is an important aspect of


software testing.
• The software code, no matter how well it is written,
can’t do anything if there are ambiguities in
requirements. It is better to catch the requirement
ambiguities and fix them in early development life
cycle.
• So it’s important to have requirement analysis and
catch the incorrect requirements before design
specifications.
wantsome.ro
Classification: Restricted (V2)
Requirements analysis – test team

• During Requirements analysis, test team studies the requirements from


a testing point of view to identify the testable requirements.

• Requirements analysis involves frequent communication with various


stakeholders:

- Client

- Business Analyst

- Technical Leads

- System Architects

wantsome.ro
Classification: Restricted (V2)
Requirements analysis - communication

The communication is needed in order to:


• Determine & understand specific feature
expectations.

• Detect and resolve conflicts that arise due to


unclear and unspecified requirements.

• If any clarification is needed on any particular


functionality or any suggestions to implement the
features or any logical issues, then raise a
clarification against the requirement.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis - communication

The communication is needed in order to:


• Discover missing requirements (if there is any
dependency).

• Clear all the assumptions made. Any requirement


should not be based on assumptions.

• Understand the problem for which the software is


to be developed.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – team test

• By reviewing and commenting on requirements,


testers can bring all their experience in identifying the
issues before coding has even begun.

• This saves time and money, even if the relative rate


of issue-detection is much lower than the rate during
system testing.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – test team

• Bringing testers into requirements analysis has to be


carefully managed.
• Testers tend to be detail oriented and focused on
making things right, and this can lead to feedback
and discussions loops without bringing additional
value.
• These loops can be avoided, if the process is
managed effectively.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – test team

As software testers involved in a project we need to


make sure:
• Requirements are clear, consistent and specific with no
uncertainty.
• Requirements are complete, covering each and every
aspect of the system under development.
• Requirements should be testable having some evaluation
criteria for each requirement.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – the WHAT

• This is the most important phase for ANY activity


(especially Software Testing Life cycle)
• Unless you know WHAT to develop or test, you
cannot do much about it
• Consider a situation where you sign a contract with a
client to deliver software and there are no further
talks & you don’t know what to deliver.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – the WHAT

wantsome.ro
Classification: Restricted (V2)
Software Requirements Specifications (SRS)

• SRS also known as: requirements; requirements definition; system


requirements

• A Software requirements specification (SRS) or Functional Specification


Document (FSD) is a description of features and functionalities of a
software system to be developed.

• It lays out functional and non-functional requirements:

- instructions describing what functions the software is supposed to provide

- what characteristics the software is supposed to have

- what goals the software is supposed to meet or to enable users to meet.

wantsome.ro
Classification: Restricted (V2)
Software Requirements Specifications (SRS)

Software requirements specification is different from


the Technical specification in that it describes how a
product will work entirely from the user’s perspective
instead of how it is to be implemented.

wantsome.ro
Classification: Restricted (V2)
Software Requirements Specifications (SRS)

Specifications may take several forms:


• They can be a straightforward listing of functional
attributes
• They can be diagrams or schematics of functional
relationships or flow logic
• They can be a mix of the above

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – Use cases

• Use Case is a method to define system requirements / behavior.

• A use case defines a goal-oriented set of interactions (list of actions


or event steps) between external actors and the system under
consideration, i.e. how a user uses a system to accomplish a
particular goal.

• Actors are parties outside the system that interact with the system.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – Use cases

• The use case should contain all system


activities that have significance to the
users.

• A use case can be thought of as a


collection of possible scenarios related to
a particular goal.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – Use cases

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – Use cases

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – Use cases

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – User story

• User Story is a tool used in Agile Software


development to capture a description of a software
feature from an end-user perspective.
• The user story describes the type of the user, what
they want and why.
• A user story helps to create a simplified description
of a requirement.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – User Story

• Format:

As a <role or user type>,

I want <feature or goal>

So that <some reason>

• Example – As an administrator, I want to


approve comments before they are
posted so that I can make sure they are
appropriate.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – User story

• The user stories should be written by the business in the language of the
customer so that it is clear to both the business and the product team
what the customer wants and why.

• Agile projects, especially use a product backlog, which is a prioritized list


of the functionality to be developed in a product.

• Product backlog can be thought of as a replacement for the requirements


document of a traditional project.

• User stories are the most popular form of product backlog items.

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – User story

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – Acceptance criteria

• Acceptance criteria are written guidelines for what a digital service


needs to include in order to satisfy its users.

‘As a member, I want to create a password on my account, so that I can login

wantsome.ro
Classification: Restricted (V2)
Requirements analysis – Gherkin Syntax

Scenario: Account has sufficient funds

Given the account balance is $100

And the card is valid

And the machine contains enough money

When the Account Holder requests $20

Then the ATM should dispense $20

And the account balance should be $80

And the card should be returned

wantsome.ro
Classification: Restricted (V2)
What is Test Environment?

• A testing environment is a setup of software and


hardware for the testing teams to execute test cases.
• It supports test execution with hardware, software
and network configured.
• Test environment is configured as per the need of the
Application Under Test.

wantsome.ro
Classification: Restricted (V2)
Key areas to set up Test Environment

• System and applications


• Test data
• Database server
• Front end running
environment
• Client operating system

wantsome.ro
Classification: Restricted (V2)
Key areas to set up Test Environment

• Browser
• Hardware includes Server Operating system
• Network
• Documentation required like reference documents/
configuration guides/ installation guides/ user
manuals

wantsome.ro
Classification: Restricted (V2)
Areas – setup of test server

• Not every test can be executed on local machine. It


may need establishing a test server, which can
support applications.
• For example: Fedora setup for PHP, Java based
applications with or without mail servers, cron setup,
.NET based applications, etc.

wantsome.ro
Classification: Restricted (V2)
Areas - Network

Network setup as per the test requirement includes:


• Internet setup
• LAN Wifi setup
• Private network setup

wantsome.ro
Classification: Restricted (V2)
Areas – Test PC setup

• For web testing, you may need to setup different browsers for
different testers.
• For desktop applications, you need various types of OS for
different testers PCs.

wantsome.ro
Classification: Restricted (V2)
Areas - Tools

• Bug reporting tools


• Testing tools
• Test management tools
• Automation tools

wantsome.ro
Classification: Restricted (V2)
Challenges commonly faced

• Remote environment
• Combined usage between teams
• Ineffective planning for resource usage
• Complex test configuration

wantsome.ro
Classification: Restricted (V2)
Best practice

• Understand the test requirements thoroughly and educate the


test team members
• Connectivity should be checked before the initiation of the testing
• Check for the required hardware, software and licenses
• Browsers and versions
• Schedule the use of the test environment
• Tools and their configurations

wantsome.ro
Classification: Restricted (V2)
wantsome.ro
Classification: Restricted (V2)

You might also like