User Story & Requirements Flashcards
What is User Story?
A user story is an informal, natural language description of one or more features of a software system. A user story is a tool used to capture a description of a software feature from an end-user perspective. A user story describes the type of user, what they want and why. A user story helps to create a simplified description of a requirement.
Example:
As a user, I want a shopping cart feature so I can easily purchase items online.
What are the Requirements?
The software requirements are a description of the features and functionalities of the target system. Requirements convey the users’ expectations of the software product.
What are Business Requirements?
These requirements are specified from the business’s point of view. It generally involves the specified objectives and goals of a particular project that need to be fulfilled. These requirements are not meant for specifying the functionalities or technicalities of the desired software product rather they outline a general overview of a product, such as its primary use, why it is needed, its scope & vision, what business benefits will be gained, intended audience or users, etc. It generally involves the participation of the client, stakeholders, business, and project managers to gather and analyze the business requirements.
What are System Requirements?
Requirements to be incorporated in a software product under development to make a software product perform and function in a specific manner to achieve a specific target and goal.
It can be divided to :
Functional requirements:
Requirements encompassing the functional attributes and behavior of a software product. These requirements reflect the working and functionalities of an intended software product.
Non-Functional Requirements:
Requirements other than functional requirements that are essential and contribute towards the performance of a software product under various conditions and multiple environments.
What are User Requirements?
Requirements generated from a user’s point of view and scenarios of using a software product in various ways in a real environment by a targeted user to execute a particular task. These define the user’s expectations of a software product. As users’ exhaustive needs may not be covered under the domain of system requirements, they may be covered separately by business analysts through studying and analyzing the user requirements.
These types of requirements are generally gathered and documented using use cases, user scenarios, and user stories. In an ideal world, we as testers will be doing Requirements-based Testing.
Requirements-based testing:
Is a testing approach in which test cases, conditions and data are derived from requirements.
It includes functional tests and also non-functional attributes such as performance, reliability or usability.
What are the stages of User requirements?
- Design Test Cases - A test case has four parameters namely the initial state or precondition, data setup, the inputs and expected outcomes.
- Execute Tests - Execute the test cases against the system under test and document the results.
- Verify Test Results - Verify if the expected and actual results match each other.
- Track and Manage Defects - Any defects detected during the testing process goes through the defect life cycle and are tracked to resolution. Defect statistics are maintained to give us the overall status of the project.
What is E2E Testing (End-to-End)?
End-to-end testing is a technique used to test whether the flow of an application is behaving as expected right from start to finish. The purpose of performing end-to-end testing is to identify system dependencies and to ensure that the data integrity is maintained between various system components. Without conducting end-to-end testing, you risk your entire application collapsing in the event one of those subsystems fails.
What are Key Steps in Setting up End-to-End Tests?
As a testing method, end-to-end testing consists of many different parts, but the most common steps you’ll take in setting up your end-to-end process are as follows:
- Review the requirements you’ll be using end-to-end testing to validate.
- Set up the test environments and outline the hardware/software requirements.
- Define all the processes of your systems and their integrated subsystems.
- Describe the roles and responsibilities for each system.
- Outline the testing methodologies you plan to use and any testing standards (i.e., language, tools).
- Create the requirements for tracking and designing your test cases.
- List the input and output data for each system.