Why this Article?
When I started working as a manual tester, I was a complete noob in the IT industry. I was like a fresh bun out of oven kind of graduate that time. All I knew about testing was to create test cases and execute them. My initial job tasks included boundary value analysis, equivalent partitioning, writing hundreds of test cases in the excel. My aim back then was to report as many defects as I could. Gradually, I started learning more than just the functional testing.
So, broadly speaking there are two types of testing involved in software quality assurance: Functional Testing and Non-Functional Testing. Both types of testing have thier own specific areas of application as per the clients requirement of the software application.
There are various types of testing applied by testers. This can depend on the platform on which the application is build. There are other important factors included while deciding the type of testing. The business flow of the application and size of the project also plays a huge role.
When a QA recieves a built for test, it’s requirements are mostly predefined and approved by the client. Still, during development phase there is always a possiblity to add a valuable addition that fits in just right with the business of the project. Especially in an Agile setup, every resource is assigned with a set of pre defined roles and expectation are set high within strict deadlines.
The responsbility of giving UI suggestions and value additions is primarily of the QA team. But this is just not it, under the given set of use cases, the product should look good as well. Developers focus on fulfilling all the use cases on time in order to maintain the timeline that is the reason it becomes even more critical for the testers to give a quality feedback to stakeholders.
What are we going to discuss?
Now, I am mianly going to talk about the UI of web applications and mobile applications. I will be discussing ways to detect the UI shortcomings and enhancing the quality of delivered software. If you are new in the software test field then this article will help you understand the quality perspective of a project.
The article is not just for manual testers but for automation testers as well. No matter how much you automate, at certain level there is still some things that can be checked fast manually. Aspiring business analysts can also refer this article. Since I read somewhere that they are part of the UAT and production verification of the developed website.
Here are some most common points that you can check while testing a page:
- Check the spelling mistakes on buttons and titles.
- Validate that navigation menu links opening in the right page and role wise visibility of each menu option.
- See if the given webpage is well utilised in terms of provided space.
- Check the title of the page being visible on browser tab.
- Tool tips should be present to describe the button functionality.
- Check the order of the data that is present in tabular form. Some kind of ordering is always required for better data presentation.
- If web page has long vertical scroll then there should also be a top button on it.
- Page responsiveness when opened in different screen size.
And the list goes on…
Three Simple Steps
The points mentioned above usually comes under adhoc testing, when the tester does not need to know the actual functionalities but applies a set of global test scenarios to catch some obvious bugs. We will dive a little deeper to the following steps:
Understand the Business Behind Your Project
The first step towards your quality contribution will be understanding the business requirements of your task well in advance. This will include reading the user manuals of already existing software, attending the meetings with stakeholders and scrum masters to understand the requirements, brainstorming to analyse the requirements given and preparing a list of queries before settling down to write your test scenarios.
A proper study of the business along with existing functionality of the application will help you set goals for your test plan. Ofcourse, your first priority is to do testing that ensures 100% test coverage of what has been asked by client.
Once you are ready with your test scnearios and test cases, then you can add these new found scenarios as well. During the final execution phase you will start on to finding the usability scenarios with help of some exploratory testing. Yes, there are mainly three types of defects that a manual tester finds: functional, non-functional and usability.
Combination of suitable functional and usability improvements is what a quality software made of. Finding quality bugs becomes easier for you if you are acquainted with the business flow of the system.
Study your Project Domain
Every project is based on a domain. It can financial, e-commerce, medical or enterprise level domain.
A tester should make sure that they are aware of the technicality of their domain. This step refrains a QA from creating unecessary bug add ons to pile on the developer. Keeping unrealistic and lack of research test expectation can often lead to a conflict between the developer and the tester. This consumes precious time. Due to lack of supporting evidences to proof the validity of a defect, it becomes unfruitful in the end.
Let me give you an instance, I work testing sharepoint based applications. So, as a tester I should know the basic working of SharePoint, the UI features that it uses and what kind of enhancements can be brought into the UI. If I ask for a change while keeping the correct user experience in my mind then this will always work in my favour.
Now there will be layers of domain in a project. First, it is the technology at which your team works. Then it is your client for whom you are providing the IT services. for instance, if you are working in a Tableau project and not knowing how it works then give some time into reading about it. Jumping straight on to execution will definitely lead to big loss of useful test cases to add in your test suite.
Catch the Q-Tip of Your Manager
Often during a project demonstration phase, you will recieve software quality feedbacks from your client or the scrum masters. End users often verify the production ready site and may find a web element not aligning their business needs.
I think once or twice is enough time for you to depict the hint flags that your stakeholders are raising. Practice writing down the improvements given by your UAT members or end users. Use that same document in the next build that you deliver.
A proper documentation of defects, enhancements and suggestions goes a long way for a tester. Such documents helps you in better analysing what your senior really expect from you. So make sure you have it all documented; whenever you are testing a module or may be an integration between several modules.
This is all the tips from a tester to all the fellow software engineers who are reading this article.
Until Nexttime, Be Happy as Always 🙂