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

SOFTWARE REQUIREMENTS SPECIFICATION FOR

WHATSAPP

SUBMITTED BY:-
NAME:-D.SHOAIB AHAMED
REGISTRATION NUMBER:-12111440
SECTION:-K21YK.
ROLL NUMBER:-RK21YKA32
COURSE:-SOFTWARE ENGINEERING.
COURSE CODE:-CSE320

SUBMITTED TO:-
Dr. DIMPLE NAGPAL MADAM.
INTRODUCTION
Purpose
This document describes the software requirements and specification for a messenger app
Whatsapp.

Intended Audience and Reading Suggestions


The document is intended for all the stakeholders customer and the developer (designers, testers,
maintainers). The reader is assumed to have basic knowledge of Mobile operating system, database,
cloud data and user account. Knowledge and understanding of UML

Definitions, abbreviations

Definitions
• User Account

A user account is a location on a network server used to store a computer username, password, and
other information. A user account allows or does not allow a user to connect to a network, another
computer, or other share. Any network that has multiple users requires user accounts.

• Mobile Operating System

A mobile operating system, also called a mobile OS, is an operating system that is specifically
designed to run on mobile devices such as mobile phones, smartphones, PDAs, tablet computers and
other handheld devices.

• Database

A databse is a collection of information that is organized so that itcan easily be accessed, managed,
and updated. In one view, database can be classified according to types of content

• Distributed database

A distributed database is a database in which storage devices are not all attached to a common
processing unit such as the CPU, and which is controlled by a distributed database management
system together sometimes called a distributed database system networks.

• Entity relationship

An entity relationship model, also called an entity-relationship (ER) diagram, is a graphical


representation of entities and their relationships to each other, typically used in computing in regard
to the organization of data within databases or information systems.
• User case

In software and systems engineering, a use case is a list of actions or event steps, typically defining
the interactions between a role (known in the Unified Modeling Language as an actor) and a system,
to achieve a goal. The actor can be a human or other external system.

•DFD

A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system, modelling its process aspects. A DFD is often used as a preliminary step to
create an overview of the system, which can later be elaborated.

Project Scope
WhatsApp is an online instant messaging application that integrates user’s contacts from their
phonebook with the application and enables exchange of messages free of cost over the internet.

References

webwhatsapp.com

http://www.uianduxdesign.com/ux-designs/whatsapp-user-interface-and-user-experience-
design.html

https://www.whatsapp.com/

https://en.wikipedia.org/wiki/WhatsApp
Overall Description
Product Perspective

Whatsapp does not work independently. It works together with the internet and the mobile
operating system and its hardware services.

Communication interface

Whatsapp communicate with its database systems via a communication network.

Software interface

The messages sent via the communication network are specific to the target other user's same
software (whatsapp)on the other side.

Hardware interface

The software will run on the mobile system with the help of its hardware.

User interfaces
User
Once the application is installed, it goes through the user’s phone book, and upon consenting, sends
a push invitation to connect and chat on WhatsApp. A user enters his or her phone number, and can
then change the phone name.

Product Features

The whatsapp identifies a user by a mobile number andby verifying that number. It sends intant
messages and data to the other users of whatsapp (e.g., pictures, messages, videoes,
documents,audio messages) , user can communicate to the other user of whatsapp by calling them
from whatsapp, can seen their last seen detail, user can create groups and can broadcast message in
group to the other users of group, can upload their profile picture and can set a status, users can
hide their details from other users like their profile picture , status, last seen, users can block users
and also can spam other users, users can save their chat, they can star important messages.
User Classes and Characteristics
Enhancement Requests

Last Seen

Client has requested that user be able to see the date and time when his/her contact was last using
the application.

User Profile

User should be able to set their profile picture and a status limited to 150 characters..

Operating Environment
The hardware, software and technology used should have following specifications:

• Ability to connect to the wifi or mobile network.

• Ability to exchange data over the network

• Touch screen for convenience or Keypad (in case touchpad not available)

• Processor with speed of 500 MHz

• Continuous power supply

• Ability to use camera, gallery, microphone and other services of mobile

• Ability to take input from user

• Device must have 512MB RAM or above

Design and Implementation Constraints


• Create whatsapp account by entering and verifying mobile number

•In case of network not available

• If not able to exchange data over network, prompt error message "Connection not available" •In
case of not able to access services of mobile hardware

• If eg.camera is not working, prompt error message, "Can’t access camera". • Lock Account • If
user failed to follow policies of whatsapp

• In case of spamming by 10 users

• Maintain Consecutive marked spam Counter


• Increment spam Counter

• For every consecutive spam, increment logic counter by 1.

• Deactivate the account as the spam number reaches 10

User Documentation
For user manuals and help use help option in the main menu or visit www.whatsappweb.com and
click on contact us option.

Assumptions and Dependencies


• Network and data availivility

• Power supply

• Better connection for exchanging data over network

• Availibility of mobile services

Specific Requirements
Functional Requirements Functional requirement 1

• Description

User Registration

User must be able to register for the application through a valid phone number. On installing the
application, user must be prompted to register their phone number. If user skips this step,
application should close. The user’s phone number will be the unique identifier of his/her account
on WhatsApp.

• Input Mobile number is entered

• Processing Verify number

• Output Verified proceed further


Functional requirement 2
• Description

Adding New Contacts

The application should detect all contacts from the user’s phone book. If any of the contacts have
user accounts with WhatsApp, those contacts must automatically be added to the user’s contact list
on WhatsApp. If any of the contacts have not yet registered on WhatsApp, user should be provided
with an invite option that sends those contacts a regular text message asking them to join WhatsApp
along with a link to the WhatsApp application on Google Playstore.

• Input Mobile number is entered

• Processing Saves number to contact list

• Output Shows in whatsapp contact list

Functional requirement 3
• Description

Send Message

User should be able to send instant message to any contact on his/her WhatsApp contact list. User
should be notified when message is successfully delivered to the recipient by displaying a tick sign
next to the message sent.

• Input Message typed

• Processing Message send to other user

• Output Tick on message


Functional requirement 4
• Description

Send Attachments

User should be able to send audio, video and images as attachments. Audio formats that the
application should support : mp3 wav Video formats that the application should support : avi mp4 flv
gif Image formats that the application should support: jpg png File size must not exceed 2MB per
message.

• Input File attached

• Processing sent to other side user

• Output Tick on file

Functional requirement 5
• Description

Broadcast Message

User should be able to create groups of contacts. User should be able to broadcast messages to
these groups.

• Input Message is entered

• Processing sent to all contacts of group

• Output Tick on message

Functional requirement 6
• Description

Message Status

User must be able to get information on whether the message sent has been read by the intended
recipient. If recipient reads the message, 2 ticks must appear next to the message read.
External Interface Requirements
User Interfaces

The whatsapp user interface should be intuitive, such that 99.9% of all new whatsapp users are able
to use whatsapp without any assistance.

Hardware Interfaces

The hardware should have following specifications:

• Ability to read gallery

• Ability to exchange data over network

• Touch screen for convenience

• Keypad (in case touchpad not available)

• Continuous power supply

• Ability to connect to network

• Ability to take input from user

• Ability to validate user

Software Interfaces

The software interfaces are specific to the target other user's whatsapp software systems.

Other Nonfunctional Requirements


Non Functional Requirements/ Software Attributes

Scalability

WhatsApp should be able to provide instant messaging services to 1 billion users at any given time.

Privacy

Messages shared between users should be encrypted to maintain privacy.


Other Requirements
Application must work on all mobile and tablet devices. User interface must be consistent on all
devices.

Long Term Plans

Future plans include providing inline document viewer that lets users view pdf and word
attachments within the application chat window itself. Further optimizations can be made to
improve performance especially over the network. This includes making most network specific
requests as non-blocking background processes. We also aim to expand our infrastructure to include
more database servers so as to take back up of user data more frequently.

Maintenance and Support Costs

Maintenance will be handled by in house team of developers in the first 6 months post application
launch. Within this period, we aim to hit our target of 100,000 users. Once this target is achieved, we
intend to outsource maintenance and support to a third party who will be trained for 4 months on
system maintenance and troubleshooting.

Appendix A: Glossary

DB Databaase

DFD Data Flow Diagram

UML Unified Modeling Language

XMPP Extensible Messaging and Presence Protocol

ER Entity Relationship
Appendix B: Analysis Models
Test Cases For WhatsApp
Below we are going to mention all the possible integration testing scenarios for
WhatsApp which have also covered positive and negative test cases for WhatsApp or
negative test scenarios for WhatsApp:

 Installation Testing
 Usability Testing
 Performance Testing
 WhatsApp Group Feature
 Admin Feature Of WhatsApp Group
 Adding Feature Of Whatsapp Group
 Delete Feature Of Whatsapp Group
 Contact
 Text Field
 WhatsApp Status
 WhatsApp New broadcast
 WhatsApp Web
 WhatsApp Settings
 Profile Picture
 Individual Chats
 Group Chats
 Audio Calls
 Video Calls

Installation Testing Test Scenarios For Whatsapp

 Check if the user can download the WhatsApp app from the Play Store
or App Store or not.
 Check whether the successful installation is on mobile.
 Check if the user can register with a new phone number.
 Check if the user can get a verification code on his mobile or not.
 Check the maximum number of incorrect attempts of verification code.
 Check one phone number should be registered on only one WhatsApp.
 Check if successful registration on mobile.
 Check if contacts are imported to the Whatsapp contact list or not.
 Check if the user is able to upload a profile picture or not.
Usability Testing Whatsapp Test Scenarios

 Check if WhatsApp is easy to use or not.


 Check whether is Search, Chat, Status, Contacts, and Calls sections are
available on-screen or not.
 Check if the user is able to see all sections individually.
 Check if the user is able to see unread messages contacts and group-
wise.

Test Scenarios For Performance Testing

 Check the WhatsApp performance when the application is continuously


used.
 Check the WhatsApp performance when users use multiple chats at the
same time.
 Check the WhatsApp performance when the user uses multiple functions
like sending videos, images, and text at the same time.

Test Cases For Whatsapp Group Features

Whatsapp Test Cases


Test Scenarios For Admin Feature Of WhatsApp Group

 Check an admin can add others as Admin.


 Check admin can remove from the group.
 Check admin can add users into the group.
 Check admin can restrict users.
 Check admin can remove others from admin.

Test Scenarios For Adding Feature Of Whatsapp Group

 Check if the admin is able to add people


 Check if the admin able to add a max of 250 people in a group.
 Check the admin user able to add people with the invite link
 Check the admin is able to delete people and add them back to the
group

Test Scenarios For Delete Feature Of Whatsapp Group

 Check the admin user can able to delete people


 Check the admin user able to delete all people in the group
 Check the admin user can able to ban users.

Test Case For WhatsApp Contact

 Check the contact details shows the name and profile photos of the
contacts.
 Check the status of the contacts will be displayed like the status of
contact as Online or last seen with date, time Ex: last seen 10:35 PM, Last
Seen 25/12/2014 05:04 AM
 Check on the click of the back button the user should be redirected to
the chat list.

Test Case For WhatsApp Text Field


 Check the maximum length of the text field.
 Check the minimum length of the text field.
 Check the total number of characters the text field can allow.
 Check if the textbox accepts numbers only.
 Check the textbox allows decimal numbers.
 Check if the text field accepts alphabets.
 Check field accepts Upper case letters.
 Check the field accepts lowercase.
 Check the text field is accept both upper and lowercase alphabets.
 Check the text field accepts special characters.
 Check the field to accept HTML characters. ( For Example <b> )
 Check the field accepts copy-paste functionality.
 Check if the cursor is displaying when you type.
 Check the text field allowed spaces and spaces between two letters.

Test Case For WhatsApp Text Field


 Check the maximum length of the text field.
 Check the minimum length of the text field.
 Check the total number of characters the text field can allow.
 Check if the textbox accepts numbers only.
 Check the textbox allows decimal numbers.
 Check if the text field accepts alphabets.
 Check field accepts Upper case letters.
 Check the field accepts lowercase.
 Check the text field is accept both upper and lowercase alphabets.
 Check the text field accepts special characters.
 Check the field to accept HTML characters. ( For Example <b> )
 Check the field accepts copy-paste functionality.
 Check if the cursor is displaying when you type.
 Check the text field allowed spaces and spaces between two letters.

Test Case For WhatsApp Status


 Check whether the user can set DP or not.
 Check whether the user can update the DP or not.
 Check whether the user can set the status or not.
 Check whether the user can update the status or not.
 Check the Status Privacy functionality
 Check the user is able to see status privacy options on the screen.
 Check the status privacy functionality with My Contacts options
 Check the status privacy functionality with My Contacts except for
options
 Check the status privacy functionality with the Only share with options
 Check whether the recent updates are displayed or not.
 Check the user is able to see the number of unseen status notifications
in WhatsApp Status
Test Scenarios For WhatsApp New broadcast

 Check the user is able to select contacts for the broadcast messages.
 Check whether the user is able to send and receive messages from
broadcast or not.
 Check the user is able to send and receive messages from broadcast in
an individual chat box.
 Check the maximum number of contacts for broadcast messages.

Test Scenarios For WhatsApp Web

 Check whether the user is able to see the Scan code screen on the
mobile phone or not
 Check whether the QR code is scanned from WhatsApp web or not.
 Check whether the user can get a message for another WhatsApp
session with details or not.
 Check whether the user is able to log out from all WhatsApp web or not.

Test Scenarios For WhatsApp Settings

 Check whether the user is able to see setting options on the screen or
not.
 Check the Account functionality with the Privacy option.
 Check the Account functionality with the Security option.
 Check the Account functionality with Two steps verification option.
 Check the Account functionality with the Change number option.
 Check the Account functionality with the Request account info option.
 Check the Account functionality with the Delete my account option.
 Check the user is able to change the Chat setting with App language,
Font size, Wall Paper, Chat back up, and Chat history.
 Check the user can see and change the notification settings.
 Check the user can see and change the Data and storage usage settings.
 Check the How Help option is helpful for the users.

Test Cases For Whatsapp Group Chat

 Check the admin can change information/group name.


 Check the admin can change the group image
 Check every user can share information.
 Check admin can restrict people to share information.
 Check different users can share different media on WhatsApp like
photos, videos, documents, links, and simple text.
 Check if the person is removed from the group then that user will cant
see the updates.
 Check if an individual user has posted something in a group, then that
individual user will be able to delete the information on the group.
 Check the individual can see the text status read/seen by other group
users.

Test Cases for WhatsApp Profile Picture


 Check different options are available by clicking on the profile picture
(Remove photo, Camera, gallery ).
 Check if the remove confirmation message is displaying or not when you
click on the remove photo option.
 Check if the user is redirected to the phone gallery or not after clicking
on the gallery option.
 Check when the user clicks on the cancel button then it redirects the
user to in gallery or not.
 Check whether the user selects the camera option and whether the
mobile phone camera gets on or not.
 Check when the user clicks a photo from the camera and clicks on the
true symbol page to redirect to the image resize page or not.
 Check the user is able to select an image from the phone gallery.
 Check image resizes options are displaying after selecting an image from
the gallery or taking pictures.
 Check user is able to resize the image or not.
 Check on click of a done button the selected images should be
displaying as DP or not and also whether the user is getting a success
message or not.

Test Scenarios For WhatsApp Individual Chats


 Check the Chat window that contains the entire chat list.
 Check the Chat window displays the contact numbers whose numbers
are not saved on mobile.
 Check the Chat window displayed with all contacts with DP or without
DP
 Check the Chat window is displayed on the group chat list.
 Check the Chat window displays the last updated chatting time.
 Check the Chat window displays the name of all contacts on the chat
window.
 Check the clicking on one Chat contact then a new window should open
with history.
 Check the user can see all delivered and received messages.
 Check the user can see the read or send time of messages.
 Check the user can send and receive text messages in the individual
chatbox.
 Check the user can send and receive documents in the individual
chatbox.
 Check the user can send and receive photos in an individual chatbox.
 Check the user can send and receive videos in an individual chatbox.
 Check the user can send and receive audio in an individual chat box.
 Check the user can send and receive emotions icons in the individual
chat boxes.
 Check the user can send and receive Contacts in the individual chat
boxes.
 Check the user can send and receive Location in the individual chatbox.
 Check the user can send and receive GIFs in the individual chat boxes.
 Check the user can send and receive Stickers in the individual chatboxes.
 Check the user can delete text, video, audio, locations, and documents in
the individual chatboxes.
 Check the user can send recorded voice mail in an individual chatbox.
 Check the user can delete the entire chat history in the individual
chatbox.
 Check the user is able to see contact details in the individual chat box.
 Check the user is able to share images, links, and documents from media
in the individual chatboxes.
 Check the user is able to search specific chat history using the search
option in the individual chatbox.
 Check the user is able to video call in the individual chat box.
 Check the user is able to voice call in the individual chat box.
 Check the user is able to mute the individuals in the individual chat
boxes.
 Check the user is able to change the wallpaper.
 Check the users have options like Report, Block, Clear Chat, Export Chat,
and Add Shortcut.
Test Scenarios For WhatsApp Group Chats
 Check whether the user is able to create a new one or not.
 Check the user is able to add multiple contacts from the contact list.
 Check the user is able to insert the group name and select an image for
DP.
 Check the user is able to add and remove contacts from the group.
 Check the user is able to delete a group.
 Check the user can send and receive text messages in the group.
 Check the user can send and receive documents in the group chat box.
 Check the user can send and receive photos in the group chat box.
 Check the user can send and receive videos in the group chat box.
 Check the user can send and receive audio in the group chat box.
 Check the user can send and receive emotions icons in the group chat
box.
 Check the user can send and receive Contacts in the group chat box.
 Check the user can send and receive Location in the group chat box.
 Check the user can send and receive GIFs in the group chat box.
 Check the user can send and receive Stickers in the group chat box.
 Check the user can delete text, video, audio, locations, and documents in
the group chat box.
 Check the user can send recorded voice mail in the group chat box.
 Check the user is able to make multiple video call in the group chat box.
 Check the user is able to see the group contact information from Group
Info in the group chat box.
 Check the user is able to share images, links, and documents from Group
Media in the group chat box.
 Check the user is able to search specific chat history using the search
option in the group chat box.
 Check the user is able to mute the group in the group chat box.
 Check the users have options like Report, Block, Clear Chat, Export Chat,
and Add Shortcut.
Test Scenarios For WhatsApp Audio Calls

 Check the call history of audio is available or not.


 Check the call history is displayed with the date and time.
 Check the call history is displayed with updated time.
 Check whether the search functionality is working properly or not.
 Check whether the call log is removed from the call history or not.
 Check whether the call log is blocked from the call history or not.
 Check the new call log is working for the new call.
 Check the user is able to call or receive WhatsApp calls from the contact
list.

Test Scenarios For WhatsApp Video Calls

 Check the call history of videos is available or not.


 Check the call history is displayed with the date and time.
 Check the call history is displayed with updated time.
 Check whether the search functionality is working properly or not.
 Check whether the video call log is removed from the call history or not.
 Check whether the video call log is blocked from the call history or not.
 Check the new video call log is working for the new video call.
 Check the user is able to call or receive WhatsApp video calls from the
contact list.

Negative Test Cases For WhatsApp

 Check while hiding the last seen to other users it should not display.
 Check the blue ticks should not display when sending the messages.
 Check if the date time format is displaying in the wrong format.
 Check the displaying date and time in the wrong format.
 Try to send more than 10 images at a time. ( as it allows only 10 images
at a time)
 Try to send a video having a size > than the limited size.
 Copy and paste thousands of msgs at a time and observe the behavior.
 Send multiple messages to multiple users and groups.
 Try to send all emoticons at a time in one msg.
Conclusion

These are some of the test cases that you can use for the text field. There are many
types of text inputs so you have to test according to the specification. I hope these
test scenarios and the pointers helped you.

You might also like