Sei sulla pagina 1di 75

Raabta

Project Report

Submitted by

Muhammad Salman Khan


(14F-BSIT-KICSIT-43)

Muhammad Khushnood Rafi


(14F-BSIT-KICSIT-58)

BACHELOR OF SCIENCES
IN
INFORMATION TECHNOLOGY

PROJECT SUPERVISOR
Zubaria Inayat

DR. A. Q. KHAN INSTITUTE OF COMPUTER SCIENCES


AND INFORMATION TECHNOLOGY
KAHUTA
AFFILIATED WITH UET TAXILA
(2018)
Raabta

Project Report

Submitted by

Muhammad Salman Khan


(14F-BSIT-KICSIT-43)

Muhammad Khushnood Rafi


(14F-BSIT-KICSIT-58)

BACHELOR OF SCIENCES
IN
INFORMATION TECHNOLOGY

PROJECT SUPERVISOR
Zubaria Inayat

DR. A. Q. KHAN INSTITUTE OF COMPUTER SCIENCES


AND INFORMATION TECHNOLOGY
KAHUTA
AFFILIATED WITH UET TAXILLA
(2018)
Declaration

DECLARATION

We hereby declare that this project and work, neither as a whole nor as a part has been copied
out from any source. It is further declared that we have conducted this project work and have
accomplished this thesis entirely on the basis of our personal efforts and under sincere guidance
of our project supervisor Miss. Zubaria Inayat. If any part of this project is proved to be copied
out from any source or found to be reproduction of the same project, we shall stand by the
consequences. No portion of the work presented in our dissertation has been submitted in
support of any other degree or qualification of this or any other university or institute.

MEMBERS SIGNATURE

____________________
Muhammad Salman Khan
(14F-BSIT-43)

____________________
Muhammad Khushnood Rafi
(14F-BSIT-58)

PROJECT SUPERVISOR’s SIGNATURE

___________________
Miss. Zubaria Inayat
Assistant Professor
KICSIT

Raabta ii
Final Approval

FINAL APPROVAL

It is certified that we have examined the thesis titled Raabta submitted by Muhammad
Salman Khan (14F-BSIT-43), Muhammad Khushnood Rafi (14F-BSIT-58) and found as
per standard. In our judgment, this project is sufficient to warrant it’s acceptance by the Dr. A.
Q. Khan Institute of Computer Science & Information Technology (KICSIT) affiliated with
UET Taxilla.

Committee

External Examiner

____________________
Dr. ABC
Designation
Institute

Project Coordinator

____________________
Miss. Zubaria Inayat
Assistant Professor
KICSIT

Director KICSIT

____________________
Dr. Salman Iqbal
Director Incharge
KICSIT

Raabta iii
Copyright Statement

COPYRIGHT STATEMENT

Copyright in text of this thesis rests with the student authors. Copies (by any process) either in
full, or of extracts, may be made only in accordance with instructions given by the author and
lodged in the Library of KICSIT. Details may be obtained by the Librarian. This page must be
a part of any such copies made. Further copies (by any process) of copies made in accordance
with such instructions may not be made without the permission (in writing) of the author.

The ownership of any intellectual property rights which may be described in this thesis is vested
in KICSIT, subject to any prior agreement to the contrary, and may not be available for use by
third parties without the written permission of the KICSIT, which will be prescribe the terms
and conditions of any such agreement.

Further information on the conditions under the disclosures and exploitation may take place is
available from the Library of KICSIT, Kahuta.

___________________
Project Supervisor
Miss. Zubaria Inayat
Assistant Professor
KICSIT

Raabta iv
Acknowledgement

ACKNOWLEDGEMENT

"Which is it, of the favors of your lord that ye deny?"(Surah Al-Rahman)

Indeed it is a huge favor and honor that ALLAH ALMIGHTY blessed us with knowledge and
planned our lives so beautifully. All thanks to His Messenger MUHAMMAD (P.B.U.H.) for
enlightening mankind with knowledge which is an everlasting source of guidance for all
humanity.

We express our deep sense of gratitude to our supervisor Miss. Zubaria Inayat. She supported
us in our project by constructively critiquing our analysis and encouraged us to think more
critically about our work. She paid fair attention and showed keen interest to our activities.
Good teachers are always hard to find but we have been immensely blessed by the almighty in
this regard.

Special thanks to Muhammad Ahmed (Maddy), former student of this institution. His help
was a blessing that solved our problems and he was responsible of bringing innovative ideas to
this project that made it shine brighter.

We are thankful to all our teachers who gave us knowledge and matchless guidance. Last but
not the least, we want to acknowledge the support and efforts of our parents. They have always
been on our side. No acknowledgement could ever express our thanks for them in words for
their encouragement throughout.

Regards

Muhammad Salman Khan


Muhammad Khushnood Rafi

Raabta v
Abstract

ABSTRACT

“Raabta” is an all in one communication application through which users are able to
communicate with each other in both ways online and offline. Raabta provides new features
that aren’t available in other applications. Raabta has made communication easier by
introducing the concept of online features in offline and vice versa. The ambition behind
“Raabta” is to eradicate the dependency of internet for availing features which are entirely
dependent on internet. In short, Raabta is a novel concept of online and offline communication
while using single application.

Raabta vi
Table of Contents

TABLE OF CONTENTS

DECLARATION......................................................................................................................ii
FINAL APPROVAL .............................................................................................................. iii
COPYRIGHT STATEMENT ................................................................................................ iv
ACKNOWLEDGEMENT ....................................................................................................... v
ABSTRACT ............................................................................................................................. vi
TABLE OF CONTENTS ........................................................................................................ 7
TABLE OF FIGURES ........................................................................................................... 11
LIST OF TABLES ................................................................................................................. 12
CHAPTER 1 - INTRODUCTION .................................................................................... 14
1.1 Problem Domain ................................................................................................................... 14
1.2 Existing Systems ................................................................................................................... 14
1.3 Disadvantages of Existing Systems ...................................................................................... 15
1.4 Proposed System ................................................................................................................... 15
1.5 Scope of Project .................................................................................................................... 15
CHAPTER 2 - REQUIREMENT ANALYSIS ................................................................ 17
2.1 Requirements ........................................................................................................................ 17
2.1.1 Android Smart Phone .................................................................................................... 17
2.1.2 Internet .......................................................................................................................... 17
2.1.3 End To End Component Availability............................................................................ 17
2.1.4 Mobile Carriers ............................................................................................................. 17
2.1.5 Instant Messaging ......................................................................................................... 17
2.1.6 SMS Messaging ............................................................................................................ 18
2.1.7 Last Seen ....................................................................................................................... 18
2.1.8 Media Sharing ............................................................................................................... 18
2.1.9 Scheduled Message ....................................................................................................... 18
2.1.10 Audio/Video Call .......................................................................................................... 18
2.2 Non Functional Requirements .............................................................................................. 18
2.2.1 Robustness .................................................................................................................... 18
2.2.2 Security ......................................................................................................................... 19
2.2.3 Integrity ......................................................................................................................... 19
2.2.4 Availability ................................................................................................................... 19
2.2.5 Efficiency ...................................................................................................................... 19
2.2.6 Stability ......................................................................................................................... 19
2.2.7 Reliability ...................................................................................................................... 19
2.3 Use Cases .............................................................................................................................. 19
Table of Contents

2.3.1 Actors ............................................................................................................................ 20


2.4 Use Case Diagram................................................................................................................. 20
2.5 Descriptive Use Case ............................................................................................................ 21
2.5.1 Login ............................................................................................................................. 21
2.5.2 Start Communication .................................................................................................... 22
2.5.3 Initiate Calls .................................................................................................................. 22
2.5.4 Send SMS...................................................................................................................... 23
2.5.5 Media Sharing ............................................................................................................... 23
2.5.6 Delay Messaging ........................................................................................................... 24
2.5.7 Check Last Seen ............................................................................................................ 24
2.5.8 Send Instant Message .................................................................................................... 25
2.5.9 Send Scheduled Message .............................................................................................. 25
CHAPTER 3 - SYSTEM DESIGN ................................................................................... 27
3.1 Activity Diagram .................................................................................................................. 27
3.1.1 User Login Registration Activity Diagram ................................................................... 27
3.1.2 Messaging Activity Diagram ........................................................................................ 28
3.1.3 Calling Activity Diagram .............................................................................................. 30
3.1.4 Manage Portal Activity Diagram .................................................................................. 31
3.1.5 Edit Profile Activity Diagram ....................................................................................... 32
3.1.6 Last Seen Activity Diagram .......................................................................................... 32
3.2 ER Diagram .......................................................................................................................... 33
3.2.1 ER Diagram of System ................................................................................................. 33
3.3 Sequence Diagram ................................................................................................................ 34
3.3.1 Messaging Sequence Diagram ...................................................................................... 35
3.3.2 Calling Sequence Diagram............................................................................................ 36
3.3.3 Portal Sequence Diagram .............................................................................................. 37
3.3.4 Last Seen Sequence Diagram ........................................................................................ 38
3.4 Class Diagram ....................................................................................................................... 38
3.4.1 Class Diagram of System .............................................................................................. 38
CHAPTER 4 - IMPLEMENTATION .............................................................................. 41
4.1 Introduction ........................................................................................................................... 41
4.2 Tools and Technologies ........................................................................................................ 41
4.2.1 Android Studio .............................................................................................................. 41
4.2.2 MS Word 2013 .............................................................................................................. 41
4.2.3 Ideas Modeler................................................................................................................ 42
4.2.4 PHP ............................................................................................................................... 42
4.2.5 Wamp ............................................................................................................................ 42
4.2.6 Third Parties Integration ............................................................................................... 42
4.3 Software components ............................................................................................................ 43
Table of Contents

4.3.1 Major Methods .............................................................................................................. 43


CHAPTER 5 - SOFTWARE TESTING........................................................................... 45
5.1 Introduction ........................................................................................................................... 45
5.2 Software Testing Axioms...................................................................................................... 46
5.2.1 Software Testing Risk Based Exercise ......................................................................... 46
5.2.2 Testing Cannot Show That Bugs Don't Exist................................................................ 46
5.2.3 The More Bugs You Find More Bugs There Are ......................................................... 46
5.2.4 Not All The Bugs You Find Will Be Fixed. ................................................................. 46
5.3 Verification and Validation ................................................................................................... 47
5.4 Testing Techniques ............................................................................................................... 47
5.4.1 Black Box...................................................................................................................... 47
5.4.2 White Box ..................................................................................................................... 47
5.5 Testing Completeness ........................................................................................................... 48
5.6 Test Suits, Scripts and Scenarios .......................................................................................... 48
5.7 A Simple Testing Cycle ........................................................................................................ 49
5.8 Test Cases ............................................................................................................................. 49
5.8.1 Test Case for Login: ...................................................................................................... 50
5.8.2 Test Case for Making Audio Call: ................................................................................ 50
5.8.3 Test Case for Sending Message .................................................................................... 51
5.8.4 Test Case for Sharing Media ......................................................................................... 51
5.8.5 Test Case for Cancel Message Sending ........................................................................ 52
5.8.6 Test Case for View Last Seen ....................................................................................... 52
5.8.7 Test Case for Permissions (Contacts, SMS, Calls) ....................................................... 53
5.8.8 Test Case for SMS Scheduling ..................................................................................... 53
CHAPTER 6 - CONCLUSION ......................................................................................... 55
6.1 Introduction ........................................................................................................................... 55
6.2 Software at its Best ............................................................................................................... 55
6.3 Software Requirements ......................................................................................................... 55
6.3.1 Internet Connection ....................................................................................................... 55
6.4 Future Enhancement ............................................................................................................. 56
6.4.1 Sent Message Editing .................................................................................................... 56
6.4.2 Typing Notification ....................................................................................................... 56
6.4.3 Spell Check ................................................................................................................... 56
6.4.4 Customized Notification ............................................................................................... 56
6.4.5 Language Selection ....................................................................................................... 56
6.4.6 Conference Call............................................................................................................. 56
USER MANUAL .................................................................................................................... 58
7.1 Introduction ........................................................................................................................... 58
7.2 About..................................................................................................................................... 58
Table of Contents

7.3 Development Team ............................................................................................................... 58


7.4 Usage Instruction .................................................................................................................. 58
7.4.1 Screen Shots .................................................................................................................. 58
REFERENCES ....................................................................................................................... 71
Table of Figures

TABLE OF FIGURES

Figure 2. 1 Use Case Diagram ................................................................................................. 20

Figure 3. 1 Activity Diagram Login Registration .................................................................... 28


Figure 3. 2 Activity Diagram Messaging ................................................................................. 29
Figure 3. 3 Activity Diagram Calling ...................................................................................... 30
Figure 3. 4 Activity Diagram Portal ........................................................................................ 31
Figure 3. 5 Activity Diagram Edit Profile ............................................................................... 32
Figure 3. 6 Last Seen Activity Diagram .................................................................................. 33
Figure 3. 7 ER Diagram ........................................................................................................... 34
Figure 3. 8 Sequence Diagram Messaging .............................................................................. 35
Figure 3. 9 Sequence Diagram Calling .................................................................................... 36
Figure 3. 10 Sequence Diagram Portal .................................................................................... 37
Figure 3. 11 Sequence Diagram Portal .................................................................................... 38
Figure 3. 12 Class Diagram ..................................................................................................... 39

Figure 7. 1 Screen Shots of Default Screen ............................................................................. 59


Figure 7. 2 Screen Shot of Home Screen ................................................................................. 59
Figure 7. 3 Screen Shot of Conversation Screen ..................................................................... 60
Figure 7. 4 Screen Shot of Setting ........................................................................................... 60
Figure 7. 5 Screen Shots of Last Seen ..................................................................................... 61
Figure 7. 6 Screen Shots of Media Sharing ............................................................................. 62
Figure 7. 7 Screen Shots of Delay Sending ............................................................................. 64
Figure 7. 8 Screen Shots of Schedule Message ....................................................................... 65
Figure 7. 9 Screen Shots of Audio Call ................................................................................... 65
Figure 7. 10 Screen Shot Online Home Screen ....................................................................... 66
Figure 7. 11 Screen Shots of Account Creation ....................................................................... 67
Figure 7. 12 Screen Shots of Instant Messaging ...................................................................... 68
Figure 7. 13 Screen Shots of Video Call................................................................................. 68
Figure 7. 14 Screen Shots of Online Audio Call ..................................................................... 69
Figure 7. 15 Screen Shot of Call Log ...................................................................................... 69
List of Tables

LIST OF TABLES

Table 2. 1 Login Descriptive Use case .................................................................................... 21


Table 2. 2 Start Communication Descriptive Use case............................................................ 22
Table 2. 3 Make Calls Descriptive Use case............................................................................ 22
Table 2. 4 Send SMS Descriptive Use case ............................................................................. 23
Table 2. 5 Share Media Descriptive Use case.......................................................................... 23
Table 2. 6 Cancel Messaging Descriptive Use case ................................................................ 24
Table 2. 7 Check Last Seen Descriptive Use case ................................................................... 24
Table 2. 8 Send Instant Message Descriptive Use case ........................................................... 25
Table 2. 9 Send Scheduled Message Descriptive Use case ..................................................... 25

Table 5. 1 Test Case for Sign in ............................................................................................... 50


Table 5. 2 Test Case for Making Audio Call ........................................................................... 50
Table 5. 3 Test Case for Message Sending .............................................................................. 51
Table 5. 4 Test Case for Sharing Media .................................................................................. 51
Table 5. 5 Test Case for Cancel Message Sending .................................................................. 52
Table 5. 6 Test Case for View Last Seen ................................................................................. 52
Table 5. 7 Test Case for Permissions ....................................................................................... 53
Table 5. 8 Test Case for SMS Scheduling ............................................................................... 53
Chapter 1
Introduction
Chapter 1 Introduction

CHAPTER 1 - INTRODUCTION
“Raabta” is an android based application perfectly optimized for internet based
audio/video calls, IP & network messages (SMS) with combined new features that lack in any
other similar application. There are some features which are available only in online
applications such as view last seen and media sharing but this application provides these
features without the availability of internet as well. Features which are not available in any
online applications are such as user can schedule and delay message in online module.
The main feature of this application are normal messaging, instant messaging, schedule
messaging, initiating audio/video call, delay messaging, view last seen and media sharing.
1.1 Problem Domain
Everyone has two communicatory applications in his/her phone, one is for online
communication and the other one is for offline. Chatting would become so fast and user
prefer if a single application can work as an offline messenger as well as online
messenger.
1.2 Existing Systems
There is no such system that provides offline and online communication on a
single interface but Existing systems that can be related to this project are Skype,
Facebook Messenger, Whatsapp.
Skype is the most famous application for online audio/video calling user can
message each other and also share media but if compared with this application user can
share media, send messages and initiate calls offline as well as online.
Whatsapp is another famous application. It has an amazing feature called view
last seen through which user can see that time on which other user had viewed that
application using internet, now compared with this system user can view last seen time
without using internet.
Facebook messenger is used for sharing pics and media online, as compared with
this system user can share media without the need of internet.
This system is built to be very user friendly so that the user should not get
frustrated or met any discomfort and should not face any sort of problem while operating
different functionalities. One goal was to keep things arranged and simple so that user
should not get confuse and he/she can learn to do things more quickly.

Raabta 14
Chapter 1 Introduction

1.3 Disadvantages of Existing Systems


Existing systems have limited features, any android application that contain
features like view last seen and media sharing in offline messengers does not exit
moreover a single application that can work as an offline messenger as well as online
messenger does not exist.
1.4 Proposed System
Our proposed system is fully operational android application that provides
different features such as audio video calling, normal messaging and instant messaging
moreover last seen and media sharing. Things that separate this system from other
applications are mentioned below.
 Fully functional android application that provides communication with and without
the usage of internet.
 User can view last seen and share media without the need of internet.
 User can enjoy offline futures like schedule and delay message in online module.
1.5 Scope of Project
Raabta is a communicatory application. It’s a combined platform for establishing
communication. This communication application cover many features like initiating
audio/video calls, instant messaging and view last seen timings. The main project
deliverables include the software requirements specification document, design
document, final progress report and application built in conformance with the
requirements claimed in the project proposal.
The main feature of this application are normal messaging, instant messaging,
schedule messaging, initiating audio/video call, delay messaging, view last seen and
media sharing.
This system is built to be very user friendly so that the user should not get
frustrated or met any discomfort and should not face any sort of problem while operating
different functionalities.
The system is stable enough so that in any illegal or invalid use of the system
cannot cause system crashes and instability in providing major or minor functionality.

Raabta 15
Chapter 2
Requirement Analysis
Chapter 2 Requirement Analysis

CHAPTER 2 - REQUIREMENT ANALYSIS

Requirements analysis is a software engineering task that bridges the gap between
system level requirements engineering and software design. Requirements engineering
activities result in the specifications of software’s operational characteristics (function, data
and behavior). Requirements Analysis also indicates software needs. The requirements should
be documented, actionable, measurable, testable, traceable, related to identified business needs
or opportunities, and defined to a level of detail sufficient for system design.
This chapter describes the analysis model of the system. It explains the problem
domain, requirements of the software, use cases and actors of the system.
2.1 Requirements
2.1.1 Android Smart Phone
It’s an android application which means that it requires any android based smart
phone to install and run complete functions.
2.1.2 Internet
User will need internet connectivity because some modules of the application
are not applicable without internet such as instant messaging (IM) and initiating live
video calls.
2.1.3 End To End Component Availability
This application needs to be installed on both sides, the person who is trying to
communicate and the person who is to be communicated. With absence of this
application you are unable to communicate and transfer media using internet which
means you cannot use the online module of this application but you can use the offline
module for texting.
2.1.4 Mobile Carriers
This application needs large units of SMS messages to fulfill some features
which are included in offline module such as view last seen and media sharing
moreover user will need some mobile carriers to make offline audio calls.
2.1.5 Instant Messaging
Instant messaging, often shortened to IM or IM'ing, is the exchange of near real-
time messages through a stand-alone application or embedded software. Unlike chat
rooms with many users engaging in multiple and overlapping conversations,
IM sessions usually take place between two users in a private, back-and-forth style of

Raabta 17
Chapter 2 Requirement Analysis

communication. The users of this application are able to use internet for communication
through messaging such as social media messaging.[1]
2.1.6 SMS Messaging
SMS (Short Message Service) is a text messaging service component of most
telephone, World Wide Web, and mobile device systems. It uses standardized
communication protocols to enable mobile devices to exchange short text messages. In
case of no availability of Internet, the users is also able to use the application for sending
and receiving GSM (Global System for Mobile) based SMS messages for the sake of
communication among the others.
2.1.7 Last Seen
The application provides a mechanism to its users through which they can see
each other’s last seen time stamp overall and along with specific messages also. This
feature is available for both internet based instant messages as well as GSM Based SMS
Messages.
2.1.8 Media Sharing
The system is allowing its users to share media items such as Images. This
feature is available for both GSM Based SMS messages and on online module as well.
2.1.9 Scheduled Message
Scheduling text messages on your android device is a handy way to set
reminders for yourself or other recipients.
You can also use it to send out messages hourly, daily, weekly or at other time
intervals. In this system users is able to schedule a specific IM or SMS messages to be
automatically sent at a later stage to any of specified users.
2.1.10 Audio/Video Call
Audio call is a telephone feature that is when the user writes a contact name or
the phone number and a network is created in between so that they can communicate.
User is able to initiate make calls using mobile carriers and internet. Moreover user can
record and upload video calls stream and download from a web portal as well.
2.2 Non Functional Requirements
2.2.1 Robustness
The system is robust and fast as much as possible so that the users will not feel
irritated because of the unexpected delays in the system.[2]

Raabta 18
Chapter 2 Requirement Analysis

2.2.2 Security
The system is secure and the conversations between the users are all secure
using an efficient encryption algorithm so that all the conversations remain private to
the respective owners.[3]
2.2.3 Integrity
The system secure the user conversations so that any intruder in the network
cannot alter the conversations.[4]
2.2.4 Availability
The system automatically backup online the conversations so that in case of any
disastrous situations, the overall private data still remains available to the users.
2.2.5 Efficiency
The overall system performance will be much efficient and optimized for best
user experience.[5]
2.2.6 Stability
The system is stable enough so that in any illegal or invalid use of the system
cannot cause system crashes and instability in providing major or minor
functionality.[6]
2.2.7 Reliability
Reliability of our system is that it will remain operational all time and will give
same output over time.
2.3 Use Cases
A use case defines a goal-oriented set of interactions between external actors and
the system under consideration. Use case is initiated by a user with a particular goal in
mind, and completes successfully when that goal is satisfied. It describes the sequence of
interactions between actors and the system necessary to deliver the service that satisfies
the goal.[7]
Use cases in our project are as follows:
 Login
 Start Communication
 Initiate Audio/Video Calls
 Send SMS
 Share Media
 Cancel Message

Raabta 19
Chapter 2 Requirement Analysis

 Check Last Seen


 Send Instant Message
 Send Scheduled Message
 Stream recorded videos
 Edit profile
2.3.1 Actors
 User
2.4 Use Case Diagram

Figure 2. 1 Use Case Diagram

Raabta 20
Chapter 2 Requirement Analysis

2.5 Descriptive Use Case


A use case is a written description of how users will perform tasks on your
website. It outlines, from a user's point of view, a system's behavior as it responds to a
request. Each use case is represented as a sequence of simple steps, beginning with a
user's goal and ending when that goal is fulfilled.
Use cases add value because they help explain how the system should behave and
in the process, they also help brainstorm what could go wrong. They provide a list of
goals and this list can be used to establish the cost and complexity of the system. Project
teams can then negotiate which functions become requirements and are built.

Descriptive use case describes the basic course in the description for the use case.
It describes in terms of what the user does and what the system does in response that the
user should be aware of. Moreover descriptive use case contains and describes the basic
course, if you are extending consider alternate courses of events and add those to extend
the use case. Look for commonalities among the use cases. Extract these and note them
as common course use cases.

2.5.1 Login
Use Case ID UC-Raabta-01
Use Case Name Log In
Actors User
Description User want to login
Pre-Condition Online module must be selected and user should be
registered.
Post-Condition User Successfully Logged in to the system.
Main Scenarios
User Action System Response
1. User Select online 2. System will check phone number and pin code in
module and provides database. If both these things match, system will redirect
its phone number and to next pages and displays online chat.
pin code
Failure Scenarios
User Action System Response
1. User does not fill the 2. System after checking the values on database, if fields
fields correctly. mismatch, it will display a message to inform the user to
retype the fields to Sign in.

Table 2. 1 Login Descriptive Use case

Raabta 21
Chapter 2 Requirement Analysis

2.5.2 Start Communication


Use Case ID UC-Raabta-02
Use Case Name Start Communication
Actors User
Description User want to start communication
Pre-Condition Application must be installed in android smart phone
Post-Condition User Successfully start communicating from the system.
Main Scenarios
User Action System Response
1. User installs and run 2. System will ask permissions to read contacts, send SMS
this application from and read SMS.
his smart phone
Failure Scenarios
User Action System Response
1. User does not allow 2. System after checking will display a message that you are
permissions. unable to start a communication.

Table 2. 2 Start Communication Descriptive Use case

2.5.3 Initiate Calls


Use Case ID UC-Raabta-03
Use Case Name Make Calls
Actors User
Description User want to start making calls
Pre-Condition Application must be installed in android smart phone
and permission to make calls and read contact should be
allowed.
Post-Condition User Successfully start communicating and start making
calls from the system.
Main Scenarios
User Action System Response
1. User simply enters 2. System will find the number by reading contacts and start
number or name of a connecting call.
person.
Failure Scenarios
User Action System Response
1. Network is not 2. System after checking will tell user that network is not
available. available and will redirect to previous display.

Table 2. 3 Make Calls Descriptive Use case

Raabta 22
Chapter 2 Requirement Analysis

2.5.4 Send SMS


Use Case ID UC-Raabta-04
Use Case Name Send SMS
Actors User
Description User want to send any SMS
Pre-Condition Permission to read SMS and send SMS should be
allowed
Post-Condition User Successfully send SMS from the system.
Main Scenarios
User Action System Response
1. User simply enters 2. System will ask permissions to send SMS and read SMS
recipient and select and then it will send users SMS on the other side.
send button.
Failure Scenarios
User Action System Response
1. User does not allow 2. System after checking will display a message that you are
permissions. unable to initiate communication.

Table 2. 4 Send SMS Descriptive Use case


2.5.5 Media Sharing
Use Case ID UC-Raabta-05
Use Case Name Share Media
Actors User
Description User want to send picture
Pre-Condition User should have large bundles of SMS package
Post-Condition User Successfully send a picture from system.
Main Scenarios
User Action System Response
1. User selects picture 2. System will check the size of that picture and send it to
from device and find the recipient.
contacts to send
Failure Scenarios
User Action System Response
1. Size of the picture is 2. System after checking will display a message that you are
too large. unable to send that picture.

Table 2. 5 Share Media Descriptive Use case

Raabta 23
Chapter 2 Requirement Analysis

2.5.6 Delay Messaging


Use Case ID UC-Raabta-06
Use Case Name Delay Message Sending
Actors User
Description User want to cancel the message that he/she had just
sent
Pre-Condition User must enable the option of delay messaging and
also set time of delay messaging from setting
Post-Condition User Successfully canceled message that he had just
sent from system.
Main Scenarios
User Action System Response
1. User will type SMS 2. System will display a timer that will have a cancel button
and send to the on it.
recipient. 4. That specific message will be canceled and system will
3. User will select cancel redirect user to the previous layout.
button.
Failure Scenarios
User Action System Response
1. If the time of delay 2. That message will be sent to that recipient and system
sending passes. will show message sent.

Table 2. 6 Cancel Messaging Descriptive Use case


2.5.7 Check Last Seen
Use Case ID UC-Raabta-07
Use Case Name Check Last Seen
Actors User
Description User want to check last seen
Pre-Condition User must go to setting and select view last seen
Post-Condition User Successfully will come to know the last seen time
stamp of the other user.
Main Scenarios
User Action System Response
1. User will select the 2. System will show last seen time stamp of other user
view last seen option
Failure Scenarios
User Action System Response
1. If user is facing 2. System will not show last seen time stamp of other user
network connectivity
issue.
Table 2. 7 Check Last Seen Descriptive Use case

Raabta 24
Chapter 2 Requirement Analysis

2.5.8 Send Instant Message


Use Case ID UC-Raabta-08
Use Case Name Send Instant Message
Actors User
Description User want to send an instant message
Pre-Condition User must select online module
Post-Condition User Successfully sends an instant message.
Main Scenarios
User Action System Response
1. User will type SMS 2. System will simply send the message.
and send to the
recipient.

Failure Scenarios
User Action System Response
1. If the user is not 2. That message will not be delivered by the system and a
connect with internet. notification will be shown by the system.

Table 2. 8 Send Instant Message Descriptive Use case


2.5.9 Send Scheduled Message
Use Case ID UC-Raabta-09
Use Case Name Send Scheduled Message
Actors User
Description User want to Send Scheduled Message
Pre-Condition User must go to setting and select Scheduled Message
than pic a time to send message
Post-Condition User Successfully sends a scheduled Message
Main Scenarios
User Action System Response
1. User will go to setting 2. When that time comes that message will be sent to the
and select Scheduled other user.
Message and pic a
time to send message
Failure Scenarios
User Action System Response
1. Network is not 2. That message not be sent to that recipient and system will
available. show message not sent.

Table 2. 9 Send Scheduled Message Descriptive Use case

Raabta 25
Chapter 3
System Design
Chapter 3 System Design

CHAPTER 3 - SYSTEM DESIGN

Design is the first step in the development phase for any engineered system. It is the
process of applying various techniques and principles for the purpose of defining a device, a
process or a system in sufficient detail to permit its physical realization. Design is a goal-
oriented decision making activity.[8]
3.1 Activity Diagram
Activity diagrams are graphical representations of workflows of stepwise
activities and actions with support for choice, iteration and concurrency. In the Unified
Modeling Language, activity diagrams are intended to model both computational and
organizational processes.[9]
3.1.1 User Login Registration Activity Diagram
In this diagram, user is been registered and logged in, and here he/she will
provide his/her information according to the system need which is contact number and
pin code. If he/she enters the wrong information then system will give a notification
with the message contact number and pin code is not correct, please recheck. On other
hand when the information entered is correct then user is allowed to move further. Now
the user is able to perform his/her task.
Starting from scratch, the first time user will have no record, user will go for
registration. The system will check for errors and then save it into its database and from
now on that user will be considered as registered. Every time a user wants to use online
module he/she needs to get logged in first.
Registration and login is for online module of the system. User’s data cannot be
managed without registration in online module of this system that’s way it is important
to register first and then initiate communication.
This system is built to be very user friendly so that the user should not get
frustrated or met any discomfort and should not face any sort of problem while
operating different functionalities. One goal was to keep things arranged and simple so
that user should not get confuse and he/she can learn to do things more quickly.
Reliability of our system is that it will remain operational all time and will give
same output over time. The system is stable enough so that in any illegal or invalid use
of the system cannot cause system crashes.

Raabta 27
Chapter 3 System Design

Figure 3. 1 Activity Diagram Login Registration


3.1.2 Messaging Activity Diagram
There are two types of messaging being performed in this system, first normal
messaging which is GSM based and the second online instant messaging. User have to
login first for instant messaging but he will not be able to send a scheduled SMS as well
as delay messaging where on the other side in normal messaging user will be able to
schedule the message and also user will be able to add delay in sending message through
which he can cancel the message that has been sent.
If we start from the beginning of this activity in online messaging first user will
log in and system will check for errors. If there are no error found then he/she will find
contacts from the system then user will type the message that he/she wants to send.
Then by tapping on to send message button the message will be sent successfully. Now
in normal messaging there is an option of scheduling a message. If user wants its
message to be scheduled he will set time on which system will send the message. There
is another option add file’s to send. If user want to send a picture he can simply browse
it from his/her device and then system will check the size if the size is too large a

Raabta 28
Chapter 3 System Design

message will be displayed that picture size is too large system cannot send this picture
but if it matches the system requirements then that picture will be sent.
There is another option in normal messaging cancel the sending message as
discussed above. That option will work if user had enabled the option of delay sending
and he/she had set a specific time. When user will tap on the icon of send message a
timer with a cancel button will show up and time will start which was set by the user,
when that timer ends that message will be sent, but if user taps on the cancel button
before the time ends that message will be canceled.

Figure 3. 2 Activity Diagram Messaging

Raabta 29
Chapter 3 System Design

3.1.3 Calling Activity Diagram


In this activity starting from the beginning if a user want to initiate a call from
this system he/she will dial a contact number or search from contacts.
If the user writes wrong contact number a message will be displayed that your
contact number is incorrect and then system will simply redirect user to the previous
layout. If the contact number is correct then call will be connected to the user through
the network and it will consume mobile carriers, on the other hand user can also make
audio/video call using internet and can record it onto his/her device.
If the user do not remembers contact number he/she can search it by simply
writing the name of that other person and through auto complete text view his name
and number will show, then by tapping on the make call icon call will be connected to
the user through a network.

Figure 3. 3 Activity Diagram Calling

Raabta 30
Chapter 3 System Design

3.1.4 Manage Portal Activity Diagram


User can upload there recorded calls over a web based portal and from there
he/she can stream and download that media file any time. In order to achieve that
functionality user first register itself and then login to his/her portal.
Reliability of our system is that it will remain operational all time and will give
same output over time. The system is stable enough so that in any illegal or invalid use
of the system cannot cause system crashes.
This system is built to be very user friendly so that the user should not get
frustrated or met any discomfort and should not face any sort of problem while
operating different functionalities. One goal was to keep things arranged and simple so
that user should not get confuse and he/she can learn to do things more quickly.

Figure 3. 4 Activity Diagram Portal

Raabta 31
Chapter 3 System Design

3.1.5 Edit Profile Activity Diagram


User profile is developed where user can manage his/her profile according to
there needs. He or she can edit there name password and change profile picture by
browsing there devices.
Registration and login is important for managing profile. User’s data cannot be
managed without registration in online module of this system that’s way it is important
to register first and then initiate communication.

Figure 3. 5 Activity Diagram Edit Profile


3.1.6 Last Seen Activity Diagram
User will view the other user’s time stamp on which that user had operated this
application. User have to click on the option view last seen which is located in setting
task bar after that a notification will be displaced that shows last seen time on to the

Raabta 32
Chapter 3 System Design

other user’s layout. There is no need of registration and login for this feature because it
is a unique feature provided by this system only which is user is able to view last seen
time stamp of the other user without the need of internet.

Figure 3. 6 Last Seen Activity Diagram

3.2 ER Diagram
An entity-relationship diagram (ERD) is a data modeling technique that
graphically illustrates an information system’s entities and the relationships between
those entities. An ERD is a conceptual and representational model of data used to
represent the entity framework infrastructure. The elements of an ERD are entities
relationships attributes.[10] Steps involved in creating an ERD include identifying and
defining the entities. Determining all interactions between the entities. Analyzing the
nature of interactions/determining the cardinality of the relationships.
3.2.1 ER Diagram of System
User is the main entity and has one to many relationship between messaging
unit and calling unit. User has four major attributes user id, contact number, user name
and pin code.[11] It has four major relationship with messaging unit. User can set many

Raabta 33
Chapter 3 System Design

schedule message, user can cancel many message, user can share more than one media
with in a message and he/she can send many message. Attributes of message are
message id, received time, receiver name, sender name and sent time. Message has no
relationship with audio calls. Attributes of making call are call id, start time, end time,
duration, dialer name and sender name. User can record more than one call and he/she
can check last seen time stamps of other user.

Figure 3. 7 ER Diagram

3.3 Sequence Diagram


UML provides different types of diagrams to translate system requirements to
system responsibilities. Sequence diagrams are used here to represent the dynamic view
of the whole system. The sequence diagrams are temporal representation of interaction
of objects. The functionality of use cases is described using sequence diagrams.[12]
Sequence diagrams are sometimes called event diagrams or event scenarios.
A sequence diagram shows, as parallel vertical lines (lifelines), different processes or
objects that live simultaneously, and, as horizontal arrows, the messages exchanged
between them, in the order in which they occur.[9]

Raabta 34
Chapter 3 System Design

3.3.1 Messaging Sequence Diagram


In this scenario, if we start from the beginning of this activity in online
messaging first user will log in and system will check for errors. If there are no error
found then he/she will find contacts from the system then user will type the message
that he/she wants to send. Then by tapping on to send message button the message will
be sent successfully. Now in normal messaging there is an option of scheduling a
message. If user wants its message to be scheduled he will set time on which system
will send the message.
There is another option add file’s to send. If user want to send a picture he can
simply browse it from his/her device and then system will check the size if the size is
too large a message will be displayed that picture size is too large system cannot send
this picture but if it matches the system requirements then that picture will be sent.
There is another option in normal messaging cancel the sending message as
discussed above. That option will work if user had enabled the option of delay sending
and he/she had set a specific time. When user will tap on the icon of send message a
timer with a cancel button will show up and time will start which was set by the user,
when that timer ends that message will be sent, but if user taps on the cancel button
before the time ends that message will be canceled.

Figure 3. 8 Sequence Diagram Messaging

Raabta 35
Chapter 3 System Design

3.3.2 Calling Sequence Diagram


In this scenario, if the user writes wrong contact number a message will be
displayed that your contact number is incorrect and then system will simply redirect
user to the previous layout. If the contact number is correct a call will be connected to
the user through the network and it will consume mobile carriers.
The overall system performance will be much efficient and optimized for best
user experience. Registration and login is important for online calling module of this
system. User’s data cannot be managed without registration in online module of this
system that’s way it is important to register first and then initiate communication using
online calling.
If the user do not remembers that contact number he/she can search it by simply
writing the name of that other person and through auto complete text view his name
and number will show, then by tapping on the make call icon call will be connected to
the user through the network and it will consume mobile carriers.

Figure 3. 9 Sequence Diagram Calling

Raabta 36
Chapter 3 System Design

3.3.3 Portal Sequence Diagram


User can upload there recorded calls over a web based portal and from there
he/she can stream and download that media file any time. In order to achieve this
functionality user first register itself and then login to his/her portal.
User profile is developed where user can manage his/her profile according to
there needs. He or she can edit there name password and change profile picture by
browsing there device.
Registration and login is important for online portal system of. User’s data
cannot be managed without registration in online module of this system that’s way it is
important to register first and then initiate communication using online calling.
The overall system performance will be much efficient and optimized for best
user experience. The system secure the user conversations so that any intruder in the
network cannot alter the conversations. The system is robust and fast as much as
possible so that the users will not feel irritated because of the unexpected delays in the
system.

Figure 3. 10 Sequence Diagram Portal

Raabta 37
Chapter 3 System Design

3.3.4 Last Seen Sequence Diagram


User will view the other user’s time stamp on which that user had operated this
application. User have to click on the option view last seen which is located in setting
task bar after that a notification will be displaced that shows last seen time on to the
other user’s layout. There is no need of registration and login for this feature because it
is a unique feature provided by this system only which is user is able to view last seen
time stamp of the other user without the need of internet.

Figure 3. 11 Sequence Diagram Portal

3.4 Class Diagram


Class diagram helps to determine the static relations between the objects. A class
diagram is used to show the existence of classes and their relationships in a system. A
single class diagram represents a view of the class structure of a system. During analysis,
we use class diagrams to indicate the common roles and responsibilities of the entities
that provide the system’s behavior.
3.4.1 Class Diagram of System
Class diagram shows that there is composition relation between the user with
online call, offline call and message which means if there is no call user cannot
independently exist and if there is no message user cannot exist and system will not
work properly moreover it shows the responsibilities of message class which are send
message, set time, select contact, delete message and select media. User class has an
aggregation relation with portal because without portal user can exist.

Raabta 38
Chapter 3 System Design

Recorded calls has a generalization relationship with online call class because
it is inherited from call class and portal has an association relationship with recorded
calls.
User has an aggregation relation between last seen class because without last
seen class system will work fine moreover user do not regularly check last seen time
stamp but occasionally.
Media sharing, delay messaging and schedule messaging are inherited from
main messaging class and generalization relation is show in below diagram.
Instant message is a major part of the online messaging system. It has a
composition relationship with the user which means that it is an important class and
system is depending on this class.

Figure 3. 12 Class Diagram

Raabta 39
Chapter 4
Implementation
Chapter 4 Implementation

CHAPTER 4 - IMPLEMENTATION

4.1 Introduction
This chapter introduces how this software is implemented. The development tools
and technologies used to implement the design are mentioned. Reasons for selecting the
tool are also discussed. Then the modules being translated into the implementation tool
are described.
4.2 Tools and Technologies
The following tools and Technologies are used for the development of the system.
4.2.1 Android Studio
Android Studio is the official integrated development environment (IDE) for
the Android platform. It was announced on May 16, 2013 at the Google I/O conference.
The following features are provided in the current stable version:[13]
 Gradle - based build support
 Android-specific refactoring and quick fixes
 Lint tools to catch performance, usability, version compatibility and other problems
 Pro Guard integration and app-signing capabilities
 Template-based wizards to create common Android designs and components
 A rich layout editor that allows users to drag-and-drop UI components, option
to preview layouts on multiple screen configurations
 Support for building Android Wear apps
 Built-in support for Google Cloud Platform, enabling integration with Firebase
Cloud Messaging (Earlier 'Google Cloud Messaging') and Google App Engine
 Android Virtual Device (Emulator) to run and debug apps in the Android studio.
4.2.2 MS Word 2013
MS Word is a graphical word processing program that users can type with. It is
made by the computer company Microsoft. Its purpose is to allow users to type and
save documents. Similar to other word processors, it has helpful tools to make
documents.[14]
We have used MS Word for documentation of this project. We have wrote
complete thesis with this help of this tool.

Raabta 41
Chapter 4 Implementation

4.2.3 Ideas Modeler


Software Ideas Modeler is a diagram software which allows you to choose the
notation you like or which fits best your needs. There are totally more than 50 diagram
types you can use for you software design and analysis. If it is still not enough, you
have an option to define your own diagram type using Custom Diagram.[7]
4.2.4 PHP
PHP is a script language and interpreter that is freely available and used
primarily on Linux Web servers. PHP, originally derived from Personal Home
Page Tools, now stands for PHP: Hypertext Preprocessor, which the PHP FAQ
describes as a "recursive acronym.” PHP executes on the server, while a comparable
alternative, JavaScript, executes on the client.[15] PHP is an alternative to
Microsoft's Active Server Page (ASP) technology. As with ASP, the PHP script is
embedded within a Web page along with its HTML. Before the page is sent to a user
that has requested it, the Web server calls PHP to interpret and perform the operations
called for in the PHP script.[16]
4.2.5 Wamp
Stands for "Windows, Apache, MySQL, and PHP." WAMP is a variation
of LAMP for Windows systems and is often installed as a software bundle (Apache,
MySQL, and PHP). It is often used for web development and internal testing, but may
also be used to serve live websites. The most important part of the WAMP package
is Apache (or "Apache HTTP Server") which is used run the web server within
Windows. By running a local Apache web server on a Windows machine, a web
developer can test webpages in a web browser without publishing them live on the
Internet.[17] WAMP also includes MySQL and PHP, which are two of the most
common technologies used for creating dynamic websites. MySQL is a high-speed
database, while PHP is a scripting language that can be used to access data from the
database. By installing these two components locally, a developer can build and test a
dynamic website before publishing it to a public web server. While Apache, MySQL,
and PHP are open source components that can be installed individually, they are usually
installed together.[18]
4.2.6 Third Parties Integration
A Third Party API is an API developed by a 3rd party.[19] They are sets of
requirements and regulations through which partial access to a 1st parties system or
program can be gained but how do Third Party APIs and the developers who make them

Raabta 42
Chapter 4 Implementation

actually fit into things, a Third Party API is like an app on a phone. One business has
made a phone and loaded it with a mobile OS. This business is the 1st party. The 1st
party's OS can do many things natively, such as send or receive calls and texts, but it
has the ability to do so much more. The 1st party didn't have the time or the ability to
develop every conceivable capability (such as internet banking). Sometimes a business
will release an API toolkit, and allow 3rd party developers to build APIs independently.
Sometimes, business's will keep access to their product/service locked behind their own
(1st party) APIs or have no API at all.[20]
4.3 Software components
4.3.1 Major Methods
Major methods are those functionalities of the system which are the most
important and has the greatest value in the system.
These major methods are very important because without these methods
system or project will be considered as incomplete work. System mainly depends
upon these major methods
4.3.1.1 Last Seen
The application provides a mechanism to its users through which they can see
each other’s last seen time stamp. This feature is available for both internet based instant
messages as well as GSM Based SMS Messages.
4.3.1.2 Media Sharing
The system is allowing its users to share media items such as Images. This
feature is available for both GSM Based SMS messages and on online module as well.
4.3.1.3 Audio/Video Call
User is able to initiate make calls using mobile carriers and internet. Moreover
user can record and upload video calls stream and download from a web portal as well.
4.3.1.4 Instant Messaging
Instant messaging, often shortened to IM or IM'ing, is the exchange of near real-
time messages through a stand-alone application or embedded software. Unlike chat
rooms with many users engaging in multiple and overlapping conversations,
IM sessions usually take place between two users in a private, back-and-forth style of
communication.
The system secure the user conversations so that any intruder in the network
cannot alter the conversations.

Raabta 43
Chapter 5
Software Testing
Chapter 5 Software Testing

CHAPTER 5 - SOFTWARE TESTING

5.1 Introduction
Software testing is an investigation conducted to provide stakeholders with
information about the quality of the product or service under test. Software testing can
also provide an objective, independent view of the software to allow the business to
appreciate and understand the risks of software implementation. Test techniques include,
but are not limited to, the process of executing a program or application with the intent
of finding software bugs (errors or other defects).[21]
Software testing can be stated as the process of validating and verifying that a
software program/application/product:
1. Meets the requirements that guided its design and development;
2. Works as expected; and
3. Can be implemented with the same characteristics.
Software testing, depending on the testing method employed, can be implemented
at any time in the development process. However, most of the test effort occurs after the
requirements have been defined and the coding process has been completed. As such, the
methodology of the test is governed by the software development methodology adopted.
Different software development models will focus the test effort at different
points in the development process. Newer development models, such as Agile, often
employ test driven development and place an increased portion of the testing in the hands
of the developer, before it reaches a formal team of testers. In a more traditional model,
most of the test execution occurs after the requirements have been defined and the coding
process has been completed.[22]
Testing can never completely identify all the defects within software. Instead, it
furnishes a criticism or comparison that compares the state and behavior of the product
against Principles or mechanisms by which someone might recognize a problem. These
principle may include (but are not limited to) specifications, contracts, comparable
products, past versions of the same product, inferences about intended or expected
purpose, user or customer expectations, relevant standards, applicable laws, or other
criteria. Testing can also provide an objective, independent view of the software to allow
the business to appreciate and understand the risks of software implementation.

Raabta 45
Chapter 5 Software Testing

Every software product has a target audience. For example, the audience for HMS
software is completely different from banking software. Therefore, when an organization
develops or otherwise invests in a software product, it can assess whether the software
product will be acceptable to its end users, its target audience, its purchasers, and other
stakeholders. Software testing is the process of attempting to make this assessment.
A primary purpose of testing is to detect software failures so that defects may be
discovered and corrected. Testing cannot establish that a product functions properly under
all conditions but can only establish that it does not function properly under specific
conditions. The scope of software testing often includes examination of code as well as
execution of that code in various environments and conditions as well as examining the
aspects of code: does it do what it is supposed to do and do what it needs to do. In the
current culture of software development, a testing organization may be separate from the
development team. There are various roles for testing team members. Information derived
from software testing may be used to correct the process by which software is developed.
5.2 Software Testing Axioms
5.2.1 Software Testing Risk Based Exercise
If you do not test the software for all inputs you will take a risk and you will
skip a lot of inputs that work correctly. Risk is defined as financial loss, loss of money
or loss of life.
5.2.2 Testing Cannot Show That Bugs Don't Exist
Problem testing can be used to show the presences of bugs, but never to show
there absence. Testing don’t tell us whether there are bugs or not we have to test every
aspect of the software so to validate and verify its completeness and to check that the
software is giving its required output completely.
5.2.3 The More Bugs You Find More Bugs There Are
The more bugs you find, the more bugs there are. Bugs appear in groups, where
you see one bug automatically you will find more. This happens when developers have
bad days.
5.2.4 Not All The Bugs You Find Will Be Fixed.
You cannot fix all the bugs that you know because there’s not enough time and
some deadlines cannot be extended. Sometimes it’s not really a bug and its specification
can be wrong. In some conditions it’s too risky to solve or fix that bug because it
requires the additional cost and time and effort of the developer.

Raabta 46
Chapter 5 Software Testing

5.3 Verification and Validation


Verification is the process of evaluating a system or component to determine
whether the products of a given development phase satisfy the conditions imposed at the
start of that phase.
Validation is the process of evaluating a system or component during or at the end
of the development process to determine whether it satisfies specified requirements.
5.4 Testing Techniques
Following are some testing techniques for designing test cases of the system:
 Black box texting
 White box texting
5.4.1 Black Box
Black box testing, also known as behavioral testing, is a
software testing method in which the internal structure/design/implementation of the
item being tested is not known to the tester. These tests can be functional or non-
functional, though usually functional. This method is named so because the software
program, in the eyes of the tester, is like a black box, inside which one cannot
see.[22] This method attempts to find errors in the following categories:
 Incorrect or missing functions
 Interface errors
 Errors in data structures or external database access
 Behavior or performance errors
 Initialization and termination errors
5.4.2 White Box
White-box testing also known as clear box testing, glass box
testing, transparent box testing, and structural testing is a method of
testing software that tests internal structures or workings of an application, as opposed
to its functionality i.e. testing. [23] In white-box testing an internal perspective of the
system, as well as programming skills, are used to design test cases. The tester chooses
inputs to exercise paths through the code and determine the expected
outputs.[23] Although traditional testers tended to think of white-box testing as being
done at the unit level, it is used for integration and system testing more frequently today.
It can test paths within a unit, paths between units during integration, and between
subsystems during a system level test. Though this method of test design can uncover

Raabta 47
Chapter 5 Software Testing

many errors or problems, it has the potential to miss unimplemented parts of the
specification or missing requirements.[24]
5.5 Testing Completeness
Testing will be considered complete when the following conditions have been met:
 When developers agree that the testing is complete and the application is stable and
agree that the application is meeting functional requirements.
 Script execution of all test cases in all areas has passed.
 Automated test cases have in all areas have passed.
 All bugs have been resolved.
5.6 Test Suits, Scripts and Scenarios
A testing case is a software testing documents, which consists of event, action,
input output, expected results and actual result. Clinically defined (IEEE 829-1998) a test
case is an input and expected results. This can be as pragmatic as ‘for condition x your
derived results is y’, where as other test cases described in more detail the input scenario
and what results might be expected.[25]
The term test script is the combination of a test case, test procedures, and test
data. Initially the term was derived from the product of work created by automated
regression test tools today, test scripts can be manual, automated or a combination of
both.
The most common term for a collection of test case is a test suite. The test suite
often also contains more detailed instructions or goals for each collection of test cases. It
definitely contains a section where the tester identifies the system configuration used
during testing. A group of test cases may also contain prerequisite state or steps and
descriptions of the following test.
Collection of test cases are sometime incorrectly termed a test plan. They might
correctly be called a test specification. If sequence is specified, it can be called a test
script, scenario, or produced.
The system is secure and the conversations between the users are all secure using
an efficient encryption algorithm so that all the conversations remain private to the
respective owners. The system secure the user conversations so that any intruder in the
network cannot alter the conversations. The system automatically backup online the
conversations so that in case of any disastrous situations, the overall private data still
remains available to the users.

Raabta 48
Chapter 5 Software Testing

The overall system performance will be much efficient and optimized for best
user experience. The system is stable enough so that in any illegal or invalid use of the
system cannot cause system crashes and instability in providing major or minor
functionality.
5.7 A Simple Testing Cycle
After testing varies between organizations, there is a cycle to testing:
 Requirements Analysis: Testing should begin in the requirements phase of the
software development life cycle. During the design phase, testers work with
developers in determining what aspects of a design are testable and with what
parameters those tests work.
 Test Planning: Test strategy, text plan, and test bed creation. Since many activities
will be carried out during testing, a plan is needed.
 Test Development: Test procedures, test scenarios, test cases, test datasets, test scripts
to use in testing software.
 Text Execution: Testers executes the software based on the plans and test documents
then report any errors found to the developer team.
 Test Reporting: Once testing is complete, testers generate metrics and make final
reports on their test efforts and whether or not the software tested is ready to release.
 Testing Result Analysis: also called as defect analysis is done by the development
team usually along with the client in order to decide what defect should be assigned,
fixed, rejected (i.e. found software working properly) or deferred to be dealt with later.
 Defect Retesting: Once a defect has been dealt with by the development team, it is
retested by the testing team also known as resolution testing.
 Regression Testing: It is common to have a small test program built of a subsets of
tests of each integration of new, modified, or fixed software in order to ensure that the
latest delivery has not ruined anything and that the software product as a whole is still
working correctly.
 Test Closure: Once the test meets the exact criteria, the activities such as capturing
the key outputs, lessons learned, results, logs, documents related to the project are
achieved and used as a reference for future projects.
5.8 Test Cases
Collection of test cases are sometime incorrectly termed a test plan. They might
correctly be called a test specification.

Raabta 49
Chapter 5 Software Testing

5.8.1 Test Case for Login:


Project Name: Raabta
Test case ID: TC-A-001 Test Designed By: Salman
Test Priority(Low/Medium/High): High Test Designed Date: 05-06-18
Module Name: Log In Test Executed By: Khushnood
Test Title: Verify sign In credentials Test Execution date: 07-06-18
Description: Verify sign In with contact number and pin code
Pre-conditions: User opens the online activity
Dependencies: N/A Test Type: Black - Box Testing
Step Test Steps Test Data Expected Actual Results Status Notes
Results
User should be User is
Open login able to login navigated to Pass
1 activity login
Provide valid No: Correct contact User views pass
contact 030900786 number online module
2 number 01
Provide valid Password: Correct pin login pass
3 pin code 123456 code
Click on Login Interface should Interface pass
4 Login button Button display displayed.
Post Conditions: User has valid contact and pin code.
Table 5. 1 Test Case for Sign in
5.8.2 Test Case for Making Audio Call:
Project Name: Raabta
Test case ID: TC-A-002 Test Designed By: Khushnood
Test Priority(Low/Medium/High): High Test Designed Date: 05-06-18
Module Name: Offline Audio Call Test Executed By: Salman
Test Title: Making audio calls Test Execution date: 07-06-18
Description: Test case will determine the functionality of making call
Pre-conditions: User should have account balance and network connectivity
Dependencies: N/A Test Type: Black - Box Testing
Step Test Steps Test Data Expected Results Actual Status Notes
Results
Find Contact Correct name should be Correct
contact Name: displayed by auto name. Pass
1 name khushnood complete.
Select on Call connecting layout Correct Pass
Make call should be display. layout.
2 icon
Perfect sound from top Perfect Fail Add
front speaker sound from method
Check for
sound back speaker change
quality speaker
3 N/A
Post Conditions: Initiating call functionality is partially working
Table 5. 2 Test Case for Making Audio Call

Raabta 50
Chapter 5 Software Testing

5.8.3 Test Case for Sending Message


Project Name: Raabta
Test case ID: TC-A-003 Test Designed By: Salman
Test Priority(Low/Medium/High): High Test Designed Date: 05-06-18
Module Name: offline Sending Message Test Executed By: Khushnood
Test Title: Sending Message Test Execution date: 07-06-18
Description: Test case will determine the functionality of sending a message offline
Pre-conditions: User should have account balance and network connectivity.
Dependencies: N/A Test Type: Black - Box Testing
Step Test Test Data Expected Actual Results Status Notes
Steps Results
User Correct name
types should be Correct recipient Pass
recipient Recipient: displayed by
and text Salman auto
1 message Khan complete.
User taps Message Message received Pass
on send should be by other user
message received my named Salman
2 icon other user Khan
Post Conditions: Message successfully send by the system.
Table 5. 3 Test Case for Message Sending
5.8.4 Test Case for Sharing Media
Project Name: Raabta
Test case ID: TC-A-004 Test Designed By: Khushnood
Test Priority(Low/Medium/High): High Test Designed Date: 05-06-17
Module Name: Offline sharing picture Test Executed By: Salman
Test Title: Sharing Media Test Execution date: 07-06-17
Description: Test case will determine the functionality of sharing
Pre-conditions: User should have network connectivity and large amount of SMS bundles
Dependencies: N/A Test Type: Black - Box Testing
Step Test Steps Test Data Expected Results Actual Results Status Notes
User select Correct name should
the Recipient: be displayed by auto Correct Pass
1 recipient Khushnood complete. recipient.
User add System shows a Message Pass
file and message that picture displayed Size
select System test can be sent or not is perfect to
picture to the size of send.
2 send the picture.
Message should be Message Pass
User taps received my other displayed
on send user picture is
message successfully
3 icon sent
Post Conditions: Media file is sent successfully by the system
Table 5. 4 Test Case for Sharing Media

Raabta 51
Chapter 5 Software Testing

5.8.5 Test Case for Cancel Message Sending


Project Name: Raabta
Test case ID: TC-A-005 Test Designed By: Salman
Test Priority(Low/Medium/High): High Test Designed Date: 05-06-17
Module Name: Cancel message Test Executed By: Khushnood
Test Title: Cancel Message Sending Test Execution date: 07-06-17
Description: Test case will determine the functionality of cancel message sending.
Pre-conditions: User enable delay messaging and time delay time to sending SMS
Dependencies: N/A Test Type: Black - Box Testing
Step Test Steps Test Expected Results Actual Results Status Notes
Data
User selects
the recipient Correct name Correct recipient. Pass
and type Recipient should be displayed
1 SMS : Salman by auto complete.
User taps Timer should Timer layout Pass
on send appear with a shows on display
message cancel now option
2 icon
User taps on Message should be Message Pass
cancel canceled displayed SMS
3 sending canceled
Post Conditions: message sending canceled successfully by the system.
Table 5. 5 Test Case for Cancel Message Sending
5.8.6 Test Case for View Last Seen
Project Name: Raabta
Test case ID: TC-A-006 Test Designed By: Khushnood
Test Priority(Low/Medium/High): High Test Designed Date: 05-06-17
Module Name: Offline check last seen Test Executed By: Salman
Test Title: View Last Seen Test Execution date: 07-06-17
Description: Test case will determine the functionality of Last Seen.
Pre-conditions: User should have some mobile carriers and network connectivity.
Dependencies: N/A Test Type: Black - Box Testing
Step Test Steps Test Expected Results Actual Status Notes
Data Results
A message should Correct
User selects last display that it will layout Pass
seen option from consume your displayed
1 setting recipient’s SMS
User taps on allow System should Correct Pass
consumption of display previous layout
2 SMS layout displayed
e.g. Last Seen Time:- Last Seen Fail Layout
5 May 5 May 2016 Time:- Problem
Waiting for LS 2018 07:08pm 5 May 2016
3 time to show up 07:08pm
Post Conditions: Complete time is not displayed
Table 5. 6 Test Case for View Last Seen

Raabta 52
Chapter 5 Software Testing

5.8.7 Test Case for Permissions (Contacts, SMS, Calls)


Project Name: Raabta
Test case ID: TC-A-007 Test Designed By: Salman
Test Priority(Low/Medium/High): High Test Designed Date: 05-06-18
Module Name: Permissions Test Executed By: Khushnood
Test Title: Permissions Contacts SMS and Calls Test Execution date: 07-06-18
Description: Test case will determine the functionality Permissions
Pre-conditions: User should have added permissions in manifest file
Dependencies: N/A Test Type: Black - Box Testing
Step Test Test Data Expected Actual Results Status Notes
Steps Results
Read Names and Not Displayed Add Run
contacts sms should Fail Time
Read Recipient: be displayed Permissions
SMS Khushnood
1
Send sms e.g. Sms and calls Not working Fail Add Run
or initiate AoA should work Time
calls Salman properly Permissions
2
Post Conditions: Permissions are not handled correctly
Table 5. 7 Test Case for Permissions
5.8.8 Test Case for SMS Scheduling
Project Name: Raabta
Test case ID: TC-A-008 Test Designed By: Khushnood
Test Priority(Low/Medium/High): High Test Designed Date: 05-06-17
Module Name: Offline SMS Scheduling Test Executed By: Salman
Test Title: SMS Scheduling Test Execution date: 07-06-17
Description: Test case will determine the functionality SMS Scheduling.
Pre-conditions: User should have network connectivity.
Dependencies: N/A Test Type: Black - Box Testing
Step Test Steps Test Data Expected Actual Status Notes
Results Results
User select Correct name Correct
the recipient Recipient: should be recipient. Pass
and types Khushnoo displayed by
1 SMS d auto complete.
e.g. Error should be Correct Fail Time is correct
User 5 May displayed, time time. but it’s in past
Schedule and 2018 is in past Add a check
2 select time 07:08pm
User taps on Message Message Pass
send should be displayed
message scheduled SMS
3 icon Scheduled
Post Conditions: SMS Scheduled successfully by the system.
Table 5. 8 Test Case for SMS Scheduling

Raabta 53
Chapter 6
Conclusion
Chapter 6 Conclusion

CHAPTER 6 - CONCLUSION

6.1 Introduction
It’s an all in one communication application in which users can enjoy both online
and offline features on one single interface. There are some features which are available
only in online applications such as view last seen and media sharing but this application
provides these features without the availability of internet as well.
The main feature of this application are normal messaging, instant messaging,
schedule messaging, initiating audio/video call, delay messaging, view last seen and
media sharing.
6.2 Software at its Best
 The software is reliable as it produces accurate results and transfers the data without
any loss.
 The software is quite effective as well as it responds to the user’s actions and transfers
the data efficiently.
 Keep in mind the diversity of its users, the software is designed in a quite user-friendly
manner.
 The software has all of the helping aspects that are covered while developing this
software, so it comes with a complete helping text.
 The software also generates proper error messages for the convenience of the user.
This enables the user to interact more easily with the software.
 The rate of errors is considerably reduced as forms and reports are used and data
validation checks have been provided to ensure correct usage of information.
 The system is secured, fault tolerant and effective.
6.3 Software Requirements
The operating system requirement for this application:
 Android
6.3.1 Internet Connection
User will need internet connectivity because some modules of the application
are not applicable without internet such as instant messaging (IM), video call and
profile of the user will not be managed moreover user will not be able to stream
download and upload his important calls from portal.

Raabta 55
Chapter 6 Conclusion

6.4 Future Enhancement


6.4.1 Sent Message Editing
Sent messaging editing is a new awesome feature that is found very rare in
communicatory application. User is able to edit its message that is already sent, he/she
can delete it as well and other user will be notified that this message is been edited, this
will clear the misunderstanding. We are absolutely looking forward to imbed this
feature in near future.
6.4.2 Typing Notification
Everyone is familiar with this feature it is very common in about all
communication based applications. User come to know when other user starts to type a
message.
If this idea is introduced in offline communication mediums it will be a likeable
feature. We are absolutely looking forward to embed this feature in near future.
6.4.3 Spell Check
If an error comes in typing a message system will automatically detect that error
and will provide suggestion or will correct it automatically. We are looking forward to
embed this feature in near future.
6.4.4 Customized Notification
User receives a notification from the application that notification can be made
by different ringtones, different types of led blinking, and different type to vibration
patterns.
User can change them though his phone settings but we are planning to make
and add our own signature custom notifications.
6.4.5 Language Selection
Everyone is familiar with this feature it is very common in communication
based applications. User will set language according to his need and can switch any
time.
6.4.6 Conference Call
Conference call is a complex feature we are unable to embed this feature in this
system at the present stage but we are absolutely looking forward to imbed this feature
in near future.
In conference call user is able to initiate call with more than one person at a
time. This feature is widely used in business purposes.

Raabta 56
User Manual
User Manual

USER MANUAL

7.1 Introduction
This section contains information about software, development team and
provides guidelines to use our system
7.2 About
“Raabta” is an Android based application perfectly optimized for internet based
Audio/Video calls, IP & network messages (SMS) with combined new features that
lack in any other similar application. There are some features which are available only
in online applications such as view last seen and media sharing but this application
provides these features without the availability of internet as well.
The main feature of this application are normal messaging, instant messaging,
schedule messaging, initiating audio/video call, delay messaging, view last seen and
media sharing.
7.3 Development Team
 Muhammad Salman Khan
 Muhammad Khushnood Rafi
7.4 Usage Instruction
One goal was to keep things arranged and simple so that user should not get
confuse and he/she can learn to do things more quickly.
This system is built to be very user friendly so that the user should not get
frustrated or met any discomfort and should not face any sort of problem while operating
different functionalities.
The system is stable enough so that in any illegal or invalid use of the system
cannot cause system crashes and instability in providing major or minor functionality.
7.4.1 Screen Shots
Here are some screen shots of main feature of this application normal messaging,
instant messaging, schedule messaging, initiating audio/video call, delay messaging,
view last seen, media sharing and call recording. User can record his/her important calls,
upload download and can stream them on a web portal as well.
We are adding screen shots to provide some picture of our system that how it
looks like. A person can only have the exact concept by using the application.

Raabta 58
User Manual

Default Screen

Figure 7. 1 Screen Shots of Default Screen


Home Screen

Figure 7. 2 Screen Shot of Home Screen

Raabta 59
User Manual

Conversation Screen

Figure 7. 3 Screen Shot of Conversation Screen


Settings

Figure 7. 4 Screen Shot of Setting

Raabta 60
User Manual

Last Seen

Figure 7. 5 Screen Shots of Last Seen

Raabta 61
User Manual

Media Sharing

Figure 7. 6 Screen Shots of Media Sharing

Raabta 62
User Manual

Delayed Sending

Raabta 63
User Manual

Figure 7. 7 Screen Shots of Delay Sending


Schedule Message

Raabta 64
User Manual

Figure 7. 8 Screen Shots of Schedule Message


Initiate Audio Call

Figure 7. 9 Screen Shots of Audio Call

Raabta 65
User Manual

Online Home Screen

Figure 7. 10 Screen Shot Online Home Screen


Account Creation

Raabta 66
User Manual

Figure 7. 11 Screen Shots of Account Creation


Instant Messaging

Raabta 67
User Manual

Figure 7. 12 Screen Shots of Instant Messaging


Video Call

Figure 7. 13 Screen Shots of Video Call

Raabta 68
User Manual

Online Audio Call

Figure 7. 14 Screen Shots of Online Audio Call


Call Log

Figure 7. 15 Screen Shot of Call Log

Raabta 69
References
References

REFERENCES

[1] “What is instant messaging (IM)? - Definition from WhatIs.com.” [Online]. Available:

https://searchunifiedcommunications.techtarget.com/definition/instant-messaging.

[Accessed: 23-May-2018].

[2] Y. Sun, J. Zhang, Y. Xiong, and G. Zhu, “Basic concepts and taxonomy Data Security

and Privacy in Cloud Computing,” Int. J. Distrib. Sens. Networks, vol. 10, no. 7, p.

190903, Jul. 2014.

[3] R. A. Popa, J. R. Lorch, D. Molnar, H. J. Wang, and L. Zhuang, “Enabling Security in

Cloud Storage SLAs with CloudProof.”

[4] “Database Encryption - Gartner IT Glossary.” [Online]. Available:

https://www.gartner.com/it-glossary/database-encryption. [Accessed: 05-Jul-2018].

[5] “Building safe PaaS cloud Security, Privacy and Trust in Cloud Systems - Google

Books.” [Online]. Available:

https://books.google.com.pk/books?id=fTPABAAAQBAJ&pg=PA142&lpg=PA142&

dq=L.+Rodero-

Merino,+L.+M.+Vaquero,+E.+Caron,+A.+Muresan,+and+F.+Desprez,+“Building+saf

e+PaaS+clouds:+A+survey+on+security+in+multitenant+software+platforms,”+Comp

ut.+Sec. [Accessed: 08-Jul-2018].

[6] A. U. Khan, M. Oriol, M. Kiran, M. Jiang, and K. Djemame, “Security risks and their

management in cloud computing,” in 4th IEEE International Conference on Cloud

Computing Technology and Science Proceedings, 2012, pp. 121–128.

[7] “Diagram CASE Tool for Software Modeling & Analysis - UML, BPMN, ERD.”

[Online]. Available: https://www.softwareideas.net/. [Accessed: 20-Jun-2018].

[8] “UML Diagrams.” [Online]. Available: https://www.visual-paradigm.com/guide/uml-

Raabta 71
References

unified-modeling-language/what-is-uml/. [Accessed: 05-Jul-2018].

[9] J. R. Beniger and D. L. Robyn, “Quantitative Graphics in Statistics: A Brief History,”

Am. Stat., vol. 32, no. 1, pp. 1–11, Feb. 1978.

[10] D. Simkin and R. Hastie, “An Information-Processing Analysis of Graph Perception,”

J. Am. Stat. Assoc., vol. 82, no. 398, p. 454, Jun. 1987.

[11] “Diagram CASE Tool for Software Modeling & Analysis - UML, BPMN, ERD.”

[Online]. Available: https://www.softwareideas.net/. [Accessed: 23-May-2018].

[12] “Line chart | Highcharts.” [Online]. Available: https://www.highcharts.com/docs/chart-

and-series-types/line-chart. [Accessed: 05-Jul-2018].

[13] “Android Studio 3.2 Canary 15 now available,” Android Dev. Release Updat., May

2018.

[14] “Buy Word Home and Student 2016 - Microsoft Store en-PK.” [Online]. Available:

https://www.microsoft.com/en-pk/p/word-home-and-student-

2016/cfq7ttc0k5bh?ocid=AID695748_SEM_WpkkcwAABFbPd5EY%3A2018062012

2921%3As&invsrc=search&cl_vend=google&cl_ch=sem&cl_camp=326249078&cl_a

dg=23483078678&cl_crtv=257475902062&cl_kw=+word+2013&cl_pub=goo.

[Accessed: 20-Jun-2018].

[15] “Bootstrap · The most popular HTML, CSS, and JS library in the world.” [Online].

Available: https://getbootstrap.com/. [Accessed: 20-Jun-2018].

[16] “What is PHP (Hypertext Preprocessor) ? - Definition from WhatIs.com.” [Online].

Available: https://whatis.techtarget.com/definition/PHP-Hypertext-Preprocessor.

[Accessed: 23-May-2018].

[17] “WAMP (Windows, Apache, MySQL, and PHP) Definition.” [Online]. Available:

https://techterms.com/definition/wamp. [Accessed: 24-May-2018].

[18] “WampServer, la plate-forme de développement Web sous Windows - Apache,

Raabta 72
References

MySQL, PHP.” [Online]. Available: http://www.wampserver.com/en/. [Accessed: 20-

Jun-2018].

[19] T. Ristenpart, E. Tromer, H. Shacham, and S. Savage, “Hey, You, Get Off of My

Cloud: Exploring Information Leakage in Third-Party Compute Clouds,” 2009.

[20] “What Is an API: First and Third Party APIs.” [Online]. Available:

https://workingmouse.com.au/third-party-apis/what-is-an-api-first-and-third-party-

apis. [Accessed: 24-May-2018].

[21] G. J. Myers and  Glenford J. Myers, The art of software testing. Wiley, 1979.

[22] J. Gao, H.-S. J. Tsao, and Y. Wu, Testing and quality assurance for component-based

software. Artech House, 2003.

[23] “Acquirer Services - White Label Payment Processing - MasterCard Payment Gateway

Services,” www.mastercard.com.

[24] L. Williams, “White-Box Testing,” pp. 60–61, 69.

[25] M. CREMONINI, “Proceedings of IEEE International Conference on Systems

Meeting Compliance Requirements,” in Cloud Computing Security, Taylor & Francis

Group, 6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487-2742:

CRC Press, 2016, pp. 255–266.

Raabta 73

Potrebbero piacerti anche