Final Project Report
Final Project Report
On
“HOME AUTOMATION SYSTEM”
Submitted for the partial fulfillment of the requirement for the degree of
Bachelor of Technology
in
COMPUTER SCIENCE & ENGINEERING
By
LOPAMUDRA PANDA Reg. No: 1601287070
MOZZAKIR AHAMAD KHAN Reg. No: 1601287073
MARLIN SAMAL Reg. No: 1601287072
Supervised/Guided By
Prof. Prashant Kumar Dash
This is to certify that the Title of project “HOME AUTOMATION SYSTEM” is submitted by
is an authentic work carried out by him/her at GITA under my guidance. The matter embodied
in this work has not been submitted earlier for the award of any degree or diploma to the best
of my knowledge and belief.
2
Department of Computer Science & Engineering
Gandhi Institute for Technological Advancement, Bhubaneswar
ACKNOWLEDGEMENT
(it is a sample write on your own language)
(In the “Acknowledgements” page, the writer recognizes his indebtedness for guidanceand assistance of the thesis
adviser and other members of the faculty. Courtesydemands that he also recognize specific contributions by other
persons or institutionssuch as libraries and research foundations. Acknowledgements should be expressedsimply,
tastefully, and tactfully duly singed above the name. E-mail should also begiven at the end.A
sampleAcknowledgement is given below)
Thanking All…..
((Full signature of the student ) (Full signature of the student) (Full signature of the student)
LOPAMUDRA PANDA MOZZAKIR AHAMAD KHAN MARLIN SAMAL
Reg. No: 1601287070 Reg. No: 1601287073 Reg. No.160128707
3
Abstract
The project aims at designing an advanced home automation system using normal web server and Wi-Fi
technology. The devices can be switched ON/OFF and sensors can be read using a Personal Computer (PC)
through Wi-Fi.
The hunger for automation brought many revolutions in the existing technologies. These had greater
importance than any other technologies due to its user-friendly nature. These can be used as a replacement of
the existing switches in home which produces sparks and also results in fire accidents in few situations.
Considering the advantages of Wi-Fi an advanced automation system was developed to control the appliances
in the house.
Wi-Fi (Short for Wireless Fidelity) is a wireless technology that uses radio frequency to transmit data through
the air. Wi-Fi has initial speeds of 1mbps to 2mbps. Wi-Fi transmits data in the frequency band of 2.4 GHz. It
implements the concept of frequency division multiplexing technology. Range of Wi-Fi technology is 40-300
feet.
The controlling device for the automation in the project is a Node MCU. The data sent from PC over Wi-Fi
will be received by Wi-Fi module.
Node MCU. Node MCU reads the data and decides the switching action of electrical devices connected to it
through Relays.
4
TABLE OF CONTENTS
Chapter 6 : ER DIAGRAM 31
5
MODULES OF THE PROJECT :
The system after careful analysis has been identified to be presented with the following modules.
1. Admin
2. User
Chapter-1
SYSTEM ENVIRONMENT
SELECTED SOFTWARE
ARDUINO
Arduino is a prototype platform (open-source) based on an easy-to-use hardware and software. It consists of
a circuit board, which can be programed (referred to as a microcontroller) and a ready-made software called
Arduino IDE (Integrated Development Environment), which is used to write and upload the computer code
to the physical board.
Arduino boards are able to read analog or digital input signals from different sensors and turn it into
an output such as activating a motor, turning LED on/off, connect to the cloud and many other actions.
You can control your board functions by sending a set of instructions to the microcontroller on the
board via Arduino IDE (referred to as uploading software).
Unlike most previous programmable circuit boards, Arduino does not need an extra piece of hardware
(called a programmer) in order to load a new code onto the board. You can simply use a USB cable.
Additionally, the Arduino IDE uses a simplified version of C++, making it easier to learn to program.
Finally, Arduino provides a standard form factor that breaks the functions of the micro-controller into
a more accessible package.
6
Board Types
Various kinds of Arduino boards are available depending on different microcontrollers used. However, all
Arduino boards have one thing in common: they are programed through the Arduino IDE.
The differences are based on the number of inputs and outputs (the number of sensors, LEDs, and buttons
you can use on a single board), speed, operating voltage, form factor etc. Some boards are designed to be
embedded and have no programming interface (hardware), which you would need to buy separately. Some
can run directly from a 3.7V battery, others need at least 5V.
Arduino - Installation
In this section, we will learn in easy steps, how to set up the Arduino IDE on our computer and prepare the
board to receive the program via USB cable.
Step 1 − First you must have your Arduino board (you can choose your favorite board) and a USB cable. In
case you use Arduino UNO, Arduino Duemilanove, Nano, Arduino Mega 2560, or Diecimila, you will need
a standard USB cable (A plug to B plug), the kind you would connect to a USB printer as shown in the
following image.
7
Step 2 − Download Arduino IDE Software.
You can get different versions of Arduino IDE from the Download page on the Arduino Official website. You
must select your software, which is compatible with your operating system (Windows, IOS, or Linux). After
your file download is complete, unzip the file.
The Arduino Uno, Mega, Duemilanove and Arduino Nano automatically draw power from either, the USB
connection to the computer or an external power supply. If you are using an Arduino Diecimila, you have to
make sure that the board is configured to draw power from the USB connection. The power source is selected
with a jumper, a small piece of plastic that fits onto two of the three pins between the USB and power jacks.
Check that it is on the two pins closest to the USB port.
Connect the Arduino board to your computer using the USB cable. The green power LED (labeled PWR)
should glow.
After your Arduino IDE software is downloaded, you need to unzip the folder. Inside the folder, you can find
the application icon with an infinity label (application.exe). Double-click the icon to start the IDE.
8
Step 5 − Open your first project.
9
Step 6 − Select your Arduino board.
To avoid any error while uploading your program to the board, you must select the correct Arduino board
name, which matches with the board connected to your computer.
Before explaining how we can upload our program to the board, we must demonstrate the function of each
symbol appearing in the Arduino IDE toolbar.
11
E − Used to save your sketch.
F − Serial monitor used to receive serial data from the board and send the serial data to the board.
Now, simply click the "Upload" button in the environment. Wait a few seconds; you will see the RX and TX
LEDs on the board, flashing. If the upload is successful, the message "Done uploading" will appear in the
status bar.
Sketch − The first new terminology is the Arduino program called “sketch”.
Structure
Arduino programs can be divided in three main parts: Structure, Values(variables and constants),
and Functions. In this tutorial, we will learn about the Arduino software program, step by step, and how we
can write the program without any syntax or compilation error.
Let us start with the Structure. Software structure consist of two main functions −
Setup( ) function
Loop( ) function
12
Void setup ( ) {
PURPOSE − The setup() function is called when a sketch starts. Use it to initialize the variables, pin
modes, start using libraries, etc. The setup function will only run once, after each power up or reset of
the Arduino board.
INPUT − -
OUTPUT − -
RETURN − -
Void Loop ( ) {
PURPOSE − After creating a setup() function, which initializes and sets the initial values,
the loop() function does precisely what its name suggests, and loops consecutively, allowing your
program to change and respond. Use it to actively control the Arduino board.
INPUT − -
OUTPUT − -
RETURN − -
Writing Sketches
Programs written using Arduino Software (IDE) are called sketches. These sketches are written in the
text editor and are saved with the file extension .ino. The editor has features for cutting/pasting and
for searching/replacing text. The message area gives feedback while saving and exporting and also
displays errors. The console displays text output by the Arduino Software (IDE), including complete
error messages and other information. The bottom righthand corner of the window displays the
configured board and serial port. The toolbar buttons allow you to verify and upload programs, create,
open, and save sketches, and open the serial monitor.
Verify
Checks your code for errors compiling it.
13
Upload
Compiles your code and uploads it to the configured board. See uploading below for
details.
Note: If you are using an external programmer with your board, you can hold down the
"shift" key on your computer when using this icon. The text will change to "Upload using
Programmer"
New
Creates a new sketch.
Open
Presents a menu of all the sketches in your sketchbook. Clicking one will open it within the
current window overwriting its content.
Note: due to a bug in Java, this menu doesn't scroll; if you need to open a sketch late in the
list, use the File | Sketchbookmenu instead.
Save
Saves your sketch.
Serial
Opens the serial monitor.
File New
Creates a new instance of the editor, with the bare minimum structure of a sketch already in place.
Open
Allows to load a sketch file browsing through the computer drives and folders.
OpenRecent
Provides a short list of the most recent sketches, ready to be opened.
Sketchbook
Shows the current sketches within the sketchbook folder structure; clicking on any name opens the
corresponding sketch in a new editor instance.
Examples
Any example provided by the Arduino Software (IDE) or library shows up in this menu item. All the
examples are structured in a tree that allows easy access by topic or library.
Close
Closes the instance of the Arduino Software from which it is clicked.
14
Save
Saves the sketch with the current name. If the file hasn't been named before, a name will be provided
in a "Save as.." window.
Saveas...
Allows to save the current sketch with a different name.
PageSetup
It shows the Page Setup window for printing.
Print
Sends the current sketch to the printer according to the settings defined in Page Setup.
Preferences
Opens the Preferences window where some settings of the IDE may be customized, as the language
of the IDE interface.
Quit
Closes all IDE windows. The same sketches open when Quit was chosen will be automatically
reopened the next time you start the IDE.
Edit
Undo/Redo
Goes back of one or more steps you did while editing; when you go back, you may go forward with
Redo.
Cut
Removes the selected text from the editor and places it into the clipboard.
Copy
Duplicates the selected text in the editor and places it into the clipboard.
CopyforForum
Copies the code of your sketch to the clipboard in a form suitable for posting to the forum, complete
with syntax coloring.
CopyasHTML
Copies the code of your sketch to the clipboard as HTML, suitable for embedding in web pages.
Paste
Puts the contents of the clipboard at the cursor position, in the editor.
SelectAll
Selects and highlights the whole content of the editor.
15
Comment/Uncomment
Puts or removes the // comment marker at the beginning of each selected line.
Increase/DecreaseIndent
Adds or subtracts a space at the beginning of each selected line, moving the text one space on the right
or eliminating a space at the beginning.
Find
Opens the Find and Replace window where you can specify text to search inside the current sketch
according to several options.
FindNext
Highlights the next occurrence - if any - of the string specified as the search item in the Find window,
relative to the cursor position.
FindPrevious
Highlights the previous occurrence - if any - of the string specified as the search item in the Find
window relative to the cursor position.
Sketch
Verify/Compile
Checks your sketch for errors compiling it; it will report memory usage for code and variables in the
console area.
Upload
Compiles and loads the binary file onto the configured board through the configured Port.
UploadUsingProgrammer
This will overwrite the bootloader on the board; you will need to use Tools > Burn Bootloader to
restore it and be able to Upload to USB serial port again. However, it allows you to use the full capacity
of the Flash memory for your sketch. Please note that this command will NOT burn the fuses. To do
so a Tools -> Burn Bootloader command must be executed.
ExportCompiledBinary
Saves a .hex file that may be kept as archive or sent to the board using other tools.
ShowSketchFolder
Opens the current sketch folder.
IncludeLibrary
Adds a library to your sketch by inserting #include statements at the start of your code. For more
details, see libraries below. Additionally, from this menu item you can access the Library Manager
and import new libraries from .zip files.
16
AddFile...
Adds a source file to the sketch (it will be copied from its current location). The new file appears in a
new tab in the sketch window. Files can be removed from the sketch using the tab menu accessible
clicking on the small triangle icon below the serial monitor one on the right side o the toolbar.
Tools
AutoFormat
This formats your code nicely: i.e. indents it so that opening and closing curly braces line up, and that
the statements inside curly braces are indented more.
ArchiveSketch
Archives a copy of the current sketch in .zip format. The archive is placed in the same directory as the
sketch.
FixEncoding&Reload
Fixes possible discrepancies between the editor char map encoding and other operating systems char
maps.
SerialMonitor
Opens the serial monitor window and initiates the exchange of data with any connected board on the
currently selected Port. This usually resets the board, if the board supports Reset over serial port
opening.
Board
Select the board that you're using. See below for descriptions of the various boards.
Port
This menu contains all the serial devices (real or virtual) on your machine. It should automatically
refresh every time you open the top-level tools menu.
Programmer
For selecting a hardware programmer when programming a board or chip and not using the onboard
USB-serial connection. Normally you won't need this, but if you're burning a boot loader to a new
microcontroller, you will use this.
BurnBootloader
The items in this menu allow you to burn a boot loader onto the microcontroller on an Arduino board.
This is not required for normal use of an Arduino or Genuino board but is useful if you purchase a
new ATmega microcontroller (which normally come without a bootloader).
17
Chapter-2
SYSTEM STUDY
System operation :-
The operation of the system is very simple as sending message from any of the remote area to the distant
located device using GSM mobile. For sending the text message from remote area we need to interface the
mobile phone with GSM Modem. For developing some of GSM based applications we need to have some
commons peripherals including GSM MODEM, SIM, microcontroller, LCD (Liquid crystal display), power
supply and also some connecting wires. Moreover GSM based applications could be easily developed and
enhanced due to easily accessibility of components in local markets at very pocket friendly prices.
Problem statement :-
Technology has advanced so much in the last decade or two that it has made life more efficient and
comfortable. The comfort of being able to take control of devices from one particular location has become
imperative as it saves a lot of time and effort. Therefore there arises a need to do so in a systematic manner
which we have tried to implement with our system. The system we have proposed is an extended approach to
automating a control system. With the advancement and breakthroughs in technology over the years, the lives
of people have become more complicated and thus they have become busier than before. With the adoption of
our system, we can gain control over certain things that required constant attention. The application of our
system comes in handy when people who forget to do simple things such as turn ON or OFF devices at their
home or in their office, they can now do so without their presence by the transmission of a simple text message
from their mobile phone. This development, we believe, will ultimately save a lot of time especially when
people don’t have to come back for simple things such as to turn ON/OFF switches at their home or at their
office once they set out for their respective work. The objective of this project is to develop a device that allows
for a user to remotely control and monitor multiple home/office appliances using a cellular phone. This system
will be a powerful and flexible tool that will offer this service at any time, and from anywhere with the
constraints of the technologies being applied. Possible target appliances include (but are not limited to) climate
control system, security systems, lights; anything with an electrical interface. The proposed approach for
18
designing this system is to implement a microcontroller-based control module that receives its instructions and
command from a cellular phone over the GSM network. The microcontroller then will carry out the issued
commands and then communicate the status of a given appliance or device back to the cellular phone
19
Chapter-3
SYSTEM ANALYSIS
Analysis is the focus of system developing and is the stage when system designers have to work at two levels
of definition regarding the study of situation issues and possible solution in terms of “what to do “ and “how
to do”.
System analysis is a process by which we attribute process or goals to human activity, determine how well
those purpose are being achieved and specify the requirements of the various tools and techniques that are to
be used within the system if the system performances are to be achieved.
SRS Document:-
The document was prepared keeping the project to be developed in view. The document specifies the generals
procedure that has been follow by me , while the system was studied and developed . The general document
was provided by the organization as a reference guide to understand my responsibilities in developing the
system, with respect to the requirements that have been pin pointed to get the exact structure of the system as
stated by the actual client. The system as started by my project guide the actual standards of the specification
were desired by conducting a series of interviews and questionnaires. The collected information was organized
to from the specification document and then was modeled to suite the standards of the system as intended.
Here we are using the waterfall model for the convenient use of our project.
20
Chapter-4
System specification
HARDWARE SPECIFICATION :-
Hardware/Software Co-design:
Fig 2.1
21
General Design Flow for Selecting Hardware and Software for an Embedded System: Hardware Design
Flow:
SOFTWARE SPECIFICATION :-
Development boards, such as Arduino and Raspberry Pi, are common choices when prototyping new IoT
devices. Those development boards are essentially mini-computers that can connect to and be programmed by
a standard PC or Mac. After it has been programmed, the development boards can then connect to and control
sensors in the field.
22
Because the "I" in IoT stands for internet, the development boards need a way to connect to the internet. In the
field, the best way to connect to the internet is by using wireless networks. However, Arduino and Raspberry
Pi do not have built-in support for wireless networks. Developers will have to add a wifi or cellular module to
the board and write code to access the wireless module.
In this article, I will introduce an open source IoT development board called NodeMCU. One of its most unique
features is that it has built-in support for wifi connectivity, and hence makes IoT application development
much easier.
What is NodeMCU?
The NodeMCU (Node MicroController Unit) is an open source software and hardware development
environment that is built around a very inexpensive System-on-a-Chip (SoC) called the ESP8266. The
ESP8266, designed and manufactured by Espressif Systems, contains all crucial elements of the modern
computer: CPU, RAM, networking (wifi), and even a modern operating. When purchased at bulk, the ESP8266
chip costs only $2 USD a piece. That makes it an excellent choice for IoT projects of all kinds.
However, as a chip, the ESP8266 is also hard to access and use. You have to solder wires, with the appropriate
analog voltage, to its PINs for the simplest tasks such as powering it on or sending a keystroke to the
"computer" on the chip. And, you have to program it in low-level machine instructions that can be interpreted
by the chip hardware. While this level of integration is not a problem when the ESP8266 is used as an
embedded controller chip in mass-produced electronics, it is a huge burden for hobbyists, hackers, or students
who want to experiment with it in their own IoT projects.
Borrowing a page from the successful playbooks of Arduino or a Raspberry Pi, the NodeMCU project aims to
simplify ESP8266 development. It has two key components.
1. An open source ESP8266 firmware that is built on top of the chip manufacturer's proprietary SDK. The
firmware provides a simple programming environment based on eLua (embedded Lua), which is a very
simple and fast scripting language with an established developer community. For new comers, the Lua
scripting language is easy to learn.
2. A DEVKIT board that incorporates the ESP8266 chip on a standard circuit board. The board has a
built-in USB port that is already wired up with the chip, a hardware reset button, wifi antenna, LED
lights, and standard-sized GPIO (General Purpose Input Output) pins that can plug into a bread board.
Figure 1 shows the DEVKIT board, and Figure 2 shows the schema of its pins.
23
Figure 1. The NodeMCU DEVKIT board
Chapter-6
24
The NodeMCU DEVKIT board that comes preloaded with the firmware can be purchased for $8 USD a piece,
which makes it a very economical device for prototyping and even for production use.
But, what about Arduino, you ask? The Arduino project creates an open source hardware design and software
SDK for a versatile IoT controller. Similar to NodeMCU, the Arduino hardware is a microcontroller board
with a ready USB connector, LED lights, and standard data pins. It also defines standard interfaces to interact
with sensors or other boards. But unlike NodeMCU, the Arduino board can have different types of CPU chips
(typically an ARM or Intel x86 chip) with memory chips, and a variety of programming environments. In fact,
there is an Arduino reference design for the ESP8266 chip as well. However, the flexibility of Arduino also
means significant variations across different vendors. For example, most Arduino boards do not have wifi
capabilities and some even have a serial data port instead of a USB port. I feel that NodeMCU provides a more
consistent and accessible experience for IoT developers.
Getting on wifi
A key feature of the NodeMCU is its out-of-the-box wifi capabilities. In the init.lua script, you can connect
the NodeMCU device to any wifi network with a few lines of code.
-- setup Wifi
wifi.setmode(wifi.STATION)
25
wifi.sta.config("SSID","password")
Notice that you will need to know the network name and password in order to join. A common technique is to
loop through a list of known network name and password pairs if the device might be placed in several different
environments.
26
Conclusion
In this article, I introduced you to the NodeMCU DEVKIT. It is a powerful, easy to use, and yet very low-cost
solution for IoT application development. For IoT beginners, I feel the NodeMCU is one of the best options
to go from prototyping all the way to production.
27
Chapter-5
DOCUMENT DESIGNING
INTRODUCTION :-
Analysis is the focus of system developing and is the stage when system designers have to work at two
level of definition regarding the study of situation issues and possible solutions in terms of “what to
do” and “how to do”.
System Study
Social and economic factor: a wave of social and economic changes often follows in the wake of the
new technology. New opportunities may arise to improve on a production process or to do something
that was not previously possible. Changes in the ways individuals are organized into group may then
be necessary , and the new groups may be complete for economic resources with established units.
Technological factor: People have never before in a time when the scope of scientific inquiry was so
broad, so when the speed of applying the new technology accounts for many changes in the
organization.
High level decisions and operating processes: in response to technological, socio-economic factors, top
level management may decide to recognize operations and introduce new products.
To deal with these needs, people commonly seek new modified information to support the decision.
When that happens, then they obtain turn to a computer system for help the information citizen and
processing specialist then work together to complete a series of steps in a system study to produce
output results to satisfy information needs.
28
System analysis
System Analysis is a process by which we attribute process or goals to a human activity, determine how well
those purpose are being achieved and specify the requirements of the various tools and techniques that are to
be used within the system if the system performances are to be achieved.
1. SYSTEM PLANNING
Planning for information system has a time horizon and a focus dimension. The time horizon dimension
specifies the time range of the plan, whereas the focus dimension relates whether the primary concern is
strategic, managerial, or operational. The system i.e. The Project that we were assigned was required to
complete within 20 weeks. What we had planned is as following:
Requirements analysis, Preliminary Investigation & Information Gathering should be covered within the 1st
and 2nd week. Since I was not aware of VISUAL STUDIOit require 1 week for me to adjust with the
technology. 12 weeks for design of the system under development. I week for Testing & Implementation. And
rest 2 reserve weeks.
2. PRELIMINARY INVESTIGATION
The initial investigation has the objective of determining the validity of the user’s request for a candidate
system and whether a feasibility study should be conducted.
The objectives of the problem posed by the user must be understood within the framework of the organizations’
MIS plan. I had investigation from the concerned authority about the project.
3. INFORMATION GATHERING
A key part of feasibility analysis is gathering information about the present system. The analyst must know
what information to gather, where to find it, how to collect it, and what to make of it. The proper use of tools
for gathering information is the key to successfully analysis. The tools are the traditional interview ,
questionnaires’, and on-sites observation .
4. STRUCTURED ANALYSIS
The traditional tools of data gathering have limitations. An English narrative description is often vague and
difficult for the user to grasp. System flowcharts focus more on physical than on logical implementation of
the candidate System. Because of the these drawbacks, structured tools were introduced for analysis.
29
Structured analysis is a set of techniques and graphical tools (DFD) that allow the analyst to develop a new
kind of system specifications that are easily understandable to the user.
5. BLOCK DIAGRAM
30
Chapter-6
E-R DIAGRAM
ENTITY-RELATIONSHIP DIAGRAM:
“E-R diagrams are used to organize data as a relation, normalizing relations and finally obtaining a relational
database model”.
1. ENTITY: This specifies the real life objects & is represented as:
2. RELATIONSHIPS: These connect entities & establish meaningful dependencies between them and are
represented by:
31
Chapter-7
FUCTIONAL DIAGRAM
32
Chapter-8
The Logical Data Flow Diagrams represent the transformation of the data from input to output through
processing logically and independently of the physical components that may be associated with the system.
The Physical Dataflow Diagrams show the actual implementation and movement of data between people,
departments, and workstations. Each component of a DFD is labeled with a descriptive name. Process names
are further numbered that will be used for identification purpose. The number assigned to a specific process
does not correspond to the sequence of processes. It is strictly for identification purposes. A data flow diagram
allows parallel activates i.e. a number of data-flows coming out from the source and going into the destination.
A DFD concentrates on the data moving through the system and not on the devices or equipment . A DFD may
consist of a number of levels. The top-level diagram is called the Context Diagram , which consists of a single
process and plays a very important role in studying the system . It gives the most general and broadest view of
the system. Move over it gives the pictorial representation of the scope boundaries of the system under study.
NOTIFICATION:
33
Data-Flows show the movement of data in a specific direction from the source to the destination. It
represents a packet of data.
Processes show the operations performed on the data, which transform it from input to output.
Sources and Destinations of data are the external sources and destinations of data , which may be
people, program , organizations or other entities interacting with the system , but are outside its
boundary.
Data Stores are places where data are stored such as files and tables.
The top level DFD is known as context diagram. This is the first step in the requirement determination,
which aims at learning the general characteristics of the business process under investigation. It containing a
single process but it gives the most general and broadcast view of the system. Moreover it gives the pictorial
Representation of the scope boundaries of the system under study. Main purpose is to identity what is to be
included in the area under study.
DATA DICTIONARY
A Data Dictionary is a structured repository of data about data . It offers the primary advantages of
documentation & improving analyst/ user communication by establishing consistent definitions of various
elements, terms, & procedures. The three classes to be defined are data elements (smallest unit of data), data
structures( group of data elements handled as a unit ), and flows and flows and data stores .
34
Chapter-9
SYSTEM TESTING
SYSTEM TESTING
System Testing is the process in which the system undergoes experimental testing so as to check that the
system does not fail i.e. to check whether the required system is running according to specification and user
expectation. System testing also tests to find discrepancies between the system and its original objective ,
current specification and systems documentation, Hence most useful and practical approach is with the
understanding that testing is the process of executing a program with the explicit intention errors that is making
the program fail.
Testing performs a very critical role for quality assurance and ensuring the reliability of the software . During
testing , the program to be tested is executed with a set of test cases and output of the program for the test cases
and output of the program for the test case is evaluated to determine if the program is performing as it is
expected to. Hence most useful and practicalapproach is with the explicit intention of finding errors that is
making the program fail.
Testing performs a very critical role for equality assurance and the ensuring the reliability of the software .
During testing , the program to be tested is executed with a set of test cases and output of the program for the
test cases and output of the program for the test case is evaluated to determine if the program is performing as
it is expected. Hence
Testing is the process of executing a program with the intention of finding errors.
A good test case is the one that has a high probability of finding as yet undiscovered error.
A successful test is one yet uncovers as yet undiscovered errors.
A. Code Testing :
35
The code testing strategy examines the logic of program i.e the analyst develops test cases that results in
executing every instruction in the program. Basically during code testing every path through the program is
tested.
B. Specification Testing:
To perform specification testing the analyst examines the specification starting what the program should do
and how it should perform under various conditions. Then test cases are developed for each. In order to find
which strategies to follow, levels of testing should be followed.
Levels of Testing:
The basic levels are unit testing, integration testing, system testing and testing and acceptance testing. These
different levels of testing attempt to
Detect different types of faults. The different levels of testing are as follows:
1. Unit testing :
In this testing different modules are tested against specification produced during design of the modules.
Unit testing is essential for verification of code produced during the coding phase and hence its main goal
is to test internal logic modules.
2. Integration testing :
In this testing tested modules are combined into subsystem which is then tested. The goal here is to see if
the modules can be indicated properly and emphasis is being on testing interfaces between modules.
3. Stem Testing :
In this testing the entire software system is tested. The reference document for this process is the
requirements document and the goal is to see if the system meets its requirements.
36
CONCLUSION
Here we would conclude that we can provide more easy and safe life by this project implementation in practical
life.
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149