Upload
karthick49
View
216
Download
0
Embed Size (px)
Citation preview
7/28/2019 Web Testing1
1/13
1) What is web application?
It is Software application that is accessed over a network such as the Internet or an intranet through a web
browser.
2) What are the different types of environments available in the Web?
Intranet (Local Network)
Internet (Wide area Network)Extranet (Private network over Internet)
3) What is intranet application?
It is a private application, can be accessed within the Organization only. It uses Local /Private Network and Internet
Protocol technology to share information.
4) What is internet application?
Generally it is a public web application, uses Wide area network. It can be accessed from anywhere.
5) What is extranet application?
It is also a private application over internet, can be accessed by fixed machines only. It uses Wide area network
and Internet Protocol technology to share information.
6) What are the different types of web applications available in the industry?
Websites
Web portals
Web applications
Social networks
Web blogs
Email communication provides
Discussion forums Etc...
7) What is website?
Basically website is an information provider, It provides information globally using internet protocols.
8) What is web portal?
Web portal is a business gateway, It organizes business operations.
Ex: Online shopping portals, Job portals etc...
9) What is web application?
Web application provides services (Free and Paid) apart from information.
7/28/2019 Web Testing1
2/13
Ex: Online Banking System
it provides Bank information, Branches & ATM Information, Loans information etc...
And It provides balance enquiry, Fund transfer, Bill payments like services.
10) What is HTML?
HTML stands for Hyper Text Markup Language, it is for displaying web pages and other information. Basically it is
data presenter in the web.
11) What is Client side validation?
Validating client side forms, which is typically done by Java Script. Generally it checks weather the user is entering
correct form of data or not? and entering all mandatory fields or not?
Client site validation is 2 types One is Field level validation another is Form level validation.
12) What is Server side validation?
Validating, processing client requests and providing response from the Server.
13) What is web server?
Web server handles Clint side and server side validations and helps to deliver Web content that can be accessed
through the Internet protocols.
Examples:
Microsoft IIS (Internet Information Service)
Apache Web server from Apache
Java Web server
Pramathi web server etc...
14) What is application server?
Application Server also called an appserver, It is a program that handles all application operations between users
and an organization's back-end business applications or databases.
Examples:
Bea WebLogic
IBM WebSphre
15) What is database server?
Database server is used to refer to the back-end system of a database application using client/server architecture.
7/28/2019 Web Testing1
3/13
The back-end, sometimes called a database server, performs tasks such as data design, storage, data
manipulations, archiving, and other non-user specific tasks.
Examples:
Oracle
MS SQL Server
MySQL (Open source)
IBM DB2 etc...
16) What is HTTP?
Hyper Text Transfer Protocol, the data transfer protocol used on the World Wide Web.
17) What is HTTPS?
HTTPS stands for Hypertext Transfer Protocol Secure is a widely-used communications protocol for secure
communication over a computer network.
18) What is purpose of Java Script in the Web?
It is for performing client side validations.
19) What is the purpose of Vbscript in the Web?
It can be used for client side validations as well as Server side validations.
20) What is Web Browser?
Web browser is a software application used to locate, retrieve and also display content on the World Wide Web,
including Web pages, images, videos and other files.
Examples:
Microsoft Internet Explorer
Mozilla Firefox
Google Chrome
Opera
Safari etc
21) What is Server side testing?
22) What are the advantages of web applications than GUI based applications?
7/28/2019 Web Testing1
4/13
Only server side installation, client side installation is not mandatory, so deployment and maintenance is easy.
It can be accessible anywhere, anytime via a PC with an Internet connection.
The user interface of web-based applications is easier to customize than it is in GUI applications.
Content can also be customized for presentation on any device connected to the internet, including PDAs, mobile
phones etc
Supports thousands of clients effectively
Adding and removing clients is very easy.
23) What is WWW?
The term WWW refers to the World Wide Web or simply the Web. The World Wide Web consists of all the public
Web sites connected to the Internet worldwide, including the client devices (such as computers and cell phones)
that access Web content. The WWW is just one of many applications of the Internet and computer networks.
24) What is Web Services?
Web services are application components, communicate using open protocols and these can be used by other
applications.
XML is the basis for Web services
SOAP (Simple Object Access Protocol), UDDI (Universal Description, Discovery and Integration) and WSDL (Web
Services Description Language) are the Web services platform elements.
25) What are the important aspects in Web testing?
Functional Testing (includes links testing, navigation testing etc...),
Security Testing,
Database Testing (includes Data integrity, data manipulations, data retrievals etc..),
Performance Testing (includes all types of performance like Load Testing, Stress Testing, Spike Testing, Endurance
Testing and Data volume Testing),
Usability Testing,
Navigation testing,
Configuration Testing,
Compatibility Testing,
Reliability Testing,
Availability Testing,
Scalability Testing Etc...
7/28/2019 Web Testing1
5/13
How you can test Web Based Application
Website Testing: In sample terms, testing the web based application and finds the all possible bugs and need to fix
all before the changes uploaded on production or become live.
All same scenarios are also applies here for the web based testing i.e. functional testing, traffic or performance
testing etc.
Scenarios checklist for the Web Based Application:
i. Functionality Testing of Web application All required functionality will be tested here for Web based
application as provided in requirement by client. It can be of different type. Some common functions are provided
below which are generally used in web testing for all the web based applications:
a. Links testing: All types of links should be work properly. There should not any broken links. All types of links
mean Mail to link, Outgoing link, Anchor link, and Internal links.
b. Forms Testing: Required field testing, mean need to confirm that all required fields are populated or not. User
should not be able to submit the form without filling the required fields. Default Value testing all type of default
values should be populated automatically without any delay or problem. Backend structure should be properly
healthy mean when any form will be submitted then all details should be submitted into database properly. Form
should be user friendly.
c. Cookies Testing: Cookies testing is also required, to confirm the login session and active user performance.
These are the small files which are only used to remember the active user sessions.
d. HTML and CSS testing to confirm the crawl engines performance on the required website. This testing
generally includes the Syntax Errors, Readable color schemas and Standard compliance.
e. Business workflow testing: Done testing end to end scenarios. Positive and Negative scenarios both need to
used in testing to ensure the business workflow process.
ii. Usability Testing: Generally meaning of usability is how much useful is the web application. In todays
era Usability Testing is the vital part of the testing process which is generally performed by the test engineers or
the small group selected by the team managers.
a. Menus, buttons or links should be available on all pages of website so that visitors can easily visit the pages of
website.
b. Content should be quality content without any spelling or grammatical mistakes.c. If Images are available then properly alt tags and other properties should available.
iii. Interface Testing: In web application there are three areas which are need to test Application, Web
and Database Server. Mean Proper integration in between the web server, application and database server should
be maintain without any bug when changes will be live for visitors.
iv. Database Testing: Database testing is very important part of web application. We need to confirm the
following points to test the database testing: Error in executed query, Data integrity should be maintained while
creating updating or deleting the records in SQL from the front end of application. Saved data/records should be
retrieved properly and show on front end without showing any error or issues.
v. Compatibility testing: Compatibility testing includes the Browser compatibility, Resolution compatibility
and operation system compatibility. Web application should pass all these compatibilities.
vi. Performance / Load Testing: mean what is the performance of website under different load or stress.
On one time different -2 users can access the website which can put load on website and website can crash due to
this load. To confirm the load and stress compatibility of website is called the performance testing.
vii. Security Testing: To confirm the web application is how much secure. Test engineers need to perform
the security testing. Main scenarios which generally perform in this testing are a. Restrict Unauthorized access, b.
Restrict Unauthorized download / upload c. Session should be killed automatically when user will sign out or leave
the system.
7/28/2019 Web Testing1
6/13
HTTP
HTTP is a protocol with the lightness and speed necessary for a distributed collaborative hypermedia
information system. It is a generic stateless object-oriented protocol, which may be used for many similar
tasks such as name servers, and distributed object-oriented systems, by extending the commands, or
"methods", used. A feature if HTTP is the negotiation of data representation, allowing systems to be built
independently of the development of new advanced representations.Purpose
When many sources of networked information are available to a reader, and when a discipline of reference
between different sources exists, it is possible to rapidly follow references between units of information which
are provided at different remote locations. As response times should ideally be of the order of 100ms in, for
example, a hypertext jump, this requires a fast, stateless, information retrieval protocol.
Practical information systems require more functionality than simple retrieval, including search, front -end
update and annotation. This protocol allows an open-ended set of methods to be used. It builds on the
discipline of reference provided by the Universal Resource Identifier (URI) as a name (URN, RFCxxxx) or
address (URL, RFCxxxx) allows the object of the method to be specified.
Reference is made to the Multipurpose Internet Mail Extensions (MIME, RFC1341) which are used to allow
objects to be transmitted in an open variety of representations.
Overall operation
On the internet, the communication takes place over a TCP/IP connection. This does not preclude this
protocol being implemented over any other protocol on the internet or other networks. In these cases, the
mapping of the HTTP request and response structures onto the transport data units of the protocol in
question is outside the scope of this specification. It should not however be at all complicated.
The protocol is basically stateless, a transaction consisting of
Connection
The establishment of a connection by the client to the server - when using TCP/IP port 80 is the well-knownport, but other non-reserverd ports may be specified in the URL;
Request
The sending, by the client, of a request message to the server;
Response
The sending, by the server, of a response to the client;
Close
The closing of the connection by either both parties.
The format of the request and response parts is defined in this specification. Whilst header information
defined in this specification is sent in ISO Latin-1 character set in CRLF terminated lines, object transmission in
binary is possible.
Cookie
A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to
remember information about you, similar to a preference file created by a software application.
While cookies serve many functions, their most common purpose is to store login information for a specific
site. Some sites will save both your username and password in a cookie, while others will only save your
username. Whenever you check a box that says, "Remember me on this computer," the website will
7/28/2019 Web Testing1
7/13
generate a login cookie once you successfully log in. Each time you revisit the website, you may only need to
enter your password or you might not need to log in at all.
Cookies are also used to store user preferences for a specific site. For example, a search engine may store
your search settings in a cookie. A news website may use a cookie to save a custom text size you select for
viewing news articles. Financial websites sometimes use cookies to store recently viewed stock quotes. If a
website needs to store a lot of personal information, it may use a cookie to remember who you are, but willload the information from the web server. This method, called "server side" storage, is often used when you
create an account on a website.
Browser cookies come in two different flavors: "session" and "persistent." Session cookies are temporary
and are deleted when the browser is closed. These types of cookies are often used by e-commerce sites to
store items placed in your shopping cart, and can serve many other purposes as well. Persistent cookies are
designed to store data for an extended period of time. Each persistent cookie is created with an expiration
date, which may be anywhere from a few days to several years in the future. Once the expiration date is
reached, the cookie is automatically deleted. Persistent cookies are what allow websites to "remember
you" for two weeks, one month, or any other amount of time.
Most web browsers save all cookies in a single file. This file is located in a different directory for each
browser and is not meant to be opened manually. Fortunately, most browsers allow you to view your
cookies in the browser preferences, typically within the "Privacy" or "Security" tab. Some browsers allow
you to delete specific cookies or even prevent cookies from being created. While disallowing cookies in your
browser may provide a higher level of privacy, it is not recommended since many websites require cookies
to function properly.
NOTE: Since cookies are stored in a different location for each web browser, if you switch browsers, new
cookies will need to be created
Session
in the computing world, a session refers to a limited time of communication between two systems. Some
sessions involve a client and a server, while other sessions involve two personal computers.
A common type of client/server session is a Web or HTTP session. An HTTP session is initiated by a Web
browser each time you visit a website. While each page visit constitutes an individual session, the term is often
used to describe the entire time you spend on the website. For example, when you purchase an item on an
ecommerce site, the entire process may be described as a session, even though you navigated through several
different pages.
Another example of a client/server session is an email or SMTP session. Whenever you check your email with
an email client, such as Microsoft Outlook or Apple Mail, you initiate an SMTP session. This involves sending
your account information to the mail server, checking for new messages, and downloading the messages from
the server. Once the messages have been downloaded, the session is complete.
An example of a session between two personal computers is an online chat, or instant messaging session. This
type of session involves two computers, but neither system is considered a server or client. Instead, this type
of communication is called a peer-to-peer or P2P. Another example of P2P communication is BitTorrent file
sharing, where file downloads are comprised of one or more sessions with other computers on the BitTorrent
network. A P2P session ends when the connection between two systems is terminated.
Server side web sessions
Server-side sessions are handy and efficient, but can become difficult to handle in conjunction with load-
balancing/high-availability systems and are not usable at all in some embedded systems with no storage
Client side web sessions
7/28/2019 Web Testing1
8/13
Client-side sessions use cookies and cryptographic techniques to maintain state without storing as much data
on the server. When presenting a dynamic web page, the server sends the current state data to the client
(web browser) in the form of a cookie
HTTP session token
A session token is a unique identifier that is generated and sent from a server to a client to identify the current
interaction session. The client usually stores and sends the token as an HTTP cookie and/or sends it as a
parameter in GET or POST queries.Session management
In humancomputer interaction, session management is the process of keeping track of a user's activity across
sessions of interaction with the computer system.
Desktop session management
A desktop session manager is a program that can save and restore desktop sessions
Browser session management
Session management is particularly useful in a web browser where a user can save all open pages and settings
and restore them at a later date.
Web server session management
Hypertext Transfer Protocol (HTTP) is stateless: a client computer running a web browser must establish a new
Transmission Control Protocol (TCP) network connection to the web server with each new HTTP GET or POST
request
Multibrowaer issue
Cross-browser refers to the ability of a website, web application, HTML construct or client-side script to
function in environments that provide its required features and to bow out or degrade gracefully when
features are absent or lacking
With wide range of web browsers available, end users using different web browsers to access your web
applications, it has now become crucial to test web applications on multiple browsers. On different
browsers, client components like Javascript, AJAX requests, Applets, Flash, Flex etc. may behave differently.
Also for different browsers you may have different handling on how requests are processed on server side
based on the user-agent received from client browser. So just testing your web application on single web
browser is not enough. You need to make sure that your web application works fine across multiplebrowser. Cross Browser Testing is a process to test web applications across multiple browsers. Cross
browser testing involves checking compatibility of your application across multiple web browsers and
ensures that your web application works correctly across different web browsers. Cross Browser testing
involves testing both the client side and server side behavior of your Web application when it is accessed
using different Web Browsers
Client Side Cross Browser Testing
AppPerfect Web Test can help you test functionality of your web application on clientside on different Web
Browsers. It ensures compatibility of your application on different Web browsers like Internet Explorer, Firefox,
Safari, Chrome etc. at same time. You can record test on any one Web browser and run it on different Web
browsers and this way test application's behavior on different browsers without need to re-record test on
multiple browsers. Do the following to functional test your application across different Web browsers :
Server Side Cross Browser Testing
AppPerfect Load Test can help you test behavior of your web application on server side when application is
accessed from different web browsers. AppPerfect Load Test supports Load testing for Web applications using
http://www.appperfect.com/products/web-test.htmlhttp://www.appperfect.com/products/load-test.htmlhttp://www.appperfect.com/products/load-test.htmlhttp://www.appperfect.com/products/web-test.html7/28/2019 Web Testing1
9/13
HTTP protocol and can be configured to simulate the HTTP requests from different web browsers. Web Server
identifies each client by way of User-Agent string. When Internet users visit a web site, a text string is usually
sent in the HTTP header field "User-Agent" to identify the client application. Web applications often include
code to detect client version to adjust the page design sent according to the user agent string received. Web
application may be designed to work differently for mobile Internet user and PC based Web browsers.AppPerfect Load Test supports execution of HTTP requests with different web browser clients.
WEB SERVER
A Web server is a program that, using the client/server model and the World Wide Web's Hypertext Transfer
Protocol ( HTTP ), serves the files that form Web pages to Web users (whose computers contain HTTP clients that
forward their requests). Every computer on the Internet that contains a Web site must have a Web server
program. Two leading Web servers are Apache , the most widely-installed Web server, and Microsoft's Internet
Information Server ( IIS ). Other Web servers include Novell's Web Server for users of its NetWare operating
system and IBM's family of Lotus Domino servers, primarily for IBM's OS/390 and AS/400 customers.
Web servers often come as part of a larger package of Internet- and intranet-related programs for serving e-mail,
downloading requests for File Transfer Protocol ( FTP ) files, and building and publishing Web pages.
Considerations in choosing a Web server include how well it works with the operating system and other servers, its
ability to handle server-side programming, security characteristics, and publishing, search engine, and site building
tools that may come with it.
APPLIACTION SERVER
An application server is a server program in a computer in a distributed network that provides the business logic
for an application program. The application server is frequently viewed as part of a three-tier application,
consisting of a graphical user interface (GUI) server, an application (business logic) server, and a database and
transaction server. More descriptively, it can be viewed as dividing an application into:
A first-tier, front-end, Web browser-based graphical user interface, usually at a personal computer or workstation
A middle-tier business logic application or set of applications, possibly on a local area network or intranet server
A third-tier, back-end, database and transaction server, sometimes on a mainframe or large server
Older, legacy application databases and transaction management applications are part of the back end or third
tier. The application server is the middleman between browser-based front-ends and back-end databases and
legacy systems.
In many usages, the application server combines or works with a Web (Hypertext Transfer Protocol) server and is
called a Web application server. The Web browser supports an easy-to-create HTML-based front-end for the user.
The Web server provides several different ways to forward a request to an application server and to forward back
a modified or new Web page to the user. These approaches include the Common Gateway Interface (CGI), FastCGI,
Microsoft's Active Server Page, and the Java Server Page. In some cases, the Web application servers also support
request "brokering" interfaces such as CORBA Internet Inter-ORB Protocol (IIOP)
CLIENT SERVER
A client-server network is a communications model in which multiple client programs share the services of a
common server program.
For example, your computing device's Web browser is the client program that requested services from the
WhatIs.com server (which technically is called an HTTP server) so you could read this Web page.
Other network communication models include master/slave and peer-to-peer.
7/28/2019 Web Testing1
10/13
N-Tier architecture
7/28/2019 Web Testing1
11/13
1. Functionality Testing:
This is used to check of your product is as per the specifications you intended for it as well as the functionalrequirements you charted out for it in your developmental documentation.Testing Activities Included:
Test all links in your webpages are working correctly and make sure there are no broken links. Links to be checked
will include -
Outgoing links
Internal links
Anchor Links
MailTo Links
Test Forms are working as expected. This will include-
Scripting checks on the form are working as expected. For example- if a user does not fill a mandatory field in a
form a error message is shown.
Check default values are being populated
Once submitted , the data in the forms is submitted to a live database or is linked to an working email addressForms are optimally formatted for better readability
Test Cookies are working as expected. Cookies are small files used by websites to primarily remember active user
sessions so you do not to log in every time you visit a website. Cookie Testing will include
Testing cookies (sessions) are deleted either when cache is cleared or when they reach their expiry.
Delete cookies (sessions) and test that login credentials are asked for when you next visit the site.
Test HTML and CSS to ensure that search engines can crawl your site easily. This will include
7/28/2019 Web Testing1
12/13
Checking for Syntax Errors
Readable Color Schemas
Standard Compliance.Ensure standards such W3C, OASIS, IETF, ISO, ECMA, or WS-I are followed.
Test business workflow- This will include
Testing your end - to - end workflow/ business scenarios which takes the user through a series of webpage's tocomplete.
Test negative scenarios as well, such that when a user executes an unexpected step , appropriate error message
or help is shown in your web application.
2. Usability testing:
Usability testing has now become a vital part of any web based project. It can carried out by testers like you or a
small focus group similar to the target audience of the web application.
Test the site Navigation:
Menus , buttons or Links to different pages on your site should be easily visible and consistent on all webpages
Test the Content:
Content should be legible with no spelling or grammatical errors.
Images if present should contain and "alt" text
Tools that can be used: Chalkmark, Clicktale, Clixpy and Feedback Army
3. InterfaceTesting:
Three areas to be tested here are - Application, Web and Database Server
Application: Test requests are sent correctly to the Database and output at the client side is displayed correctly.
Errors if any must be caught by the application and must be only shown to the administrator and not the end user.
Web Server: Test Web server is handling all application requests without any service denial.
Database Server: Make sure queries sent to the database give expected results.
Test system response when connection between the three layers (Application, Web and Database) can not be
established and appropriate message is shown to the end user.
4. DatabaseTesting:Database is one critical component of your web application and stress must be laid to test it thoroughly. Testing
activities will include-
Test if any errors are shown while executing queries
Data Integrity is maintained while creating, updating or deleting data in database.
Check response time of queries and fine tune them if necessary.
Test data retrieved from your database is shown accurately in your web application
5. Compatibility testing.
Compatibility tests ensure that your web application displays correctly across different devices. This would include-
Browser Compatibility Test: Same website in different browsers will display differently. You need to test if your
web application is being displayed correctly across browsers, javascript, AJAX and authentication is working fine.
You may also check for Mobile Browser Compatibility.
The rendering of web elements like buttons, text fields etc changes with change in Operating System. Make sure
your website works fine for various combinations of Operating systems such as Windows, Linux, Mac and Browsers
such as Firefox, Internet Explorer, Safari etc.
6. PerformanceTesting:
This will ensure your site works under all loads. Testing activities will include but not limited to -
Website application response times at different connection speeds
Load test your web application to determine its behavior under normal and peak loads
Stress tests your web site to determine its break point when pushed to beyond normal loads at peak time.
Test if a crash occurs due to peak load , how does the site recover from such an event
7/28/2019 Web Testing1
13/13
Make sure optimization techniques like gzip compression , browser and server side cache enabled to reduce load
times
Tools that can be used: Loadrunner, JMeter
7. Security testing:
Security testing is vital for e-commerce website that store sensitive customer information like credit cards.Testing
Activities will include-Test unauthorized access to secure pages should not be permitted
Restricted files should not be downloadable without appropriate access
Check sessions are automatically killed after prolonged user inactivity
On use of SSL certificates, website should re-direct to encrypted SSL pages.
Tools that can be used: Babel Enterprise, BFBTester and CROSS
PRIORITIES AND SEVERITY
1. Low Severity & High Priority:
Example 1: On any Log in Screens, OK button have text KO
Now try to understand, Button is working fine, means No functionality is affecting by that, it means its a minor
Severity Bug. But User will not understand what KO is. Because of this their application has no use, and they
cant release the product without fixing the bug. This is the High Priority bug.
2. High Severity & Low Priority:
Example 1: Suppose you have an application which is having functionality of exporting to Excel File. But that
functionality is totally not working. So in this case the Severity is Very High. But for current release this
functionality is not useful, means user may not use the Export function, so here is have Low Priority
3. High Severity & High Priority:
Example 1: A bug which is a show stopper.i.e, a bug due to which we are unable to proceed our testing. An
example would be a run time error during the normal operation of the software. Which would cause the
application to quit abruptly? Example 2: Suppose you are doing online shopping and filled payment information,
but after submitting the form, you get a message like "Order has been canceled."
4. Low Severity & Low Priority: Example 1: There is a mistake like "You have registered success" instead of
successfully, success is written.