SRS Template + Cover Page
SRS Template + Cover Page
Prepared for
SWE 543 - Software Requirements Engineering
Fall 2023
Software Requirements Specification Template
TC Testing By ML – Based Selenium
Table of Contents
1. Introduction 8
1.1 Purpose 8
1.2 Scope 8
1.3 Definitions, Acronyms, and Abbreviations 8
1.4 References 8
1.5 Overview 8
2. General Description 9
3. Specific Requirements 9
3.1 External Interface Requirements 9
3.1.1 User Interfaces 9
3.1.2 Software Interfaces 9
3.2 Functional Requirements 9
3.2.1 <+or Feature #1> 9
3.2.2 <Functional Requirement or Feature #2> 9
3.3 Use Cases 10
3.3.1 Use Case #1 10
3.3.2 Use Case #2 10
3.4 Use Cases Description 10
3.4.1 Use Case #1 10
3.4.2 Use Case #2 10
3.4.3 Use Case #3 10
3.4.4 Use Case #4 10
3.4.5 Use Case #5 11
3.5 Classes / Objects 11
3.5.1 <Class / Object #1> 11
3.5.2 <Class / Object #2> 11
3.6 Non-Functional Requirements 11
3.7 Design Constraints 11
3.8 Other Requirements 11
4. Analysis Models 12
A. Appendices 12
A.1 Appendix 1 12
A.2 Appendix 2 12
1. Introduction
Commencing software quality assurance represents one of the most critical facets within the
software development lifecycle. Within this lifecycle, there is a testing phase which involves the
process of exercising a software system using a variety of inputs with the intention of validating
its behavior and discovering faults. These faults, also known as bugs or defects, can cause
failures in their software systems[19]. The importance of the testing phase would verify and
validate the aim of the software. To achieve high level of software quality, we should
concentrate on the techniques and methods used for testing process. Automation testing is one of
the useful technique that would help to increases test coverage and accuracy. Software invariably
exhibits defects due to the inherent fallibility of human programmers. The genesis of such
imperfections lies in several factors, including the potential for ambiguous or erroneous software
requirements, misinterpretation of these requirements, misuse of software components, human
errors during the coding process, and the susceptibility of previously functional code to
discrepancies arising from changes. In light of these challenges, the practice of software testing
emerges as an intuitive and indispensable approach to mitigate the impact of these
imperfections[19].One of the practices technique of software testing is Software fault prediction
(SFP) that encompasses the endeavor of constructing predictive models intended for deployment
by software professionals during the nascent stages of the software development life cycle. To
apply (SFP) machine learning can be harnessed to streamline the automation of test scripts,
consequently enhancing the level of software quality and concurrently alleviating the testing
team's workload. Tester Community System (TC) would be the mean to measure the
effectiveness of the suggested testing technique which is machine learning – based selenium
technique. (TC) system is a community of testers, offering a variety of features. To apply the
automation testing we chose selenium testing tool that has a list of advantages as: Open source,
No licensing and maintenance fees, Open for integration with other tools and frameworks, Ease
of use, Flexibility, Capability to debug and set breakpoints in test cases and Allows tests written
in different programming languages for advantages[ref]. Machine learning – based selenium
technique would be the main point of concentrate to utilize it for the automation testing step in
the testing phase. In the current SRS, we will explain the purpose of the SRS, defining the scope
of the (TC) system and specifying functional and non-functional requirement to draw use case
diagram and write use case description.
1.1 Purpose
This SRS demonstrates the software requirements of (TC) system. It is listing of the functional
and non-functional requirements with the explanation in diagrams to facilitate understanding the
goal of the requirements.
1.2 Scope
(TC) system is a community of testers, offering a variety of features, with the primary focus
being the collaborative exchange of software testing expertise. It has five main functions, insert a
new testing technique, query for a technique, upload a tool library, upload a template of testing
report and view the dashboard. It is developed to measure the effectiveness of utilizing machine
learning – based selenium technique that would solve some of the testers challenges. This
technique would conducted on one test case and gain testers overview of the technique
performance.
Acronyms Definitions
TC Tester Community
ML Machain Learning
1.4 References
This subsection should:
(1) Provide a complete list of all documents referenced elsewhere in the SRS, or in a separate,
specified document.
(2) Identify each document by title, report number - if applicable - date, and publishing
organization.
(3) Specify the sources from which the references can be obtained.
This information may be provided by reference to an appendix or to another document.
1.5 Overview
In the rest of SRS, we will explain the general description factor of (TC) system after utilizing
ML-based selenium technique, specifications requirements of the (TC) system, and specifying
analysis model.
2. General Description
The quality of (TC) system will be affected by the testing process used that include applying
automation testing technique. Selenium tool should be installed.
3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
3.1.2 Software Interfaces
3.5.1.1 Attributes
3.5.1.2 Functions
<Reference to functional requirements and/or use cases>
3.5.2 <Class / Object #2>
…
4. Analysis Models
List all analysis models used in developing specific requirements previously given in this SRS.
Each model should include an introduction and a narrative description. Furthermore, each
model should be traceable to the SRS’s requirements.
A. Appendices
Appendices may be used to provide additional (and hopefully helpful) information. If present,
the SRS should explicitly state whether the information contained within an appendix is to be
considered as a part of the SRS’s overall set of requirements.
Example Appendices could include (initial) conceptual documents for the software project,
marketing materials, minutes of meetings with the customer(s), etc.
A.1 Appendix 1
A.2 Appendix 2