website testing check list
TRANSCRIPT
1
Website testing-Checklist
What this session does not aim?
Telling how to conduct web testing
What this session aims for ?
Creating a checklist for Web Testing
What this session does not aim?
Telling how to conduct web testing
What this session aims for ?
Creating a checklist for Web Testing
AgendaAgenda
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
What is web testing?
Web testing is the name given to software testing that focuses on web applications
What is web testing?
Web testing is the name given to software testing that focuses on web applications
AgendaAgenda
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Functionality TestingFunctionality Testing
Testing areas :
Link/URL Testing
Validation Testing
Error Message Testing
Optional & Mandatory Field Testing
DB Testing
Cookies Testing
Testing areas :
Link/URL Testing
Validation Testing
Error Message Testing
Optional & Mandatory Field Testing
DB Testing
Cookies Testing
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Functionality Testing: Testing areas Functionality Testing: Testing areas
Link/URL TestingLink/URL Testing
Internal Links
External Links
Mail Links
Broken Links
Internal Links
External Links
Mail Links
Broken Links
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Functionality Testing: Testing areas Functionality Testing: Testing areas
Validation TestingValidation Testing
HTML or XHTML Validation (Tool : W3C Validator)
CSS Validation (Tool : W3C CSS Validator)
Field level Validation
HTML or XHTML Validation (Tool : W3C Validator)
CSS Validation (Tool : W3C CSS Validator)
Field level Validation
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Functionality Testing: Testing areas Functionality Testing: Testing areas
Error Message TestingError Message Testing
Don’t allow showing underlying code when some error (say 404) is generated
Don’t use bad error message ( one that does not tell the user how the error impacts them and what they need to do in
response to the error )Write error in the log file and not on the user interface
Don’t allow showing underlying code when some error (say 404) is generated
Don’t use bad error message ( one that does not tell the user how the error impacts them and what they need to do in
response to the error )Write error in the log file and not on the user interface
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Functionality Testing: Testing areas Functionality Testing: Testing areas
Error Message TestingError Message Testing
Here is an error testing mnemonic
Functional AppropriateImpact Log UI Recovery Emotions
Here is an error testing mnemonic
Functional AppropriateImpact Log UI Recovery Emotions
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Functionality Testing: Testing areas Functionality Testing: Testing areas
Optional & Mandatory Field TestingOptional & Mandatory Field Testing
Proceed with empty mandatory fields
Proceed with empty non-mandatory fields
Proceed with empty mandatory fields
Proceed with empty non-mandatory fields
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Functionality Testing: Testing areas Functionality Testing: Testing areas
DB TestingDB Testing
Data validity testing-SQL queries
Data Integritity testing-integrity of UI data with Database Data
Performance related to data base-table structure and design
Checking whether any junk data is displaying in UI Checking the Data Migration
Data validity testing-SQL queries
Data Integritity testing-integrity of UI data with Database Data
Performance related to data base-table structure and design
Checking whether any junk data is displaying in UI Checking the Data Migration
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Functionality Testing: Testing areas Functionality Testing: Testing areas
Cookies TestingCookies Testing
Disabling Cookies
Selectively Rejecting Cookies
Corrupting Cookies
Cookie Encryption
Disabling Cookies
Selectively Rejecting Cookies
Corrupting Cookies
Cookie Encryption
Look into temporary internet files for cookies
Look into temporary internet files for cookies
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Performance TestingPerformance Testing
Does:
Eliminate bottlenecks
Loopholes in load balancing
Response time
Sustainable load/stress
Scalability of website
Gradual slowing of website
Does:
Eliminate bottlenecks
Loopholes in load balancing
Response time
Sustainable load/stress
Scalability of website
Gradual slowing of website
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Connection Speed TestingConnection Speed Testing
Test over networks like:
Dial up
ISDN
Cable connection
Broadband
DSL
Satellite Internet
Issues in Connection speed testing:
Slow performance
Partial loading of web pages
Test over networks like:
Dial up
ISDN
Cable connection
Broadband
DSL
Satellite Internet
Issues in Connection speed testing:
Slow performance
Partial loading of web pages
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Web Usability TestingWeb Usability Testing
Usability Criteria:
Ease of learning
Navigation
User Satisfaction
Accessibility
General Appearance
Usability Criteria:
Ease of learning
Navigation
User Satisfaction
Accessibility
General Appearance
A usable product allows users to do what they expect and should be able to do:
•Quickly•Accurately•Enjoyably
A usable product allows users to do what they expect and should be able to do:
•Quickly•Accurately•Enjoyably
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Client-Server Interface TestingClient-Server Interface Testing
Check:
Server side interface to verify that communication is properly established with the client
The middle-tier Business Logic APIs should also be tested (even if they are third-party shrink-wrapped softwares) for n-Tier architecture based web applications
Check:
Server side interface to verify that communication is properly established with the client
The middle-tier Business Logic APIs should also be tested (even if they are third-party shrink-wrapped softwares) for n-Tier architecture based web applications
Client-Server Interface –
A program that provides an interface to remote programs (called clients), most commonly across a network, in order to provide these clients (a program on your computer) with access to some information service such as databases, printing, etc. In general, the clients act on behalf of a human user.
Client-Server Interface –
A program that provides an interface to remote programs (called clients), most commonly across a network, in order to provide these clients (a program on your computer) with access to some information service such as databases, printing, etc. In general, the clients act on behalf of a human user.
Forms TestingForms Testing
When testing your form it is worth bearing in mind some problem areas:
Character sets: If you require users to fill in their names you will have to be ready to deal with different character sets. Creating different characters to test with can be problematic but services such as Babel Map can help with this.
Checking Scripts: Be sure to check you common gateway interface (CGI), server-side scripts and client-side scripts by submitting and resetting form data.
Tab Order: Often when creating a form information is moved about. That is why it is important that you check the tab order of your form. Tab order is especially important for people using screen readers.
When testing your form it is worth bearing in mind some problem areas:
Character sets: If you require users to fill in their names you will have to be ready to deal with different character sets. Creating different characters to test with can be problematic but services such as Babel Map can help with this.
Checking Scripts: Be sure to check you common gateway interface (CGI), server-side scripts and client-side scripts by submitting and resetting form data.
Tab Order: Often when creating a form information is moved about. That is why it is important that you check the tab order of your form. Tab order is especially important for people using screen readers.
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Client-Server Interface TestingClient-Server Interface Testing
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Client Side TestingClient Side Testing
Track the clicks (low impact)
Plant a back door without exploitation (medium impact)
Exploit a client-side vulnerability (high
impact).
Track the clicks (low impact)
Plant a back door without exploitation (medium impact)
Exploit a client-side vulnerability (high
impact).
Client-Server Interface TestingClient-Server Interface Testing
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Compatibility TestingCompatibility Testing
Check:
Various browsers
Various window sizes
Various font sizes
CSS, javascript turned off
Pop up blockers on and off
Various OS
Resolutions
Client hardware configurations
Various network environments
Printer friendly versions
Color depths
Check:
Various browsers
Various window sizes
Various font sizes
CSS, javascript turned off
Pop up blockers on and off
Various OS
Resolutions
Client hardware configurations
Various network environments
Printer friendly versions
Color depths
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Web Security TestingWeb Security Testing
Check:
Network scanning
Vulnerability scanning
Password cracking
Log review
Integrity checkers
Virus detection
Check:
Network scanning
Vulnerability scanning
Password cracking
Log review
Integrity checkers
Virus detection
TESTABILITY TESTINGTESTABILITY TESTING
Websites are tested faster and better when:
the components on the server side provide appropriate and useful log files
the components of the site have been unit tested by the developers, ideally but not necessarily test-first
oracles, in the form of information about the site and knowledgeable people to answer questions, are readily available
the site is only as complex as is absolutely necessary to support the business and customer's tasks
Websites are tested faster and better when:
the components on the server side provide appropriate and useful log files
the components of the site have been unit tested by the developers, ideally but not necessarily test-first
oracles, in the form of information about the site and knowledgeable people to answer questions, are readily available
the site is only as complex as is absolutely necessary to support the business and customer's tasks
Why use Testability Testing?Why use Testability Testing?
The Better PictureThe Better Picture
Functionality Testing
Functionality Testing
PerformanceTesting
PerformanceTesting
Connection Speed Testing
Connection Speed Testing
WebUsabilityTesting
WebUsabilityTesting
Client-Server Interface Testing
Client-Server Interface Testing
Compatibility Testing
Compatibility Testing
Web Security Testing
Web Security Testing
Testability Testing
Testability Testing PassPass
YesYes
23
Case studyCase study
Suppose your team gives a full go to the Web Application and its now working fine. Now do you think writing error in a log file is still important?
Case Study # 1Case Study # 1
Large log files and their impact to the operations
Large logs affect the operation of your site in multiple ways by:
•Requiring additional storage, if the proper alarms are not in place, the logs can exhaust the file system and lead to an outage.
•Impacting performance, as manipulating large files consumes more system resources.
•Increasing backup and restore time.
•Increasing the time required to transmit the logs to other machines for problem determination and by making it more difficult and time consuming for the technician to find the relevant information inside the log.
Large log files and their impact to the operations
Large logs affect the operation of your site in multiple ways by:
•Requiring additional storage, if the proper alarms are not in place, the logs can exhaust the file system and lead to an outage.
•Impacting performance, as manipulating large files consumes more system resources.
•Increasing backup and restore time.
•Increasing the time required to transmit the logs to other machines for problem determination and by making it more difficult and time consuming for the technician to find the relevant information inside the log.
Case Study # 1Case Study # 1
• There are several considerations to be made when managing logs:
1. Log rotation: When a log is rotated, the existing contents are moved to a different file and log is re-initialized. This is generally done following one of these criteria:
Size Time Execution
1. Archiving and purging: When the current log is re-initialized, the existing contents are archived. At this point, you need to decide the policies for purging old logs.
• Purging logs can be done using following variables:
1. Size: Only n number of logs will be kept. You can discard the rest.
2. Time: You can decide what logs are archived based on time.
• There are several considerations to be made when managing logs:
1. Log rotation: When a log is rotated, the existing contents are moved to a different file and log is re-initialized. This is generally done following one of these criteria:
Size Time Execution
1. Archiving and purging: When the current log is re-initialized, the existing contents are archived. At this point, you need to decide the policies for purging old logs.
• Purging logs can be done using following variables:
1. Size: Only n number of logs will be kept. You can discard the rest.
2. Time: You can decide what logs are archived based on time.
JMeter -Load testing tool QASL-Quality Assurance Scripting Language for both technical and non-technical users Tellurium-Abstracts UI components to Java objects IRobotSoft – Imitates user activity for non-programming usersHTTP Test Tool-Scriptable protocol test tool cookiesniffer Cookieserver TamperIEFiddler
JMeter -Load testing tool QASL-Quality Assurance Scripting Language for both technical and non-technical users Tellurium-Abstracts UI components to Java objects IRobotSoft – Imitates user activity for non-programming usersHTTP Test Tool-Scriptable protocol test tool cookiesniffer Cookieserver TamperIEFiddler
Some Open source Web Testing tools….Some Open source Web Testing tools….
Thank YouThank You