Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Project Report
Submitted by
BACHELOR OF SCIENCES
IN
INFORMATION TECHNOLOGY
PROJECT SUPERVISOR
Zubaria Inayat
Project Report
Submitted by
BACHELOR OF SCIENCES
IN
INFORMATION TECHNOLOGY
PROJECT SUPERVISOR
Zubaria Inayat
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)
___________________
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
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
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
TABLE OF FIGURES
LIST OF TABLES
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
Raabta 15
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
Raabta 20
Chapter 2 Requirement Analysis
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.
Raabta 21
Chapter 2 Requirement Analysis
Raabta 22
Chapter 2 Requirement Analysis
Raabta 23
Chapter 2 Requirement Analysis
Raabta 24
Chapter 2 Requirement Analysis
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.
Raabta 25
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
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.
Raabta 29
Chapter 3 System Design
Raabta 30
Chapter 3 System Design
Raabta 31
Chapter 3 System Design
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.
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
Raabta 34
Chapter 3 System Design
Raabta 35
Chapter 3 System Design
Raabta 36
Chapter 3 System Design
Raabta 37
Chapter 3 System Design
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.
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
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
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
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
Raabta 50
Chapter 5 Software Testing
Raabta 51
Chapter 5 Software Testing
Raabta 52
Chapter 5 Software Testing
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
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
Raabta 59
User Manual
Conversation Screen
Raabta 60
User Manual
Last Seen
Raabta 61
User Manual
Media Sharing
Raabta 62
User Manual
Delayed Sending
Raabta 63
User Manual
Raabta 64
User Manual
Raabta 65
User Manual
Raabta 66
User Manual
Raabta 67
User Manual
Raabta 68
User Manual
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.
[5] “Building safe PaaS cloud Security, Privacy and Trust in Cloud Systems - Google
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
[6] A. U. Khan, M. Oriol, M. Kiran, M. Jiang, and K. Djemame, “Security risks and their
[7] “Diagram CASE Tool for Software Modeling & Analysis - UML, BPMN, ERD.”
Raabta 71
References
J. Am. Stat. Assoc., vol. 82, no. 398, p. 454, Jun. 1987.
[11] “Diagram CASE Tool for Software Modeling & Analysis - UML, BPMN, ERD.”
[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://whatis.techtarget.com/definition/PHP-Hypertext-Preprocessor.
[Accessed: 23-May-2018].
[17] “WAMP (Windows, Apache, MySQL, and PHP) Definition.” [Online]. Available:
Raabta 72
References
Jun-2018].
[19] T. Ristenpart, E. Tromer, H. Shacham, and S. Savage, “Hey, You, Get Off of My
[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-
[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
[23] “Acquirer Services - White Label Payment Processing - MasterCard Payment Gateway
Services,” www.mastercard.com.
Group, 6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487-2742:
Raabta 73