You are on page 1of 32

Major Project Part-1 Report

on
“PICSMANIA”
Submitted in the partial fulfilment for requirement of the degree of

BACHELOR OF
TECHNOLOGY IN
COMPUTER SCIENCE & ENGINEERING

Session (2019-2023)

Under Supervision of: Submitted By:

Yash Paul Berwal Rajat kumar


Director Principal 192917
CSE 7th Sem
Prof. Sanjay Dahiya
HOD (CSE Dept.)

Ms. Arushi bansal


Asst Prof. of CSE

i.
CANDIDATE’S DECLARATION

I hereby declare that the Major project Part-I report entitled as “Picsmania”. Yash Paul
Berwal , Director Principal Dr. Sanjay Dahiya, Head of Department and Ms. Arushi
Bansal, Assistant Professor at the Department of Computer Science & Engineering, Ch, Devi
Lal State Institute of Engineering and Technology,Panniwala Mota, Sirsa (Haryana)-
125077. It is also certified that no part of this project work has been submitted, either in part
or full for any degree of Chaudhary Devi Lal University, or any other
University/Institution.

Date: Name: RAJAT KUMAR

Place: Panniwala Mota (Sirsa) Roll no. : 192917

ii.
CERTIFICATE FROM SUPERVISOR

This is certified that the Major Project Part-Ⅰ entitled ‘Picsmania’ being submitted by
RAJAT KUMAR Roll No. 192917 in the partial fulfillment of the requirements for the
award of the degree of Bachelor of Technology, Department of Computer Science and
Applications, Chaudhary Devi Lal University, SIRSA has been carried out by him under
my supervision. I wish him all success.

Date: Supervisor:

Place:
iii.
CERTIFICATE FROM HOD

This is certified that the Major Project Part-Ⅰ entitled ‘Picsmania’ being submitted by RAJAT
KUMAR, Roll No. 192917 in the partial fulfilment of the requirements for the award of degree
of Bachelor of Technology, Department of Computer Science and Applications, Ch, Devi Lal
State Institute of Engineering and Technology, Panniwala Mota, Sirsa (Haryana)-125077,
has been carried out by him under my supervision. I wish him all success.

Date: HOD:

Place:

iv.
ABSTRACT

The purpose of this free stock photo and image is to create a system with the help of
computerized equipment and full-fledged computer software fulfilling the specific
requirements. All the available software and hardware are easily available and easy to work
with.
This website as described above, can lead to error free, secure, reliable and resolution It can
assist the user to concentrate on their other activities rather to concentrate on information
seeking. Thus it will help a particular organization in better utilization of its resources. The
organization can also maintain computerized records without redundant entries and also
maintaining the data traffic side by side. That means that one need not be distracted by the
information that is not relevant, while being able to gather the required information on time and
keeping their requirements in mind and save a lot of money and time for all the users.

v.
ACKNOWLEDGEMENT

First of all I would like to thank the Almighty, who has always guided me to work on the
right path of life. I acknowledge with deep sense of gratitude and most sincere
appreciation, the valuable guidance and unfailing encouragement rendered to me by Dr.
Sanjay Dahiya, Head of Department and Ms. Arushi Bansal, Assistant Professor at the
Department of Computer Science & Engineering, Ch, Devi Lal State Institute of
Engineering and Technology, Panniwala Mota, Sirsa, Haryana, for their proficient and
enthusiastic guidance, useful encouragement and immense help. I have a deep sense of
admiration for their inmate goodness and inexhaustible enthusiasm.

I wish to extend my sincere gratitude to Dr. Sanjay Dahiya, Head of Department and Ms.
Arushi Bansal, Assistant Professor at the Department of Computer Science &
Engineering, Ch. Devi Lal State Institute of Engineering and Technology, Panniwala
Mota, Sirsa, Haryana for their guidance, encouragement and valuable suggestions which
proved extremely useful and helpful in completion of this Major Project Work.

My heartfelt gratitude and ineptness goes to all teachers and guidance groups who with
their encouraging, caring words, constructive criticism and segmentation have contributed
directly or indirectly in a significant way towards completion of this Project. My special
thanks go to my friends whose support and encouragement have been a constant source of
assurance, guidance, strength, and inspection to me.

I am immensely grateful to my parents and family. They have always supported me and
taught me the things that matter most in life. I am proudly grateful to all of my teachers and
my colleagues who encourage me and motivate me where needed.

Date: Name: RAJAT KUMAR

Roll no. : 192917


vi.
LIST OF FIGURES

Figure Title Page No.

Fig 3.1 Steps of Requirement Analysis 8

Fig 3.2 Types of Feasibility Study 10

Fig 3.3 System Analysis 11

vii.
LIST OF ABBREVIATION AND ACRONYMS

HTML Hypertext Markup Language

CSS Cascading Style Sheets

SASS Syntactically Awesome Style Sheets

XAMPP X-OS, Apache, My SQL, PHP, Perl

JS Java script

My SQL Structured Query Language

PHP Hypertext Pre-Processor

viii
.
TABLE OF CONTENTS

Page No.

Declaration........................................................................................................ ii

Certificate.......................................................................................................... iii-iv

Abstract…………………………………………………………....………….. v

Acknowledgement…………………………………………………….............. vi

List of Figures ……………………………………………………................... vii

List of Abbreviation and Acronyms ………………………............................. viii

Content ………………………………………………….................................. ix-x

Chapter 1:

Introduction ………………………………………………................................ 1

1.1 Project Overview……………………………………....................... 1

1.2 Aim of the Project …...………………………..…………………… 2

1.3 Requirement of the Project ….…………...………………………… 2-3

1.4 Technology and Languages…………...…………………………… 3-4

Chapter 2:

Literature Review………………………………………………........................ 5

2.1 Literature Review………………………………………………….. 5-6

ix.
Chapter 3:

Project Objectives and Methodology………………………………….............. 7

3.1 Objective of the Project …………………………………………… 7

3.2 Feature of Project ………………………………………..…….... 7

3.3 Requirement Analysis and ……………………………...………. 7-10


Feasibility Study

3.4 System Analysis ………………………………………….……... 10-14

3.5 Software Testing……………………………………………..….. 14-20

Chapter 4:

Conclusion and Future Scope ………………………………….…………… 21

4.1 Conclusion………………………………………………….…… 21

4.2 Future Scope…………………………………………….………. 21-22

References…………………………………………………...………………. 23

x.
CHAPTER-1 INTRODUCTION

1.1 PROJECT OVERVIEW

Some websites allow you to download pictures for private use (e.g., background wallpapers) yet
disallow images to be used commercially. This includes instances such as business cards,
websites, or posters. The images on the following websites have protection under Creative
Commons CC0:

Our idea is “Picsmania” – Before you go on a shopping spree (or… whatever it’s called when
the thing you’re shopping for is totally free), it’s important to clearly understand how to know if
a stock photo is free to use.

If you accidentally share something that doesn’t give you commercial rights, you might be in
violation of copyright law — which could mean some serious consequences for your brand, or
even you personally.

And unfortunately, “I didn’t know” won’t fly as a legal defence.

So, look for clear descriptions on the stock photo website that say “commercial use allowed,”
“commercial use and modifications allowed,” or “no known copyright restrictions.”

Anything licensed under the Creative Commons or public domain is fair game too.

1.1.1 Prerequisites:

 A basic word editor / VS Code.


 Knowledge of HTML & Cascading Style Sheets.
 Knowledge of Java script & MySQL.
 Firebase Console & XAMPP

1.
1.2 AIM OF THE PROJECT

A stock photo is an image that can be licensed for creative use. Stock photos feature a wide
variety of subjects including scenery, everyday objects, people, food and beverages,
fashion— the list goes on and on. Stock photo companies, like iStock, host a massive
marketplace of creative content and sell imagery in the form of photos, illustrations, and
videos that can be purchased for use in commercial, editorial, and personal projects.

When purchasing stock photos through a stock photo company, users pay a fee to buy the
legal rights and use the selected stock images or videos. The fee pays both the artist that
originally took the photo or video footage, and the website or agency that manages the
sales of photos to customers.

1.3 REQUIREMENT OF PROJECT

Software Requirements:

• Front End: Chrome or Any Search Engines


• XAMPP x64 bit
• Back End: Visual Studio Code or any Text Editors

Hardware Requirement:

• Processor- Intel i3 or more


• RAM- 2 GB or more
• Hard Disk- 500GB or more

Operating system:

• Windows 7, 8 or Latest x64 bit


• Mac OS
• Linux Ubuntu

2.
1.4 TECHNOLOGY AND LANGUAGES

 HTML: HTML is the center of each internet pages, regardless the complexity of a domain
or number of generation involved. It’s an primary talent for net expert. It's the place to
begin for mastering the way to create contents for the internet. And, fortunately for us, it is
clean to research.

 CSS: CSS stand for Cascading Style Sheets. This programming language dictate how the
HTML detail of a website should really seems at the frontend of the pages.

 JavaScript: JavaScript is complicated language than HTML or CSS, and it become not
released in beta shape till 1995. Nowadays, JavaScript is supported by way of all the
contemporary net browsers and it's miles used on almost every websites at the net for extra
effective and complicated functionalities.

 PHP is superb and popular language, It is powerful sufficient to be on the core of the
largest blogging structures on the web, It is deep sufficient to run the massive social
network , It is straightforward to be a amateur's first server language to analyze. PHP is a
widely-used, open source scripting language • PHP scripts are executed on web server,
PHP files can contain text, HTML, CSS, JavaScript, and PHP code.

 MYSQL My SQL is a relational database management system based on the Structured


Query Language, which is popular language for accessing and managing the record in the
database. MySQL is open-source and free software under the GNU licenses. It is widely
supported by Oracle.

 XAMPP: XAMPP is one of the widely used pass-platform net server, which allows the
builders to create and test their software on a local webservers. It became evolved by means
of the Apache Friends, and its local source code may be revised or changed by using the
target audience. It consist of Apache HTTP Server, Maria DB, and interpreter for the
exceptional programming language like PHP and Perl. It is available in 11 languages.

 Google Firebase Database: Firebase is a Backend-as-a-Service (Baas). It provides


developers with a variety of tools and services to help them develop quality apps, grow
their user base, and earn profit. It is built on Google’s infrastructure.

3.
CHAPTER-2 LITERATURE REVIEW

2.1 LITERATURE REVIEW

Stock photography websites provide users with a vast library of creative content that can be
purchased and downloaded for immediate commercial and editorial use. Purchase options range
from a single image download to monthly subscriptions for high-volume users.

When you download a photo without using a professional stock photo website, you run the risk
of not having the proper licensing or photo rights that allow you to legally use the image. Stock
photos are subject to strict copyright, property rights, and privacy laws, so using a professional
stock photography company not only guarantees technical quality, but it also takes the
guesswork out of copyrights and image licensing.

By downloading a file from a stock photo company like iStock, you’re buying a standard
license that lets you use the file for any personal, business, or commercial purposes that aren’t
otherwise restricted by the license. This means you can use the content in advertising,
marketing, apps, websites, social media, TV and film, presentations, newspapers, magazines
and books, and product packaging (among other uses). Learn more about common
misconceptions around copyrighted images.

4.
CHAPTER-3 PROJECT OBJECTIVES AND METHODOLOGY

.1 OBJECTIVE OF PROJECT

An image marked “editorial use only” cannot be used in any for-profit materials, meaning it
cannot be used to advertise or promote a product or service. There are several common uses for
editorial marked images.

 Illustrating news, commentary, or opinion in newspaper or magazine articles


 Blog or website posts (for both educational and descriptive purposes)
 Non commercial multimedia presentations
 Textbooks
 Documentaries
 Coverage of newsworthy events

While images that are licensed for commercial use can be used for editorial purposes, it is
important to remember the opposite is not true for an “editorial use only” image. It cannot be
used commercially or in a for-profit project without obtaining additional licensing, model release
forms, and other waivers as required.

.2 FEATURES OF PROJECT

An image that is licensed for commercial use can be used in promotional and advertising
material created with the intent to make a profit. When finding stock photos for commercial use,
most customers are searching for creative assets.

 Marketing and advertising materials


 Branding
 Social media
 Creative projects (such as decorations or promotional swag)
 Corporate identity
 Products for resale (T-shirts, packaging, etc.)
.

5.
.3 REQUIREMENT ANALYSIS AND FEASIBILITY STUDY
Requirement analysis is significant and essential activity after elicitation. We analyze,
refine, and scrutinize the gathered requirements to make consistent and unambiguous
requirements. This activity reviews all requirements and may provide a graphical view of
the entire system. After the completion of the analysis, it is expected that the
understandability of the project may improve significantly.
Here, we may also use the interaction with the customer to clarify points of confusion and to

6.
understand which requirements are more important than others.

The various steps of requirement analysis are shown in fig:

Fig 3.1 Requirement Analysis Steps

Feasibility is defined as the practical extent to which a project can be performed


successfully. To evaluate feasibility, a feasibility study is performed, which determines
whether the solution considered to accomplish the requirements is practical and workable
in the software. Information such as resource availability, cost estimation for software
development, benefits of the software to the organization after it is developed and cost to
be incurred on its maintenance are considered during the feasibility study. The objective of
the feasibility study is to establish the reasons for developing the software that is
acceptable to users, adaptable to change and conformable to established standards. Various
other objectives of feasibility study are listed below.
• To analyze whether the software will meet organizational requirements.

• To determine whether the software can be implemented using the current technology
and within the specified budget and schedule

3.3.1 Feasibility Study Process


Feasibility study comprises the following steps:-

 Information assessment: Identifies information about whether the system helps in


achieving the objectives of the organization. It also verifies that the system can be

7.
implemented using new technology and within the budget and whether the system
can be integrated with the existing system.
 Information collection: Specifies the sources from where information about
software can be obtained. Generally, these sources include users (who will operate
the software), organization (where the software will be used), and the software
development team (which understands user requirements and knows how to fulfill
them in software).
 Report writing: Uses a feasibility report, which is the conclusion of the feasibility
study by the software development team. It includes the recommendations whether
the software development should continue. This report may also include information
about changes in the software scope, budget, and schedule and suggestions of any
requirements in the system.

3.3.2 General information: Describes the purpose and scope of feasibility study. It also
describes system overview, project references, acronyms and abbreviations, and points of
contact to be used. System overview provides description about the name of the
organization responsible for the software development, system name or title, system
category, operational status, and so on.

3.3.3 Management summary: Provides the following information:

 Environment: Identifies the individuals responsible for software development. It


provides information about input and output requirements, processing requirements
of the software and the interaction of the software with other software. It also
identifies system security requirements and the system’s processing requirements
 Current functional procedures: Describes the current functional procedures of the
existing system, whether automated or manual. It also includes the data-flow of the
current system and the number of team members required to operate and maintain
the software.

 Functional objective: Provides information about functions of the system such as


new services, increased capacity, and so on.
 Performance objective: Provides information about performance objectives such
as reduced staff and equipment costs, increased processing speeds of software, and
improved controls.

8.
3.3.4 Types of Feasibility:-

Various types of feasibility that are commonly considered include technical feasibility
operational feasibility, economic feasibility, legal feasibility, and scheduling
feasibility:

Fig 3.2 Types of Feasibility Studies

.4 SYSTEM ANALYSIS
The design phase focuses on the detailed implementation of the system recommended in the
feasibility study. Emphasis is on translating performance specifications into design
specifications. The design phase is a transition from a user-oriented document (system
proposal) to a document oriented to the programmers or database personnel System design
phase follows system analysis phase. Design is maintaining record proof design divisions
and providing a blue print or the implementation phase. Design is the bridge between system
analysis and system implementation. The design is the solution, a “how to “approach to the
creation of a new system. This is composed of several steps. It provides the understanding
and procedural details necessary for implementing the system recommended in the
feasibility study. Design goes thru logical and physical stages of development; logical
design reviews the present physical system, prepares input and output specifications, details
the implementation plan and prepares a logical design walk-through.

During this phase the analyst does the following:


 Schedules design activities.
 Determine the data inputs.
 Draws a model of the new system using data flow.
 Defines the data requirements with a data dictionary.
 Writes program specifications.
9.
 Identifies and orders any hardware or software that the system design phase
would need.

Fig 3.3 System Analysis

3.4.1 Why is system analysis necessary?

System analysis is an important activity that takes place when we are building new
information systems or changing existing ones. But why are special activities (such as
system analysis) needed to build good information systems? Why don’t these things happen
as matter of course in an organization? To answer these questions you have to consider
what must be done to build complex computer-based information systems. Basically, it is
necessary to set up right procedures to ensure that all the organization’s personnel have all
the data needed for. To do this, there are numerous things to be done. Equipment must be
chosen and new procedures designed. Programs must be written to support these
procedures on the equipment.
The systems are often made up many interrelated tasks. Changes to any one of these tasks
or additions of new tasks can affect existing ones. It is therefore necessary to spend
considerable time to understand the system and its problems properly. Only after
developing a good understanding does it becomes possible to propose useful.
The investigation into system operation and possible changes to the system is called system
analysis. Once system analysis is completed, system design commences. System analysts

10.
use the understanding of the existing system and its problem to design eventually build a
better system. In addition, systems analysts must also determine what users may require of a
new system. Thus during analysis they may make enquires.

3.4.2 Objectives of Design:


System design is like a blue print for a building, it specifies all the features that are to be in
the finished product. Design states how to accomplish objectives determine in the analysis
phase. The major objectives of system design are to develop the best possible design as per
the requirements and working environment for operating the system:
 Completeness
 Correctness
 Efficiency
 Consistency
 Maintainability
 Cost

3.4.3 Process of Design


The design phase focuses on the implementation of the system recommended in the
feasibility study. System design can be of two types:
 Logical Design
 Physical Design

Logical Design:
Logical design concerns with the specifications of major features of the system that would
meet the objectives.
The main components of logical design are:
 Reviews the current system.
 Prepares output Specification.
 Prepare input Specification.
 File Specification.
 Procedure Specification.
 Control Specification.
 Specifies the implementation plans.

11.
 Prepares a logical design walkthrough.
 Review benefits, costs, target dates, and system constraint.

Physical Design:
The physical design, which follows the logical design, produces actual program software,
files and a working system. The physical design produces the working system by defining
the design specifications that tell programmers exactly what the proposed system must do.
The physical design includes:
 Specify the Input /Output media.
 Design the data base.
 Design the programs.
 Specify backup procedures.
 Specify any new hardware/software.
 Specify implementation plan.
 Prepare a conversion schedule and a target date.
 Specify training procedure.

3.4.4 Data Flow Diagrams:


The DFD takes an input-process-output view of a system i.e. data objects flow into the
software, are transformed by processing elements, and resultant data objects flow out of the
software. Data objects represented by labeled arrows and transformation are represented by
circles also called as bubbles. DFD is presented in a hierarchical fashion i.e. the first data
flow model represents the system as a whole. Subsequent DFD refine the context diagram
(level 0 DFD), providing increasing details with each subsequent level.

The DFD enables the software engineer to develop models of the information domain &
functional domain at the same time. As the DFD is refined into greater levels of details, the
analyst performs an implicit functional decomposition of the system. At the same time, the
DFD refinement results in a corresponding refinement of the data as it moves through the
process that embodies the applications.
A context-level DFD for the system the primary external entities produce information for
use by the system and consume information generated by the system. The labeled arrow
represents data objects or object hierarchy.

12.
Rules For DFD:
 Fix the scope of the system by means of context diagrams.
 Organize the DFD so that the main sequence of the actions
 Reads left to right and top to bottom.
 Identify all inputs and outputs.
 Identify and label each process internal to the system with Rounded circles.
 A process is required for all the data transformation and Transfers. Therefore, never
connect a data store to a data Source or the destinations or another data store with
just a Data flow arrow.
 Do not indicate hardware and ignore control information.
 Make sure the names of the processes accurately convey everything the process
is done.
 There must not be unnamed process.
 Indicate external sources and destinations of the data, with Squares.
 Number each occurrence of repeated external entities.
 Identify all data flows for each process step, except simple Record retrievals.

.5 SOFTWARE TESTING
3.5.1 Software testing
Software testing is an investigation conducted to provide information about the quality of
the product or service under test. Software testing also provides an objective, independent
view of the software to allow the business to appreciate and understand the risks of software
implementation. Test techniques include, but are not limited to, the process of executing a
program or application with the intent of finding software bugs (errors or other defects).
Software Testing can also be stated as the process of validating and verifying that a software
program/product:
• Meets the business and technical requirements that guided its design and development.
• Works as expected.

3.5.2 Testing objective


The objective of software testing is to check:
Whether the application is working as expected without any errors or bugs (Functionality)
• Whether the application is working as expected without any errors or bugs.

13.
• Whether the performance of the application is as expected & meets the need.

3.5.3 Scope
A primary purpose of testing is to detect software failures so that defects may be discovered
and corrected. Testing cannot establish that a product functions properly under all
conditions but can only establish that it does not function properly under specific conditions.
The scope of software testing often includes examination of code as well as execution of
that code in various environments and conditions as well as examining the aspects of code:
does it do what it is supposed to do and do what it needs to do. In the current culture of
software development, a testing organization may be separate from the development team.
There are various roles for testing team members. Information derived from software testing
may be used to correct the process by which software is developed.
Functional & Non-Functional Testing
Functional testing refers to activities that verify a specific action or function of the code.
These are usually found in the code requirements documentation, although some
development methodologies work from use cases or user stories. Functional tests tend to
answer the question of “can the user do this “or “does this particular feature work”.

It attempts to find the error in the following categories:


• Incorrect or missing function.
• Interface errors.
• Errors in data structures or external database access.
• Performance errors.
• Initialization and termination error.
Non-functional testing refers to aspects of the software that may not be related to a specific
function or user action, such as scalability or other performance, behavior under certain
constraints, or security. Non-functional requirements tend to be those that reflect the quality
of the product, particularly in the context of the suitability perspective of its users. It
attempts to find errors in the following categories:
• Internal logic of the program.
• Status of the program.
• Static & Dynamic Testing
There are many approaches to software testing. Reviews, walkthroughs, or inspections are
considered as static testing, whereas actually executing programmed code with a given set
of testcases is referred to as dynamic testing. Static testing can be omitted. Dynamic testing
takes place when the program itself is used for the first time. Dynamic testing may begin
before the program is 100% complete in order to test particular sections of code.

14.
Typical techniques for this are either using stubs/drivers or execution from a debugger
environment. For example, spreadsheet programs are, by their very nature, tested to a large
extent interactively, with results displayed immediately after each calculation or text
manipulation.

Software Verification and Validation


• Verification: Have we built the software right? (i.e., does it match the specification).
• Validation Have we built the right software? (i.e., is this what the customer wants)
Verification is the process of evaluating a system or component to determine
whether the products of a given development phase satisfy the conditions imposed
at the start of that phase. Validation is the process of evaluating a system or
component during or at the end of the development process to determine whether it
satisfies specified requirements. Hence, testing includes both verification and
validation.
Testing= Verification + Validation. Both are important and complementary to each other.
Verification minimizes the errors and their impact in the early phases of development.

If we find more errors before execution (due to verification of the program), validation may
be comparatively easy.

What do we test?
First, test what’s important. Focus on the core functionality - the parts that are critical or
popular before looking at the ‘nice to have’ features. Concentrate on the application’s
capabilities in common usage situations before going on to unlikely situations.
For example, if the application retrieves data and performance are important, test reasonable
queries with a normal load on the server before going on to unlikely ones at peak usage times.
It’s worth saying again: focus on what’s important. Good business requirements will tell you
what’s important. The value of software testing is that it goes far beyond testing the
underlying code. It also examines the functional behavior of the application. Behavior is a
function of the code, but it doesn’t always follow that if the behavior is “bad” then the code is
bad. It’s entirely possible that the code is solid but the requirements were inaccurately or
incompletely collected and communicated. It’s entirely possible that the application can be
doing exactly what we’re telling it to do but we’re not telling it to do the right thing. Testing
can involve some or all of the following factors.
The more, the better:
• Business requirements
• Functional design requirement
• Technical design requirement
• Regulatory requirements

15.
• Programmer code

16.
• Systems administration standards and restrictions
• Corporate standards
• Professional or trade association best practices
• Hardware configuration
• Cultural issues and language differences

What does the testing?


Software testing is not a one-person job. It takes a team, but the team may be larger or
smaller depending on the size and complexity of the application being tested. The
programmer(s) who wrote the application should have a reduced role in the testing if
possible. The concern here is that they’re already so intimately involved with the product
and “know” that it works that they may not be able to take an unbiased look at the results of
their labors. Testers must be cautions, curious, critical but non-judgmental, and good
communicators. One part of their job is to ask questions that the developers might find not
be able to ask themselves or are awkward irritating, insulting or even threatening to the
developers. How well does it work? What evidence do you have? In what ways
could it seem to work but still have something wrong?

3.5.4 Testing Methods


Software testing methods are traditionally divided into white-box and black-box testing.
These two approaches are used to describe the point of view that a test engineer takes when
designing test cases.

White Box Testing


“White box” testing examines the internal structure (data structures and algorithms) of the
program. This method of testing exposes both errors: error of omission (errors due to
neglected specification) and also error of commission (something not defined by the
specification). Let us look at a specification of a simple file handling program. “The
program has to read student’s detail such as student id, name, date of admission and
department as input from the user, create a file of student and display the records sorted in
the order of student ids. Examples for errors of omission: Omission of Display module,
display of records not in sorted order of student id‘s file created with fewer fields etc.
Examples of errors of commission: Additional lines of code deleting some arbitrary records
from the created file.

Black Box Testing


“Black box” testing treats the software as a “black box” – without any knowledge of internal
implementation. Black box testing methods include: equivalence partitioning, boundary
value analysis, and specification-based testing. If the testing component is viewed as a
“black box”, the inputs have to be given to observe the behavior (output) of the program.
17.
In this case, it makes sense to give both valid and invalid inputs. The observed output is
then matched with expected result (from specification). The advantage of this approach is
that the tester need not worry about the internal structure of the program. However, it is
impossible to find all errors using this approach.
For instance, if one tried three equilateral triangle test cases for the triangle program, we
cannot be sure whether the program will detect all equilateral triangles. The program may
contain a hardcoded display of ‘scalene triangle’ for values (300,300,300). To exhaustively
test the triangle program, we need to create test cases for all valid triangles up to
MAXIMUM integer size. This is an astronomical task - but still not exhaustive (why?) To
be sure of finding all possible errors, we not only test with valid inputs but all possible
inputs (including invalid ones like characters, float, negative integers, etc.

3.5.5 Levels of Testing:


In developing a large system, testing usually involves several stages:
• Unit Testing
• Integration Testing
• System Testing
• Regression Testing
• Acceptance Testing
• Alpha Testing
• Beta Testing

Unit Testing:
A series of stand-alone tests are conducted during Unit Testing. Each test examines an
individual component that is new or has been modified. A unit test is also called a module
test because it tests the individual units of code that comprise the application.
Each test validates a single module that is based on the technical design documents, was
built to perform a certain task with the expectation that it will behave in a specific way or
produce specific results. Unit tests focus on functionality and reliability, and the entry and
exit criteria can be the same for each module. Unit testing is done in a test environment prior
to system integration. If a defect is discovered during a unit test, the severity of the defect
will dictate whether or not it will be fixed before the module is approved. These types of
tests are usually written by developers as they work on code (white-box style), to ensure that
the specific function is working as expected. One function might have multiple tests. Unit
testing alone cannot verify the functionality of a piece of software, but rather is used to
assure that the building blocks the software uses work independently of each other. For unit
testing, test cases are designed to locate error because of incorrect computations, wrong
comparisons and incorrect control flow. Following are few reasons for occurrences of errors
in the module:
• Incorrect use of if-then-else
18.
• Incorrect use of do-while construct
• Incorrect use of do-until
• Incorrect use of switch-case
• Incorrect initialization
• Incorrect loop termination
• Precision inaccuracy

Integration Testing:
During Integration testing, individually tested units are added to make a complete system.
Group of independent units must be tested prior to integration testing. Smaller units can be
considered as the black box that allows integration of units and testing of their interfaces.
The objective of integration testing is to test that each unit performs appropriately with the
control structure and interfaces of components are correct.

System Testing:
The purpose of system testing is to compare the program or a system with its original
objectives. System testing is the process of demonstrating how the program as a whole does
not meet its objectives. System testing is done with respect to the measurable objectives of
the product or the system. When we look for inconsistencies between a program and its
objectives, we focus on errors related to translation that are made during the process of
designing external specification. These are the reasons why system testing is the most vital
process, in terms of product, number of errors and severity of these errors.

Regression Testing:
Regression testing is the process of running a subset of previously executed integration and
function tests to ensure that program changes have not degraded the system. The regression
phase concerns the effect of newly introduced changes on all the previously integrated code.
Regression testing may be conducted manually or using automated tools. The basic
regression testing approach is to incorporate selected test cases into a regression bucket that
is run periodically to find regression problems. In many organizations regression testing
consists of running al the functional tests every few months. This generally delays the
regression problem detection and results in significant rework after every regression run.

Acceptance Testing:
Acceptance testing is the process of comparing the program to its initial requirements and
the present needs of its end users. It is a natural type of test which is usually performed by
the program’s customer or end user and in general is not considered the responsibility of the
development organization. In the case of a contracted program, the contracting (user)
organization performs the acceptance test by comparing the program’s operation to the

19.
original contract. As is the case for other types of testing, the best way to do this is to devise
test cases that attempt to show that the program does not meet the contract; if these test
cases fail, the program is accepted. In the case of a program product, such as a computer’s
manufacturer’s operating system, the sensible customer first performs an acceptance test to
determine whether the product satisfies its requirements.

Alpha Testing:
Alpha testing is simulated or actual operational testing by potential users/customers or an
independent test team at the developer’s site. Alpha testing is often employed for off-the-
shelf as a form of internal acceptance testing, before the software goes to beta testing.

Beta Testing:
Beta testing comes after alpha testing and can be considered as a form of external user
acceptance testing. Versions of the software, known as beta versions, are released to a
limited audience outside of the programming team. The software is released to groups of
people so that further testing can ensure the product has few faults or bugs.

20.
CHAPTER-4 CONCLUSION AND FUTURE SCOPE

4.1 CONCLUSION
So, what are stock photos? Stock photos are an excellent resource in today’s content-heavy
world. Everyone needs photos to decorate and illustrate their publications and websites.
Professional photographers are too expensive and inconvenient. Stock images are the
perfect solution.

You have to make sure you’re downloading photos from a trustworthy source. You don’t
want to break any copyright laws. And you need to know your images with the correct
license for what you want to do. You can’t advertise with editorial-use images.

There are some excellent stock photography websites online. You have free and paid
options, which offer extensive libraries of images. And now, many stock image websites
are finding their own niche. You’ll be able to find exactly want you need. Just remember to
credit the artists.

4.2 FUTURE SCOPE

 We will provide the images that are on social media.


 We will provide high resolution images for you.
 The users will never be get any copyright issue if user access our website.
 We will provide the application of our website.
 The user can use the images from our website directly.

21.
REFERENCES

www.kotlinlang.org

www.auth0.com

www.developer.android.com

www.material.com

www.proandroiddev.com

22.

You might also like