A Guide to Understanding Web Application Testing

“How do you perform Software Testing in your company?”, is a common question that every other customer would ask. Now, it’s easy to explain this to a technical person however quite difficult to use the same lingo with a layman. And we all know that unless the customer is satisfied, you’re not going to sell.

So here we’re going to explain, in layman terms, what goes into Software testing. Before starting on how we do it, let’s first understand What is Software Testing.

What is Software Testing?

According to The Economic Times, The process or method of finding error(s) in a software application or program so that the application functions according to the end user’s requirement is called Software testing.

Software Testing doesn’t only mean finding bugs in a system and/or on a website. It also means:

  • Delivering a quality product to the end-user
  • Verifying whether the software meets the specified requirements
  • Validating whether the software meets the customer’s expectations
  • Preventing bugs

And the most important one:

  • Understanding the User’s Perspective. How will the user react emotionally while using a website? Will this make him annoyed, aggressive, or calm and content?

How do We do Software Testing?

The core ingredient of the entire Software Development Life-cycle is quality. To achieve it, we follow a few Software Testing Web Application standards that we update religiously according to the new technologies and user demands. These includes:

Functional Testing: To test that the functions/features are working as per the requirements and specifications mentioned by the customer.

Smoke Testing: A testing in which we check critical functionalities of the system to verify if the system is stable.

System Testing: To test the whole product or software, to make sure the system works as per requirements and specifications after combining all the features of the product.

Cross-Browser Compatibility Testing: To ensure that the website is tested with each browser (IE, Edge, Firefox, Chrome, Safari, etc) and works fine in them. In other words, it is compatible with them.

Cross-Platform Testing: This includes testing websites on different Operating Systems such as Mac and Windows to ensure that it is working properly in different environments.

Responsive Testing: To check that the website fits well on different screen resolutions and sizes, and different mobile devices as well.

Performance Testing: To check how quickly the website or app responds to any action performed.

Usability Testing: To see how easily a user can navigate through the website.

Security Testing: To test if the website data and resources are protected.

Regression Testing: To confirm that any new change or feature has not affected the existing features of the website.

Before testing an application we also do some documentation like making test plans. That includes:

  1. Product Analysis
  2. Testing Strategy
  3. Testing Objectives
  4. Resource Planning
  5. Scheduling and Estimation

When to Test?

There are 4 stages when we test a software application.

1st Stage: When the software application is in the development or production phase. At this stage, some of the features of the software have been prepared and transferred into testing.

2nd Stage: When the software application is in the development or production phase. All the features have been developed and passed into testing.

3rd Stage: After launching a fully developed software application in a live/customer environment.

4th Stage: When the web application has been brought in for maintenance.

Is your website’s health at risk? Take a look at this blog to know How websites are kept healthy and maintained at Genetech.

When to Automate?

At Genetech, we don’t automate or write scripts for every website or feature. We do a combination of manual and automation testing to get the most out of it.

We decide what to automate and what to not according to the project’s nature.

For Example:

For a content-based website having a contact form only, we won’t write a test-script. Rather we will manually apply test cases and verify it.

This website has an 11 question-based form in it. When we get this into testing, we have to check this form every single time whenever the developer makes any code changes. That made us think, “We should automate it”. So we only automated that form for the ease and time reduction and tested the rest of the site manually.

Another example is this website. Here we have numerous forms and features that need to be tested repeatedly. For this, we wrote automation scripts for the whole functionality like:

  • Submitting role-based forms
  • Checking the added entries on the listing page
  • Checking the status of the forms on the dashboard, and so on.

That’s how we combine automation and manual testing as and when needed.

How much Testing is Enough?

Software testing is a repetitive cycle. One cannot say how much testing is enough or when to stop it. For this we follow some heuristic rules that include:

  • When the time allocated for testing has expired.
  • When all the features have been tested and working as per requirement.
  • We have answered all of the questions that we set out to answer.
  • When a certain amount of test cycles have been executed including the Regression test.

Conclusion:

Testing is an activity of finding out how well something works. It is one of the milestones in delivering quality products.

As Steve Maguire quotes, “Never allow the same bug to bite you twice.”

At Genetech, we promise quality to our customers, and to achieve it we have set our standards not only for Software Testing but for each department accordingly.

Want to know more about our QA process? Here is how our Quality Assurance team works to ensure an error-free end product.

The idea for this blog was to introduce our readers to the world of testing without having them to shy away due to the hi-tech terms. Please reach out to us here for any follow-up questions and we would be more than happy to help.

Happy Testing!

Salma Nazeer is a Software Engineering graduate and serves as an SQA Lead at Genetech Solutions, one of the leading software houses in Pakistan, offering exceptional Web Solutions, Mobile Applications, SEO, Social Media Marketing, and other IT-related services.