SaloneeBaing PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 81

K. J.

Somaiya College of Science and Commerce


Re-Accredited “A” Grade by NAAC Department
Of Information Technology

. . . . .

A Project Report On
Career Counselling
Android Application
Presented By
Salonee Baing
2006804
Shashimita Desati
2006821

. . . . .
Under Guidance of
Mrs. Monali Deshpande
1

Academic Year 2020-21


Page
K. J. SOMAIYA COLLEGE OF SCIENCE AND COMMERCE
Re-accredited with 'A' Grade by NAAC

Vidyanagar, Vidyavihar, Mumbai 400 077

DEPARTMENT OF INFORMATION TECHNOLOGY

PROJECT CERTIFICATE FOR B.Sc. (I.T.) STUDENTS


2019 – 2020

This is to certify- that the project entitled

‘Career Guide’

Undertaken by

Ms. Salonee Baing (2006804) and Shashimita Desati (2006821)


in fulfilment for B.Sc I.T. Degree(Semester 6) Examination has been completed
by her. This project had not been submitted for any other examination and does
not form a part of any other course undergone by the candidate.

This is to further certify that she has completed all required phases of the
project.

________________________ ________________________
( Prof. Monali Deshpande ) ( Mr. Prakash Patil)
Project Guide Head of the Department

________________________
2

College Seal External Examiner


Page
ACKNOWLEDGEMENT
It gives immense pleasure that this application was made by us which initially was just an
idea but now a complete and successful Android application. We’ve been working on this
project and we’ve been through a lot of peaks and valleys but what kept us working was the
idea itself to do something worthy and up to the mark for the people by giving them more
than what they want.

If not for the cause, the project would not have been completed without the prodigious,
pre-eminent and unremitting support of our Teachers, Friends and Family. In these crucial
times, they provided and gave the best they can without hesitation, without selfishness. We
respect and appreciate their warmth behaviour and unmatchable confidence in us and
would be honoured if ever got the chance to serve them anyhow.

We would like to thank Prof Mr Prakash Patil, Head of Department of Information


Technology for always motivating us to keep our projects going.

We wish to express on record, my deep sense of gratitude to our project guide,


Prof. Monali Deshpande for her constant motivation and valuable help throughout the
project work and also to other faculties for their co-operation during my course.
Thanking you with regards.

Salonee Baing
&
Shashimita Desati
3
Page
TABLE OF CONTENTS

Sr. No. Particular Pg. No.


Abstract 04

1 Chapter 1: Introduction 05

1.1 Background 05

1.2 Objectives 06

1.3 Purpose, Scope and Applicability 07


2 Chapter 2: Survey of Technologies 08
3 Chapter 3: Requirements and Analysis 10

3.1 Problem Definition 10

3.2 Requirements Specification 11

3.3 Planning and scheduling 13

3.4 Software and Hardware Requirements 15

3.5 Preliminary Product Description 16

3.6 Conceptual Models 17


4 Chapter 4: System Design 34
4.1 Modules in Project 35
4
Page
4.2 Data Design 36
4.3 Procedural Design 38
4.4 User Interface Design screenshots 40
4.5 Security Issues 50
4.6 Test Case Design 50
5 Chapter5: Implementation and Testing 52

5.1 Implementation Approach 53

5.2 Testing Approach 53

5.3 Modifications and Improvements 58

5.4 Coding Details and Code Efficiency 59

5.5 Test Cases 73

6 Chapter 6: Results and Discussion 75

6.1 Test Reports 76

6.2 User Documentation 77

7 Chapter 7: Conclusions 78

7.1 Advantages of the Application 79

7.2 Limitations of the Application 79

7.3 Future scope of the Application 79

8 Chapter 8: References 81
5
Page
TABLE OF FIGURES

Sr.no. Figures Pg no.

Fig.3.3.1 Gantt Chart 13

Fig.3.3.2 Spiral model 14

Fig.3.6.1 Use Case Diagram 17

Fig.3.6.1. User Registration Module 17

Fig.3.6.1. User Login Module 17

Fig.3.6.1. Student Homepage Module 18

3
Fig.3.6.1. Admin Homepage Module 19

Fig.3.6.1. Combined Use Case Diagram 20

Fig.3.6.2 Dataflow Diagram 21

Fig.3.6.2. Level 0 DFD 21

Fig.3.6.2. Level 1 DFD (User) 22

Fig.3.6.2. Level 1 DFD (Admin) 23

3
6
Page
Fig.3.6.3 Entity Relationship Diagram 24

Fig.3.6.4 Activity Diagram 25

Fig.3.6.4. User Activity Diagram 25

Fig.3.6.5 Class Diagram 30

Fig.4.3.1 Flowchart 27

Fig.4.3.1 Registration Module 27

Fig.4.3.2 Login Module 28

Fig.4.4 User Interface 40

Fig 4.4.1 Splash Screen page 40

Fig4.4.2 Admin Login page 40

Fig4.2.3 Add Category page 41

Fig4.4.4 Addition and Deletion of Sets page 41

Fig4.4.5 Update or Add Question 42

Fig4.4.6 User Registration and Login page 43

Fig4.4.7 Email verification page 43

Fig4.4.8 View Profile page 43

Fig4.4.9 Update Profile page 44

Fig4.4.10 Reset Password page 44

Fig4.4.11 Dashboard and Navigation Drawer page 45

Fig4.4.12 Rating and Feedback page 45


7
Page
Fig4.4.13 Share page 46

Fig4.4.14 Contact Us page 46

Fig4.4.15 About page 46

Fig4.4.16 Articles page 47

Fig4.4.17 Videos page 47

Fig4.4.18 Courses page 48

Fig4.4.19 Aptitude Test page 49

Fig4.6.1 Testing phases 51

Fig5.2.2.1 Integration testing 56

LIST OF TABLES

Sr. No. Table Name Pg.No.


Table 4.2.1 User Table 36

Table 4.2.2 Admin Table 37

Table 4.2.3 Data Integrity and constrains 37

Table 5.2.1 User Registration Test Case 55

Table 5.2.2 User Login Test Case 55

Table 5.2.3 User Logout Test Case 56

Table 5.2.4 Admin Login Test Case 56

Table 5.2.5 Integration Testing 57


8
Page
Table 5.5.1 Test Cases 73

Table 5.6.1 Test Reports 76

Abstract:
Now a day’s career is a most important issue faced by every student. The vision of this
project is aimed on our new education system [ new education policy 2020, NEP] and career
counselling in the education industry. Providing secondary school students with early and
ongoing exposure to experiences, information necessary to make informed decisions when
selecting a career that connects to academic preparation and future aspirations has been left to
career counselors. However, not all schools are privileged to have them and even those who
have them, these career counselors also have other subjects to teach and this leaves them with
limited time to attend to all the students or even plan for activities or forums on career
guidance. This has denied secondary school students adequate career guidance that is ought
to help them relate their academics and extracurricular activities to their career goals.

The application begins with choosing a career. Students will be able to see various career
choices and the pros and cons of the same. After choosing a career, the next hurdle is
choosing a college. The application will leverage students who use the app to reach college
and will publish personal experiences and reviews from them. Articles from counselors and
college officials about admission to colleges will be available. The system will also search
the internet for a relevant article and after approval from the admin, will make links available
for students. There are a variety of tests available to help figure out one’s aptitude. This
system will provide access to such tests and will collect the results and maintain them on the
user profile for later review.

This application aims to be a helpful and useful starting point for this confusing phase. There
is a wealth of tools and data available for students who are interested in any field but most
students do not have the time to research as well as required. This system will bring all these
tools and data in one place for students.
9
Page
Chapter 1: Introduction

10
Page
1.1 Background
In the age of career advancement, one has not only to make due career planning but also
exhaustive career research before making a career choice. This helps in adjusting with the
evolving socio-economic conditions and since a career choice is one of the most important
decisions that one has to make in life. While some people are lucky enough to just know what
they want to do and end up in satisfying careers without giving it much thought, most
individuals are not. Many secondary school students do not put enough effort into choosing
occupations or pick them for the wrong reasons. Others choose careers that seem secure or
pay well and then they end up being unsatisfied.

There exist multiple factors that influence career choice, they include: Employability /
availability of job after graduation, academic performance, personality, socialization, role
model, social support and available resources/knowledge, finances among many others
depending on an individual. With employability and academic performance being the factor
which this study is going to focus on, it can be a prominent feature of performance traits that
can be successful in aligning with the particular job requirements and choosing the career
best of it.

Studies that have been done in the past found that there is a need for counsellor to assess the
students’ academic performance early enough. This will ensure that the students are guided
appropriately in their possible career paths and therefore this means that the students will be
in a position to select the right subjects.

Despite the presence of school counsellor in most schools and colleges, the majority of them
have teaching responsibilities over and above counselling duties. This dual responsibility
leaves the counsellor with very limited time to provide effective counselling services to the
whole population of students.
11
Page
The National Education Policy 2020 (NEP 2020), outlines the vision of India's new education
system. The policy is a comprehensive framework for elementary education to higher
education as well as vocational training in both rural and urban India. The policy aims to
transform India's education system by 2021 as this project too. It is on this note that this study
is undertaken to aim at our new education system and establish an effective and efficient way
of providing guidance in career matters through the use of technology in order to cater for the
needs of a bigger population of students if not all.

1.2 Objectives

The following are the main vision of our application:


● To understand the challenges faced by students in choosing careers.
● To understand the factors that should be considered when guiding students in choosing
careers.
● To understand the existing tools and methods used by students in career guidance.
● To design, develop and test a mobile application that provides career guidance based on
Academic performance and aptitude test scores.
● To validate that the application provides accurate aptitude test and reliable career
guidance.

1.3 Purpose, Scope and Applicability

1.3.1 Purpose
Most secondary school students choose their careers based on various factors such as
parental or peer influence, financial prestige associated with a career among many others
while leaving out very important factors such as interest, intellectual ability, personality of
the individual. From the foregoing, it is clear that secondary school students need appropriate,
usable and adequate information about their personality types and the world of work before
12

they can choose their careers.


Page
1.3.2 Scope
The establishment of a well-developed guidance and counselling services in secondary
schools, to ensure that students choose degree programmes best fitted to their needs.
Ultimately the benefits that can be reaped from this are: reduction in the increased number of
students who end up studying degree programmes they neither like nor have passion, better
decision-making skills, better awareness of learning opportunities, increased job exploration
and information search activities and in the long run it is recognised that it can help improve
labour market efficiency.

1.3.3 Applicability
The application was specifically developed for students on the Android platform,
therefore individuals who wish to use it must own Android phones.
The user can avail all the information about different careers and list of top colleges.

13
Page
Chapter 2: Survey of Technologies
14
Page
Survey of Technologies:

● Xml:

Extensible Markup Language (XML) is a markup language designed to carry data, not
to display data. XML stores data in plain text format which provides a software- and
hardware-independent way of storing, transporting, and sharing data. XML tags are
not predefined. You must define your own tag. It was released in late 90’s and was
created to provide an easy to use and store self describing data and became a W3C
Recommendation on February 10, 1998. XML is platform independent and language
independent.
The main benefit of xml is that you can use it to take data from a program like
Microsoft SQL, convert it into XML then share that XML with other programs and
platforms. You can communicate between two platforms which are generally very
difficult.
The main thing which makes XML truly powerful is its international acceptance.
Many corporations use XML interfaces for databases, programming, office
application mobile phones and more due to its platform independent feature.

● Java:

Java is a class-based, object-oriented and a general-purpose programming language


intended to let application developers write once, run anywhere meaning that
compiled Java code can run on all platforms that support Java without the need for
recompilation.
Although there are other ways to make Android apps, most of the applications are
written in Java using Google’s Android API. Although Android uses different JVM
15
Page
and packaging methods, the code is still predominantly Java. Many useful software
and development tools are written and developed in Java.
Java can be used to create complete applications that can run on a single computer or
be distributed across servers and clients in a network and can be used easily to build
mobile applications or desktop applications that use different operating systems and
servers, such as Linux or Windows. Also, you can connect to databases using JDBC
(Java Database Connectivity).

● Firebase:

This platform developed by Google for creating mobile and web applications. It was
founded in 2011. It supports real-time database, authentication, hosting analytics and
many more.

● Cloud Database (Realtime Firebase):

The client app uses the Firebase Realtime Database to store and sync messages and to
record user-event logs. The client app uses Google Play Services to authenticate users
with their Google account.

• JSON

JSON stands for JavaScript Object Notation. It is an independent data exchange format
and is the best alternative for XML. This chapter explains how to parse the JSON file
and extract necessary information from it. Android provides four different classes to
manipulate JSON data. These classes are JSONArray,JSONObject,JSONStringer and
JSONTokenizer.

● Android Language:

Android development officially uses Java as a programming language. Large parts of


Android are written in Java and its APIs are designed to be called primarily from
Java. It is possible to develop C and C++ apps using the Android Native Development
Kit (NDK), however it isn't something that Google promotes.
16
Page
Chapter 3: Requirements and Analysis 17
Page
3.1 Problem Definition
Choosing career paths for students from their early stages of secondary school and thereafter
as they join institutions of higher learning has its inadequacies as most of the students lack
adequate and proper information of the nature of work in a certain career. These factors are
key and ought to be fully assessed before individuals can be deemed qualified to go into
specific careers.

When the final examination results are released by the Ministry of Education, depending on
the grades, students are then admitted to the universities based on their course choices that
they had made while in high school. When these students graduate from universities, some of
them get into occupations that are totally different from the ones they had chosen. Others
struggle through a career because they lacked proper guidance at the time when they were
choosing their career. This shows the need for a well-structured career guidance system that
will enable students make informed career choices.

3.2 Requirements Specification

System Requirements:

This section outlines Functional and Non-Functional requirements of the system.

A. Functional Requirements:
18
Page
These requirements define the capabilities and functions that the implemented system
must have in order to achieve its intended purpose. It includes a set of inputs,
behaviour and outputs in line with the objectives of the study. They include:

User:

● The user shall be able to register the application.


● The user shall be able to access the web application using username and password.
● The user shall be able to change their password and if they forget their password then
they can reset their password via email.
● The user who logged into the system shall be able to create a personal profile.
● The user shall be able to view their personal profile stored in the database.
● The user shall be able to take an aptitude test on the mobile application and view their
score.
● The user shall be able to see career possibilities and top colleges list once they get
their score.
● The user shall be able to view professional testimonials related to the career
possibilities provided.
● The user shall be able to logout in order to exit the application.

Sign up:

Main idea is to design an application which is useful for users to gain the information about
different courses in detail through application. Using this application, we provide all features
for users to search courses with detailed information, top colleges, aptitude tests and top
counsellor’s testimonials.

After clicking on the register in the login page the user will be redirected to the
register/signup page.

Signup includes user's credentials such as username, name, password, contact, email, state
19

and country.
Page

After the login is done using username and password, the user module gets open.
Admin:

● The admin shall have a different login.


● The admin shall be able to access the application using username and password.
● The admin shall be able to view the user's data from the database.
● The admin shall be able to modify user and aptitude test.
● The admin shall be able to change the password.

B. Non-functional Requirements:

These requirements that specify the criteria used to judge the operation of the system. They
were constructed in agreement with functional requirements that define specific behaviour
and functions. They include:

i. Usability – the system interface should be easy to use.

ii. Reliability and availability – the system should be reliable and always available to
perform tasks requested by the user.

iii. Scalability – the system should be able to adopt additional functionalities. Additional data
should be easy to incorporate.

iv. Integrity – the system being data oriented, it should ensure that the data analysed and
stored is not altered or corrupted.

v. Performance – the system should have an acceptable response time while performing its
functions.

vi. Security – The system should allow only authorized users to use its functionalities.
20

3.3 Planning and scheduling


Page
3.3.1 Planning

The planning phase is done by identifying all the activities that were necessary for the
completion of the project and their time required for each activity. Fig shows the Gantt
chart.

NO. Task Title Start Date End Date Duration

1. Information Gathering 02-09-20 15-09-20 13

2. Planning UI And Backend 16-09-20 24-09-20 08

3. Designing 05-10-20 24-11-20 50

4. Development 02-12-20 03-03-21 91

5. Integration 27-02-21 20-03-21 21

6. Testing 25-03-21 05-04-21 11

7. Review 06-04-21 10-04-21 04

21
Page
Fig3.3.1 Gantt Chart

3.3.2 Spiral Model

Spiral model is one of the most important Software Development Life Cycle models, which
provides support for Risk Handling. In its diagrammatic representation, it looks like a spiral
with many loops. The exact number of loops of the spiral is unknown and can vary from
project to project. Each loop of the spiral is called a Phase of the software development
process. The exact number of phases needed to develop the product can be varied by the
project manager depending upon the project risks. As the project manager dynamically
determines the number of phases, so the project manager has an important role to develop a
product using a spiral model.

The Radius of the spiral at any point represents the expenses (cost) of the project so far, and
the angular dimension represents the progress made so far in the current phase.

Phases of spiral model are as below:


22

● Planning phase
Page
● Risk analysis phase
● Engineering phase
● Evaluation phase

Below diagram shows the different phases of the Spiral Model:

Fig3.3.2 Spiral Model

● Planning phase: All the requirements are studied and gathered for the project
planning. In this phase we can collect the information from students and career
specialists. Here we finalized the requirement for the project.

● Risk analysis phase: Requirements are studied and brainstorming sessions are done
to identify the potential risk. Here we can analyze all types of risks like
implementation security functionality of our project. Once the risk identifies, risk
mitigation strategy is finalized.

● Engineering phase: Actual development and testing is done if the software takes
place in this phase here we can start actual implementation of coding. Test cases and
test results, test summary report and defect report.
23
Page
● Evaluation phase: In this phase we can interact with users who access them and
provide their feedback. It will help us determine the feature requirement to be added
or removed.

3.4 Software and Hardware Requirements


We need to specify the software and hardware requirements of the developers as well as
users.

For Developers

Programming Languages Requires:

● Front End: XML


● Back End: Java
● Database: Firebase, Cloud Database (Firebase Realtime Database), JSON

Software Requirements:

● Microsoft Windows 7/8/10 (64-bit), MacOS X 10.10 (Yosemite) or higher, up to


10.14 (macOS Mojave).
● IDE: Android Studio

Hardware Requirements:

● 4 GB RAM minimum, 8 GB RAM recommended.


● 2 GB of available disk space minimum, 4 GB Recommended (500 MB for IDE + 1.5
GB for Android SDK and emulator system image)
● 1280 x 800 minimum screen resolution
24

For Users
Page
Software Requirements:

● Android OS Lollipop 5.0 and above.

Hardware Requirements:

● Disk space of greater than 50 MB, minimum 1 GB RAM

3.5 Preliminary Product Description


● The user needs to register and login first by creating user id and password. After
login, the user can access all the functionality of the application.
● The initial vision of the application would basically contain functionalities such as
User profile management, Aptitude test, Courses and colleges, Videos, Articles,
Queries and feedback and settings.
● This app would mainly focus on the students of the society who are studying in
school/High school and colleges.
● This application is just like any other career guidance app but with few more features.

3.6 Conceptual Models

3.6.1 Use Case Diagram

3.6.1.1 User registration module


25
Page
3.6.1.2User login module

3.6.1.3 Student homepage module


26
Page
3.6.1.4 Admin homepage module

27

3.6.1.5 Combined use case diagram


Page
3.6.2 Data Flow Diagram
28
Page
3.6.2.1 Level 0 DFD

29
Page

3.6.2.2 Level 1 DFD (User)


3.6.2.3 Level 1 DFD (Admin)

30
Page

3.6.3 E-R Diagram


31

3.6.4 Activity Diagram


Page
3.6.4.1 User Activity Diagram

32
Page

3.6.5 Class Diagram


Page 33
Chapter 4: System Design

34
Page
4.1 Modules in Project

The application is comprised of these modules :-

1. Admin
The Admin module will be able to
Add Information
Update information
View all project
View all modules

2. User
The user module will be able to
View information
Update profile
Apply for test
Query

3. Courses
The courses module will be able to
Display the list of career possibilities
Display information of different courses

4. Aptitude
Display the aptitude test
Conduct and display score

5. Videos
35

Display the professional testimonials videos


Page

Podcasting (We may add this feature soon)


6.Articles
Display various articles
Preparation for interview processes.

4.2 Data Design

4.2.1 Schema design


The data is usually divided in user login data and the data which was
used for training the model.
User data: The database which we have used is Firebase which is quiet secure.
The database consists of two variables one which takes the email and the other password.
So the schema would look like:

User Table

Field Data type Field length Null Constraint Description

Username varchar 25 No Primary Username

Password varchar 25 No - Password

Name varchar 30 No - Full name

E-mail varchar 30 No - E-mail

Contact No. num 10 No - Contact No.

Table 4.2.1 User


36
Page
Admin Table

Field Data Type Field length Null Constraint Description

Username String 30 No Primary Username

Password String 25 No - Password

Table 4.2.2 Admin

4.2.2 Data integrity and constraints

The table shows the constraints applied in the data.

Name Only text allowed

E-mail Regular expression used in e-mail


addresses.

Password Combination of text and special


characters or text and special characters.

Image Only image file.

Table 4.2.3 Data Integrity and constrains


37
Page
4.3 Procedural Design

4.3.1 Algorithm for Project execution Flow

Registration module

38
Page
Fig 4.3.1: Registration Flowchart

Login module

Fig 4.3.2: Login Flowchart


39
Page
4.4 User Interface Design screenshots
Splash screen:

Fig.4.4.1 Splash Screen


Admin Aptitude:

40
Page

Fig.4.4.2 Admin Login Page


Add Category

Fig.4.4.3Add Category page


Addition of set Deletion of set

41

Fig.4.4.4Addition And Deletion of Sets


Page
Update Question Add Question

Fig.4.4.5 Update or add Question


42
Page
User:

Registration Login

Fig.4.4.6 User Registration and Login page

Email Verification Profile

43
Page

Fig.4.4.7 Email Verification page Fig.4.4.8 View Profile page


Update Profile Upload Picture

Fig.4.4.9 Update Profile Page

Reset Password

44

Fig.4.4.10 Reset Password page


Page
Dashboard Navigation Drawer

Fig.4.4.11 Dashboard and Navigation Drawer page


Rating Feedback

45

Fig.4.4.12 Rating and Feedback page


Page
Share Contact Us

Fig.4.4.13 Share page Fig.4.4.14 Contact Us page


About Us

46
Page

Fig.4.4.15 About Page


Articles Section

Fig.4.4.16 Articles page

Videos Section

47

Fig.4.4.17 Videos Page


Page
Courses Section

48

Fig.4.4.18 Courses page


Page
Aptitude (Test) Section

49
Page

Fig .4.4.19 Aptitude Test page


4.5 Security Issues

To ensure that the passwords are not cracked the app doesn’t let the user see the password
while entering it and the password are not visible in the database too. They are encrypted by
the firebase itself and are hidden from the developers too.

Confidentiality of data is necessary so that any third party would not be able to access and
read the data. To overcome data manipulation issue, we came up with the solution of data
encryption. · Data encrypted and stored in database cannot be used by any intruder for any
purpose. · Data encryption relieves us with the stress of data hacking. As these issues could
cause tremendous loss of company and user, it needs to be solved.

4.6 Test Case Design

Testing is the penultimate step of software development. An elaborate testing of the data is
prepared and the system is using the test data. While doing testing, errors are noted and
correction is made. Both hardware and software securities are made to run the developed
system successfully.

Characteristics of a Good Test:


Tests are likely to catch bugs
No redundancy
Not too simple or too complex

Testing Objectives:

The main objective of testing is to uncover a host of errors, systematically and with
minimum effort and time.
Testing is a process of executing a program with the intent of finding an error
A successful test is one that uncovers an as yet undiscovered error.
50

A good test case is one that has a high probability of finding error, if it exists.
Page

The tests are inadequate to detect possibly present errors


The software more or less confirms to the quality and reliable standards.

White Box Testing


This is a unit testing method where a unit will be taken at a time and tested thoroughly at a
statement level to find the maximum possible errors.

Black Box Testing


This testing method focuses on the functional requirements of the software. Here each
module will be treated as a black box that will take some input and generate output. Output
for a given set of input combinations are forwarded to other modules.
Black box testing attempts to find the following types of errors:
Incorrect or missing functions
Interface errors
Errors in data structures or external database access.

Levels of Testing

Testing is usually relying on to detect the faults on each phase, in addition to the faults
introduced during the coding phase itself. Due to this, different levels of testing are used in
the testing process, each level of testing aims to test different aspect of a system. In order to
uncover the errors present in different phases we have the concept of levels of testing. The
basic levels of testing are
User Needs: Acceptance Testing
Requirements: System Testing
Design: Integration Testing
Code: Unit Testing

Testing Phase Objectives


Unit testing The various functions within each program
and the program blocks are to be tested for
proper working.
Module testing Module testing is to be done to check the
module functionality and interaction
between units within a module
Integration testing Integration testing is to be done to test the
51

functionality and interfacing between the


modules.
Page
Acceptance testing Acceptance testing is done after
implementation to check if the system runs
successfully in the environment/site.

Fig.4.6.1 Testing phases

52
Page
Chapter 5:
Implementation and Testing

53
Page
5.1 Implementation Approach
For the project “Parallel Implementation” is used as in parallel implementation the new
solutions are implemented parallelly and they are put on after complete testing and if major
issues occur the new implementation can be put off and the old ones can be brought back.
Which will lead to less disruption to the business.

The implementation of the application is done using Java as a backend programming


language, XML for UI development and the firebase for database. I have developed an
Android application using Android Studio IDE. The hardware required for our application
includes a mobile with minimum 23 API (Marshmallow).

5.2 Testing Approach


There are a variety of options that a project manager could consider when implementing a
solution. There are advantages and disadvantages to each type, and the choice usually
depends on the client organizational setup and the complexity of the solution to be
implemented.

5.2.1 Unit Testing

The main idea of unit testing is testing software with a small piece of source code (unit,
component, and/or function) of the same software. "Unit testing" means that the software
consists of "units" which are separate testable parts of the product. An individual program,
class, method, function etc. can be such "unit". Unit testing allows checking whether a unit
behaves as the developer intended and whether a unit corresponds to the design
specifications. Unit testing provides an ability of independent testing for each software unit.
54
Page
User Registration Test Case

Sr. No Input Values Test Cases Conditions Being Checked

1 Email Empty Email is Required

2 Contact No. Empty Contact No is Required

3 Contact No. Length Contact No. must be >= 9

4 Password Empty Password is required

5 Password Length Password must be >+ 6 characters

6 Confirm Empty Please Confirm your password


Password

7 Confirm Length Password not match


Password

Table 5.2.1 User Registration Test case

User Login Test Case

Sr. No Input Values Test Cases Condition Being Checked

1 Email Empty Email is Required

2 Password Empty Password is Required

3 Password Length Password must be >+ 6 characters

4 Email Formation Error! Email Address is badly


formatted

5 Email Already Exist or not There is no user record


corresponding to this identifier. The
user may have been deleted.

Table 5.2.2User Login Test Case


55
Page
User Logout

Sr. No Input Values Condition Being Checked

1 Logout User returning to Login page

Table 5.2.3 User Logout Test Case

Admin Login Test Case

Sr. No Input Values Test Cases Condition Being Checked

1 Email/Username Empty Username is required

2 Password Empty Password is required

3 Password Length Password must be >= 6 characters

4 Email/Username Exist or not Invalid username and password

Table 5.2.4 Admin Login Test Case

5.2.2 Integrated Testing

Integration testing is the next phase in system testing. The units or modules are to be
integrated which gives raise to integration testing. The purpose of integration testing is to
verify the functional, performance, and reliability between the modules that are integrated.
56
Page
Fig.5.2.2.1 Integration Testing

Sequence Name Test Screens

S1 Splash Screen + User / Admin Screen

S2 S1 + User Registration Page

S3 S2 + User Login Page

S4 S3 + Forget Password Screen

S5 S3 + User Profile Page

S6 S5 + User Edit (Update) Profile Page

S7 S2 + Dashboard of Application Screen

S8 S7 + Navigation Drawer

S9 S8 + Logout

S10 S8 + View Profile

S11 S7 + Aptitude Test Screen + Courses Screen + Videos Screen +


Articles Screen + About Screen + Contact Us Screen

S12 S1 + Admin Login Page

S13 S12 + Update Category Screen

S14 S13 + Add Sets Screen

S15 S14 + Update Questions Screen

Table 5.2.5 Integration Testing


57
Page
5.2.3 Beta Testing
Beta Testing is one of the Acceptance Testing types, which adds value to the product as the
end-user (intended real user) validates the product for functionality, usability, reliability, and
compatibility. Inputs provided by the end-users helps in enhancing the quality of the product
further and leads to its success. This also helps in decision making to invest further in the
future products or the same product for improvisation. Since Beta Testing happens at the end
user’s side, it cannot be controlled activity.

On the other hand, when a system is to be marked as a software product, another process
called beta testing is often conducted. During beta testing, a system is delivered among a
number of potential users who agree to use it. The customers then report problems to the
developers. This provides the product for real use and detects errors which may not have been
anticipated by the system developers.

5.3 Modifications and Improvements


a) Problems faced at the time of implementing the code:
At the time of the development of this app, most of the issues were faced.
• User was not able to change his/her profile once it was created.
• User was not able to verify his/her Email
• User was not able to upload image.
• Admin was not able to update aptitude test, courses, articles and videos.
• Gradle issues and package issues often causing errors.
• User was unable to open questions activity in aptitude test, the app was getting
crashed.
b) Improvements and modifications done after facing errors:
We have tried to solve all the above faced problems and we fixed it too. But
unfortunately, some of the issues were unable to resolved.
• User can now change his/her profile under update profile section.
• User could now browse and select images from their internal storage system.
58

• Admin can now update, add and delete the aptitude test questions/sets.
Page
5.4 Code Efficiency and Code Details

5.4.1. Code Efficiency:

Code efficiency plays a significant role in applications in a high-execution-speed


environment where performance and scalability are paramount. One of the recommended best
practices in coding is to ensure good code efficiency. Well-developed programming codes
should be able to handle complex algorithms.

Recommendations for code efficiency include:

• To remove unnecessary code or code that goes to redundant processing


• To make use of optimal memory and non-volatile storage
• To ensure the best speed or run time for completing the algorithm
• To make use of reusable components wherever possible
• To make use of error and exception handling at all layers of software, such as the
user interface, logic and data flow
• To create programming code that ensures data integrity and consistency
• To develop programming code that’s compliant with the design logic and flow
• To make use of coding practices applicable to the related software
• To optimize the use of data access and data management practices
• To use the best keywords, data types and variables, and other available programming
concepts to implement the related algorithm 59
Page
5.4.1. Code Details:

1)Firebase Connection for registration and login

a) for Admin

60
Page
b) For User

61
Page
Page 62
For Admin to add new categories in Aptitude Test

63
Page
For Admin to update categories in Aptitude Test

64
Page
For Admin to delete categories in Aptitude Test

65
Page
For Admin to add new Questions in Aptitude Test

66
Page
For Admin to delete Questions in Aptitude Test

67
Page
For Admin to add new sets in Aptitude Test

68
Page
For Admin to delete sets in Aptitude Test

69
Page
For User to display categories in Aptitude Test

For user to Display sets in Aptitude Test

70
Page
For User to display Questions in Aptitude Test

For User Timer in Aptitude Test

71
Page
Verification of Email in user profile

Reset password for user

For user Updating Profile Image


72
Page
5.5 Test Cases

A TEST CASE is a set of conditions or variables under which a tester will determine
whether a system under test satisfies requirements or works correctly.
The process of developing test cases can also help find problems in the requirements or
design of an application.
Characteristics of a good test case:
Accurate: Exacts the purpose.
Economical: No unnecessary steps or words.
Traceable: Capable of being traced to requirements.
Repeatable: Can be used to perform the test over and over.
Reusable: Can be reused if necessary.

Test Test Title Prerequisi Test Steps Input Expected Actual


Case te Result Result

T1 Registration Check Open Fullname: Salonee Baing Registered Registere


signup application and MobNo.:7868574856 successfully d
with valid click on signup email: successfu
input [email protected] lly.
u
password:1234567

T2 Login Check 1)open email: Logged in Logged


login with application [email protected] successfully in.
valid input 2) click on u
login password:1234567
2)enter details

T3 Logout User 1)Launch the Null Logged out Back to


profile application from account. login
created in 2)click on screen
the app profile drawer
and logout.
3)confirm
logout

T4 Forget User must 1)Launch the Null Password reset Password


Password have application. link must be reset link
signed up 2) Click on given sent sent.
with the Forget
system. password
Follows
the pattern
73

T5 Update Name & 1)Launch the Updated name and mobile Profile Profile
Page

Profile Details application. no. updated. updated.


2)Click on
update profile
drawer.
3)Click on
update profile.

T6 Access Test User 1)Launch the Choose category Test visible. Test
logged in. application. visible.
2)Click on test
section.

T7 View User 1)Launch the Null Courses Courses


Courses logged in. application. visible. visible.
2)Click on
courses section.

T8 View Videos Uses 1)Launch the Null Videos visible. Videos


logged in. application. visible.
2)Click on
videos section.

T9 View User 1)Launch the Null Articles Articles


Articles logged in. application. visible. visible.
2)Click on
articles section.

T10 Query User 1)Launch the Compose query Query Query


logged in. application. received. received.
2)Click on
contact us
section.

Table 5.5.1 Test Cases

74
Page
Chapter 6: Results and Discussion

75
Page
6.1 Test Reports
Sr. No. Test Case Test Data Test Result

1 Login Email: [email protected] Pass


Password: 1234567

2 Login Email: salonee.baingsomaiya.edu Fail


Password: 12345

3 Signup Name: Salonee Baing Fail


Email: [email protected]
Password: 123

4 Signup Name: Salonee Baing Pass


Email: [email protected]
Password: password123

5 Courses Screen List of courses and embedded pdf Pass

6 Test Screen Access Aptitude Pass

7 Video section View Videos Pass

8 Articles section View Articles Pass

9 Forget Valid email previously registered with the pass


Password system

10 Forget Email id not registered with the system Fail


Password

11 Update Profile Valid Name and mobile no. Pass

12 Update Profile Invalid Name and mobile no. Fail

13 Upload picture Image selected from internal storage data. Pass

14 Upload Picture Image not selected from internal storage data. Fail
76

Table 6.1.1 Test Reports


Page
6.2 User Documentation

User can update their profile under update profile section. Any changes in user profile will
automatically be updated by the system.
In case any user faces any doubt, a detailed information regarding it will be under Query
section.
The user can refer the information about a particular course and article.
User can reset the password by clicking on forget password and a link will be sent to email id
registered with the system.

77
Page
Chapter 7: Conclusions

78
Page
7.1 Advantages of the Application

• The application is very easy to use and straight forward.


• The application can easily be adopted by users of all levels of education and
technological background.
• This application simplifies the process of findings mentors by storing mentors Videos
/Podcasts and providing them to the users anytime they need it.
• This application is affordable, it makes it possible for anyone to use it at no cost
provided they have internet.
• This application is easier to use for administration and the professionals to store and
manipulate data in the mobile application.

7.2 Limitations of the Application

• The mobile application is only usable by smartphone owners with android operating
system.
• Some information on Mobile application need internet for one to access them.

7.3 Future scope of the Application

• Develop a web application module for the students that they can access even from
schools for those are not allowed to have mobile phones while at school.
• The mobile application should be developed for other mobile platforms to allow users
who do not have android to access the mobile application functionality.
• Have premium features on the applications that require students to pay to be able to
use as alternative revenue model for the application.
79
Page
Chapter 8: References

80
Page
• www.google.com
• https://developer.android.com/studio/write/firebase
• https://console.firebase.google.com
• https://www.geeksforgeeks.org/android-tutorial
• https://www.themuse.com/
• http://www.studyguideindia.com/
• https://www.thebalancecareers.com/

• YouTube: https://www.youtube.com/c/MohitTechClasses
• YouTube: https://www.youtube.com/channel/UCR1t5eSmLxLUdBnK2XwZOuw
• YouTube: https://www.youtube.com/channel/UCSE_PG8X054RQY-IWoRk-4w
• YouTube: https://www.youtube.com/c/CodingwithDev
• YouTube: https://youtu.be/ZTg-oXaCgBk
• YouTube: https://youtu.be/hcFSGQPAN7k

81
Page

You might also like