Software testing micro prpject
Software testing micro prpject
of Computer Technology
Avdhoot deshmuk
1 2207780021
Pratap Bhavale
2 2207780034
Vedant patil
3 23611480178
2023-2024
A
Project Report
On
[Building and testing registration and login
page]
By
[Avdhoot Deshmukh ] [2207780021]
CERTIFICATE
This is to certify that
[Avdhoot Deshmukh]
[Pratap Bhavale]
[Vedant Patil]
CERTIFICATE
First we would like to thank our project guide Head of Dept. Prof. M. M. Kulkarni Sir
for his guidance and interest. Her guidance reflects expertise we certainly do not master
ourselves. We also thank him for his patience throughout, in cross-reviewing which
constitutes a rather difficult balancing act.
Second, We would like to thank all the Staff Members of Computer Department for
providing us their admirable feedback and insights whenever We discussed we project with
them. We also extend we thanks to our lab assistants who guided us in implementation of
our seminar.
We would like to extend we special thanks to our Principal, Prof. V. P. Nikhade for his
encouragement and words of wisdom.
Finally, we express my deepest gratitude to we family and friends who encouraged me since
the beginning and provided we with their insightful reviews to help me make our Project
successful.
[Avdhoot Deshmukh ]
[Pratap Bhavale]
[Vedant patil]
Index
Sr. contents Page
No.
No.
1 Abstract 1
2 Introduction 2
3 Aim Of The Project 4
4 Key Comonents 5
5 Data Flow Diagram 6
6 Program Code 7
7 Output 8-12
8 Conclusion 13
9 Reference 14
1.Abstract
This micro project focuses on developing a secure and user-friendly login and registration
page as part of a web application. The primary objective is to facilitate user authentication
while ensuring data protection and enhancing user experience. The registration process allows
new users to create an account by providing essential information, such as username,
password, and email, with validation checks to ensure data integrity. The login functionality
enables existing users to access their accounts securely.
Key features include password encryption, session management, and error handling to
improve security and usability. The project is implemented using HTML, CSS, and
JavaScript for the front end, with a backend supported by technologies such as Node.js and
MongoDB. This micro project serves as a foundational component for larger applications,
demonstrating best practices in web security and user interface design.
2.Introduction:
In today's digital age, secure and efficient user authentication is essential for any web
application. This micro project focuses on developing a user-friendly login and registration
form, which serves as the gateway for users to access various features of an application. The
project aims to implement fundamental web development concepts, including HTML, CSS,
and JavaScript, to create an intuitive interface.
The registration form allows new users to create accounts by providing essential information,
while the login form enables existing users to access their accounts securely. By
incorporating validation techniques and basic security measures, this project not only
enhances user experience but also emphasizes the importance of protecting user data.
Through this project, we will explore key aspects of web development, including form
handling, data validation, and user authentication processes, laying the groundwork for more
advanced topics in web security and application development.
1
3.Aim of the Project:
The aim of a project on building and testing a login and registration form is to create a secure,
user-friendly, and scalable system that can gather user information and authenticate users:
Security
The login and registration pages should be secure and protect user data. For example, the
registration page should validate user input and reject harmful characters, and test for
vulnerabilities like cross-site scripting (XSS) and cross-site request forgery (CSRF).
Scalability
The login page should be able to handle a large number of users, so the server should have
enough resources to handle authentication and login requests.
User experience
The login and registration pages should be easy to use, and reflect the visual identity and
branding of the company or application.
Data collection
The login and registration pages should gather important user information, such as mobile
phone number and real name. This information can be used to promote operations and guide
product development.
2
4. Key Components
1. Form Fields:
- Username: A unique identifier for the user.
- Email: For communication and account recovery.
- Password: Should include guidelines for strength (length, complexity).
- Confirm Password: To ensure the user enters the correct password.
- Additional Fields: (optional) First name, last name, phone number, etc.
2. Validation
- Client-side Validation:Immediate feedback for incorrect inputs (e.g., using JavaScript).
- Server-side Validation:Additional checks to ensure data integrity and security.
3. Security Measures:
- Password Hashing:Store passwords securely using hashing algorithms.
- Captcha:To prevent automated submissions.
- HTTPS:Ensure secure data transmission.
5. Submission Handling:
- Feedback Mechanism: Notify users upon successful registration or errors.
- Redirects : Optionally redirect users to a login page or dashboard after registration.
6. Testing:
3
- Functional Testing:Verify all functionalities work as intended.
- Security Testing:Check for vulnerabilities like SQL injection, XSS, etc.
- Usability Testing: Gather user feedback to improve the form’s design and usability.
4
5
6. Program Code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<div class="wrapper">
<nav class="nav">
<div class="nav-logo">
<p>I N F I N I T Y</p>
</div>
<ul>
</ul>
</div>
<div class="nav-button">
</div>
<div class="nav-menu-btn">
6
<i class="bx bx-menu" onclick="myMenuFunction()"></i>
</div>
</nav>
<div class="form-box">
<div class="top">
<header>Login</header>
</div>
<div class="input-box">
</div> <br>
<div class="input-box">
</div><br>
<div class="input-box">
</div>
<div class="two-col">
<div class="one">
</div>
<div class="two">
7
</div>
</div>
</div>
<div class="top">
<header>Sign Up</header>
</div>
<div class="two-forms">
<div class="input-box">
</div>
<div class="input-box">
</div>
</div> <br>
<div class="input-box">
</div> <br>
<div class="input-box">
</div> <br>
<div class="input-box">
</div>
8
<div class="two-col">
<div class="one">
</div>
<div class="two">
</div>
</div>
</div>
</div>
</div>
<script>
function myMenuFunction() {
var i = document.getElementById("navMenu");
} else {
i.className = "nav-menu";
</script>
<script>
var a = document.getElementById("loginBtn");
var b = document.getElementById("registerBtn");
var x = document.getElementById("login");
var y = document.getElementById("register");
function login() {
9
x.style.left = "4px";
y.style.right = "-520px";
b.className = "btn";
x.style.opacity = 1;
y.style.opacity = 0;
function register() {
x.style.left = "-510px";
y.style.right = "5px";
a.className = "btn";
x.style.opacity = 0;
y.style.opacity = 1;
</script>
</body>
</html>
css
/* POPPINS FONT */
@import
url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
*{
margin: 0;
padding: 0;
box-sizing: border-box;
10
body{
background: url("img222.jpg");
background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
overflow: hidden;
.wrapper{
display: flex;
justify-content: center;
align-items: center;
min-height: 110vh;
.nav{
position: fixed;
top: 0;
display: flex;
justify-content: space-around;
width: 100%;
height: 100px;
line-height: 100px;
z-index: 100;
.nav-logo p{
color: white;
font-size: 25px;
font-weight: 600;
11
.nav-menu ul{
display: flex;
.nav-menu ul li{
list-style-type: none;
.nav-menu ul li .link{
text-decoration: none;
font-weight: 500;
color: #fff;
padding-bottom: 15px;
margin: 0 25px;
.link:hover, .active{
.nav-button .btn{
width: 130px;
height: 40px;
font-weight: 500;
border: none;
border-radius: 30px;
cursor: pointer;
.btn:hover{
#registerBtn{
12
margin-left: 15px;
.btn.white-btn{
.btn.btn.white-btn:hover{
.nav-menu-btn{
display: none;
.form-box{
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 512px;
height: 420px;
overflow: hidden;
z-index: 2;
.login-container{
position: absolute;
left: 4px;
width: 500px;
display: flex;
flex-direction: column;
13
.register-container{
position: absolute;
right: -520px;
width: 500px;
display: flex;
flex-direction: column;
.top span{
color: #fff;
font-size: small;
padding: 10px 0;
display: flex;
justify-content: center;
.top span a{
font-weight: 500;
color: #fff;
margin-left: 5px;
header{
color: #fff;
font-size: 30px;
text-align: center;
.two-forms{
display: flex;
gap: 10px;
14
.input-field{
font-size: 15px;
color: #fff;
height: 50px;
width: 100%;
border: none;
border-radius: 30px;
outline: none;
.input-field:hover, .input-field:focus{
::-webkit-input-placeholder{
color: #fff;
.input-box i{
position: relative;
top: -35px;
left: 17px;
color: #fff;
.submit{
font-size: 15px;
font-weight: 500;
color: black;
height: 45px;
width: 100%;
15
border: none;
border-radius: 30px;
outline: none;
cursor: pointer;
.submit:hover{
.two-col{
display: flex;
justify-content: space-between;
color: #fff;
font-size: small;
margin-top: 10px;
.two-col .one{
display: flex;
gap: 5px;
.two label a{
text-decoration: none;
color: #fff;
text-decoration: underline;
16
.nav-button{
display: none;
.nav-menu.responsive{
top: 100px;
.nav-menu{
position: absolute;
top: -800px;
display: flex;
justify-content: center;
width: 100%;
height: 90vh;
backdrop-filter: blur(20px);
transition: .3s;
.nav-menu ul{
flex-direction: column;
text-align: center;
.nav-menu-btn{
display: block;
.nav-menu-btn i{
font-size: 25px;
color: #fff;
padding: 10px;
border-radius: 50%;
17
cursor: pointer;
transition: .3s;
.nav-menu-btn i:hover{
.wrapper{
min-height: 100vh;
.form-box{
width: 100%;
height: 500px;
.register-container, .login-container{
width: 100%;
padding: 0 20px;
.register-container .two-forms{
flex-direction: column;
gap: 0;
18
7. Output/Screenshots
19
8.Conclusion
.
In conclusion, creating and testing a login and registration form page is essential for ensuring
user accessibility and security in any application. A thoughtfully designed interface enhances
user experience, while rigorous testing helps identify vulnerabilities and ensures proper
functionality. Key aspects include implementing validation checks, maintaining data security,
and accommodating various user scenarios. By focusing on these elements, developers can
build a reliable and efficient authentication system that instills user confidence.
A well-structured registration form page is vital for user engagement and security. By
focusing on key components, implementing robust validation, and prioritizing security,
developers can create an efficient and user-friendly registration process. Proper testing further
ensures that the form meets the needs of users while safeguarding their information
The page was designed in such a way that future modifications can be done easily. The
following conclusions can be deduced from the development of the project.
➢ System security, data security and reliability are the striking features.
20
9.Reference