LP-IV Manual by SIT Lonavala
LP-IV Manual by SIT Lonavala
LAB MANUAL
Academic year 2023-24
Telegram Channel
https://t.me/SPPU_TE_BE_COMP
(for all engineering Resources)
WhatsApp Channel
(for all Engg & tech updates)
https://whatsapp.com/channel/
0029ValjFriICVfpcV9HFc3b
Insta Page
(for all Engg & tech updates)
https://www.instagram.com/
sppu_engineering_update
B.E. (Computer) Lab Practices-IV
VISION
We are committed to produce not only good engineers but good human beings, also.
MISSION
Holistic development of students and teachers is that we believe in and work for, We
strive to achieve this by imbibing a unique value system, transparent work culture,
excellent academic and physical environment conducive to learning, creativity and
technology transfer. Our mandate is to generate, preserve and share knowledge for
developing a vibrant society.
VISION
MISSION
M1: To provide broad-based education and contemporary knowledge by
Adopting modern teaching-learning methods.
M2: To inculcate a spirit of innovation in students through industrial
interactions.
M3: To develop individual’s potential to its fullest extent so that they can
emerge as gifted leaders in their fields.
Course Objectives:
Course Outcomes:
After completion of the course, students will be able to
CO1: Apply android application development for solving real life problems
CO2: Design and develop system using various multimedia components.
CO3: Identify various vulnerabilities and demonstrate using various tools.
CO4: Apply information retrieval tools for natural language processing
CO5: Develop an application using open source GPU programming languages
CO6: Apply software testing tools to perform automated testing
CERTIFICATE
Has completed all the practical work in the subject Laboratory Practices-IV, satisfactorily,
as prescribed by Savitribai Phule Pune University, Pune (SPPU) in the Academic Year
2023-24.
. During oral assessment, the expert evaluator should give the maximum weightage to the
satisfactory implementation of the problem statement. The supplementary and relevant questions may
beasked at the time of evaluation to test the student’s for advanced learning, understanding of the
fundamentals, effective and efficient implementation. So encouraging efforts, transparent evaluation
andfair approach of the evaluator will not create any uncertainty or doubt in the minds of the students.
So adhering to these principles will consummate our team efforts to the promising start of the student's
academics.
Assignment No: 1
Problem Statement: Write a program for Tracking Emails and Investigating Email Crimes. i.e. Write a
programto analyze e–mail header.
Objectives: To track and investigate email crimes.
Theory: Emails play a very important role in business communications and have emerged as one
ofthe most important applications on internet. They are a convenient mode for sending messages as
well as documents, not only from computers but also from other electronic gadgets such as mobile
phonesand tablets.
The negative side of emails is that criminals may leak important information about their company.
Hence, the role of emails in digital forensics has been increased in recent years. In digital forensics,
emails are considered as crucial evidences and Email Header Analysis has become important to
collect evidence during forensic process.
An investigator has the following goals while performing email forensics −
Header Analysis
Server investigation
Network Device Investigation
Sender Mailer Fingerprints
Software Embedded Identifiers
By analyzing the key parameters in an email header, you can get an idea of how the message traveled
from the source to the destination. For instance, you can use the originating IP to find the original
sender. For this, you need to examine the first Received parameter in the email header. The first IP
address here is the originating IP which is also sometimes presented in the fields X- Originating-IP
or Original-IP. Borrowing the same header example:
Received: by 10.12.174.216 with SMTP id n34csp2326299qvd; Wed, 1 Feb 2017 00:39:09 -0800
(PST)
The highlighted portion is the original sender of the message. You can use a free reputation service like
SenderBase by Cisco to get the reputation rating of the IP. This can help ascertain whether the email is spam or
a phishing attack. Although, bear in mind that if the IP address is private, then itmay not fetch any result. Message-
ID is another important field that can be checked during email header analysis for spoofing. You can see it below
in the highlighted region.
Reply-To: [email protected]
From: Ginger ([email protected])
To: "[email protected]" ([email protected])
Message-ID: ([email protected])
If you‘re already using Gmail, you might as well try G Suite‘s Messageheader tool.
2. Mx Toolbox.
Mx Toolbox has a great standalone email header analyzer, as well as detailed information on email
headers for the uninitiated.
3. What Is My IP?
We‘ve already credited them for their helpful email examples, but What Is My IP also has a
convenient email header analysis tool.
4. Mailheader.org.
There‘s also Mailheader.org, where you can review mail header samples in addition to the
header you‘ve selected.
5. Gaijin.
In case you needed more options, you could also try Gaijin.
If the above email header analyzer tools return an error message or if there‘s a bit of information
you were unable to find in their analysis, consider manually reviewing the email headers
yourself.
Assignment No: 2
Theory:
So just like any other program, the very first step is to install the CAPTCHA library. In order to do
that openyour command prompt and run the following command:
We would try to generate both images as well as audio captchas in this tutorial. Hence, when you are
done installing the library, you need to import the ImageCaptcha and AudioCaptcha functions from
captcha.image andcaptcha.audio sub-libraries respectively
Let‘s start by creating an Image captcha. We will be taking input about the text that needs to display on the screen
from the user and then generate the image captcha for the data.
To create the captcha, we need to create an Imagecaptcha object and then generate the captcha for the data using the generate function.
Look at the code below.
3 Cap_data = img.generate(text)
The image is generated but to save the image we need to use the write function using the code below. img.write(text,
'Sample_Cap_1.png')
C++ code:
3. Use compare() function to compare the generated captcha with user input.#include
<bits/stdc++.h> using
namespace std;
return captcha.compare(user_input) == 0;
time_t t; srand((unsigned)time(&t));
captcha = "";
while(n--)
captcha.push_back(required_chars[rand()%62]); return
captcha;
int main(){
int n;
captcha = generateCaptcha(n);
cin>>user_input;
if (check_Captcha(captcha, user_input))
cout<<"Valid CAPTCHA"<<endl;
else
cout<<"Invalid CAPTCHA"<<endl;
return 0;
}
Output:
Conclusion: Thus we have implemented a program to generate and verify CAPTCHA image.
Assignment No: 3
Problem Statement: Write a computer forensic application program for recovering permanent
deleted files and deleted partitions.
Objectives: To write a computer forensic application program for recovering permanent deleted files
and deleted partitions.
Theory:
Destroyed Evidence
In a criminal or cyber-criminal case, the attempts to destroy the evidence are very common. Such
attempts can be more or less successful depending upon the following conditions:
• Type of storage device like magnetic hard drive, flash memory card, or SSD drive.
Deleted Files
Deleting files is one of the easiest, convenient, and foremost way to destroy the evidence. Whether it is using the ―Delete‖ button or
―Shift+Delete‖ button. The principle of file recovery of deleted files is based on the fact that Windows does not wipe the
contents of the file when it‘s being deleted.
Instead, a file system record storing the exact location of the deleted file on the disk is being marked as ―deleted‖ and the disk
space previously occupied by the deleted file is then labeled as available – but not overwritten with zeroes or other data.
• The deleted file can be retrieved by analyzing the contents of the recycle bin as they are temporarily stored
there before being erased.
• If the deleted files have no trace in the recycle bin like in case of the ―Shift+Delete‖ command, then, in that
case, you can use commercial recovery tools to recover the deleted evidence. One such example commercial
tool is Disk Internals Partition Recovery.
• Looking for characteristic signatures of known file types by analyzing the file system and/or scanning the entire
hard drive, one can successfully recover :
There are two possible ways to format a hard drive: Full Format and Quick Format.
Full Format – As the name suggests, this initializes the disk by creating the new file system on the partition being
formatted and also checks the disk for the bad sectors. Prior to Windows Vista, a full format operationdid not
zero the disk being formatted. Instead, Windows would simply scan the disk surface sector after sector. Unreliable
sectors would be marked as ―bad‖. But in case of Vista and Windows 7, a full format operation willactually:
Quick Format – This is never destructive except for the case of SSD. Disk format simply initializes the disk
by creating the new file system on the partition being formatted. Information from disks cleared using a quick
format method can be recovered by using one of the data recovery tools thatsupport data carving.
SSD Drives
SSD means Solid-State Drives represent a new storage technology.
• Version of Operating System: Windows Vista and Windows 7 support TRIM Command, on the other
hand, Windows XP and earlier versions typically don‘t support TRIM Command.
• Communication Interface: SATA and eSATA support TRIM, while external enclosures
connected via USB, LAN or FireWire don‘t.
• File System: Windows supports TRIM on NTFS volumes but not on FAT-formatted disks. Linux, on the other
hand, supports TRIM on all types of volumes including those formatted with FAT.
Conclusion: Thus we have studied to write a computer forensic application program for recovering permanent
deleted files and deleted partitions.
Assignment No: 04
Problem Statement: Write a program for log capturing and event correlation.
Theory:
At the heart of the logging mechanism is the rsyslog daemon. This service is responsible for listening to log messages from
different parts of a Linux system and routing the message to an appropriate log file in the /var/log directory.
The rsyslog daemon gets its configuration information from the rsyslog.conf file. The rsyslog.conf file is found in the
/etc directory. This instruction comes from a series of two-part lines within the file. The two part instruction is made up of a selector
and an action. The two parts are separated by white space.
1) auth or authpriv: Messages coming from authorization and security related events.
top - top provides an ongoing look at processor activity in real time. It displays a listing of the most CPU-intensive tasks
on the system, and can provide an interactive interface for manipulatingprocesses.
last – shows listing of last logged in users, last searches back through the file /var/log/wtmp anddisplays a list of all
users logged in since that file was created.
lastlog - reports the most recent login of all users or of a given user, lastlog formats and prints the contents of the last
login log /var/log/lastlog file.
last reboot - to find out when was the system last rebooted.
strace - In the simplest case strace runs the specified command until it exits. It intercepts and recordsthe system calls
which are called by a process and the signals which are received by a process. Thename of each system call, its
arguments and its return value are printed on standard error or to the file specified with the -o option.
system() - The C library function int system(const char *command) passes the command name or program name
specified by command to the host environment to be executed by the command processor and returns after the command
has been completed
Assignment No: 5
Title: Honeypot
Honeypots
A honeypot is an "an information system resource whose value lies in unauthorized or illicit use of that resources"
"A server that is configured to detect an intruder by mirroring a real production system. It appears as an ordinary
server doing work, but all the data and transactions are phony. Located either in or outside the firewall, the honeypot
is used to learn about an intruder's techniques as well as determine vulnerabilities in the real system"
Honeypot History
The first publically available honeypot was Fred Cohen's Deception ToolKit in 1998 which was "intended to make
it appear to attackers as if the system running DTK [had] a large number of widely known vulnerabilities" More
honeypots became both publically and commercially available throughout the late nineties. As worms began to
proliferate beginning in 2000, honeypots proved imperative in capturing and analyzing worms. In 2004, virtual
honeypots were introduced which allow multiple honeypots to run on a single server.
Types of Honeypots
There are two broad categories of honeypots available today, high-interaction and low-interaction. These categories
are defined based on the services, or interaction level, provided by the honeypot to potential hackers
.High-interaction honeypots let the hacker interact with the system as they would any regular operating system,
with the goal of capturing the maximum amount of information on the attacker's techniques. Any command or
application an end-user would expect to be installed is available and generally, there is little to no restriction placed
on what the hacker can do once he/she comprises the system. On the contrary, low-interaction honeypots present
the hacker emulated services with a limited subset of the functionality they would expect from a server, with the
intent of detecting sources of unauthorized activity.
Honeypots provide several advantages over other security solutions, including network intrusion detection systems:
Tradition security solutions, such as intrusion detection systems, may not be enough in light of more complicated
attacks. Honeypots provide a mechanism for detecting novel attack vectors, even in encrypted environments.
Advances such as virtualization have made honeypots even more effective. Honeypots have drawbacks, though, so it
is important to understand how honeypots operate in order to maximize their effectiveness.
Honeynets and honeyfarms are the names given to groups of honeypots. Honeyfarms tend to be more centralized.
Grouping honeypots provide many synergies that help to mitigate many of the deficiencies of traditional honeypots.
For instance, honeypots often restrict outbound traffic in order to avoid attacking non-honeypot nodes. However, this
restriction allows honeypots to be identified by an attacker. He et al. use honeyfarms as redirection points for
outbound traffic from each individual honeypot. These redirection nodes also behave like real victims Figure 1 shows
the redirection of outbound traffic from a honeypot to another node in the honeyfarm.
Shadow honeypots are combination of honeypots and anomaly detection systems (ADS), which are another
alternative to rule-based intrusion detection systems.
Shadow honeypots first segment anomalous traffic from regular traffic. The anomalous traffic is sent to a shadow
honeypot which is an instance of a legitimate service as shown in Figure 2. If an attack is detected by the shadow
honeypot, any changes in state in the honeypot are discarded. If not, the transaction and changes are correctly handled.
While shadow honeypots require more overhead, they are advantageous in that they can detect attacks contingent
upon the state of the service.
One disadvantage of honeypots is that must take up a large portion of the address space in order to be efficient and
useful (since attackers and malware must target the honeypots). Yang et al. provide a distributed framework for
grid computing in which legitimate hosts redirect suspicious users to a single honeypot . An alternative is used by
Honey@home in which each client is responsible for a single unused IP address. The client traffic is redirected
anonymously through the Tor network to a collection of central honeypots .
Honeyfarms, honeynets, and distributed honeypots all address the need to monitor a large set of network addresses
in order for a honeypot to be effective. As discussed in Section 2.1, grouping honeypots can also add functionality to
honeypots by allowing for operations such as simulated outbound traffic. Honeynets, shadow honeypots, and
distributed honeynets are just a few of the advances occurring in the field of honeypots. We encourage you to explore
journals and online to read about the latest advances.
In this section, we provide a very brief survey of the Honeyd, HoneyBOT, and Specter honeypots. For each, we
describe what differentiates the solution and provide reference information. We then offer advice for selecting
amongst the solutions.
Honeyd
Honeyd is a honeypot for linux/unix developed by security researcher Niels Provos. Honeyd was ground- breaking
in that it could create multiple virtual hosts on the network (as opposed to just using a single physical host). The
honeypot can emulate various operating systems (which differ in how they respond to certain messages) and services.
Since Honeyd emulates operating systems at the TCP/IP stack level, it can fool even sophistic network analysis tools
such as nmap. Upon attack, Honeyd can passively attempt to identify the remote host. The Honeyd project is located
at http://www.honeyd.org/
HoneyBOT
Specter's authors describes Specter as a "honeypot-based intrusion detection system". However, the product is
primarily a honeypot designed to lure attackers away from production systems and collect evidence against the
attackers. Specter has a few interesting features not found in other solutions:
• Specter makes decoy data available for attackers to access and download. These data files leave marks on
the attacker's computer as evidence
• Specter can emulate machines in different states: a badly configured system, a secured system, a failing
system (with hardware or software failures), or an unpredictable system.
• Specter actively attempts to collect information about each attacker
Assignment No: 6
Link https://www.researchgate.net/publication/337982446_DESIGN_AND_IMPLEMENTATION_OF_DIGI
TAL_IMAGE_TOOL_FOR_FORENSIC_ANALYSIS_ANALYSIS
Content Of Report:
• Abstract
• Introduction
• Methodology
• System Requirements
• Hardware Requirement
• Software Requirements
• Conclusion
• References
Assignment No: 7
Theory:
3. Verify that Enter/Tab key works as a substitute for the Sign-in button
5. Verify that the User is not able to Login with an invalid Username and invalid Password
6. Verify that the User is not able to Login with a Valid Username and invalid Password
7. Verify that the User is not able to log in with an invalid Username and Valid Password
8. Verify that the User is not able to log in with a blank Username or Password
9. Verify that the User is not able to Login with inactive credentials
10. Verify that the reset button clears the data from all the text boxes in the login form
11. Verify that the login credentials, mainly password stores in a database in an encrypted format
13. Verify that validation message is displayed in the case when User leaves Username or Password as blank
14. Verify that validation message is displayed in case of exceeding the character limit of the Username and
Password fields
15. Verify that validation message is displayed in case of entering special character in the Username and password
fields
16. Verify that the ―Keep me logged in‖ checkbox is unselected by default (depends on business logic, it may be
selected or unselected)
17. Verify that the timeout of the login session (Session Timeout)
19. Verify that User is redirected to appropriate page after successful login
20. Verify that the User is redirected to the Forgot password page when clicking on the Forgot Password link
21. Verify that the User is redirected to the Create an account page when clicking on the Signup / Create an
account link
22. Verify that the User should be able to login with the new password after changing the password
23. Verify that the user should not be able to login with the old password after changing the password
24. Verify that spaces should not be allowed before any password characters attempted
25. Verify whether the user is still logged in after a series of actions such as sign-in, close the browser, and
reopen the application.
26. Verify that the ways to retrieve the password if the user forgets the password
2. Verify that there is a limit on the total number of unsuccessful login attempts (No. of invalid attempts should
be based on business logic. Based on the business logic, User will be asked to enter the captcha and try again
or user will be blocked)
3. Verify that the password is in encrypted form (masked format) when entered in the password field.
4. Verify the password can be copy-pasted. System shouldn‘t allow users to copy paste password.
5. Verify that encrypted characters in the ―Password‖ field should not allow deciphering if copied
6. Verify that the ―Remember password‖ checkbox is unselected by default (depends on business logic, it may
be selected or unselected).
7. Verify whether the login form is revealing any security information by viewing the page source
9. Verify whether Cross-site scripting (XSS ) vulnerability works on a login page. XSS vulnerability may be
used by hackers to bypass access controls.
Test Cases for CAPTCHA & Cookies (If there is a captcha on the login page)
1. Verify that whether there is a client-side validation when the User doesn‘t enter the CAPTCHA
2. Verify that the refresh link of CAPTCHA is generating the new CAPTCHA
5. Verify whether virtual keyboard is available and working properly to enter login credentials incase of
banking applications.
6. Verify two-way authentication through OTP is working properly incase of banking applications.
8. Verify that the user is able to login when the browser cookies are cleared. When the cookies are cleared,
system should not allow user to login automatically.
9. Verify the login functionality when the browser cookies are turned off.
Conclusion: Hence We have learned to write the test cases for Gmail login page.
Assignment No:8
Problem statement:-
Write Test cases in excel sheet for Social Media application or website .
Objectives:
To Write Test cases in excel sheet for Social Media application or website .
Theory:
Test cases are maintained in test management tools like Jira, HP QC, and others. Let‘s look at the main
components of test cases.
• Test Case ID
• Test Case Description
• Assumptions
• Test Data
• Pre-Condition
• Test Steps
• Expected Test Result
• Actual Test Result
• Status Pass/Fail
• Comments
Usability Test Cases are executed to evaluate how user-friendly is our application. Database test cases
are mostly SQL or No SQL-based testing. Unit test cases are written by developers to test their code
effectively.
Test Case ID: Test Case ID will be the test case number of story number in JIRA.
Test Case Description: The description will be a short description of the functionality.
Test Data: Test Data is the data with which you are performing the testing.
Pre-condition: Pre-condition should be anything that is done before the execution of the test case.
Test Steps: In Test Steps, you must mention steps like Login to application, Enter Username, and
password, click the login button, Verify the page redirects to splash page.
Expected Result: The expected Result should indicate the behavior of the application after the execution
of the test case. For successful Login expected Result would be a redirection to the splash page.
Actual Result: The actual Result indicates the actual behaviour of the application on the execution of he
test case.
Status: Status can be marked as passed or fail depending on the actual Result.
Example
⚫ Link : https://www.softwaretestinghelp.com/test-case-template-examples/
Conclusion: we have studied how to Write Test cases in excel sheet for Social Media application.
Assignment No:9
Objectives:
To Create Defect Report for bug application.
Theory:
How to distinguish between a good and bad Bug Report? It‘s very simple, apply the following characteristics and
techniques to report a bug.
#1) Having a clearly specified Bug Number: Always assign a unique number to each bug report. This, in
turn, will help you identify the bug record. If you are using any automated bug-reporting tool then this unique
number will be generated automatically each time you report a bug.
Note the number and a brief description of each bug that you reported.
#2) Reproducible: If your bug is not reproducible, then it will never get fixed.
You should clearly mention the steps to reproduce the bug. Do not assume or skip any reproducing steps. The
bug which is described Step by step is easy to reproduce and fix.
Operating system: Mention all the operating systems where you found the bug. Operating systems like
Windows, Linux, Unix, SunOS, and Mac OS. Also, mention the different OS versions like Windows NT,
Windows 2000, Windows XP etc, if applicable.
Priority: When should a bug be fixed? Priority is generally set from P1 to P5. P1 as ―fix the bug with the
highest priority‖ and P5 as ‖ Fix when time permits‖.
Severity: This describes the impact of the bug.
Types of Severity:
• Blocker: No further testing work can be done.
• Critical: Application crash, Loss of data.
• Major: Major loss of function.
• Minor: Minor loss of function.
• Trivial: Some UI enhancements.
• Enhancement: Request for a new feature or some enhancement in the existing one.
Now you entered into your application by logging in and navigate to USERS menu > New user, entered
all the information and clicked on SAVE button and now the application crashed and you cansee one
error page on the screen, now you would like to report this BUG.
⚫ Bug Name: Application crash on clicking the SAVE button while creating a new user. Bug
ID: The BUG Tracking tool will automatically create it once you save this. Area Path:
USERS menu > New Users Build
Number:/Version Number 5.0.1
Severity: HIGH (High/Medium/Low)
Priority: HIGH (High/Medium/Low)
⚫ Description:
Application crash on clicking the SAVE button while creating a new user, hence unable to create a
new user in the application.
Steps To Reproduce:
1. Logon into the application
2. Navigate to the Users Menu > New User
3. Filled all the fields
4. Clicked on ‗Save‘ button
5. Seen an error page ―ORA1090 Exception: Insert values Error…‖
6. See the attached logs for more information
7. And also see the attached screenshot of the error page.
⚫ Expected: On clicking SAVE button should be prompted to a success message ―New User has been
created successfully‖.
Assignment No: 10
Problem Statement: Installation of Selenium grid and selenium Web driver java eclipse (automation tools).
Objectives: To Install Selenium grid and selenium Web driver java eclipse (automation tools).
Theory:
Selenium Grid is a part of the Selenium Suite that specializes in running multiple tests across different browsers,
operating systems, and machines in parallel. It is achieved by routing the commands of remote browser instances where
a server acts as a hub. A user needs to configure the remote server in order to execute the tests.
Selenium Grid has 2 versions – the older Grid 1 and the newer Grid 2. We will only focus on Grid 2 because Grid 1 is
gradually being deprecated by the Selenium Team.
Selenium Grid uses a hub-node concept where you only run the test on a single machine called a hub, but the execution
will be done by different machines called nodes.
• Run your tests against different browsers, operating systems, and machines all at the same time
This will ensure that the application you are Testing is fully compatible with a wide range
of browser-O.S combinations.
If you set up Selenium Grid to run, say, 4 tests at a time, then you would be able to finish the
Selenium WebDriver allowed you to directly interact with the browsers through your automation test scripts. Java, PHP,
C#, Python, Ruby, Perl, and Javascript are some of the programming languages it supports.
The browsers it supports include Mozilla Firefox, Google Chrome version 12.0.712.0 and above, Internet
Explorer, Safari, Opera version 11.5 and above, and HtmlUnit version 2.9 and above.
As for operating systems, Selenium WebDriver supports Windows, Linux, Mac OS, and Solaris. Selenium
Selenium WebDriver does not handle window component, but this limitation can be overcome by
using external tools such as AUTO IT tool, Sikuli etc. It has different location strategies as well such as ID, Name,
Link text, Partial link text, Class name, CSS selector and Xpath. It also has better support dynamic web pages like
Ajax, where elements of the web page may change without the page itself being reloaded.
By using different jar files, we can also test API, Database Test etc. using Selenium WebDriver.
Link : https://www.browserstack.com/guide/how-to-setup-selenium-in-eclipse
⚫ Prerequisites for configuring Selenium in Eclipse
⚫ Install Java Download Java SE Development Kit 16.0.2 according to the Windows, Linux,
⚫ Run the JDK Installer by double-clicking on the file name in the download location and following the
instructions on the instruction wizard. Alternatively, silently install JDK by entering the following
command:
⚫ jdk.exe /s
Install Selenium
⚫ Download and Install Selenium to be set up in Eclipse.
⚫ Place these Browser Driver files in a directory that is part of the environment PATH. This will allow a
command-line call to the programs to execute them irrespective of the working directory.
API Docs
⚫ By clicking on the src folder (which is the source folder), create a new package and name it
⚫ Then right-click on the package name and create a class.
Conclusion: Hence, we have successfully studied Installation of Selenium grid and selenium Web
driver java eclipse.
Assignment No: 11
Problem Statement: Prepare Software requirement specification for online education portal
Objectives:
Theory:
A software requirements specification (SRS) is a document that describes what the software will do and how
it will be expected to perform. It also describes the functionality the product needs to fulfill all stakeholders (business,
users) needs.
We want to DEFINE the purpose of our product, DESCRIBE what we are building, DETAIL the individual
requirements, and DELIVER it for approval. A good SRS document will define everything from how software
will interact when embedded in hardware to the expectations when connected to other software. An even better SRS
The best SRS documents define how the software will interact when embedded in hardware — or when
connected to other software. Good SRS documents also account for real-life users.
An SRS gives you a complete picture of your entire project. It provides a single source of truth that every team involve
in development will follow. It is your plan of action and keeps all your teams — from development to maintenance — o
the same page (no pun intended).
make vital decisions on your product‘s lifecycle, such as when to retire an obsolete feature.
The time it takes to write an SRS is given back in the development phase. It allows for better understanding or your
A software requirements specification (SRS) includes in-depth descriptions of the software that will be developed.
A system requirements specification (SyRS) collects information on the requirements for a system. ―Software‖ and
―system‖ are sometimes used interchangeably as SRS. But, a software requirement specification provides greater
>> Need to prove compliance? Here's how to create a traceability matrix >>
Writing an SRS document is important. But it isn‘t always easy to do. Here are
Your first step is to create an outline for your software requirements specification. This may
be something you create yourself. Or you may use an existing SRS template. If you‘re creating
1. Introduction
1.1 Purpose
1.4 Scope
2. Overall Description
This is a basic outline and yours may contain more (or fewer) items. Now that you have an outline, lets fill in
the blanks.
This introduction is very important as it sets expectations that we will hit throughout the SRS. Some
items to keep in mind when defining this purpose include:
Define who in your organization will have access to the SRS and how they should use it. This may include
developers, testers, and project managers. It could also include stakeholders in other departments, including leadership
teams, sales, and marketing. Defining this now will lead to less work in the future.
Product Scope
What are the benefits, objectives, and goals we intend to have for this product? This should relate to overall business
goals, especially if teams outside of development will have access to the SRS.
It‘s important to define the risks in the project. What could go wrong? How do me mitigate these risks? Who is in
Taking into account the occurrence level and the severity, we can come up with a strategy to mitigate this risk.
Your next step is to give a description of what you‘re going to build. Is it a new product? Is it an add-on to a product
you‘ve already created? Is this going to integrate with another product? Why is this needed?
Who is it for?
Understanding these questions on the front end makes creating the product much easier for all involved.
User Needs
Describe who will use the product and how. Understanding the user of the product and their needs is a critical part
of the process.
Who will be using the product? Are they a primary or secondary user? Do you need to know about the purchaser of
the product as well as the end user? In medical devices, you will also need to know the needs of the patient.
What are we assuming will be true? Understating and laying out these assumptions ahead of time will help with headaches later.
Are we assuming current technology? Are we basing this on a Windows framework?
We need to take stock of these assumptions to better understand when our product would fail or not operate perfectly.
Finally, you should note if your project is dependent on any external factors. Are we reusing a bit of software
from a previous project? This new project would then depend on that operating correctly and should be
included.
In order for your development team to meet the requirements properly, we MUST include as much detail as
possible. This can feel overwhelming but becomes easier as you break down your requirements into categories.
Functional Requirements
Functional requirements are essential to your product because, as they state, they provide some sort of functionality.
Asking yourself the question ―does this add to my tool‘s functionality?‖ Or ―What function does this provide?‖ can
help with this process. Within Medical devices especially, these functional requirements may have a subset of risks
and requirements.
You may also have requirements that outline how your software will interact with other tools, which brings us
External interface requirements are specific types of functional requirements. These are especially important when
working with embedded systems. They outline how your product will interface with other components.
There are several types of interfaces you may have requirements for, including:
• User
• Hardware
• Software
• Communications
System Features
System features are types of functional requirements. These are features that are required in order for a system to
function.
include:
• Performance
• Safety
• Security
• Quality
The importance of this type of requirement may vary depending on your industry.
In the medical device industry, there are often regulations that require the tracking and accounting of safety. IEEE
also provides guidance for writing software requirements specifications, if you‘re a member.
We made it! After completing the SRS, you‘ll need to get it approved by key stakeholders. This will
Link : https://impressit.io/blog/software-requirements-specification-guide
Assignment No: 12
Mini Project :Software Testing and Quality Assurance Mini Project Dynamic website of covid-
19 informationusing HTML, CSS, JAVASCRIPT And PHP, MySQL database used to store
user account, comment, and registration form details. Regular Expression test cases for testing
purpose
Link : https://phpgurukul.com/covid19-testing-management-system-using-php-and-mysql/
⚫ How to run the Online COVID Testing Management System Using PHP and MySQL
⚫ Admin
Credentil
Username:admin
Password:Test@123