In previous Software testing Class we have outlined the “Difference between Priority and Severity?” In today’s class we will see more details on Web application testing. This article will help you to learn basic of web testing. Before start testing web site it’s very important to know about which all testing methods needs to cover.
Prior to see more details on web application testing, first let’s see the definition of the Web Testing.
What is Web Testing?
“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.
Web Application Testing Checklist:
Let see what all testing is to be carried out on in software web testing. The testing is totally based on your web testing requirements but following is the standard checklist of web testing:
In Functional testing we need check the each components are functioning as expected or not, so it is also called as “Component Testing”. Functional testing is to testing the functionality of the software application under test. Basically, it is to check the basic functionality mentioned in the functional specification document. Also check whether software application is meeting the user expectations. We can also say that checking the behavior of the software application against test specification.
In this testing activities should include:
Check for all broken links on your web pages & all links are working correctly. Along with you can check the different links on you web pages:
- Internal links
- Outgoing links
- MailTo Links
- Anchor Links
Web form testing:
In the web application testing the “Forms Testing” is the essential part of testing any web site. The main purpose of Form is to get the information from user & store into the database. And keep on interact with them. Below are the test cases which should be considered while doing form testing:
- First thing to test in the form is the Validations on each form fields. Here two types of Validation need to be consider – “Client side” & “Server side” validations.
- Check default values are being populated
- Check for all Mandatory fields. Check if a user not entered a required field showing a mandatory error message.
- Add information using form & update information using form.
- Tab orders.
- Check for the default values of fields.
- Forms are optimally formatted for better readability
- In Negative testing enter invalid inputs to the forms fields.
Cookies are the small text file that gets saved the user’s system. These files are saved in the desired location and used by the browsers to use the cookies. Basically used to maintain the session mainly login sessions the Cookies are used. Instructive information is recorded in the cookie (like Sessions) and that can be retrieved for the web pages. User can able to enable or disable the Cookies in browser options. The basic test to check if cookie is stored in the user’s machine in the encrypted format. (I am writing separate article on Cookie Testing, post it soon)
So let’s see what should be tested in Cookies testing:
- Test the application by disabling the Cookies
- Test the application after corrupting the cookies.
- Check the behavior of application after removing the all the cookies for the website you are testing.
- Check website writing cookies are working or not on different browser.
- Check if cookies for authenticated login are working or not.
- Check if behavior of application after deleting the cookies (sessions) by clearing cache or after cookies expired
- Check if login to application after deleting the cookies (sessions)
Test HTML and CSS:
To optimize web site in the search engine then testing of HTML and CSS make important role. In this testing check that different search engines can crawl your site without any error. You should check for all Syntax Errors, Color Schemas in the readable, check for Standard Compliance and the standards are followed like W3C, ISO, ECMA, IETF, WS-I, OASIS
Test business workflow:
This would include:
- End to end testing of business scenarios/workflow which ensure that the completeness of website testing.
- Testing of Positive as well as negative scenarios.
2. Usability testing:
Now a day’s the Usability testing is playing an important role of any web application. This testing is to be carried out by testers like you to ensure that cover all possible test cases which targeted audience of the web application are doing regularly.
This would include –
Navigation testing of the web site:
- All possible options like Menus, Links or buttons on web pages should be visible & accessible from all the web pages.
- Web pages navigation should be Easy to use
- Help instruction content should be clear & should satisfy the purpose.
- All options on header, footer & left/right navigation should be consistent throughout the pages.
Content testing of the web site:
- No spelling or grammatical errors mistake in content throughout the page.
- Alt text should be present on Images
- No broken images
- Your task is to validate all for UI testing
- Follow some standard on content building on web page
- All content should be legible & easy to understand.
- Dark color infuriates the users, so avoid using dark colors in the theme.
- Proper size images should be placed on web page
- All the anchor text links should be working properly.
3. Compatibility testing.
In software application testing the Compatibility testing is the non-functional part of testing. It is ensuring that how application’s working in the supported environments. Customers are uses web application on different Operating systems, Browser compatibility, computing capacity of Hardware Platform, Databases and Bandwidth handling capacity of networking hardware. The Compatibility testing is to make sure that “Is web application show correctly across different devices?”
This would include-
Browser Compatibility Test:
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.
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.
4. Database Testing:
Data reliability is key part in the Database testing. So for web application should be thoroughly tested.
Testing activities would include-
- Check if queries are executed without any errors.
- Creating, updating or deleting data in database should maintain the data integrity.
- More time should not take to execute the queries, if required tune the queries for better performance.
- Check load on database while executing heavier queries & check the result.
- Collect data from database & represent on the web pages correctly.
5. 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.
6. Interface Testing:
In the Interface testing mainly three areas should be covered: Web Server, Application Server and Database Server. Ensure that all the communications between these all servers should be carried out correctly. Verify that if connection between any servers is reset or lost then what is happing. Check if any request interrupts in-between then how application is responding. On returns of any error from web server or database server to application server then error should be Errors are handled properly & display such errors to the user.
- 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.
7. Performance Testing:
Performance testing is to check the web application is working under the heavy load. Performance testing is categorized into two parts:
Web Stress Testing, Web Load Testing
This would include-
- Check if response times of Website application under different speeds of connections
- Check if site handles many simultaneous user requests at same time.
- Check if how your web application sustain under the peak loads
- Check if large input data from users.
- Check the behavior of web application if simultaneous connection to Database.
- Check if how the web site pulls through if crash occurs due to peak load.
- Check if optimization methods such as reduce load times by enabling cache on browser client and server side, gzip compression etc
- Check if any hardware memory leakage errors
8. Security testing:
The security testing is carried out to ensure that is any information leakage in terms of encrypting the data. In e-commerce website the Security testing is play an important role. In this testing check if secure information is to check whether how to store sensitive information such as credit cards etc.
Testing Activities will include-
- Check if unauthorized access to secure pages, if user changes from “https” to “http” (secure to non-secure) in secure pages then proper message should be display and vice versa.
- Check if accessing internal pages directly entering URLs in browser. If login is required then user should redirected to login page or appropriate message should be displayed.
- Most of the information related to transactions, error messages, login attempts should be logged in log file.
- Check if restricted files are able to access for download.
- 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.
Software industry has achieved a solid recognition in this age. In this article you should have clear idea on web application testing with web testing test cases. Obviously these checklists have its own advantages and disadvantages. And the selection criteria are totally based on your requirements of software web testing. Apart from that we also discussed current trends followed by IT industries on Web application testing.
Over to You!
If you enjoy reading this article please make sure to share it with your friends. Please ask your queries in below comment section. Your feedback is always appreciated!