Web Application Testing
In this rapidly-growing world, hosting a website is no longer optional, but mandatory for all businesses. Having a website is not enough, An Organizational website must have informational, user friendly, and easily accessible navigation. For the Websites to be successful, one needs to thoroughly test and hammer out the bugs. The end result is an effective and end-user friendly website.
The process of testing the website is what we call Web testing.
What is Web Testing?
Web testing is a software practice where End-to-end testing is done on the Software to capture the potential bugs, and to ensure if the software/ application is operable for the real users before the application is made Live.
The UI and functionality hold most of the Web application and are considered the captains!
There is various Web testing Checklist
- Functionality Testing
- Usability Testing
- Interface Testing
- Compatibility Testing
- Performance Testing
- Security Testing
- Functionality Testing
Functionality covers all that’s functioning inside the websites, it could be validations, accepting Forms, Database related (Login and Signup and Lists stuffs), Cookie testing, etc.
Check out all the links:
- Check if the website Links are redirecting to the right page (On the same page, for better UI)
- Check if we have any Broken Links (Install an Extension called “Broken Links” in Chrome and leading Browsers if you have multiple links to cover)
- Check all the internal links.
- Check if the links from emails routing to Browser’s page are correctly mapped.
Check the forms:
- First, Test the positive scenarios if the application works as expected.
- Check all field validations.
- Check other field validation scenarios (Leaving one Field out and fill in the other fields)
- Check if the filled forms are mapped correctly to the fields.
- Option to delete, Modify the forms and fields.
Cookie Testing:
Cookies are bits of information stored on every Browser when the User logs into the application.
- Always try testing the cookie by Enabling/ Disabling the cookie and check how the application is impacted. (There is an Extension called “Edit this Cookies”, where you can experiment on it).
- Try clearing cache with simple Keyboard shortcuts (Ctrl + Shift + R) to see how the application behaves.
- Check if the Cookies are encrypted properly.
- If there are any session timeouts applied on the application, note the impact of cookies on the application.
Validate HTML/ CSS testing:
- Look out for HTML / JS based errors coming up on CONSOLE. Use (Ctrl + Shift + I) to inspect.
- Search for Extensions called “Toggle Pesticides” which locates dead CSS UI in a matter of seconds without impacting the Memory.
- Check if the website is crawlable to other websites for Search Engine Optimization Purposes (SEO)
Database testing:
Data Integrity and Data Consistency are an integral part of the application. Always learn Database scripting Languages depending on your projects and get Database access from Developers. In case data sensitivity is high and there is risk to data exposure, it’s still OKAY, we can test it via UI, and report and leave the responsibility of fixing ’em to Developers!
- Do all forms of Database testing on websites like Adding, Updating, Deleting, and check if the application behaves correctly and consistently.
- Check if the Database scripts are executed correctly, and there is more we can do with Database which is putting loads on DB and its impact on the Application which we will cover in later sessions on Performance/ Load Testing.
In a nutshell, Functionality testing should be covered.
- Field Validations (Optional and Mandatory fields)
- Error response of Field validations, (Optional and Mandatory fields)
- Database testing (Login, Signup, etc.)
- Links (Internal links, External links, Mail links, Broken links)
2. Usability Testing
Usability testing involves those areas where every human-computer interaction occurs to capture the weakness and demystify the characteristics of the system.
Those weaknesses are then captured for root cause and to make corrections to ensure robustness of the application.
Usability testing mainly deals with these areas.
- Navigation.
- User friendliness such as User readability, Customer satisfaction.
- General Appearance.
- Ease of use and learning.
Test for Navigation
Navigation not only means redirections but changing the appearance or behavior in a single page as well. It includes Buttons, redirection Links, Boxes, and everything that goes to specific webpages.
Content Checking
Content checking involves checking if the overall contents that include colors is appealing to the users accessing the application.
- The color preferred is always, in Secondary colors for any webpages (Background, fonts, frames, etc.). Any usage of bright RED or Yellow, distracts the user and leaves them with poor impressions.
- Font and Border Size to be made uniform across the page depending on the text importance.
- There are several resources available on the corrections on Business UI, and color codes for each item. Kindly refer to those.
- Always look for Grammatical errors with meaningful sentences, wordings appealing to End- Users.
- Check if the Links are displayed and functioning correctly.
Sitemaps checking
- There is a “Search Box” that is provided within the website that helps the user navigate to that page. It sometimes may include Files and folders for the users to search from.
- This is completely optional depending on Business requirements.
- The Sitemaps is “List of pages contained within a Domain” according to Wikipedia.
- Implementing these Sitemaps can help users reach the content effectively. {Tips for Project Managers and Stakeholders}
In a nutshell, Usability testing should cover.
- Website is user- friendly, and easy to navigate.
- Instructions provided in the websites are clear to understand.
- The main menu should be provided on each page.
- The UI colors, and fonts present users with professional and effective flow.
3. Interface Testing
Our Team recently completed Front End Based UI testing for a client. Let’s know more about Interface Testing based on our experience. This is the time to test any Server- related Modules and involves communication between the 2 parties, Compatibility between Hardware, Software, Database, and network.
There are 2 main Interfaces based testing.
- Web Server and Application server testing.
- Application Server and Database testing.
These 2 are self-explanatory. Check whether the 2 servers are interacting, and the errors are handled appropriately.
Also, Check Whether the Databases are handled properly, and the error is thrown accordingly.
While you make a transaction, try to reset or disable the Servers (or anything that voids the transactions) and note the application behaviors, this will ensure you catch an Exception earlier in the Life Cycle.
4. Compatibility Testing
One of the common mistakes Developers tend to make is to create Software with one Browser in mind (Chrome, in my case), we often forget to test with different Browsers (Safary, Edge, FireFox) and with different Operating Systems (Windows, Linus, Mac, Solaris) to check if the whole functionality is working as desired.
The libraries used by Developers are supported only by a few Browsers, and hence, it’s always important to check if the Application is working on different platforms. The same goes for Operating systems as well.
When it comes to Compatibility testing, these are the items we need to take note of.
- Browser Compatibility.
- Operating System Compatibility.
- Mobile Compatibility.
- Printing options.
We have covered Browser and Operating Compatibility earlier. Let’s move on to Mobile Compatibility.
Mobile Compatibility
Mobile compatibility doesn’t imply Mobile applications at all. It’s the Browser in a Mobile phone, how the application behaves in those browsers.
We are in a fast-paced world, and everyone moves to pace as well. People are more inclined to log into the application via Mobile Browsers and irrespective of the domain application you are using, we have incognito Browsers in Mobiles as well (in case of, Finance based)!
Printing Options
If there are any “Printing” options provided on the website, check for Alignments, Page margins, graphics getting printed as per specifications accordingly.
Tips: For Browser Compatibility testing, Let’s try the advantages of using the LambdaTest Browsers, BrowserStack available?
5. Performance testing
It’s always advisable to test the application under peak loads, like what’s the application behavior when there are around 20–30 Users depending on the niche.
The application should be tested in such a way that it should handle sufficient number of users operating the application at any point in time.
When it comes to Performance testing, there are 2 aspects we need to look at.
- Web Load Testing
- Web Stress Testing
Web Load Testing
Web LOAD testing is a where the application’s functionality and behavior is judged based on the ability to hold the user accessing the same page at the same time.
- The web Load includes testing large input of data from User, simultaneous user requests, connections from Database, heavy loads, etc.
We will look at how we can automate Web Load and Web Stress via JMeter, and Blazemeter on later Modules.
For those, who are really new into Software testing field, and into project Load testing deadline stage, I suggest not to worry about it, and it’s always good to have a team member support internally, by simply Logging in and Signup to check how the application behaves in the case.
These are excerpt from the Amazon book I had published, please follow the below link to a copy of my book.
https://www.amazon.in/Art-Effective-Software-Testing-software-ebook/dp/B0B1YW5SQ3
Lokesh V
Quality Analyst, ConcertIDC