Research Paper
Research Paper
Topics in Computer
Desktop Applications Programming
Elena Stefanova
06/06/2017
1
Table of Contents
Web and Desktop Application Testing Checklist:.................................................................................3
I. Functionality Testing:..........................................................................................................................4
A. Validation testing:............................................................................................................................4
B. Links/URL Testing:...........................................................................................................................4
C. Web Forms Testing:.........................................................................................................................5
D. Database Testing:............................................................................................................................5
E. Cookies Testing:...............................................................................................................................5
F. Testing of Error Messages:..............................................................................................................5
G. Required field and optional field validation:....................................................................................6
H. Client-side Testing:..........................................................................................................................6
Functional Test Scenarios:...................................................................................................................6
II. Usability testing:..................................................................................................................................7
A. Accessibility: ...................................................................................................................................7
B. Identity:...........................................................................................................................................7
C. Navigation:......................................................................................................................................8
D. Content:...........................................................................................................................................8
Usability Test Scenarios:......................................................................................................................8
III. Compatibility testing........................................................................................................................9
A. Browser Compatibility Test:.............................................................................................................9
B. OS compatibility:...........................................................................................................................10
C. Mobile browsing:...........................................................................................................................10
Compatility Test Scenarios:................................................................................................................10
IV. Database Testing:..........................................................................................................................10
Test Scenarios for Database Testing:.................................................................................................11
V. Crowd Testing:...................................................................................................................................11
VI. Interface Testing:...........................................................................................................................12
VII. Performance Testing:.....................................................................................................................12
Web Stress Testing........................................................................................................................12
Web Load Testing..........................................................................................................................12
2
Soak testing...................................................................................................................................12
Spike testing..................................................................................................................................13
Test scenarios:...................................................................................................................................13
VIII. Security testing:.............................................................................................................................13
Test Scenarios for Security Testing:...................................................................................................14
IX. Test Scenarios................................................................................................................................15
X. What is the difference in Desktop and Web Application Testing:......................................................23
3
“Web testing is the name given to Software Testing that focuses on testing the
web applications.” In Web-based application is completely tested before going
production environment. This could help to address the issues in web application
before exposed to public like the Functional issues, web application security, web
services issues, integrations issues, environment issues and its ability to handle
traffic is checked. In this stage of Web Testing making effort to find out the possible
bugs in the system.
Desktop application (1) An application that runs stand alone in a desktop or laptop
computer. Contrast with "Web-based application," which requires the Web browser
to run. The term may be used to contrast desktop applications with mobile
applications that run in smartphones and tablets.
I. Functionality Testing:
What is Functional Testing?
Testing the features and operational behavior of a product to ensure they
correspond to its specifications.
Testing that ignores the internal mechanism of a system or component and
focuses solely on the outputs generated in response to selected inputs and
execution conditions.
What is the purpose or Goal of Functional testing?
The goal of Functional testing is to verify whether your product meets the
intended functional specifications mentioned in your development
documentation.
A. Validation testing:
You should make sure that if the valid HTML is used for your website. To
check this you can use W3C validator.
In functionality testing the different fields used in the website should be
validated like Textboxes, dropdowns, radio options, check boxes, Combo box
inputs, links etc.
Now a day’s most of the website preferred to use CSS means Cascading Style
Sheet. In the market many CSS validator tools are available, one of the good tool
is W3C CSS validator which will help you to validate the CSS used in your site
user test.
B. Links/URL Testing:
This testing is very much interesting and can be helpful for SEO of you r page.
Following types of testing should be carried out for Link or URL testing:
Internal links: The link which are pointing to the pages of same websites.
This testing make sure that the internal links are properly linked to expected
pages of your websites link like Home page, Contact Us, About Us etc.
External links: The link which are pointing to the pages of external
websites. This testing makes sure that the internal links are properly linked to
expected pages of external websites.
Email links: Such link need to make sure that the if user clicks on the email
link then default email client should open with To address should be pre-
filled.
Broken links: Broken links are also called as Dead links. Such links are not
linked to any of the pages either internal or external pages of the website.
5
Such link generated with the spelling mistakes in the link URL or linked page
is removed or no more exists. To check broken link you can use online tools
to validate the broken links in the website.
In Website Testing Checklist the web forms are the most commonly used in the
websites, so it is one of the most important part of the website testing. Consider a
scenario where user fills an enquiry form and click on Submit button, now what next
or they just fill in the form and do nothing, the details do not get captured correctly
and so are lost. While doing forms functional testing make sure that they should be
consistent and should contain the required input and output controls. The data
should be captured properly.
D. Database Testing:
Now days with the new technologies like android and smart phones computer
applications are more complex.
If the front end is more complicated then the back ends are also convoluted. As a
result, introduce more complex database schema to support such intricate
computer applications. So it’s more important to validate the databases to make
sure the quality and website able to handle the data processing effectively.
E. Cookies Testing:
A Cookie is information stored in text file on user’s hard drive (client side) by web
server. This information is used later by web browser while accessing the website.
Ideally the cookie is used to store the personalized user information or data in
encrypted or secured manner. This is small size files which act as unique identifiers
and allow websites to remember a particular user for a given time. These files are
not harmful for users. Sometimes if the user’s personal information is stored in the
cookie and if hackers stolen the cookie then hacker can get the confidential
information which leads to security issues. That’s why the testing of Cookie is most
important. There are two types of cookies Persistent Cookie and Non-Persistent
Cookie.
In the well developed website the error messages are very much helpful to guide
users for success and erroneous conditions. While navigating through application if
poorly designed error messages will easily misguide the end users. Many of the
websites are used different interesting pages when 404 error is displayed.
The proper handling of required and optional fields should be efficiently handled.
Ideally the application should not be submitted unless and until all required fields
are filled properly. The required error message should be displayed when user
proceed with not filling the mandatory fields. It should not restrict you for
proceeding further if the optional fields are not filled.
H. Client-side Testing:
This type of testing is subset of Security testing. In this testing need to check if the
sensitive data is not stored in the temporary internet files or stored in encrypted
format like passwords, credit card information, bank number etc.
Test the Privacy Policy & FAQ is clearly defined and should be available for users.
Test if any functionality fails the user gets redirected to the custom error page.
Test all the uploaded documents are opened properly.
Test the user should be able to download the uploaded files.
Test the email functionality of the system.
Test the Java script is properly working in different browsers (IE, Firefox, Chrome,
safari and Opera).
Test to see what happens if a user deletes cookies while in the site.
Test to see what happens if a user deletes cookies after visiting a site.
Test all the data inside combo/list box is arranged in chronological order.
A Usability test establishes the ease of use and effectiveness of a product using a
standard Usability test practices The Usability Testing is comes under a Black Box
Testing Technique where testing is to be carried out with users point of view.
A. Accessibility:
B. Identity:
The placement of website logo should be at prominently place like right top
side of the page.
8
Proper tagline should be used which clearly states the purpose of the
website.
Company and Contact Information must be clearly mentioned which helps to
identify the company information.
C. Navigation:
Main Navigation should be easy to find, read and use. If more than
navigations are used then make sure that user should clearly understand why
multiple navigations are used.
Clear & Concise navigation labels should be used in website.
Reasonable use of links and button in website so user will not confuse while
navigating the pages.
As a common practice the Company Logo should be linked to website Home
page.
The Site Search facility should be present on the website and make sure that
the Site Search button simple and easy to access like top right of the page.
D. Content:
Headings should be clear and descriptive and SEO use of proper heading tags
like H1, H2 etc.
Make sure that the critical content should be displayed on the first screen in
average screen resolution i.e. 1024×768.
Use of consistent font styles and colors across the website help user to
understand that they’re still on your site.
Use of user friendly and meaningful keywords for URLs will help both user
and search engines to understand navigation.
Meaningful and self-explanatory titles (in the <TITLE> tag) should be used for
pages. These titles are used by search engines to display in the Search result
by search engines. If the improper titles are used then user will skips the your
website pages link and proceed further.
All the error messages should be correct without any spelling or grammatical
errors and the error message should match with the field label.
Tool tip text should be there for every field.
All the fields should be properly aligned.
Enough space should be provided between field labels, columns, rows, and error
messages.
All the buttons should be in a standard format and size.
Home link should be there on every single page.
Disabled fields should be grayed out.
Check for broken links and images.
Confirmation message should be displayed for any kind of update and delete
operation.
Check the site on different resolutions (640 x 480, 600x800 etc.?)
Check the end user can run the system without frustration.
Check the tab should work properly.
Scroll bar should appear only if required.
If there is an error message on submit, the information filled by the user should
be there.
Title should display on each web page
All fields (Textbox, dropdown, radio button etc) and buttons should be accessible
by keyboard shortcuts and the user should be able to perform all operations by
using keyboard.
Check if the dropdown data is not truncated due to the field size and also check
whether the data is hardcoded or managed via administrator.
B. OS compatibility:
In new technology newer graphics designs are used & different APIs are used which
may not work on different Operating systems. Also on rendering of different objects
like text fields, buttons may display different on different Operating System. So
testing of web application should be carried out on different OS like Windows, MAC,
Solaris, Unix, Linux with different OS flavors.
C. Mobile browsing:
In latest Mobi technology you also test out Mobile Browser Compatibility too. It may
be possible of Compatibility issues on Mobile browsers. So in the new Mobi
technology age you testing of web pages on mobile browsers should be carried out.
In Database testing backend records are tested which have been inserted
through the web or desktop applications. The data which is displaying in the web
application should match with the data stored in the Database.
V. Crowd Testing:
Crowd testing is when a large group of perfect strangers try your product then give
you phenomenally helpful feedback on usability, bugs and features.
To test the software application Crowd testing can be used. It not limited to web
applications, but for all kinds of applications including mobile application testing.
Crowdtesting is dependent on the quality of the crowd. Also it depends on a crowd
that is composed out of a large group of diver’s people. It used do system tests for
performance and usability testing. Simply this is complementary to ‘normal’ testing.
The mainly complicated job of crowd testing is determining a good enough crowd.
Web Server: Check if all web requests are accepting and not any requests are
denied or leakages.
Application Server: Check if request is sending correctly to the any server &
displayed correctly. Check if errors are catch properly & displayed to admin
user.
Database Server: Check if database server is returns correct result on query
request.
Check if all three servers are connected to each & test request is processing
correctly. And any error in between then error should be displayed to user.
13
Web Stress Testing- It is performed to find the upper limit capacity of the
system and also to determine how the system performs if the current load
goes well above the expected maximum.
Web Load Testing- It is the simplest form of testing conducted to
understand the behaviour of the system under a specific load. Load testing
will result in measuring important business critical transactions and load on
the database, application server, etc. are also monitored.
Soak testing - Soak Testing also known as endurance testing, is performed to
determine the system parameters under continuous expected load. During
soak tests the parameters such as memory utilization is monitored to detect
memory leaks or other performance issues. The main aim is to discover the
system's performance under sustained use.
Spike testing - Spike testing is performed by increasing the number of users
suddenly by a very large amount and measuring the performance of the
system. The main aim is to determine whether the system will be able to
sustain the work load.
Test scenarios:
To determine the performance, stability and scalability of an application under
different load conditions.
To determine if the current architecture can support the application at peak user
levels.
To determine which configuration sizing provides the best performance level.
14
Hence to overcome the above problems we should use Performance testing tool.
Below is the list of some popular testing tools.
Apache JMeter
Load Runner
Borland Silk Performer.
Rational Performance Tester
WAPT
NEO LOA
1. Security Testing involves the test to identify any flaws and gaps from a
security point of view. Some of the major aspects of web security testing are:
Penetration Testing
Password cracking
Vulnerability
URL manipulation
SQL injection
Network Scanning
Log Review
Integrity Checkers
Virus Detection
Check if internal Web directories or files are not accessible unless & until not
configured for download.
Check if CAPTCHA is added & working properly for logins to prevents
automates logins attempts.
Check if try to access others information by changing parameter in query
string. For example if you are editing the information & in URL you are seeing
UserID = 123, try to change this parameter values & check if application is
not providing the other users information. It should display Access denied for
this user to view others users information.
Check if sessions are got expired after pre-defined amount of time if user not
using session.
Check if user not able to pass login page for invalid username/password
combination.
Check if user is navigated to encrypted SSL pages for secure website.
2. Verify the web page which contains important data like password, credit card
numbers, secret answers for security question etc should be submitted via HTTPS
(SSL).
3. Verify the important information like password, credit card numbers etc should
display in encrypted format.
4. Verify password rules are implemented on all authentication pages like
Registration, forgot password, change password.
5. Verify if the password is changed the user should not be able to login with the old
password.
6. Verify the error messages should not display any important information.
7. Verify if the user is logged out from the system or user session was expired, the
user should not be able to navigate the site.
8. Verify to access the secured and non secured web pages directly without login.
9. Verify the “View Source code” option is disabled and should not be visible to the
user.
10.Verify the user account gets locked out if the user is entering the wrong
password several times.
11.Verify the cookies should not store passwords.
12.Verify if, any functionality is not working, the system should not display any
application, server, or database information. Instead, it should display the custom
error page.
13.Verify the SQL injection attacks.
16
14.Verify the user roles and their rights. For Example The requestor should not be
able to access the admin page.
15.Verify the important operations are written in log files, and that information
should be traceable.
16.Verify the session values are in an encrypted format in the address bar.
17.Verify the cookie information is stored in encrypted format.
18.Verify the application for Brute Force Attacks
hard coding
21. Standard conventions should be followed throughout for naming resource keys
22. Validate markup for all web pages (validate HTML and CSS for syntax errors) to
make sure it is compliant with the standards
23. Application crash or unavailable pages should be redirected to error page
24. Check text on all pages for spelling and grammatical errors
25. Check numeric input fields with character input values. Proper validation
message should appear
26. Check for negative numbers if allowed for numeric fields
27. Check amount fields with decimal number values
28. Check functionality of buttons available on all pages
29. User should not be able to submit page twice by pressing submit button in quick
succession.
30. Divide by zero errors should be handled for any calculations
31. Input data with first and last position blank should be handled correctly
GUI Test Scenarios
1. All fields on page (e.g. text box, radio options, dropdown lists) should be aligned
properly
2. Numeric values should be right justified unless specified otherwise
3. Enough space should be provided between field labels, columns, rows, error
messages etc.
4. Scroll bar should be enabled only when necessary
5. Font size, style and color for headline, description text, labels, infield data, and
grid info should be standard as specified in SRS
6. Description text box should be multi-line
7. Disabled fields should be grayed out and user should not be able to set focus on
these fields
8. Upon click of any input text field, mouse arrow pointer should get changed to
cursor
9. User should not be able to type in drop down select lists
10. Information filled by users should remain intact when there is error message on
page submit. User should be able to submit the form again by correcting the errors
11. Check if proper field labels are used in error messages
12. Dropdown field values should be displayed in defined sort order
13. Tab and Shift+Tab order should work properly
18
7. Result grids should include all specified columns with correct values
8. Ascending and descending sorting functionality should work for columns
supported with data sorting
9. Result grids should be displayed with proper column and row spacing
10. Pagination should be enabled when there are more results than the default
result count per page
11. Check for Next, Previous, First and Last page pagination functionality
12. Duplicate records should not be displayed in result grid
13. Check if all columns are visible and horizontal scroll bar is enabled if necessary
14. Check data for dynamic columns (columns whose values are calculated
dynamically based on the other column values)
15. For result grids showing reports check ‘Totals’ row and verify total for every
column
16. For result grids showing reports check ‘Totals’ row data when pagination is
enabled and user navigates to next page
17. Check if proper symbols are used for displaying column values e.g. % symbol
should be displayed for percentage calculation
18. Check result grid data if date range is enabled
on design
4. Index names should be given as per the standards e.g.
IND_<Tablename>_<ColumnName>
5. Tables should have primary key column
6. Table columns should have description information available (except for audit
columns like created date, created by etc.)
7. For every database add/update operation log should be added
8. Required table indexes should be created
9. Check if data is committed to database only when the operation is successfully
completed
10. Data should be rolled back in case of failed transactions
11. Database name should be given as per the application type i.e. test, UAT,
sandbox, live (though this is not a standard it is helpful for database maintenance)
12. Database logical names should be given according to database name (again this
is not standard but helpful for DB maintenance)
13. Stored procedures should not be named with prefix “sp_”
14. Check is values for table audit columns (like createddate, createdby,
updatedate, updatedby, isdeleted, deleteddate, deletedby etc.) are populated
properly
15. Check if input data is not truncated while saving. Field length shown to user on
page and in database schema should be same
16. Check numeric fields with minimum, maximum, and float values
17. Check numeric fields with negative values (for both acceptance and non-
acceptance)
18. Check if radio button and dropdown list options are saved correctly in database
19. Check if database fields are designed with correct data type and data length
20. Check if all table constraints like Primary key, Foreign key etc. are implemented
correctly
21. Test stored procedures and triggers with sample input data
22. Input field leading and trailing spaces should be truncated before committing
data to database
23. Null values should not be allowed for Primary key column
Test Scenarios for Image Upload Functionality
(Also applicable for other file upload functionality)
1. Check for uploaded image path
21
XI. Bibliography
unknown. (n.d.). Retrieved from http://www.softwaretestinghelp.com