Here is a question which asks us how we will test something when we don’t have test cases - No Test Cases.... What can you do?. Some of the answers have examples of realistic scenarios which lead to lack of test cases.
In the post, some users seem to like such environments or can at least handle them well. But, I am sure that not every company without test cases can be saved. So, what are the things which will slow you down significantly OR prevent you from saving such a company? If you know that, then you could at least avoid taking up such jobs or make better estimates for the time you’d need to fix things.
Here is one example which I think will at least slow you down significantly. You have to test a non-trivial system which uses APIs, databases/DB and message queues/MQ. These APIs, DBs & MQs are used by other systems i.e. not UI. There is no UI for you to test and get a feel of the system (easily). The job requires special domain knowledge which you cannot acquire by intuition, past experience, logic or by taking random courses on the internet. Your company has given you little training or information about the domain knowledge. There is little documentation about the systems and the automated tests (if any) are not very clear. The business processes are complex and will require talking to multiple people, many of who don’t have a clear understanding of the system at their level (product owner-ok!, developers-great!, testers-yuck!). The testing culture and tools suck. For example, some testers have little curiosity or time to understand the basics of the system and business process as long as they see expected results in the backend. There is a tendency to focus only on a small part of the system which is in their own stories, without seeing the role that part plays in the bigger system.
Is it really worth wasting too much of your time on running around for answers, often for simple things? If you are a “junior” or “intermediate” tester, then is it worth spending your time on such projects? You could instead be learning better things in a better company instead of wasting time on reverse engineering systems. Should you take such projects/jobs only after you become an “expert” i.e. have plenty of time (and financial freedom) to experiment ?
What risks do you see that could prevent you from saving such companies?