Agile or Waterfall, tools or no tools, automated or manual, 2010 or 2020, the struggles of testers don’t seem to end. Whatever the situation may be, it comes up with its own bag of challenges for testers. Challenges are always there, what matters is how you look at them. In this article, I’ll be sharing some of the problems which I have encountered as a tester.
Cultural and Time Difference
As I started to work as a tester, I realized that organizational culture varies from company to company. And since I was working with companies from various locations, I had to deal with both time and cultural differences. Staying up till late to catch up with teams that are geographically distributed isn’t a new thing for us testers. As for the culture, some teams start working early in the morning and leave early in the evening whereas some do the opposite. Differences also lie in the company structure, hierarchy, client/supplier treatment, protocols, and policies, etc. that require testers to adapt accordingly.
Changing Requirements
Although it’s not recommended, sometimes managers change the requirements mid-sprint just to make things difficult for testers. It requires testers to modify or completely discard the work that is already half-done, changing the scope of testing unexpectedly. It is to be noted that change is common in agile. Therefore, countering it by sharing as much information as possible, about which tests are conducted and which are not can help the team understand how to make the required changes to the sprint without hurting the quality of the release.
Dealing with AI
The integration of AI into systems reduces human involvement, time taken to get tasks done, and increases efficiency and accuracy of results. Although it simplifies all the tasks for consumers, testers deal with a lot of complexity to ensure that AI systems work properly. With the help of training and development sets, testers feed large amounts of data in the neural system to train it and ensure that the algorithm is robust. This process is continuously repeated until the system gives consistently accurate results. Testers can’t afford to miss out on test cases because this can hinder the growth. Misdiagnosis is highly expected if testing is not done properly or not done at all. That’s why testers face a lot of pressure when they’re testing AI-based applications.
Insufficient Information
Product owners responsible for developing user stories may have an idea about a new feature but may be unaware of the specifics. Meaning that they’re unable to write a good set of acceptance criteria. This lack of information about requirements can stop testers from building comprehensive test cases. But rather than waiting for in-depth requirements, testers should start testing by coming up with high-level scenarios that test the idea of the story, confirming them with the product owner.
Tools Being Force-Fed
Often, testers are forced to work with tools that aren’t suitable for the job. This is because clients/teams don’t want to buy a new one before their current license runs out. This is certainly not amusing for us testers, but we learn to live with the alternatives. Or at least, you will reach a definite conclusion as to whether the alternatives actually work or not.
Bug-Filled Applications
Some applications are just not ready for testing when they reach testers. It can leave you reporting bugs all day and eventually force you to cut off some areas of the application. As a tester, you have to stay firm on your decision that the software isn’t ready to be tested and to reject the build. You have to stop looking for a silver lining when there isn’t one.
Judging Peers
Don’t be quick to judge your peers. I’ve encountered people who, at first, I thought were uncooperative but later found out that they can communicate comfortably and elaborately on emails just because they’re shy. Similarly, those who appeared aggressive just expressed their energy without any intention of being aggressive. Believe it or not, these assumptions can hinder the progress within a team, for example, if for some reason you don’t like to talk to that person but he can provide you the status updates in most elaborate of ways. Therefore, respect the diversity of human behavior, everyone deserves the benefit of the doubt.
Lack of Feedback Loop
Timely feedback is of utmost importance. Sometimes, testers work days and nights working on a deliverable only to find out that it wasn’t supposed to be this way. Or working from a remote location with your team located elsewhere can leave you feeling isolated and have no one to bounce your ideas off. Therefore, always seek honest feedback and create a community to discuss your ideas. Not often the easiest to do, but without the positive reinforcement that this step provides, you are left demotivated.
Lack of Documentation
Keep track of everything. You never know what information you might miss in verbal communication. It’s a textbook mistake when testers fail to keep the reference material about the software. Get rid of the conventional methods and acquire software testing tools that enhance communication and collaboration by keeping track of all the reference material. Engage in conversations with your development, business analysis or technical teams. Research the application; set up references looking at similar applications and their standards. Understand the end-user perspective. Get adventurous with exploratory testing.
On a daily basis, we as testers face infinite challenges and these are just a few of the major ones. Many small issues pile up to make our lives tougher each passing day. We have the pressure of meeting deadlines, adapt to changing requirements, work with limitations, and in the end, get the work done. While managers need to be aware of these challenges and work to minimize them, it all depends on whether testers step up to these challenges or not. I’ll conclude by saying this: A challenge is a mine. The question is, do you look at them as opportunities, a gold mine or as obstacles, a land mine?