SRS - Draft
SRS - Draft
1.1 Purpose
The purpose of this document is to describe the software requirements for the ‘Visual
testing Automation’ project. This document is intended for the development team, project
managers, and other stakeholders involved in the project.
1.2 Scope
Visual Testing Automation is an automation tool that allows software testers to help
automate the UI testing to significantly reduce the QA time. It will include features such as
full-page visual testing, partial page visual testing, parallel execution, cross browser testing,
creating own acceptance criteria for passing/failing tests and other necessary
functionalities.
- WDIO: WebdriverIO
1.4 References
- IEEE Standard for Software Requirements Specifications (IEEE 830-1998)
- Project Proposal Document
1.5 Overview
This SRS document provides a detailed description of the functional and non-functional
requirements for the Visual Testing project. It also includes an overview of the system
architecture, user interface, constraints, and acceptance criteria.
2. Overall Description
The application will have the ability to process the inputs and pass commands to an
automated test script written in WDIO (browser and mobile automation test framework for
Node.js). Based on the command, the test script will run the test and return the report back
to the main app.
The script will integrate with third-party tools/frameworks such as BrowserStack or Sauce
Labs and certain image comparison tools to run the test.
- Region Exemption: Allows user to specify regions of a page that is included in the test to
ignore during comparison, which can be used for dynamically generated contents which are
not part of the test.
- Threshold/Match Setting: Enable users to set tolerance level for pixel differences, with
options ranging from Exact, High, Medium to Low according to necessity.
- Customize Reports: Allow users to customize the test report through specified metrics or
additional notes.
- User Management Page: A page where admins can manage user accounts, roles,
permissions and access levels.
-TBD
3. System Features
**Functional Requirements:**
- FR1: The system shall validate the email format during registration.
- FR2: The system shall hash passwords before storing them in the database.
**Functional Requirements:**
- FR1: The system shall allow users to enter search criteria in a search bar.
- FR2: The system shall display search results based on relevance.
**Functional Requirements:**
- FR1: The system shall allow users to add or remove books from the shopping cart.
- FR2: The system shall calculate the total price, including taxes.
**Functional Requirements:**
- FR1: The system shall integrate with PayPal and Stripe for payment processing.
- FR2: The system shall notify users of successful or failed transactions.
3.5 Order Management
**Description:** Users can view their order history and track the status of their orders.
**Functional Requirements:**
- FR1: The system shall display a list of past orders in the user's account.
- FR2: The system shall update the order status as it moves through processing, shipping,
and delivery.
4. Non-Functional Requirements
4.5 Scalability
The system shall be scalable to support future growth in user base and catalog size.
5. System Architecture
5.1 Overview
The Visual Testing will follow a client-server architecture with a RESTful API. The front-end
will be developed using React.js, and the back-end will use Node.js with Express.js.
MongoDB will be used as the database.
6. User Interface