Team 6 AD
Team 6 AD
Bachelor of Technology
in
Computer Science and Engineering (Cyber security)
by
V SHIVANI 22N35A6207
MD ABRAAR HUSSAIN 21N31A6245
K PRANAY BABU 21N31A6238
Ms V Suneetha
Associate Professor
Department of Emerging
Technologies
MRCET (Autonomous Institution, UGC Govt. of India)
I hereby declare that the project entitled “Online Voting System” submitted to Malla
Reddy College of Engineering and Technology, affiliated to Jawaharlal Nehru Technological
University Hyderabad (JNTUH) as part of III Year B.Tech – I Semester and for the partial
fulfillment of the requirement for the award of Bachelor of Technology in Computer Science
and Engineering (Cyber Security) is a result of original research work done by us.
It is further declared that the project report or any part thereof has not been previously
submitted to any University or Institute for the award of degree or diploma.
V SHIVANI (22N35A6207)
MD ABRAAR HUSSAIN
(21N31A6245) K PRANAY BABU
(21N31A6238)
CERTIFICATE
This is to certify that this is the bonafide record of the project titled “Online Voting
System” submitted by V SHIVANI bearing 22N35A6207 of B.Tech III Year – I Semester in
the partial fulfillment of the requirements for the degree of Bachelor of Technology in Computer
Science and Engineering (Cyber Security), Dept. of CSE (Emerging Technologies) during the
year 2023-2024. The results embodied in this project report have not been submitted to any other
university or institute for the award of any degree or diploma.
EXTERNAL EXAMINER
ACKNOWLEDGEMENTS
I feel myself honored and privileged to place my warm salutation to my college “Malla Reddy
College of Engineering and Technology (Autonomous Institution – UGC Govt. of India) and my
Principal Dr. S Srinivasa Rao, Professor who gave me the opportunity to do the Application
Development -1 (Project) during my III Year B.Tech and profound the technical skills.
I express my heartiest thanks to our Director Dr. V S K Reddy, Professor for encouraging me in
every aspect of my project and helping me realize my full potential.
I am also thankful to our Head of the Department Dr. M V Kamal, Professor for providing training
and guidance, excellent infrastructure and a nice atmosphere for completing this project
successfully.
I would like to express my sincere gratitude and indebtedness to my project supervisor Mrs V
Suneetha, Associate Professor for his valuable suggestions and interest throughout the course of
this project.
I convey my heartfelt thanks to our Project Coordinator Dr. P Dileep, Professor for allowing for
their regular guidance and constant encouragement during my dissertation work.
I would like to thank all my supporting staff of the Department of CSE (Emerging
Technologies) and even all other department who have been helpful directly and in-directly in
making our project a success.
Finally, I would like to take this opportunity to thank my family for their support and blessings
for completion of my project that gave me the strength to do my project.
V SHIVANI (22N35A6207)
MD ABRAAR HUSSAIN (21N31A6245)
K PRANAY BABU (2N31A6217)
ABSTRACT
An online voting system is a modernized approach to the traditional method of voting,
leveraging the power of the internet to make the voting process more convenient and accessible.
Instead of physically visiting a polling station, voters can use their computers or smartphones to
One of the primary advantages of an online voting system is its convenience. Voters can participate
in elections or important decisions without the need to travel to a specific location. This
accessibility is especially beneficial for individuals who may face mobility challenges, live in
remote areas, or have busy schedules that make it difficult to allocate time for in-person voting.
Security is a paramount concern in any voting system, and online voting systems employ advanced
encryption and authentication measures to ensure the integrity of the electoral process. This
includes secure login procedures and encrypted transmission of votes to safeguard against
The implementation of robust security measures is essential for building trust in the online voting
system and maintaining the integrity of election outcomes .Accuracy in counting votes is another
Online voting systems use advanced algorithms to accurately tally the submitted votes, minimizing
the risk of errors associated with manual counting. This not only streamlines the overall voting
i
Furthermore, online voting systems often provide features such as voter verification and receipt
confirmation. These features empower voters to verify that their votes have been accurately
recorded and counted. Additionally, the system generates an electronic trail, enhancing
ii
LIST OF CONTENTS
iii
LIST OF FIGURES
iv
LIST OF TABLES
v
CHAPTER 1
INTRODUCTION
1.1 Introduction
1.1.1 The advent of the digital era has ushered in transformative changes across various facets
of human life, and the realm of democratic participation is no exception. The traditional
method of casting votes in physical polling stations is undergoing a paradigm shift with the
toward enhancing the accessibility, efficiency, and security of the electoral process.
1.1.2 At its core, an online voting system is a technological platform that enables individuals
to exercise their right to vote using the internet, eliminating the need for physical
presence at a designated polling location. This shift from the conventional in-person voting
challenges, making the act of voting more inclusive and convenient for a diverse
populace.
1.1.3 The key advantage of online voting lies in its inherent convenience. By leveraging the
ubiquity of digital devices, such as computers and smartphones, voters can participate in
elections from virtually anywhere. This accessibility addresses longstanding barriers that
individuals may face, including mobility issues, remote residency, or scheduling conflicts.
As societies evolve in the digital age, the convenience offered by online voting aligns
1.1.4 Security is a paramount concern in the implementation of online voting systems, and
1
designers of these platforms prioritize the development of robust mechanisms to safeguard
2
the integrity of the electoral process. Advanced encryption protocols, secure login
procedures, and tamper-resistant systems are integral components that ensure the
confidentiality and authenticity of each vote. By instilling trust in the security measures
deployed, online voting systems aim to fortify the democratic underpinnings of free and
fair elections.
1.1.5 Moreover, the accuracy of the vote-counting process is significantly bolstered through the
tallying minimizes the risk of human error associated with manual counting, thereby
incorporate features like voter verification and receipt confirmation, empowering voters to
independently verify that their choices have been accurately recorded and counted.
1.1.6 In essence, the emergence of online voting systems marks a pivotal moment in the
aspire to create a more accessible, secure, and efficient electoral landscape, fostering a
navigate the digital frontier, the integration of online voting stands as a testament to the
The motive behind implementing the online voting system project is rooted in a commitment to
democratize and modernize the electoral process. The project seeks to enhance civic
participation by leveraging technology to make voting more accessible and convenient for a
diverse populace.
3
By eliminating geographical barriers and streamlining the voting procedure, the aim is to
encourage higher voter turnout and foster a more inclusive democratic environment.
Moreover, the project is motivated by a dedication to fortify the security and accuracy of the
electoral process. Through the implementation of advanced encryption, secure authentication, and
automated vote-counting algorithms, the goal is to ensure the integrity of elections. By embracing
technological advancements, the project endeavors to mitigate the risks associated with manual
processes and instill confidence in voters that their choices are accurately recorded and counted.
Ultimately, the motive of the online voting system project is to usher in a more efficient, secure,
and transparent electoral landscape, aligning democratic practices with the expectations and needs
The problem addressed by the online voting system project lies in the limitations and
physically travel to designated polling stations within specific time frames. This can result in
4
Additionally, the manual processes involved in traditional voting systems, such as paper-based
ballots and manual vote counting, are susceptible to human errors and inefficiencies. The
reliance on physical records can lead to delays in announcing election results, raising concerns
about the transparency and accuracy of the electoral process. Instances of miscounted or lost
The problem further extends to security concerns. Traditional voting methods may be
The online voting system project seeks to address these multifaceted challenges by leveraging
technology to create a more accessible, efficient, and secure voting process. By allowing voters
to cast their ballots remotely through digital platforms, the project aims to overcome
and security, reinforcing the trustworthiness of the electoral process. In essence, the problem
at hand is the need for a modernized and technologically-driven approach to voting that ensures
1.4 Scope
The scope of the online voting system project is expansive, encompassing various dimensions
that contribute to the enhancement of the electoral process. At its core, the project seeks to
5
revolutionize the way citizens participate in the democratic process by leveraging technology
The primary scope lies in increasing accessibility. The project aims to break down
geographical barriers by allowing voters to cast their ballots from any location with an internet
connection. This inclusivity is particularly crucial for individuals facing challenges such as
providing a digital platform for voting, the project widens the scope of civic participation,
Efficiency is another key aspect of the project's scope. The automation of various aspects,
including voter registration, authentication, and vote counting, streamlines the entire
electoral process. This efficiency not only accelerates the announcement of election results
but also minimizes the likelihood of errors associated with manual procedures. The project
envisions a dynamic and responsive democratic system where technology contributes to a more
Security is paramount within the scope of the project. Robust measures, such as advanced
encryption, secure login procedures, and tamper-resistant systems, are implemented to protect
tampering, fraud, or external interference, the project ensures the highest standards of security
6
The project also incorporates features that empower voters. Through mechanisms like voter
verification and receipt confirmation, individuals gain the ability to independently verify that
their votes have been accurately recorded and counted. This transparency enhances trust in the
7
CHAPTER 2
SYSTEM ANALYSIS
The existing voting system typically relies on in-person voting at designated polling stations using
paper-based ballots. This traditional method poses challenges such as limited accessibility,
potential inefficiencies in manual processes, and security concerns. The transition to an online
voting system aims to overcome these limitations by leveraging technology to provide a more
accessible, efficient, and secure platform for citizens to cast their votes remotely for that person in
database.
Proposed System
The proposed online voting system aims to revolutionize the electoral process by allowing citizens
to cast their votes securely and conveniently through digital platforms. Leveraging advanced
technology, the system enhances accessibility, automates procedures for efficiency, and
implements robust security measures. This modernized approach seeks to address the limitations
of traditional voting methods, providing a streamlined and inclusive voting experience for citizens.
8
2.2 Functional requirements
Software Requirements
COMPONENT SPECIFICATION
Hardware Requirements
COMPONENT SPECIFICATION
with 1.6GHz
9
CHAPTER 3
SOFTWARE ENVIRONMENT
3.1 SOFTWARE
INTRODUCTION TO PHP
PHP, or Hypertext Preprocessor, stands as one of the most widely used and influential server-side
scripting languages for web development. Born out of the need for dynamic and interactive
websites, PHP has evolved into a versatile and powerful tool that underpins a substantial
PHP was created by Rasmus Lerdorf in 1994 and has since undergone numerous enhancements,
reaching its current status as an open-source scripting language. The "Preprocessor" in its name
implies its primary purpose: processing code before sending it to the web browser. Unlike static
HTML, PHP allows developers to embed dynamic content directly within their web pages,
One of PHP's defining features is its server-side execution, meaning the code is processed on the
server rather than the user's browser. This enables developers to perform a myriad of server-related
tasks, such as interacting with databases, handling form submissions, and managing user sessions.
The server executes the PHP code, generating HTML or other output that is then sent to the client's
PHP seamlessly integrates with various databases, with MySQL being a commonly paired choice.
This integration enables developers to create dynamic web applications that can store, retrieve,
10
and manipulate data in real-time. As a result, PHP has become a fundamental component in the
development of content management systems (CMS) like WordPress and Joomla, as well as e-
The syntax of PHP is relatively straightforward, drawing inspiration from languages like C and
Perl. Its ease of learning and readability has contributed to its widespread adoption, attracting both
beginners and experienced developers alike. PHP's extensive documentation and a vibrant
community further enhance its accessibility, providing a wealth of resources for developers at all
skill levels.
Another key strength of PHP is its cross-platform compatibility. It can run on various operating
systems, including Linux, Windows, and macOS, making it a versatile choice for developers
working in different environments. Additionally, PHP can be seamlessly integrated with web
servers like Apache and Nginx, further contributing to its flexibility and scalability.
In recent years, PHP has undergone significant updates with the release of PHP 7 and
subsequent versions. These updates brought improvements in performance, security, and the
introduction of modern language features. PHP 8, the latest major release, introduced Just-In-
Time (JIT) compilation, further enhancing its execution speed and efficiency.
In conclusion, PHP has played a pivotal role in the evolution of web development, providing a
dynamic and versatile platform for creating interactive and feature-rich websites. Its server-side
scripting capabilities, database integration, and user-friendly syntax have contributed to its
11
enduring popularity among developers worldwide. As the internet continues to evolve, PHP
remains a foundational element in the creation of dynamic and engaging web experiences.
BACK-END TECHNOLOGY
MySQL Introduction:
There are many database management systems currently available, some commercial and some
free. Some of them: Oracle, Microsoft Access, MySQL and PostgreSQL. These database
systems are powerful, feature-rich software, capable of organizing and searching millions of records
at very high speeds. 11 Understanding Databases, Records, and Primary Keys Every Database is
composed of one or more tables. These Tables, which structure data into rows and columns,
Types of SQL:
Data Definition Language (DDL): DDL Consists of statements that define the structure and
relationships of a database and its table. These Statements are used to Create, drop and modify
Data Manipulation Language (DML): DML statements are related to altering and extracting
data from a database. These statements are used to add records to, update records in, and delete
records from, a database; perform queries; retrieve table records matching one or more user
specified criteria; and join tables together using their common fields.
Data Control Language (DCL): DCL statements are sued to define access levels and security
privileges for a database. You would use these statements to grant or deny user privileges, assign
roles, change passwords, view permissions, and create rulesets to protect access to data. The
Syntax of SQL is quite intuitive. every SQL statement begins with an “action word” like DELETE,
INSERT, ALTER etc. It ends with a semicolon. whitespace, tabs, carriage returns are ignored.
12
PHP MYSQL Connector:
The PHP MySQL connector is a crucial component that facilitates seamless communication
between PHP scripts and MySQL databases, forming a powerful combination for developing
dynamic and data-driven web applications. MySQL is a popular relational database management
system, and PHP, as a server-side scripting language, is adept at handling server-side tasks. The
connector acts as a bridge, enabling PHP scripts to interact with MySQL databases, retrieve or
This connector typically comes in the form of an extension or driver that allows PHP to connect
to MySQL databases using specific functions and methods. One of the most commonly used
connectors is the MySQL (MySQL Improved) extension, which offers enhanced features and
Through the PHP MySQL connector, developers can execute SQL queries, manage database
connections, and fetch results, empowering them to build robust applications with efficient data
commerce platforms, and various web applications where the storage and retrieval of dynamic data
are paramount. The connector's versatility and ease of use contribute to its widespread adoption in
the development community, making it an integral part of the web development stack for
13
3.2 MODULE OF THE PROJECT
14
CHAPTER 4
SYSTEM DESIGN
15
4.2 Architecture Diagram
16
4.3 Use Case Diagram
17
4.4 Sequence Diagram
18
CHAPTER 5
The software development life cycle is a process that development teams use to create awesome
software that's top-notch in terms of quality, cost-effectiveness, and time efficiency. The main goal
is to minimize risks and make sure the software meets the customer's expectations both during and
after production.
This process is about creating a detailed plan to guide the development of the product and then
breaking down the development process into smaller modules that can be assigned, completed,
Here are some specific benefits of using SDLC for the product team:
improves satisfaction.
Fig 5: SDLC
19
1. Planning & Analysis
The first phase of the SDLC is the project planning stage where you are gathering business
requirements from your client or stakeholders. This phase is when you evaluate the feasibility of
creating the product, revenue potential, the cost of production, the needs of the end-users, etc.
2. Define Requirements
This phase is critical for converting the information gathered during the planning and analysis
phase into clear requirements for the development team. This process guides the development of
several important documents: a software requirement specification (SRS), a Use Case document,
3. Design
The design phase is where you put pen to paper—so to speak. The original plan and vision are
elaborated into a software design document (SDD) that includes the system design,
programming language, templates, platform to use, and application security measures. This is
also where you can flowchart how the software responds to user actions.
4. Development
The actual development phase is where the development team members divide the project into
software modules and turn the software requirement into code that makes the product.
5. Testing
Before getting the software product out the door to the production environment, it’s important to
have your quality assurance team perform validation testing to make sure it is functioning properly
and does what it’s meant to do. The testing process can also help hash out any major user
experience issues and security issues. The types of testing to do in this phase:
20
Performance testing, Functional testing, Security testing, Unit-testing, Usability testing,
Acceptance testing
6. Deployment
During the deployment phase, your final product is delivered to your intended user. You can
automate this process and schedule your deployment depending on the type. For example, if you
are only deploying a feature update, you can do so with a small number of users (canary
release). If you are creating brand-new software, you can learn more about the different
stages of the
7. Maintenance
The maintenance phase is the final stage of the SDLC if you’re following the waterfall structure
of the software development process. However, the industry is moving towards a more agile
software development approach where maintenance is only a stage for further improvement.
There are various software development life cycle models defined and designed which are
followed during the software development process. These models are also referred as Software
Development Process Models". Each process model follows a Series of steps unique to its type
Following are the most important and popular SDLC models followed in the industry −
Waterfall Model: It is the fundamental model of the software development life cycle. This
is a very simple model. The waterfall model is not in practice anymore, but it is the basis
for all other SDLC models. Because of its simple structure, the waterfall model is easier to
use and provides a tangible output. In the waterfall model, once a phase seems to be
21
completed, it cannot be changed, and due to this less flexible nature, the waterfall model
Iterative Model: In the iterative model, each cycle results in a semi-developed but
deployable version; with each cycle, some requirements are added to the software, and the
final cycle results in the software with the complete requirement specification.
Spiral Model: The spiral model is one of the most crucial SDLC models that provides
support for risk handling. It has various spirals in its diagrammatic representation; the
number of spirals depends upon the type of project. Each loop in the spiral structure
stage or phase of this model is integrated with a testing phase. After every development
phase, a testing phase is associated with it, and the next phase will start once the previous
phase is completed, i.e., development & testing. It is also known as the verification or
validation model.
Big Bang Model: The Big Bang model in SDLC is a term used to describe an informal
22
CHAPTER 6
IMPLEMENTATION
Implementation is the stage where the theoretical design is turned into a working system. The most
crucial stage in achieving a new successful system and in giving confidence on the new system for
the users that it will work efficiently and effectively .The system can be implemented only after
thorough testing is done and if it is found to work according to the specification .It involves careful
planning, investigation of the current system and its constraints on implementation, design of
methods to achieve the changeover and an evaluation of change over methods a part from planning.
Two major tasks of preparing the implementation are education and training of the users and
testing of the system. The more complex the system being implemented, the more involved will
be the systems analysis and design effort required just for implementation. The implementation
phase comprises of several activities. The required hardware and software acquisition is carried
out. The system may require some software to be developed. For this, programs are written and
tested. The user then changes over to his new fully tested system and the old system is
discontinued.
index:
<html><head>
</script>
</head>
23
<body bgcolor="#e6e6e6";>
System</font></b></center><br><br>
<div id="page">
<div id="header">
<div class="news"><marquee behavior="right">New polls are up and running. But they will not
be up forever! Just Login and then go to Current Polls to vote for your favourate candidates.
</marquee></div>
</div>
<div id="container">
bgcolor="#FFFFFF">
<tr>
loginValidate(this)">
<td>
<tr>
<td width="78">Username/Email</td>
<td width="6">:</td>
24
</tr>
<tr>
<td>Password</td>
<td>:</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</td>
</form>
</tr>
</table>
<center>
</center>
</div>
<div id="footer">
Reserved</div>
25
</div>
</div>
</body></html>
Check Login:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body bgcolor="tan">
alt="site logo"></a></center><br>
System</font></b></center><br><br>
<body>
<div id="page">
<div id="header">
<p align="center"> </p>
</div>
26
<div id="container">
<?php
error_reporting(E_ALL);
ob_start();
session_start();
require('connection.php');
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
$myusername = stripslashes($myusername);
//$myusername = mysqli_real_escape_string($myusername);
//$mypassword = mysqli_real_escape_string($mypassword);
password='$encrypted_mypassword'");
27
// Checking table row
$count=mysqli_num_rows($sql);
if($count==1){
$user = mysqli_fetch_assoc($sql);
$_SESSION['member_id'] = $user['member_id'];
header("location:student.php");
//If the username or password is wrong, you will receive this message below.
else {
ob_end_flush();
?>
</div>
<div id="footer">
Reserved</div>
</div>
28
</div>
</body>
</html>
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
extract($_REQUEST);
require_once('connection.php');
$result=mysqli_query($con,$q);
if(mysqli_num_rows($result)){
}else{
echo"";
?>
Vote:
<?php
require('connection.php');
29
session_start();
//If your session isn't valid, it returns you to the login screen for protection
if(empty($_SESSION['member_id'])){
header("location:access-denied.php");
?>
<?php
?>
<?php
POST if
(isset($_POST['Submit']))
candidate_position='$position'");
else
// do something
?>
<html>
<head>
</script>
<script type="text/javascript">
function getVote(int)
if (window.XMLHttpRequest)
else
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
31
}
var pos=document.getElementById("str").value;
var id=document.getElementById("hidden").value;
xmlhttp.open("GET","save.php?vote="+int+"&user_id="+id+"&position="+pos,true);
xmlhttp.send();
xmlhttp.onreadystatechange =function()
// alert("dfdfd");
document.getElementById("error").innerHTML=xmlhttp.responseText;
else
32
}
function getPosition(String)
if (window.XMLHttpRequest)
else
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","vote.php?position="+String,true);
xmlhttp.send();
</script>
<script type="text/javascript">
$(document).ready(function(){
var j = jQuery.noConflict();
j(document).ready(function()
33
j(".refresh").everyTime(1000,function(i){
j.ajax({
url: "admin/refresh.php",
cache: false,
success: function(html){
j(".refresh").html(html);
})
})
});
j('.refresh').css({color:"green"});
});
</script>
</head>
<body bgcolor="tan">
<center>
<body>
<div id="page">
<div id="header">
<h1>CURRENT POLLS</h1>
34
<a href="student.php">Home</a> | <a href="vote.php">Current Polls</a> | <a href="manage-
href="logout.php">Logout</a>
</div>
<div class="refresh">
</div>
<div id="container">
positionValidate(this)">
<tr>
<td>Choose Position</td>
<OPTION VALUE="select">select
<?php
while ($row=mysqli_fetch_array($positions)){
//mysql_free_result($positions_retrieved);
//mysql_close($link);
?>
</SELECT></td>
35
<td><input type="hidden" id="hidden" value="<?php echo $_SESSION['member_id']; ?>"
/></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</form>
</table>
<form>
<tr>
<th>Candidates:</th>
</tr>
<?php
//if (mysql_num_rows($result)>0){
if (isset($_POST['Submit']))
while ($row=mysqli_fetch_array($result)){
36
echo "<tr>";
onclick='getVote(this.value)' /></td>";
echo "</tr>";
mysqli_free_result($result);
mysqli_close($con);
//}
else
// do nothing
?>
<tr>
<h3>NB: Click a circle under a respective candidate to cast your vote. You can't vote more
than once in a respective position. This process can not be undone so think wisely before casting
your vote.</h3>
<td> </td>
</tr>
</form>
</table>
<center><span id="error"></span></center>
</div>
37
<div id="footer">
Reserved</div>
</div>
</div>
</body>
</html>
38
CHAPTER 7
TESTING
7.1 Introduction:
Testing is a process of executing a program with the intent of finding an error. Testing is a
crucial element of software quality assurance and presents ultimate review of specification,
design, and coding. System Testing is an important phase. Testing represents an interesting
anomaly for the software. Thus, a series of testing are performed for the proposed system before the
system is ready for user acceptance testing. A good test case is one that has a high probability of
finding an as undiscovered error. A successful test is one that uncovers an as undiscovered error.
Testing Objectives:
2. A good test case is one that has a probability of finding a yet undiscovered error
• Testing should begin on a small scale and progress towards testing in large.
The primary objective for test case design is to derive a set of tests that has the highest
livelihood for uncovering defects in software. To accomplish this objective two different
39
White-box testing:
White box testing focus on the program control structure. Test cases are derived to ensure that
all statements in the program have been executed at least once during testing and that all logical
Block-box testing:
Black box testing is designed to validate functional requirements without regard to the internal
workings of a program. Black box testing mainly focuses on the information domain of the
software, deriving test cases by partitioning input and output in a manner that provides through
test coverage. Incorrect and missing functions, interface errors, errors in data structures, error in
Testing strategies:
A strategy for software testing must accommodate low-level tests that are necessary to verify
that all small source code segments have been correctly implemented as well as high-level tests
Testing fundamentals:
Testing is a process of executing a program with the intent of finding error. A good test case is one
that has high probability of finding an undiscovered error. If testing is conducted successfully, it
uncovers the errors in the software. Testing cannot show the absence of defects, it can only show
Information flow for testing flows the pattern. Two classes of input provided to test the process.
specification
40
and source code. Test configuration includes test plan and test cases and test tools. Tests are
conducted and all the results are evaluated. That is test results are compared with expected results.
When erroneous data are uncovered, an error is implied, and debugging commences.
Unit Testing:
Unit testing is essential for the verification of the code produced during the coding phase and hence
the goal is to test the internal logic of the modules. Using the detailed design description as a guide,
important paths are tested to uncover errors within the boundary of the modules. These tests
were carried out during the programming stage itself. All units of Vienna SQL were successfully
Integration testing focuses on unit tested modules and build the program structure that is dictated
by the design phase. System testing: System testing tests the integration of each module in the
system. It also tests to find discrepancies between the system and its original objective, current
specification, and system documentation. The primary concern is the compatibility of individual
modules. Entire system is working properly or not will be tested here, and specified path ODBC
connection will correct or not, and giving output or not are tested here these verifications and
validations are done by giving input values to the system and by comparing with expected
Acceptance Testing:
This testing is done to verify the readiness of the system for the implementation. Acceptance
testing begins when the system is complete. Its purpose is to provide the end user with the
confidence that the system is ready for use. It involves planning and execution of functional
tests, performance tests and stress tests in order to demonstrate that the implemented system satisfies
its requirements.
41
Tools to special importance during acceptance testing include:
Test coverage Analyzer – records the control paths followed for each test case. Timing Analyzer
– also called a profiler, reports the time spent in various regions of the code are areas to concentrate
on to improve system performance. Coding standards – static analyzers and standard checkers are
Test cases are derived to ensure that all statements in the program have been executed at least once
during testing and that all logical conditions have been executed.
Using White-Box testing methods, the software engineer can drive test cases that
• Execute all loops at their boundaries and within their operational bounds.
• Exercise internal data structure to assure their validity. The test case specification for system
To record a catalogue of steps undertaken, which can be revisited in the event of a bug
popping up.
To provide a blueprint for future projects and testers so they don’t have to start work
from scratch.
42
To help new testers and devices quickly pick up testing, even if they join in the middle of
an ongoing project.
Test Case ID
Test Scenario
Test Steps
Prerequisites
Test Data
Expected/Intended Results
Actual Results
You can use the tips in this section with the list above to create an efficient but thorough workflow.
Make test cases reusable and maintainable wherever possible. Your needs will vary
depending on the software, application, or specific features you're testing. However, you
can save time and energy by consciously creating test cases that are reusable and easy to
maintain.
Create test cases with the end user's perspective in mind. Remember throughout the
test case writing process that you're trying to step into the user's place. Aligning your
exploratory testing methods with the user's perspective will help you create efficient and
43
ADMIN TEST CASE :-
44
Table 3: Test Cases
45
CHAPTER 8
OUTPUT SCREEN
Registration page:
46
Student page:
47
Voting management system:
48
Poll Result:
49
CHAPTER 9
CONCLUSION
In conclusion, the online voting system represents a transformative leap toward
democratizing and modernizing the electoral process. This innovative approach addresses
longstanding challenges associated with traditional voting methods, offering a more accessible,
efficient, and secure means of civic participation. By leveraging technology, the online voting
system eliminates geographical barriers, providing voters the flexibility to cast their ballots
authentication protocols, ensures the integrity and confidentiality of the electoral process,
Moreover, the online voting system enhances the accuracy and speed of the vote-counting
process through automated algorithms, streamlining the overall election procedure. Features such
as voter verification and receipt confirmation contribute to transparency, fostering trust among
As societies embrace digital advancements, the online voting system emerges as a pivotal tool
for adapting electoral practices to the expectations of a tech-savvy populace. While challenges
persist, the potential for increased civic engagement, reduced logistical hurdles, and heightened
confidence in election outcomes positions the online voting system as a beacon of progress in
shaping the future of democratic governance. Its continued evolution holds promise for creating
a more inclusive, efficient, and secure electoral landscape for citizens around the globe
50
FUTURE SCOPE
6. **Real-time Results and Analytics:** Leveraging big data analytics and real-time processing
capabilities can provide instant insights into voting patterns, enabling a more dynamic
understanding of public sentiment during elections.
9. **Public Awareness and Education:** Investing in educational campaigns can help build public
trust in online voting systems, ensuring that voters understand the technology, its benefits, and the
security measures in place.
10. **Legislation and Regulation:** Future developments should involve the establishment of
clear legal frameworks and regulations to govern online voting, addressing privacy concerns,
ensuring transparency, and maintaining the integrity of the democratic process.
51
CHAPTER 10
REFERENCES
Websites:
www.w3schools.com
www.geeksforgeeks.com
www.tutorialspoint.com
www.youtube.com
Books:
PHP for the Web: Visual QuickStart Guide
Research Papers:
[1] A. Singh et al., "A new clinical spectrum for the assessment of nonalcoholic fatty
liver disease using intelligent methods", in IEEE Access, no. 8, pp. 38470-13848, 2020.
detection of COVID-19 using Deep Convolution Neural Networks", Multimedia Systems, 2021.
Taher M Ghazal and Nasser Taleb, "Feature optimization and identification of ovarian cancer
[3] G. Ghosh et al., "Secure surveillance system using chaotic image encryption technique",
in lOP Conference Series: Materials Science and Engineering, vol. 993, no. 1, pp. 012062,
2020.
52
[4] Manjit Kaur et al., "Flying ad-hoc network: Challenges an routing protocols", Journal of
[5] R. Khaim, S. Naz, F. Abbas, N. Iqbal, M. Hamayun and R. Pakistan, "A review of security
integration technique in agile software development", Int. J. Softw. Eng, vol. 7, no. 3, pp. 49-
68, 2016.
"Hybrid smart grid with sustainable energy effi-cient resources for smart
53