Вы находитесь на странице: 1из 61

CHAPTER 1

INTRODUCTION

GLOBAL IT SUCCESS is successfully working 24x7 to create dynamic professionals

who can easily adapt to the challenging IT industry environment. Our programs are

designed with the current and emerging technologies, techniques, and practices.

At GLOBAL IT SUCCESS, personnel not only get an academically relevant and

industry-focused education at an affordable cost but also get specialized soft skills and

communication skills training, and special grooming and social skills training by

professionals, which run concurrently with the academic program as an integral part.

These skills make a lot of difference to their overall employability.

Since its inception, Global IT Success has been constantly delivering the best value to

the IT professionals in terms of IT Training & Certification programs. The IT training

programs imparted by us are highly effective and cater to the ongoing needs of the

aspiring IT students, professionals and corporate/organizations.

We take pride in being a partner of EXIN, PEOPLECERT, KRYTERION, PSI,

MICROSOFT, EC-COUNCIL and many more prestigious IT vendors. With us you will

find a big selection of IT CERTIFICATION - starting from the most basic ones such as

MCSE, MCTS, and CCNA etc. right up to the most advanced courses such as MCITP,

CCNP Security, ISTQB, Software Testing and many more.

1
Focused towards the career advancement while improving the skill set, Global IT

Success has proved to be a leading IT training and certification company in India. In the

past 10 years, we have helped several national and international candidates in achieving

their ultimate career and business goals. The key to our success include focused

approach, unmatched state-of-the-art educational environment, small class size,

convenient schedules and reasonable pricing.

Our association does not end here, after the completion of our IT training programs, in

case the students need some subject clarity regarding the courses they have attended, our

trainers are ever-ready to provide post-training support to them.

We at Global IT Success, impart authenticated and authorized certifications to the IT

aspirants who are eager to build their career in this booming industry. We work closely

with industry and students to update and implement changes taking place in this ever-

changing IT industry. We conduct various online & offline training, testing and

certifications on the behalf of our reputed IT clients such as EXIN, PEOPLECERT,

PEARSON VUE, KRYTERION, PSI, MICROSOFT etc. We are in this industry from

last 10 years and continuously improving to meet our client expectations.

1.2 PROBLEM STATEMENT

This project addresses the growing need of certification that any organization requires

for their IT experts, which will validate their skills that the organization needs to adopt

in managing the latest technology and trends that drives desired business outcomes.

2
Being an IT professional, you may have witnessed immense growth in the Tech industry

over the years. To be a part of this ever-growing industry, it has become essential to

keep up with the technological changes, which demands the IT professionals to build

their skill sets and acquire noteworthy credentials for future.

Organizations that do not value training and certification tend to see higher personnel

turnover and decreased productivity, which subsequently yield to decrease in profits.

Certification/s adds a great value to your employee’s skill-set as well as your

organization’s professional marketability. Surveys indicate that employees with

additional certification/s stand a better chance for improved productivity of the

organization and hence achieving sky scrapping.

Organization benefits from the certified staff because certified staff understands the

common concepts speak in like terms and grow synergy within the organization. This

reduces conflicts and ultimately risks.

Other factors that result in lack of acquiring certifications from organizations perspective

are as follows:

1. The employees will have to seek various Centre’s and premises to get certified

which will decrease their working efficiency and will gradually lead to lack of

organization productivity.

2. There are possibilities that the vendor/s is not authorized and certifications

provided by them may not be genuine.

3
3. Organization can be in a state of dilemma with the reimbursement of the

certifications procured by their employees as the employees might have paid

different cost for same certification.

4. Employee may lead to stress which will affect their working efficiency.

1.3. OBJECTIVE

The objective of my website is too aware the employees working in organizations about

different type of certifications consists by IT industry. As different brands like

(Microsoft, oracle, pearsonVue, ec-council etc.) contains number of certifications which

an employee may not be aware of all, so this website help them to know and give test for

certifications and get certified with a brand name.

1.4 RECOMMENDATION

IT Certification – Not an Option, It’s a Necessity!!!!

To help your organization succeed through higher win rates and greater efficiency,

productivity and profitability. We provide the following facilities:

a) We render in-campus certification thereby helping your employees not to hunt

for different Centre’s for certification.

b) A lot of vendors provide absurd certifications but here in Global IT Success, , we

provide valid and authenticated certifications with our associating organization.

c) Once you earn a certification from Global IT Success, then you join a unique

group of certified and skilled professionals. This can prove to be an invaluable

peer resource group when seeking answers to problems or sharing the solutions

to your own challenging scenario.

4
d) The organization will not be perplexed when issuing reimbursement for varied

certifications.

e) Upskilling staff with professional certifications makes an organization more agile

and serves to improve performance. With digital transformation now, a priority

for many companies rather than an add-on, staff that respond quickly, keep on

top of trends and embrace shifts in technologies are key.

f) Employees with certifications tend to stay with organizations longer, reducing

hiring costs and minimizing disruption to the business.

Furthermore, when you count industry and country/state-backed credentials among your

list of achievements, you present to your clients a very transparent view of your

capabilities.

There are myriads of reasons why you should seek out certification in a number of IT-

related programs, software or skills, but three reasons are key:

1. Credibility

2. Marketability

3. Personal and Professional development

Global IT Success offers more than a dozen courses to help intellects achieve a sphere

of knowledge in their respective fields. These certifications help to build the right skills

you need to acquire in the field of IT and validates your expertise.

We offer the latest, best and only industry-recognized certifications for industry seekers.

We take pride in being partners of EXIN, PEOPLECERT, PEARSON VUE,

5
KRYTERION, PSI, MICROSOFT, EC-COUNCIL and many more prestigious IT

vendors.

1.5. Platform/Tools Used:

1.5.2. HTML

It is a language used for the specification of structural markup. HTML give the web

authors the means to publish online documents with headings, texts, tables, lists, photos

etc.HTML is used in our program to create forms in the server side for entering, updating

and viewing the server applications in a user friendly environment.

a. HTML is the standard markup language for creating Web pages.

b. HTML stands for Hyper Text Markup Language

c. HTML describes the structure of Web pages using markup

d. HTML elements are the building blocks of HTML pages

e. HTML elements are represented by tags .HTML tags label pieces of content such

as "heading", "paragraph", "table", and so on.

1.5.3. MYSQL

MySQL provides our small, medium and large enterprise customers with affordable,

open access to their web data warehouses. MySQL allows us to offer our System

Administrator low cost, low maintenance database solution for applications without

sacrificing power, performance or scalability. Benefits of MySQL are as follows:

a. Easy to maintain & upgrade, does not have a slew of administrative tasks to put

up. It has cleanly separated table handler modules and can mix access to different

type of tables. A high level data manipulation language used in MYSQL.

6
b. It is a relational database. Over the past several years, this relational database

management systems have become the most widely accepted way to manage

data. Easy to access data .Flexibility in data modeling

c. Reduced data storage and redundancy &Independence of physical storage and

logical data design

MySQL is developed, distributed, and supported by Oracle Corporation

1.6. SOFTWARE REQUIREMRNT SPECIFICATION

Software requirements (Recommended):

Operating system : Microsoft Windows 10


Front End : Sublime Text 3
Back End : SQL Server 2014

Hardware requirements (Recommended):

Processor : Intel(R) Core (TM) i3-4010u


RAM : 4 GB
System Type : 64 Bit

Technology Used

Framework : .Net Framework 4.5

Front End : Sublime Text 3

Back End : SQL Server 2014

7
CHAPTER 2
REQUIREMENT ANALYSIS

2.1. REQUIREMENT ANALYSIS

What according to you is the most crucial step in the web design and development

process. Do not be surprised to know that it is information gathering. Yes, we highly

interact with the client and take a lot of things into consideration. We need to have a

complete understanding of the service or product and know the complete requirements

of the client. Our technical experts ask a lot of questions unless they have gathered all

the information. Some of the essential points are:

Purpose of the website: Our first goal is to know the purpose of the website so that we

get a clear idea of the business. The purpose of the website will also define its goals

which can be either money or to gather information.

Target audience: This is a very important factor while designing a website. We take

into consideration the age, sex and their interest. We can create a picture of the entire

website, its look and feel. This helps us to choose the ideal website color,

font, content and style.

Functionalities and features: We try to know the exact functionalities the client wises

to have in the website and the various features. We ask them to offer reference websites

so for better understanding and exact solution.

Even if the client has planned his website minutely, we being the experts offer relevant

suggestions. We believe in delivering the best!

8
2.2. Feasibility Considerations:
There are three key considerations to the feasibility study:

2.2.1. Economic

2.2.2. Technical

2.2.3. Behavioral

2.2.1. Economic Feasibility:

Economic analysis is the most frequently used method for evaluating the effectiveness of

a candidate system. More commonly known as cost/benefit analysis, the procedure is to

determine the benefits and savings that are expected from a candidate system and

compare them with cost.

2.2.2. Technical Feasibility:

Technical feasibility centers on the existing computer system (hardware, software etc.)

and to what extent it can support the proposed addition. It involves financial

consideration to accommodate technical enhancement. If the budget is a serious

constraint, then the project is judged not feasible.

2.2.3. Behavioral Feasibility:


People are inherently resistant to change, and computers have been known to facilitate

change. An estimate should be made of how strong a reaction the user staff is likely to

have toward the development of a computerized system. It is common knowledge that

computer installations have something to do with turnover, transfers, retraining and

changes in employee job status.

9
2.3 Gantt Chart of The Activity

A Gantt chart is a type of bar chart, developed by Henry Gantt that illustrates a project

schedule. A Gantt chart is a visual view of tasks scheduled over time. Gantt charts are

used for planning projects of all sizes and they are a useful way of showing what work is

scheduled to be done on a specific day. They also help you view the start and end dates

of a project in one simple view.

On a Gantt chart you can easily see:

a) Homepage

b) Mobile Testing

c) Certification Offered

d) Contact Us

10
Figure 2.1: Homepage Gantt chart

Figure 2.2: Mobile Testing

11
Figure 2.3: Contact us

2.4: DATA FLOW DIAGRAM


Data flow diagrams are the most commonly used way of documenting the process of
current and required systems. As their name suggests they are a pictorial way of showing
the flow of data into/within the system, around the system and out of a system. The DFD
enable us to visualize how the system operates, its final output and the implementation
of the system as a whole including modification if any.
Representation of Components

DFD’s only involve four symbols. They are:

a) Process
b) Data Object
c) Data Store
d) External entity

12
Process
Transform of incoming data flow(s) to outgoing flow(s).

Dataflow
Movement of data in the system.

DataStore
Data repositories for data that are not moving. It may be as simple as a buffer or a queue or
a s sophisticated as a relational database.

ExternalEntity
Sources of destinations outside the specified system boundary.

2.4.1: DFD 0-Level

Login Update event

Login register Global IT


Admin Verify student Register
User
Success

Figure 2.4: Level-0-DFD

Description: This is zero level DFD of our application which show the entity and the
application and the output of the application. There is only one type of user of this
application that is admin. Admin request as login if login id and password is correct than
admin can use the project and generate bill and take report in the form of output.

13
2.4.2: DFD -1 Level

Figure 2.5: Level-1-DFD

14
2.5: E-R Diagram

ERD is a logical representation of an organization’s data, and consists of components:

a) Entity – Major categories of data and are represented by rectangles.


b) Attributes – Characteristics of entities and are listed within entity rectangles
attributes represented by oval shapes.
c) Relationships – Business relationships between entities and are represented by
lines
d) Weak Entity- A weak entity is an entity that depends on the existence of another
entity.
e) Multivalued Attribute- If an attribute can have more than one value.
f) Weak relationship- Entity is existence-independent of other entities.

15
2.5.1: ER Diagram

Usernam Email
Name Phon
e Password
e

Cad
User login data has User -id

Consist Date
of
Organize
by Timing

Exam Certificated
Id

Admin
Consist Certificated
of Offered

Username Password
Fig: 5.13: Entity Relationship Diagram
Position

Figure 2.6: E-R Diagram

16
2.6: Data Dictionaries

2.6.1: User Login Data

Table 2.1: User Login Table

2.6.2.:Admin Login-Table

Table 2.2: Admin Login Table

Fields Data Type Size Constraints

username Varchar2 10 Not null

Password Varchar2 10 Not null

17
2.6.3: Certifications Data

Table 2.3: Certifications Data Table

18
2.6.4: Login ID

Table 2.4: Login ID

2.6.5: Testimonial Data

Table 2.5: Testimonial Data

19
CHAPTER 3
SYSTEM DESIGN

3.1: Structured Chart

A Structure Chart (SC) in software engineering and organizational theory is


a chart which shows the breakdown of a system to its lowest manageable levels. They
are used in structured programming to arrange program modules into a tree. Each
module is represented by a box, which contains the module's name. The tree structure
visualizes the relationships between modules

GlobalITSucces
s

Certification
Home Mobile Testing Offered About Us Contact US

On - Site Certifications Customized Certifications

EXIN Microsoft Oracle People Cert HP IBM EC-council

Figure.3.1: Structure Chart

20
3.2 UML Diagrams

3.2.1: Use Case Diagram

A use case diagram at its simplest is a representation of a user's interaction with the
system that shows the relationship between the user and the different use cases in which
the user is involved.

Figure 3.2: Use Case Diagram

21
3.2.2: Class Diagram
A class diagram is an illustration of the relationships and source code dependencies
among classes in the Unified Modeling Language (UML). In this context, a class defines
the methods and variables in an object, which is a specific entity in a program or the unit
of code representing that entity.

Figure3.3: Class Diagram

22
3.2.3: Object Diagram

"An object diagram is a graph of instances, including objects and data values. A
static object diagram is an instance of a class diagram; it shows a snapshot of the
detailed state of a system at a point in time. The use of object diagrams is fairly limited,
namely to show examples of data structure’s

C: Client

H: home M: mobile testing C: certification A: About Us C: Contact Us


offered

M1: on site M2: customized


certification certification

C1: EXIN C2: oracle C3: Microsoft C4: IBM C5: HP

Figure 3.4: Object Diagram

23
3.2.4: Activity Diagram

Activity diagram describes the flow of control in a system. It consists of activities and
links. The flow can be sequential, concurrent, or branched.
Activities are nothing but the functions of a system. Numbers of activity diagrams are
prepared to capture the entire flow in a system.
Activity diagrams are used to visualize the flow of controls in a system. This is
prepared to have an idea of how the system will work when executed.

Figure 3.5: Activity Diagram

24
3.4.5: State Chart Diagram
Any real-time system is expected to be reacted by some kind of internal/external

events. These events are responsible for state change of the system.

State chart diagram is used to represent the event driven state change of a system. It

basically describes the state change of a class, interface, etc.

State chart diagram is used to visualize the reaction of a system by internal/external

factors.

Figure.3.6: State Chart Diagram

25
3.4.6: Component Diagram

Component diagrams represent a set of components and their relationships. These

components consist of classes, interfaces, or collaborations. Component diagrams

represent the implementation view of a system.

During the design phase, software artifacts (classes, interfaces, etc.) of a system are

arranged in different groups depending upon their relationship. Now, these groups are

known as components.

Finally, it can be said component diagrams are used to visualize the implementation.

Figure 3.7: Component diagrams

26
3.4.7: Collaboration Diagram
Collaboration diagram is another form of interaction diagram. It represents the
structural organization of a system and the messages sent/received. Structural
organization consists of objects and links.

The purpose of collaboration diagram is similar to sequence diagram. However, the


specific purpose of collaboration diagram is to visualize the organization of objects and
their interaction.

Figure 3.8: Collaboration diagram

27
3.4.8: Deployment Diagram
Deployment diagrams are a set of nodes and their relationships. These nodes are
physical entities where the components are deployed.
Deployment diagrams are used for visualizing the deployment view of a system. This is
generally used by the deployment team.

Figure 3.9: Deployment diagrams

28
Chapter 4
Coding Homepage Screenshot

Figure.4.1

29
Mobile Testing Screenshot

Figure.4.2

30
Figure.4.3

31
ABOUT US SCREENSHOT

Figure.4.4

32
CONTACT US SCREENSHOT

Figure.4.5

33
CHAPTER 5
TESTING AND MAINTENANCE
5.1 Introduction

Software testing is a process of executing a program or application with the intent of

finding the software bugs. Software testing is any activity aimed at evaluating an

attribute or capability of a program or system and determining that it meets its required

results. Although crucial to software quality and widely deployed by programmers and

testers, software testing still remains an art, due to limited understanding of the

principles of software. The difficulty in software testing stems from the complexity of

software: we can not completely test a program with moderate complexity. Testing is

more than just debugging. The purpose of testing can be quality assurance, verification

and validation, or reliability estimation. Testing can be used as a generic metric as well.

Correctness testing and reliability testing are two major areas of testing. Software testing

is a trade-off between budget, time and quality.

It can also be stated as the process of validating and verifying that a software program or

application or product:

a. Meets the business and technical requirements that guided it’s design and

development

b. Works as expected

c. Can be implemented with the same characteristic.

34
The definition of Software testing into the following parts:

5.1.1 Process: Testing is a process rather than a single activity.

5.1.2 All Life Cycle Activities: Testing is a process that’s take place throughout

the Software Development Life Cycle (SDLC).

a) The process of designing tests early in the life cycle can help to prevent defects from

being introduced in the code. Sometimes it’s referred as “verifying the test basis via

the test design”.

b) The test basis includes documents such as the requirements and design specifications.

c) Static Testing: It can test and find defects without executing code. Static Testing is

done during verification process. This testing includes reviewing of the documents

(including source code) and static analysis. This is useful and cost effective way of

testing. For example: reviewing, walkthrough, inspection, etc.

d) Dynamic Testing: In dynamic testing the software code is executed to demonstrate

the result of running tests. It’s done during validation process. For example: unit

testing, integration testing, system testing, etc.

e) Planning: We need to plan as what we want to do. We control the test activities, we

designing test cases report on testing progress and the status of the software under test.

f) Preparation: We need to choose what testing we will do, by selecting test conditions

and .

35
g) Evaluation: During evaluation we must check the results and evaluate the software

under test and the completion criteria, which helps us to decide whether we have

finished testing and whether the software product has passed the tests.

h) Software products and related work products: Along with the testing of code the

testing of requirement and design specifications and also the related documents like

operation, user and training material is equally important.

Software Testing is the process of executing a program or system with the intent of

finding errors. OR, it involves any activity aimed at evaluating an attribute or capability

of a program or system and determining that it meets its required results. Software is not

unlike other physical processes where inputs are received and outputs are produced.

Where software differs is in the manner in which it fails. Most physical systems fail in a

fixed (and reasonably small) set of ways. By contrast, software can fail in many bizarre

ways. Detecting all of the different failure modes for software is generally infeasible.

Unlike most physical systems, most of the defects in software are design errors, not

manufacturing defects. Software does not suffer from corrosion, wear-and-tear --

generally it will not change until upgrades, or until obsolescence. So once the software is

shipped, the design defects -- or bugs -- will be buried in and remain latent until

activation.

Software bugs will almost always exist in any software module with moderate size: not

because programmers are careless or irresponsible, but because the complexity of

software is generally intractable -- and humans have only limited ability to manage

36
complexity. It is also true that for any complex systems, design defects can never be

completely ruled out.

Discovering the design defects in software, is equally difficult, for the same reason of

complexity. Because software and any digital systems are not continuous, testing

boundary values are not sufficient to guarantee correctness. All the possible values need

to be tested and verified, but complete testing is infeasible. Exhaustively testing a simple

program to add only two integer inputs of 32-bits (yielding 2^64 distinct test cases)

would take hundreds of years, even if tests were performed at a rate of thousands per

second. Obviously, for a realistic software module, the complexity can be far beyond the

example mentioned here. If inputs from the real world are involved, the problem will get

worse, because timing and unpredictable environmental effects and human interactions

are all possible input parameters under consideration.

A further complication has to do with the dynamic nature of programs. If a failure occurs

during preliminary testing and the code is changed, the software may now work for a

test case that it didn't work for previously. But its behavior on pre-error test cases that it

passed before can no longer be guaranteed. To account for this possibility, testing should

be restarted. The expense of doing this is often prohibitive.

An interesting analogy parallels the difficulty in software testing with the pesticide,

known as the Pesticide Paradox .Every method you use to prevent or find bugs leaves a

residue of subtler bugs against which those methods are ineffectual. But this alone will

not guarantee to make the software better, because the Complexity Barrier principle

states: Software complexity (and therefore that of bugs) grows to the limits of our ability

37
to manage that complexity. By eliminating the (previous) easy bugs you allowed another

escalation of features and complexity, but his time you have subtler bugs to face, just to

retain the reliability you had before. Society seems to be unwilling to limit complexity

because we all want that extra bell, whistle, and feature interaction. Thus, our users

always push us to the complexity barrier and how close we can approach that barrier is

largely determined by the strength of the techniques we can wield against ever more

complex and subtle bugs.

Regardless of the limitations, testing is an integral part in software development. It is

broadly deployed in every phase in the software development cycle. Typically, more

than 50% percent of the development time is spent in testing. Testing is usually

performed for the following purposes:

a) To improve quality

As computers and software are used in critical applications, the outcome of a bug can be

severe. Bugs can cause huge losses. Bugs in critical systems have caused airplane

crashes, allowed space shuttle missions to go awry, halted trading on the stock market,

and worse. Bugs can kill. Bugs can cause disasters. The so-called year 2000 (Y2K) bug

has given birth to a cottage industry of consultants and programming tools dedicated to

making sure the modern world doesn't come to a screeching halt on the first day of the

next century. In a computerized embedded world, the quality and reliability of software

is a matter of life and death.

Quality means the conformance to the specified design requirement. Being correct, the

38
minimum requirement of quality, means performing as required under specified

circumstances. Debugging, a narrow view of software testing, is performed heavily to

find out design defects by the programmer. The imperfection of human nature makes it

almost impossible to make a moderately complex program correct the first time. Finding

the problems and get them fixed, is the purpose of debugging in programming phase.

b) For Verification & Validation (V&V)

Just as topic Verification and Validation indicated, another important purpose of testing

is verification and validation (V&V). Testing can serve as metrics. It is heavily used as a

tool in the V&V process. Testers can make claims based on interpretations of the testing

results, which either the product works under certain situations, or it does not work. We

can also compare the quality among different products under the same specification,

based on results from the same test.

We cannot test quality directly, but we can test related factors to make quality visible.

Quality has three sets of factors -- functionality, engineering, and adaptability. These

three sets of factors can be thought of as dimensions in the software quality space. Each

dimension may be broken down into its component factors and considerations at

successively lower levels of detail. Table 1 illustrates some of the most frequently cited

quality considerations. Good testing provides measures for all relevant factors. The

importance of any particular factor varies from application to application. Any system

where human lives are at stake must place extreme emphasis on reliability and integrity.

In the typical business system usability and maintainability are the key factors, while for

a one-time scientific program neither may be significant. Our testing, to be fully

39
effective, must be geared to measuring each relevant factor and thus forcing quality to

become tangible and visible. Tests with the purpose of validating the product works are

named clean tests, or positive tests. The drawbacks are that it can only validate that the

software works for the specified test cases. A finite number of tests can not validate that

the software works for all situations. On the contrary, only one failed test is sufficient

enough to show that the software does not work. Dirty tests, or negative tests, refers to

the tests aiming at breaking the software, or showing that it does not work. A piece of

software must have sufficient exception handling capabilities to survive a significant

level of dirty tests.

A testable design is a design that can be easily validated, falsified and maintained.

Because testing is a rigorous effort and requires significant time and cost, design for

testability is also an important design rule for software development.

c) For reliability estimation

Software reliability has important relations with many aspects of software, including the

structure, and the amount of testing it has been subjected to. Based on an operational

profile (an estimate of the relative frequency of use of various inputs to the

program, testing can serve as a statistical sampling method to gain failure data for

reliability estimation.

Software testing is not mature. It still remains an art, because we still cannot make it a

science. We are still using the same testing techniques invented 20-30 years ago, some of

which are crafted methods or heuristics rather than good engineering methods. Software

40
testing can be costly, but not testing software is even more expensive, especially in

places that human lives are at stake. Solving the software-testing problem is no easier

than solving the Turing halting problem. We can never be sure that a piece of software is

correct. We can never be sure that the specifications are correct. No verification system

can verify every correct program. We can never be certain that a verification system is

correct either.

5.1.3 Key Concepts

a) Correctness testing

Correctness is the minimum requirement of software, the essential purpose of testing.

Correctness testing will need some type of oracle, to tell the right behavior from the

wrong one. The tester may or may not know the inside details of the software module

under test, e.g. control flow, data flow, etc. Therefore, either a white-box point of view

or black-box point of view can be taken in testing software. We must note that the black-

box and white-box ideas are not limited in correctness testing only.

b) Black-box testing

The black-box approach is a testing method in which test data are derived from the

specified functional requirements without regard to the final program structure. It is also

termed data-driven, input/output driven, or requirements-based testing. Because only the

functionality of the software module is of concern, black-box testing also mainly refers

to functional testing -- a testing method emphasized on executing the functions and

41
examination of their input and output data. The tester treats the software under test as a

black box -- only the inputs, outputs and specification are visible, and the functionality is

determined by observing the outputs to corresponding inputs. In testing, various inputs

are exercised and the outputs are compared against specification to validate the

correctness. All test cases are derived from the specification. No implementation details

of the code are considered.

It is obvious that the more we have covered in the input space, the more problems we

will find and therefore we will be more confident about the quality of the software.

Ideally we would be tempted to exhaustively test the input space. But as stated above,

exhaustively testing the combinations of valid inputs will be impossible for most of the

programs, let alone considering invalid inputs, timing, sequence, and resource variables.

Combinatorial explosion is the major roadblock in functional testing. To make things

worse, we can never be sure whether the specification is either correct or complete. Due

to limitations of the language used in the specifications (usually natural language),

ambiguity is often inevitable. Even if we use some type of formal or restricted language,

we may still fail to write down all the possible cases in the specification. Sometimes, the

specification itself becomes an intractable problem: it is not possible to specify precisely

every situation that can be encountered using limited words. And people can seldom

specify clearly what they want -- they usually can tell whether a prototype is, or is not,

what they want after they have been finished. Specification problems contributes

approximately 30 percent of all bugs in software.

The research in black-box testing mainly focuses on how to maximize the effectiveness

42
of testing with minimum cost, usually the number of test cases. It is not possible to

exhaust the input space, but it is possible to exhaustively test a subset of the input space.

Partitioning is one of the common techniques. If we have partitioned the input space and

assume all the input values in a partition is equivalent, then we only need to test one

representative value in each partition to sufficiently cover the whole input space.

Domain testing partitions the input domain into regions and consider the input values in

each domain an equivalent class. Domains can be exhaustively tested and covered by

selecting a representative value(s) in each domain. Boundary values are of special

interest. Experience shows that test cases that explore boundary conditions have a higher

payoff than test cases that do not. Boundary value analysis requires one or more

boundary values selected as representative test cases. The difficulties with domain

testing are that incorrect domain definitions in the specification can not be efficiently

discovered.

Good partitioning requires knowledge of the software structure. A good testing plan will

not only contain black-box testing, but also white-box approaches, and combinations of

the two.

c) White-box testing

Contrary to black-box testing, software is viewed as a white-box, or glass-box in white-

box testing, as the structure and flow of the software under test are visible to the tester.

Testing plans are made according to the details of the software implementation, such as

programming language, logic, and styles. Test cases are derived from the program

structure. White-box testing is also called glass-box testing, logic-driven testing or

43
design-based testing

There are many techniques available in white-box testing, because the problem of

intractability is eased by specific knowledge and attention on the structure of the

software under test. The intention of exhausting some aspect of the software is still

strong in white-box testing, and some degree of exhaustion can be achieved, such as

executing each line of code at least once (statement coverage), traverse every branch

statements (branch coverage), or cover all the possible combinations of true and false

condition predicates (Multiple condition coverage).

Control-flow testing, loop testing, and data-flow testing, all maps the corresponding

flow structure of the software into a directed graph. Test cases are carefully selected

based on the criterion that all the nodes or paths are covered or traversed at least once.

By doing so we may discover unnecessary "dead" code -- code that is of no use, or never

get executed at all, which cannot be discovered by functional testing.

In mutation testing, the original program code is perturbed and many mutated programs

are created, each contains one fault. Each faulty version of the program is called a

mutant. Test data are selected based on the effectiveness of failing the mutants. The more

mutants a test case can kill, the better the test case is considered. The problem with

mutation testing is that it is too computationally expensive to use. The boundary between

black-box approach and white-box approach is not clear-cut. Many testing strategies

mentioned above, may not be safely classified into black-box testing or white-box

testing. It is also true for transaction-flow testing, syntax testing, finite-state testing, and

many other testing strategies not discussed in this text. One reason is that all the above

44
techniques will need some knowledge of the specification of the software under test.

Another reason is that the idea of specification itself is broad -- it may contain any

requirement including the structure, programming language, and programming style as

part of the specification content.

We may be reluctant to consider random testing as a testing technique. The test case

selection is simple and straightforward: they are randomly chosen. Study in indicates

that random testing is more cost effective for many programs. Some very subtle errors

can be discovered with low cost. And it is also not inferior in coverage than other

carefully designed testing techniques. One can also obtain reliability estimate using

random testing results based on operational profiles. Effectively combining random

testing with other testing techniques may yield more powerful and cost-effective testing

strategies.

d) Performance testing

Not all software systems have specifications on performance explicitly. But every

system will have implicit performance requirements. The software should not take

infinite time or infinite resource to execute. "Performance bugs" sometimes are used to

refer to those design problems in software that cause the system performance to degrade.

Performance has always been a great concern and a driving force of computer evolution.

Performance evaluation of a software system usually includes: resource usage,

throughput, stimulus-response time and queue lengths detailing the average or maximum

number of tasks waiting to be serviced by selected resources. Typical resources that need

45
to be considered include network bandwidth requirements, CPU cycles, disk space, disk

access operations, and memory usage. The goal of performance testing can be

performance bottleneck identification, performance comparison and evaluation, etc. The

typical method of doing performance testing is using a benchmark -- a program,

workload or trace designed to be representative of the typical system usage.

e) Reliability testing

Software reliability refers to the probability of failure-free operation of a system. It is

related to many aspects of software, including the testing process. Directly estimating

software reliability by quantifying its related factors can be difficult. Testing is an

effective sampling method to measure software reliability. Guided by the operational

profile, software testing (usually black-box testing) can be used to obtain failure data,

and an estimation model can be further used to analyze the data to estimate the present

reliability and predict future reliability. Therefore, based on the estimation, the

developers can decide whether to release the software, and the users can decide whether

to adopt and use the software. Risk of using software can also be assessed based on

reliability information advocates that the primary goal of testing should be to measure

the dependability of tested software.

There is agreement on the intuitive meaning of dependable software: it does not fail in

unexpected or catastrophic ways. Robustness testing and stress testing are variances of

reliability testing based on this simple criterion.

The robustness of a software component is the degree to which it can function correctly

46
in the presence of exceptional inputs or stressful environmental conditions. Robustness

testing differs with correctness testing in the sense that the functional correctness of the

software is not of concern. It only watches for robustness problems such as machine

crashes, process hangs or abnormal termination. The oracle is relatively simple;

therefore robustness testing can be made more portable and scalable than correctness

testing. This research has drawn more and more interests recently, most of which uses

commercial operating systems as their target

Stress testing, or load testing, is often used to test the whole system rather than the

software alone. In such tests the software or system are exercised with or beyond the

specified limits. Typical stress includes resource exhaustion, bursts of activities, and

sustained high loads.

a) Security testing

Software quality, reliability and security are tightly coupled. Flaws in software can be

exploited by intruders to open security holes. With the development of the Internet,

software security problems are becoming even more severe.

Many critical software applications and services have integrated security measures

against malicious attacks. The purpose of security testing of these systems include

identifying and removing software flaws that may potentially lead to security violations,

and validating the effectiveness of security measures. Simulated security attacks can be

performed to find vulnerabilities

47
b) Testing automation

Software testing can be very costly. Automation is a good way to cut down time and

cost. Software testing tools and techniques usually suffer from a lack of generic

applicability and scalability. The reason is straight-forward. In order to automate the

process, we have to have some ways to generate oracles from the specification, and

generate test cases to test the target software against the oracles to decide their

correctness. Today we still don't have a full-scale system that has achieved this goal. In

general, significant amount of human intervention is still needed in testing. The degree

of automation remains at the automated test script level.

The problem is lessened in reliability testing and performance testing. In robustness

testing, the simple specification and oracle: doesn't crash, doesn't hang suffices. Similar

simple metrics can also be used in stress testing.

5.2 Maintenance

The development of your web site is not necessarily over, though. One way to bring

repeat visitors to your site is to offer new content or products on a regular basis. Most

web designers will be more than happy to continue working together with you, to update

the information on your web site. Many designers offer maintenance packages at

reduced rates, based on how often you anticipate making changes or additions to your

web site.

If you prefer to be more hands on, and update your own content, there is something

called a CMS (Content Management System) that can be implemented to your web site.

48
This is something that would be decided upon during the Planning stage. With a CMS,

your designer will utilize online software to develop a database driven site for you.

A web site driven by a CMS gives you the ability to edit the content areas of the web site

yourself. You are given access to a back-end administrative area, where you can use an

online text editor (similar to a mini version of Microsoft Word). You all be able to edit

existing content this way, or if you are feeling more adventurous, you can even add new

pages and content yourself. The possibilities are endless!

It’s really up to you as far as how comfortable you feel as far as updating your own web

site. Some people prefer to have all the control so that they can make updates to their

own web site the minute they decide to do so. Others prefer to hand off the web site

entirely, as they have enough tasks on-hand that are more important for them to handle

directly.

Thats where the help of a your web designer comes in, once again, as they can take over

the web site maintenance for you one less thing for you to do is always a good thing in

these busy times!

Other maintenance type items include SEO (Search Engine Optimization) and SES

(Search Engine Submission). This is the optimization of you web site with elements

such as title, description and keyword tags which help your web site achieve higher

rankings in the search engines. The previously mentioned code validation is something

that plays a vital role in SEO, as well.

49
There are a lot of details involved in optimizing and submitting your web site to the

search engines enough to warrant its own post. This is a very important step, because

even though you now have a web site, you need to make sure that people can find it!

After implementation of the system, maintenance phase looks for all the activity that is

mandatory to keep the system operational. There are two major types of maintenance

corrective maintenance and adaptive maintenance.

5.2.1. Corrective Maintenance:

Even after putting extra efforts and expertise on board for developing flawless software,

it is practically not possible to have fault free system. We do look into the system even

after installed in production for defects. The defects popped up during the usage of the

system need to be fixed and this type of fixing will fall under corrective maintenance.

5.2.2. Adaptive Maintenance:

It has been observed that user come up with some uncovered requirement which was not

a part of requirement analysis phase, but they got to know new things only after using

the system. Usage of the system helps the user to define their requirement more

accurately. This requirement may cause the modification is accepted and installed

system, this type of medication fall under adaptive maintenance.

5.2.3. Effective Maintenance required following things

 Understand Existing code and related document

 Making the changes in code and related documents

 Testing the changes were done during adaptive and corrective maintenance

 Retesting all old parts, those were not the part of changes.

50
5.3: TEST CASES

Table 5.1 Login: This table includes the information of login module

Test Input Actual Output Obtained Desc


Output

Valid Login User Id, Login Success Login Success Test Passed!
Password Control
Transferred to
Menu

Invalid Login User Id, Login Failed Login Failed Test Passed!
Password Try Again

Invalid Login Null, Null Login Failed Login Failed Test Passed!
Try Again

51
Table 5.2: This table includes the information of Register module

Test Case Input Actual Obtained Desc

Output Output

Register Candidate Success Success Test Passed.

Details Candidate Register and

associated with Global IT

Success

Register Candidate Failed Failed Test Passed.

Details Invalid or incomplete data.

Try again.

52
CHAPTER 6
CONCLUSION

There was a lot of fun in making this project. This project was very useful to us as it

provided us the inside view of the planning and implementation of the data base. In this

project we had to think about the various options which we can provide to user. The

implementation was not easy as we had to look into the minute details in order to

achieve my goals. We have tried to make this project user friendly and also interactive

by providing many features. We are satisfied by achieving the goals for which we had

planned. A lot of experimental work can be done with this project. Looking forward for

any advice which can help us to improve the project.

The result of the Global It Success is that it supports many type of different-different

criteria for Certificated Offered and the individual user with unique interface, through

which the Candidate Can Solve problems are solved within given time and it shows

efficiency in the internal messaging system and results in accurate task scheduling

system and this can be run with the minimal administration.

In this sense, Data Mining (DM) can contribute with important benefits to the

Information Technology sector, as a fundamental tool to analyze the individual data

gathered by Certificated provide and obtain models and patterns which can improve

individual candidate that improve in IT Industry.

53
CHAPTER 7
FUTURE SCOPE OF THE PROJECT

a) I’m adamantly in the camp of putting the majority of your focus into the

fundamentals- not the newest fringe technologies simply because everyone is talking

about them.

b) The web development landscape is evolving at such a rapid pace that it’s far more

practical to focus on developing a strong foundation.

c) This obviously doesn’t mean the future scope of web development isn’t important.

So long as you’re thinking about it for the right reasons, it can be fun and exciting to

look ahead and make bold predictions about the future of programming.

d) I mention this in other answers, but here are a few things I see on the horizon:

e) ES6 is the future of web development. With JavaScript now dominating the lives of

tons of web developers, its future is bright. ES6 is a superset of JavaScript, and it’s

pretty clear that ES6 is the future of the internet. It supports a lot of features that

make it a really enjoyable programming language to use. It includes a lot of forward-

thinking ideas in addition to concepts that are easy to understand from a traditional

object-oriented programming background.

f) Reacts will start a revolution. React and Flux have sparked a conversation around the
idea of components, or small, reusable widgets of web applications that are easy to
build out.

54
REFERENCES

[1] Graham, I. S. (1995). The HTML sourcebook. John Wiley & Sons, Inc..

[2] Musciano, C., & Kennedy, B. (1996). HTML, the definitive Guide. O'Reilly &

Associates.

[3] Raggett, D., Le Hors, A., & Jacobs, I. (1999). HTML 4.01 Specification. W3C

recommendation, 24.

[4] Goodman, D. (2002). Dynamic HTML: The Definitive Reference: A

Comprehensive Resource for HTML, CSS, DOM & JavaScript. " O'Reilly

Media, Inc.".

[5] Robbins, J. N. (2012). Learning web design: A beginner's guide to HTML, CSS,

JavaScript, and web graphics. " O'Reilly Media, Inc.".

[6] Stark, J. (2010) with HTML, CSS, and JavaScript. " O'Reilly Media, Inc.".

[7] Powell, T. A. (2010). HTML and CSS: The Complete Reference, Complete

Reference Series. McGraw-Hill Osborne, New York, NY.

[8] Duckett, J. (2011). HTML and CSS: design and build websites. John Wiley &

Sons.

[9] Lie, H. W., & Saarela, J. (1999). Multipurpose Web publishing using HTML,

XML, and CSS. Communications of the ACM, 42(10), 95-101.

[10] Lal, R., & Chava, L. C. (2010). Developing web widget with HTML, CSS, JSON

and AJAX: A complete guide to web widget. CreateSpace.

[11] Robson, E., & Freeman, E. (2005). Head First Html With CSS & XHTML. "

O'Reilly Media, Inc.".

55
[12] Peroni S, Shotton D. 2012. FaBiO and CiTO: ontologies for describing

bibliographic resources and citations. Web Semantics 17:33–43

[13] Spinaci G, Peroni S, Di Iorio A, Poggi F, Vitali F. 2017. The RASH Javascript

editor (RAJE)—a wordprocessor for writing Web-first scholarly articles. In:

Proceeding of the 17th ACM symposium on document engineering (DocEng

2017). New York: ACM, 85–94

[14] Sporny M. 2015. HTML+RDFa 1.1: support for RDFa in HTML4 and HTML5.

W3C recommendation 17 March 2015. World Wide Web Consortium.

[15] Sporny M, Kellogg G, Lanthaler M. 2014. JSON-LD 1.0—a JSON-based

serialization for linked data. W3C Recommendation 16 January 2014. World

Wide Web Consortium.

[16] Walsh N. 2009. The DocBook Schema Version 5.0. OASIS Standard, 1

November 2009. Burlington: Organization for the Advancement of Structured

Information Standards.

[17] Kamini, Silky Sachar, Sonia Suneja(2017), “Review Paper on Mean Stack for Web

Development”, International Journal for Scientific Research &Development;Vol.

5, Issue 01; ISSN (online): 2321-0613

[18] Bonny Alex Ninan, Sooraj S. R. and AnanthakrishnanBaji, Manoj C., Anoop M.

S., RatheeshS.andJooby E(2016), “Literature Review Web Application

Designed For Schools and Colleges”, Imperial Journal of Interdisciplinary

56
Research (IJIR),Vol-2, Issue-4, ISSN: 2454-1362

[19] M.Taylor, McWilliam, S. Wade and W. Anacoura(2015), “A User Centre Website

Development Approach”, International Conference on, Troyes.

[20] A. Karnik, “Performance of TCP congestion control with rate feedback:

TCP/ABR and rate adaptive TCP/IP,” M. Eng. thesis, Indian Institute of Science,

Bangalore, India, Jan. 1999.

[21] SerdarDogan ,AysuBetin-Can , VahidGarousi(2014), “Web application testing: A

systematic literature review”, The Journal of Systems and Software

[22] Badros, G. J., Borning, A., Marriott, K. and Stuckey, P.; Constraint Cascading

Style Sheets for the Web; Technical Report UW CSE 99-05-01; Reprinted in

Proceedings of the 12th annual ACM symposium on User interface software and

technology, p.73-82, November 1999, Asheville, North Carolina, United States

[23] Behlendorf, B.; Re: Cascading HTML style sheets – a proposal; Message posted

to www-talk 13 Oct 1994

[24] Burnard, L.; FOSI/sgml stylesheets; Message posted to www-talk 27 Oct 1993

[25] Furuta, R., Scofield, J. and Shaw, A; Document Formatting Systems: Survey,

Concepts, and Issues; Computing Surveys, 14, 3, 417472.

[26] Glazman, D.; Simple Tree Transformation Sheets 2; W3C Note 17 Oct 1997

[27] Graham, S. L., Harrison, M. A. and Munson, E. V.; The Proteus Presentation

57
System; University of California, Berkeley, California; The paper appeared in the

Proceedings of the Fifth ACM SIGSOFT Symposium on Software Development

Environments, Tyson's Corner, VA, December 911 1992

[28] Raggett, D.; HTML+ (Hypertext markup format); 8 Nov 1993

[29] Raggett, D.; HTML 3.2 Reference Specification; W3C Recommendation 14 Jan

1997

[30] HTML WG Last Call Comments, part 1 of 2; Message posted to www-xml-

linking-comments 13 Mar 2000

[31] Raggett, D.; Standardizing new HTML features; Message posted to www-talk 27

Apr 1993

[32] Raggett, D.; Re: Standardizing new HTML features; Message posted to www-

talk 28 Apr 1993

[33] Clark, J. (editor); Associating Style Sheets with XML documents, Version 1.0;

W3C Recommendation 29 Jun 1999

[34] Adler, S., Berglund, A., Caruso, J., Deach, S., Graham, T., Grosso, P., Gutentag,

E., Milowski, A., Parnell, S., Richman, J. and Zilles, S.; Extensible Stylesheet

Language (XSL) Version 1.0; W3C Recommendation 15 October 2001

[35] N. E. Beckman, A. V. Nori, S. K. Rajamani, and R. J. Simmons. Proofs from

tests. In Proceedings of the 2008 International Symposium on Software Testing

58
and Analysis

[36] A. Bertolino, G. DeAngelis, and A. Sabetta. VCR: Virtual capture and replay for

performance testing. In Proceedings of Automated Software Engineering, pages

399–402, Nov. 2008

[37] R. V. Binder. Open source tools for model-based testing.

http://robertvbinder.com/open-source-tools-for-model-basedtesting.

[38] S. Bucur, V. Ureche, C. Zamfir, and G. Candea. Parallel symbolic execution for

automated real-world software testing. In Proceedings of the Sixth Conference

on Computer Systems

[39] J. Bowring, A. Orso, and M. J. Harrold. Monitoring deployed software using

software tomography. In Proceedings of the ACM SIGPLAN-SIGSOFT

Workshop on Program Analysis for Software Tools and Engineering, pages 2–8,

Nov. 2002.

[40] C. Cadar, D. Dunbar, and D. Engler. KLEE: Unassisted and automatic generation

of high-coverage tests for complex systems programs. In Proceedings of the

USENIX Conference on Operating Systems Design and Implementation, pages

[41] C. Cadar and D. R. Engler. Execution generated test cases: How to make systems

code crash itself. In Proceedings of the SPIN Symposium on Model Checking of

Software

[42] C. Cadar, P. Godefroid, S. Khurshid, C. S. Pas˘ areanu, K. Sen, ˘ N. Tillmann,

59
and W. Visser. Symbolic execution for software testing in practice: Preliminary

assessment. In Proceedings of the International Conference on Software

Engineering

[43] N. Chen and S. Kim. Puzzle-based automatic testing: Bringing humans into the

loop by solving puzzles. In Proceedings of the International Conference on

Automated Software Engineering,

[44] G. Fraser, M. Staats, P. McMinn, A. Arcuri, and F. Padberg. Does automated

white-box test generation really help software testers? In Proceedings of the

International Symposium on Software Testing and Analysis

[45] ] D. Garg and A. Datta. Test case prioritization due to database changes in web

applications. In Proceedings of the International Conference on Software Testing

[46] M. J. Harrold, R. Gupta, and M. L. Soffa. A methodology for controlling the size

of a test suite. ACM Transactions on Software Engineering and Methodology

[47] P. Godefroid, N. Klarlund, and K. Sen. DART: Directed automated random

testing. In Proceedings of the ACM SIGPLAN Conference on Programming

Language Design and Implementation

[48] W. Grieskamp, X. Qu, X. Wei, N. Kicillof, and M. B. Cohen. Interaction

coverage meets path coverage by smt constraint solving. In Joint Conference of

the IFIP International Conference on Testing of Communicating Systems and

International Workshop on Formal Approaches to Testing of Software, 2009.

60
[49] H. Hemmati, A. Arcuri, and L. Briand. Achieving scalable model-based testing

through test case diversity. ACM Transactions on Software Engineering and

Methodology, 22(1):6:1–6:42, 2012.

[50] P. Puschner and R. Nossal. Testing the results of static worst-case execution-

time analysis. In Proceedings of the real-time systems symposium, pages 134–

143, Dec. 1998.

61

Вам также может понравиться