You are on page 1of 45

CLIENT BASED SERVICE SYSTEM

A Minor Project Report submitted to Rajiv Gandhi Proudyogiki


Vishwavidyalaya towards partial fulfillment of the Requirements for
the Degree of Bachelor of Engineering in Computer Science &
Engineering (Session 2018-2019)

Guided By: Submitted By:


Mr. Vishal Sharma Siddhant Mishra
Assistant Professor (0822CS161112)
Shivani Rathore
(0822CS161106)

Department of Computer Science & Engineering


SWAMI VIVEKANAND COLLEGE OF ENGINEERING,
INDORE 2018 – 2019
Certificate

The Minor Project entitled “Quick Response” submitted by Siddhant


Mishra and Shivani Rathore is a satisfactory account of the bona fide work
done under Mr. Vishal Sharma guidance is recommended towards the
partial fulfillment for the award of Bachelor of Engineering in Computer
Science & Engineering degree by Rajiv Gandhi Proudyogiki
Vishwavidyalaya, Bhopal for the academic year 2018-2019.

Date: Mr. Vishal Sharma


Project Guide

Endorsed By
Head,
Department of Computer Science & Engineering

I
Approval Sheet

The Minor Project Entitled “Quick Response” submitted by Siddhant


Mishra (0822CS161112) Shivani Rathore (0822CS161106) is approved as
partial fulfillment for the award of Bachelor of Engineering in Computer
Science & Engineering degree by Rajiv Gandhi Proudyogiki
Vishwavidyalaya, Bhopal for the academic year 2018-2019.

Internal Examiner External Examiner

Principal
Swami Vivekananda College of Engineering,
Indore (M.P.)

II
Candidate Declaration

We hereby declare that the work which is being presented in this project
report Entitled “Quick Response” in partial fulfillment of degree of
Bachelor of Engineering in Computer Science & Engineering is an
authentic record of our own work carried out under the supervision and
guidance Mr. Vishal ‘Sharma.

We are fully responsible for the matter embodied in this project in case of
any discrepancy found in the project and the project has not been submitted
for the award of any other degree.

Date: Siddhant Mishra

Place: Shivani Rathore

III
ACKNOWLEDGEMENTS
I am thankful to the technical university Rajiv Gandhi Proudyogiki
Vishwavidyalaya,
Bhopal for giving me opportunity to convert my theoretical knowledge into
the
practical skills through this project. Any work of this magnitude requires
input, efforts and encouragement of people from all sides. In compiling this
project, I have been fortunate enough to get active and kind Cooperation from
many people without which my endeavors wouldn’t have been a success. The
project work has been made successful by the cumbersome effort of the
faculties.

I would like to express gratitude to my guide Mr. Vishal Sharma Computer


Science and Engineering Department under whose valuable guidance, for
encouraging me regularly and explain me each and every concept, I was able
to execute my project smoothly.

I express my deep gratitude to Prof. Vijay Birchha, Asst. Professor and


Head
Computer Science and Engineering Department who was involved right from
the
Inception of ideas to the finalization of the work.

I express my profound gratitude to Dr. Rajendra Tare, Principal, Swami


Vivekanand College of Engineering, Indore (M.P.), for making me confident
about the research platform and helping me a lot in research work
implementation.
We offer our sincere thanks to our project coordinators Mr. Amit
Shrivastava & Ms. Ruchi Saxena, Assistant professor, Department of
Computer Science & Engineering, without their guidance and support this
project would never been possible. I am thankful to all teaching staff of the
Computer science and Engineering Department for their timely help and co-
operation in success of this project. Last but not the least; I am grateful to My
Parents, and family members and friends, for their continuous support and
encouragement in success of this project.

Siddhant Mishra
Shivani Rathor

IV
ABSTRACT
Nowadays everyone represents their identity on online platform. And if this
online platform helps to make economy it is quite efficient.

The economy is increases by providing services to the demander. This


platform helps any businessman or service provider to give service and
increase their profit .It good for the both the demander and provider. Online
platform is a great way to advertise their product and also increase the growth
of their business with respect to the upgradation of technologies.

V
TABLE OF CONTENTS
Page No.

Certificate I

Approval Sheet II

Candidate Declaration III

Acknowledgements IV

Abstract V

Chapter-1 Introduction 1

1.1 Rationale 1

1.2 Problem definition 1

1.3 Proposed solution 2

1.4 Report Organization 2

Chapter-2 Literature Survey 3

2.1 Related Works 3

2.2 Technologies and Tools used 4

Chapter-3 Analysis 6

3.1 Process Model Adopted 6


3.1.1 Description
3.1.2 Advantages and Disadvantages
3.1.3 Reasons for Use
3.2 Requirement Analysis 10

3.2.1 Software Requirements

3.2.2 Hardware Requirements

3.3 Feasibility Study 10


3.3.1 Technical Feasibility
3.3.2 Economic Feasibility
3.3.3 Operational Feasibility
3.4 Architectural Specification 12

3.5 Use Case Model 12

3.6 Use Case Description 13

Chapter-4 Design 14

4.1 Activity diagrams 14

4.2 Sequence diagrams 15

4.3 Class diagram 16

4.4 Database 17

Chapter - 5 Implementation and Testing 18

5.1 Language Used Characteristics 18

5.2 Testing 21
5.2.1 Testing Objectives
5.2.2 Testing Methods and Strategies 5.2.3
Test Case

5.2 Confusion matrix for a binary classifier 23

6. Chapter – Conclusion and Discussion 25

Appendix: Screen and Report Formats


Chapter-1
Introduction
Introduction

1.1 Rational

Where do you go when you need to fix your air conditioner in the middle of the day? Or
what happens when you have an emergency situation like a leaking pipe in your kitchen?

Traditionally you would rush to your local electrician or plumber or have to search around
for a reliable person. But now many home service startups have come into existence
leveraging the on-demand economy and eliminating the pain in finding a professional.

Quick Response brings together a host of services under one roof. You can rent their
service for home cleaning, interior designing and even get beauty services sitting right at
your home.

The service is offered through the app website and you can hire professionals for pest
control, carpentry, plumbing, professional cleaning, carpet and sofa cleaning, electrical
repairs, laundry, home spa, and more.

Quick Response is an on-demand home services app that brings home service
professionals and customers on a single technology-driven platform.

1.2 Problem Definition

1. In current scenario everyone want to get everything very fast and easily. The things are
not only food and more, but all other services which we need in our daily life.
2. The service may be home cleaner, plumber etc.
3. Peoples live aware about the brands, foods, market which are famous for their things.
But when they need to solve some household problems, so they get confuse that is that
service is available at their nearest place or not?

1
1.3 Proposed Solution

We help customers hire trusted professionals for all their service needs.

We provide information about housekeeping services which consist of Plumbers,


Electricians, Carpenters, Cleaning and Pest Control. We also provide personal
services like beauty, spa, mobile and other appliance repairs etc.

We simplify your everyday living with a variety of at-home services.

Here you will get all the information about service provider of your nearest place at your
terms. By the information you can easily contact with them and hire them for your need.

It is not only helpful for the customer but also helps to service provider for increasing their
business. They can easily operate their work from home.

1.4 Report Organization

The proposed system is explain in chapter 3. A brief discussion of the Project IDE is given
in the chapter 4. System implementation is described in chapter 5. The practical aspects of
the project, i.e., the actual result and analysis is given along with the screenshots of the
result obtained in the appendix section.

2
Chapter-2
Literature Survey
Literature Survey

2.1 Related Works:

Net Beans is an open-source integrated development environment (IDE) for


developing with Java, PHP, C++, and other programming languages. Net Beans
is also referred to as a platform of modular components used for
developing Java desktop applications.

Net Beans is coded in java and runs on most operating systems with a Java
Virtual Machine (JVM), including Solaris, Mac OS, and Linux.

Net Beans manages the following platform features and components.

 User settings
 Windows (placement, appearance, etc.)
 Net Beans Visual Library
 Storage
 Integrated development tools
 Framework wizard

Net Beans framework reusability simplifies Java Swing desktop application


development, which provides platform extension capabilities to third-party developers.

API is the acronym for Application Programming Interface, which is a software


intermediary that allows two applications to talk to each other. Each time you use an app
like Facebook, send an instant message, or check the weather on your phone, you’re using
an API.

An application programming interface (API) is a set of subroutine definitions, protocols


and tools for building application software. In general terms, it is a set of clearly defined
methods of communication between various software components”.

3
2.2 Technologies and Tools be used:

Java: Java is a programming language and a computing platform for application


development. It was first released by Sun Microsystem in 1995 and later acquired by
Oracle Corporation. It is one of the most used programming languages.

Java platform is a collection of programs that help to develop and run programs written in
the Java programming language. Java platform includes an execution engine, a compiler,
and a set of libraries. JAVA is platform-independent language. It is not specific to any
processor or operating system.

HTML: Hypertext Markup Language (HTML) is the standard markup language for
creating webpages and web applications. With Cascading Style Sheets (CSS)
and JavaScript.

HTML is a markup language that web browsers use to interpret and compose text, images,
and other material into visual or audible web pages. Default characteristics for every item
of HTML markup are defined in the browser, and these characteristics can be altered or
enhanced by the web page designer's additional use of CSS.

API: In computer programming, an application programming interface (API) is a set of


subroutine definitions, communication protocols, and tools for building software. In
general terms, it is a set of clearly defined methods of communication among various
components. A good API makes it easier to develop a computer program by providing all
the building blocks, which are then put together by the programmer.

An API may be for a web-based system, operating system, database system, computer
hardware, or software library.
An API specification can take many forms, but often includes specifications
for routines, data structures, object classes, variables, or remote calls.

Net Beans: Net Beans is a Java-based integrated development environment (IDE). The
term also refers to the IDE’s underlying application platform framework. The IDE is
designed to limit coding errors and facilitate error correction with tools such as the Net
Beans Find Bugs to locate and fix common Java coding problems and Debugger to
manage complex code with field watches, breakpoints and execution monitoring.
Although the Net Beans IDE is designed specifically for Java developers, it also supports
C/C++, PHP, Groovy, and HTML5 in addition to Java, JavaScript and JavaFX.

4
Apache Tomcat Server: Apache Tomcat is an open source web server that is
developed by Apache software foundation. It basically make our Java Web applications to
run on host and server based system and it is configured on local host port 8080.It
generally runs JSP, Servlet etc.

There is a built in web container called Catalina in the tomcat bin directory. It loads all
http related request and has privilege to instantiate the GET and POST method's object. It
also uses cynote i.e. an http connector through network layer of the computer. All the
execution is managed by JSP engine.

JSP: Java Server Pages (JSP) is a server-side programming technology that enables the
creation of dynamic, platform-independent method for building Web-based applications.
JSP have access to the entire family of Java APIs, including the JDBC API to access
enterprise databases. This tutorial will teach you how to use Java Server Pages to develop
your web applications in simple and easy steps.

MySQL: MySQL is a very popular SQL-based relational DBMS for both Web and
embedded applications. Pronounced "my S-Q-L," MySQL runs under all popular
operating systems.
MySQL is an open source relational database management system that runs as a server
providing multi-user access to a number of databases. It is named after co-founder
‘Michael Widenius' daughter, my. The SQL phrase stands for Structured Query Language.
MySQL is a popular choice of database for use in web applications, and is a central
component of the widely used LAMP open source web application software stack.
MySQL is also used in many high-profile, large-scale websites, including Wikipedia,
Google, Facebook, Twitter, Flickr, and YouTube.

5
Chapter 3

Analysis
3.1 Process Model Adopted

3.1.1 Description:

The Process Model which we have adopted in our overall system development life cycle
is Water Fall Model .The waterfall model is a sequential approach, where each
fundamental activity of a process represented as a separate phase, arranged in linear order.
In the waterfall model, I have planned and schedule all of the activities before starting
working on them (plan-driven process). Plan-driven process is a process where all the
activities are planned first, and the progress is measured against the plan. While the agile
process, planning is incremental and it’s easier to change the process to reflect
requirement changes. The phases of the waterfall model are: Requirements, Design,
Implementation, Testing, and Maintenance.

Fig 3.1 Waterfall model

6
The Nature of Waterfall Phases
In principle, the result of each phase is one or more documents that should be approved
and the next phase shouldn’t be started until the previous phase has completely been
finished.

In practice, however, these phases overlap and feed information to each other. For
example, during design, problems with requirements can be identified, and during coding,
some of the design problems can be found, etc.

The software process therefore is not a simple linear but involves feedback from one
phase to another. So, documents produced in each phase may then have to be modified to
reflect the changes made.

When to Use?
In principle, the waterfall model should only be applied when requirements are well
understood and unlikely to change radically during development as this model has a
relatively rigid structure which makes it relatively hard to accommodate change when the
process in underway.

Prototyping
A prototype is a version of a system or part of the system that’s developed quickly to
check the customer’s requirements or feasibility of some design decisions.
So, a prototype is useful when a customer or developer is not sure of the requirements, or
of algorithms, efficiency, business rules, response time, etc. In prototyping, the client is
involved throughout the development process, which increases the likelihood of client
acceptance of the final implementation. While some prototypes are developed with the
expectation that they will be discarded, it is possible in some cases to evolve from
prototype to working system.

A software prototype can be used:


[1] In the requirements engineering, a prototype can help with the elicitation and
validation of system requirements.
It allows the users to experiment with the system, and so, refine the requirements. They
may get new ideas for requirements, and find areas of strength and weakness in the
software.
Furthermore, as the prototype is developed, it may reveal errors and in the requirements.
The specification maybe then modified to reflect the changes.

7
[2] In the system design, a prototype can help to carry out deign experiments to check
the feasibility of a proposed design.
For example, a database design may be prototype-d and tested to check it supports
efficient data access for the most common user queries.

Fig 3.2 Waterfall model phases


The phases of a prototype are:

1. Establish objectives: The objectives of the prototype should be made explicit from
the start of the process. Is it to validate system requirements, or demonstrate
feasibility etc.

2. Define prototype functionality: Decide what are the inputs and the expected
output from a prototype. To reduce the prototyping costs and accelerate the delivery
schedule, you may ignore some functionality, such as response time and memory
utilization unless they are relevant to the objective of the prototype.

3. Evaluate the prototype: Once the users are trained to use the prototype, they then
discover requirements errors. Using the feedback both the specifications and the
prototype can be improved. If changes are introduced, then a repeat of steps 3 and 4
may be needed.

4. Develop the prototype: The initial prototype is developed that includes only user
interfaces.

Prototyping is not a standalone, complete development methodology, but rather an


approach to be used in the context of a full methodology (such as incremental, spiral,
etc.).

8
3.1.2 Advantages and Disadvantages

The advantages of waterfall development are that it allows for departmentalization and
control. A schedule can be set with deadlines for each stage of development and a
product can proceed through the development process model phases one by one.
Development moves from concept, through design, implementation, testing, installation,
troubleshooting, and ends up at operation and maintenance. Each phase of development
proceeds in strict order.

Some of the major advantages of the Waterfall Model are as follows


 Simple and easy to understand and use.
 Easy to manage due to the rigidity of the model. Each phase has specific
deliverables and a review process.
 Phases are processed and completed one at a time.
 Works well for smaller projects where requirements are very well understood.
 Clearly defined stages.
 Well understood milestones.
 Easy to arrange tasks.
 Process and results are well documented.

The disadvantage of waterfall development is that it does not allow much reflection or
revision. Once an application is in the testing stage, it is very difficult to go back and
change something that was not well-documented or thought upon in the concept stage.

The major disadvantages of the Waterfall Model are as follows − • No


working software is produced until late during the life cycle.
• High amounts of risk and uncertainty.

• Not a good model for complex and object-oriented projects.

• Poor model for long and ongoing projects.

• Not suitable for the projects where requirements are at a moderate to high risk of
changing. So, risk and uncertainty is high with this process model.
• It is difficult to measure progress within stages.

• Cannot accommodate changing requirements.

• Adjusting scope during the life cycle can end a project.

• Integration is done as a "big-bang. At the very end, which doesn't allow


identifying any technological or business bottleneck or challenges early.
9
3.1.3 Reasons for Use

1. Requirements are very clear and fixed.


2. There are no ambiguous requirements.
3. Ample resources with required expertise are available freely.
4. Experience of similar projects.
5. The project is short.
6. It is good to use this model when the technology is well understood.

3.2 Requirement Analysis

3.2.1 Software Requirements

1. Java
2. Net Beans
3. MySQL Database
4. SQLyog
5. Local Server (Apache Tomcat)

3.2.2 Hardware Requirements

RAM: 128 MB
Disk space: 124 MB for JRE; 2 MB for Java Update
Processor: Minimum Pentium 2 266 MHz processor
Browsers: Internet Explorer 9 and above, Firefox

3.3 Feasibility Study

3.3.1 Technical Facility

This assessment focuses on the technical resources available to the organization. It helps
organizations determine whether the technical resources meet capacity and whether the
technical team is capable of converting the ideas into working systems. Technical
feasibility also involves evaluation of the hardware, software, and other technology
requirements of the proposed system.

In our project the technical feasibility is minimum as it can be implemented by any


customer to fulfill requirement. With minimum hardware and software specification.

10
3.3.2 Economic Feasibility

This assessment typically involves a cost/ benefits analysis of the project, helping
organizations determine the viability, cost, and benefits associated with a project before
financial resources are allocated. It also serves as an independent project assessment and
enhances project credibility—helping decision makers determine the positive economic
benefits to the organization that the proposed project will provide. In our project the
costing of overall project is limited to buying domain nothing as in the current days the
domains are available in cheapest price. And also the project is economic as it comes with
minimum hardware and software specification.

Some of the major advantages of the Waterfall Model are as follows


 Simple and easy to understand and use.
 Easy to manage due to the rigidity of the model. Each phase has specific
deliverables and a review process.
 Phases are processed and completed one at a time.
 Works well for smaller projects where requirements are very well understood.
 Clearly defined stages.
 Well understood milestones.
 Easy to arrange tasks.
 Process and results are well documented.

The disadvantage of waterfall development is that it does not allow much reflection or
revision. Once an application is in the testing stage, it is very difficult to go back and
change something that was not well-documented or thought upon in the concept stage.

The major disadvantages of the Waterfall Model are as follows − • No


working software is produced until late during the life cycle.
• High amounts of risk and uncertainty.

• Not a good model for complex and object-oriented projects.

• Poor model for long and ongoing projects.

• Not suitable for the projects where requirements are at a moderate to high risk of
changing. So, risk and uncertainty is high with this process model.
• It is difficult to measure progress within stages.

• Cannot accommodate changing requirements.

• Adjusting scope during the life cycle can end a project.

• Integration is done as a "big-bang. At the very end, which doesn't allow


identifying any technological or business bottleneck or challenges early.

11
3.3.3 Operational Feasibility

This assessment involves undertaking a study to analyze and determine whether—and


how well—the organization’s needs can be met by completing the project. Operational
feasibility studies also analyze how a project plan satisfies the requirements identified in
the requirements analysis phase of system development. In our project the operation are
very simple to understand and easy to use as a user friendly graphical user interface is
provided to use the software fluently.

3.4 Use Case Model

12
3.5 Use Case Description

Use Case Diagram is the combination of use cases of a system, a use case shows a single
function of the system. By looking at the use case diagram the stakeholder will know what
functionality the system has or will be included. They will know exactly who will be
interacting with system. And identify which functionality is excluded. So, we have
designed the following use case diagram for our project.

In the Above Use case diagram the actors are the user, Service Provider and the Admin
where each one has a specific role in the overall system. As Service Provider actor can
login into the system and the User actor can analyze and contact to service provider
through their details.

The Admin actor can manage the Provider Profile, number of Providers in the Particular
service, their names and their profile details.

13
Chapter 4
Design
4.1 Activity Diagram

14
4.2 Sequence Diagram

15
4.3 Class Diagram

4.4 Database Design

Registration Table:

16
Admin Table:

17
Chapter 5
Testing and Implementation
5.1 Language Used Characteristics

Java is a platform-independent programming language used to create secure and robust


application that may run on a single computer or may be distributed among servers and
clients over a network.
Java features such as platform-independency and portability ensure that while developing
Java EE enterprise applications, you do not face the problems related to hardware,
network, and the operating system.
Java was started as a project called "Oak" by James Gosling in June 1991. Gosling's goals
were to implement a virtual machine and a language that had a familiar C like notation but
with greater uniformity and simplicity than C/C++.
The First publication of Java 1.0 was released by Sun Microsystems in 1995. It made the
promise of "Write Once, Run Anywhere", with free runtimes on popular platforms.
In 2006-2007 Sun released java as open source and platform independent software
.

Language Features

1) Simple: Java is a simple language because of its various features, Java Doesn’t Support
Pointers, Operator Overloading etc. It doesn’t require unreferenced object because java
support automatic garbage collection.
Java provides bug free system due to the strong memory management.

2) Object-Oriented: Object-Oriented Programming Language (OOPs) is the methodology


which provide software development and maintenance by using object state, behaviour,
and properties.

Object Oriented Programming Language must have the following characteristics.

1) Encapsulation 2) Polymorphism 3) Inheritance 4) Abstraction

As the languages like Objective C, C++ fulfils the above four characteristics yet they
are not fully object oriented languages because they are structured as well as object
oriented languages.
In java everything is an Object. Java can be easily extended since it is based on the
Object model

3) Secure: Java is Secure Language because of its many features it enables to develop
virus-free, tamper-free systems. Authentication techniques are based on public-key
encryption. Java does not support pointer explicitly for the memory.

4) Robust: Java was created as a strongly typed language. Data type issues and problems
are resolved at compile-time, and implicit casts of a variable from one type to another are
not allowed.
Memory management has been simplified java in two ways. First Java does not
support direct pointer manipulation or arithmetic. This make it possible for a java program
to overwrite memory or corrupt data.

18
Second, Java uses runtime garbage collection instead of instead of freeing of memory.
In languages like c++, it is necessary to delete or free memory once the program has
finished with it.

5) Platform-independent. : Java Language is platform-independent due to its hardware


and software environment. Java code can be run on multiple platforms e.g. windows,
Linux, sun Solaris, Mac/Os etc. Java code is compiled by the compiler and converted into
byte code. This byte code is a platform independent code because it can be run on multiple
platforms i.e. Write Once and Run Anywhere (WORA).

6) Architecture neutral : It is not easy to write an application that can be used on


Windows, UNIX and a Macintosh. And it’s getting more complicated with the move of
windows to non-Intel CPU architectures.
Java takes a different approach. Because the Java compiler creates byte code instructions
that are subsequently interpreted by the java interpreter, architecture neutrality is achieved
in the implementation of the java interpreter for each new architecture.

7) Portable: Java code is portable. It was an important design goal of Java that it be
portable so that as new architectures (due to hardware, operating system, or both) are
developed, the java environment could be ported to them.
In java, all primitive types (integers, longs, floats, doubles, and so on) are of defined
sizes, regardless of the machine or operating system on which the program is run. This is
in direct contrast to languages like C and C++ that leave the sized of primitive types up to
the compiler and developer.
Additionally, Java is portable because the compiler itself is written in Java.

8) Dynamic :Because it is interpreted , Java is an extremely dynamic language, At


runtime, the java environment can extends itself by linking in classes that may be located
on remote servers on a network(for example, the internet)
At runtime, the java interpreter performs name resolution while linking in the
necessary classes. The Java interpreter is also responsible for determining the placement of
object in memory. These two features of the Java interpreter solve the problem of
changing the definition of a class used by other classes.

19
9) Interpreted: We all know that Java is an interpreted language as well. With an
interpreted language such as Java, programs run directly from the source code.

The interpreter program reads the source code and translates it on the fly into
computations. Thus, Java as an interpreted language depends on an interpreter program.

The versatility of being platform independent makes Java to outshine from other
languages. The source code to be written and distributed is platform independent.

Another advantage of Java as an interpreted language is its error debugging quality. Due to
this any error occurring in the program gets traced. This is how it is different to work with
Java.

10) High performance: For all but the simplest or most infrequently used applications,
performance is always a consideration for most applications, including graphics-intensive
ones such as are commonly found on the World Wide Web, the performance of java is
more than adequate.

11) Multithreaded: Writing a computer program that only does a single thing at a time is
an artificial constraint that we’ve lived with in most programming languages. With java,
we no longer have to live with this limitation. Support for multiple, synchronized threads
is built directly into the Java language and runtime environment.

Synchronized threads are extremely useful in creating distributed, network-aware


applications. Such as application may be communicating with a remote server in one
thread while interacting with a user in a different thread.

12) Distributed: Java facilitates the building of distributed application by a collection of


classes for use in networked applications. By using java’s URL (Uniform Resource
Locator) class, an application can easily access a remote server. Classes also are provided
for establishing socket-level connections.

20
5.2 Testing

In our project have performed WHITE BOX TESTING (also known as Clear Box
Testing, Open Box Testing, Glass Box Testing, Transparent Box Testing, Code-Based
Testing or Structural Testing) is a software testing method in which the internal
structure/design/implementation of the item being tested is known to us. We have chosen
inputs to exercise paths through the code and determines the appropriate outputs.
Programming know-how and the implementation knowledge is essential. White box
testing is testing beyond the user interface and into the nitty-gritty of a system.
This method is named so because the software program, in the eyes of the tester, is like a
white/transparent box; inside which one clearly sees.

Definition by ISTQB

• White-box testing: Testing based on an analysis of the internal structure of the


component or system.
• White-box test design technique: Procedure to derive and/or select test cases based
on an analysis of the internal structure of a component or system.

White Box Testing method is applicable to the following levels of software testing:

• Unit Testing: For testing paths within a unit.


• Integration Testing: For testing paths between units.
• System Testing: For testing paths between subsystems.

However, it is mainly applied to Unit Testing.

5.2.1 Testing Objectives


Software Testing has different goals and objectives. The major objectives of Software
testing are as follows:

• Finding defects which may get created by the programmer while developing the
software.
• Gaining confidence in and providing information about the level of quality.
• To prevent defects.
• To make sure that the end result meets the business and user requirements.
• To ensure that it satisfies the BRS that is Business Requirement Specification and
SRS that is System Requirement Specifications.
• To gain the confidence of the customers by providing them a quality product.

21
Fig. Unit Testing Objectives

5.2.2 Testing Methods and Strategies

White Box Testing method is applicable to the following levels of software testing:

• Unit Testing: For testing paths within a unit.


• Integration Testing: For testing paths between units.
• System Testing: For testing paths between subsystems.

However, it is mainly applied to Unit Testing.


In our project we have applied unit testing which helps us in the following advantages to
testing:

• Reduces Defects in the newly developed features or reduces bugs when changing
the existing functionality.
• Reduces Cost of Testing as defects are captured in very early phase.
• Improves design and allows better refactoring of code.
• Unit Tests, when integrated with build gives the quality of the build as well.

22
5.2.3 Test Cases

Test 0: Test case for login after registration

Login ID: s@gmail.com


Password: 12345

If not approved by Admin

System Output: Login Fail

Test 02: Test case for successful Login

Login ID: s@gmail.com


Password: 12345

System Output: Successful Login

Test 03: Test case for incorrect password

Login ID: s@gmail.com


Password: 1234

System Output: Login Fail

Test 04: Test case for incorrect ID

Login ID: St@gmail.com


Password: 12345

System Output: Login Fail

Test 05: Test case for search

Service: Teacher
City: Indore

System Output: visit profile

23
Test 06: Test case for search

Service: painter
City: Indore

System Output: search fail.

24
Chapter 6

Conclusion
Conclude:

It is a web based application project which helps user to get services under a roof.
In this user searches the services and contacts to provider for fulfilling their needs
.This project increase the demand of providers among peoples and helps to increase
their growth all around the service. As the technology increases day by day
everyone wants to upload their work online as per technology demand ,so this
project also helps to make presence of their services online world web and with the
help of this web technology everyone search the providers easily and the growth
and experience of providers also increases day by day.

25
Appendix
Screen and Report Formats
Home Page

Contact Us Page
About Us Page

Service Page
Registration Page

Admin Approval Page


Login Page

Profile Page

You might also like