I’ve been in my new job for over a year now and have constantly felt like I’m ‘swimming against the current’ in how I’ve been trying to test and automate. It’s just been pointed out to me that my past jobs have been testing ‘off the shelf’ software that users install and run themselves (6 month release cycles). The current role involves testing changes for a live service/website where they are moving towards CI/CD and weekly releases.
In the new company there are only 4 environments (dev/qa/stage/live) that can run the whole product (it’s not containerized at all). The company focus is on ‘shift left’ and getting most of the testing done in CI, before code is committed/deployed.
I’m used to testing after code is committed, built and running on the full stack of dependencies. So far in the new company my focus has been on full end to end testing of the qa/stage environments (selenium) to help remove the manual regression testing that was being done before every release, but I keep getting pushback that things should be tested lower/earlier.
Has anyone else out there moved from testing ‘off the shelf software’ (like Word) to testing a service (like Facebook/Ebay - e.g. a website that does stuff)?
- What differences did you find in how you tested the product?
- How does testing environmental differences come into the picture? (particularly with Trunk Based Development?)
(e.g. it works in QA, but not Stage because dependant product X is at a different version) - What sort of ‘full stack’ testing do other companies with Facebook-like services do? Do most people rely on lower level tests and not have full stack test automation?
- Any other wisdom or stories you can share that might help me get a handle on how I need to think differently about things (or maybe I shouldn’t and the company I’m at is wrong!)
Caveats:
- I may be mixing up ‘off the shelf’/‘service’ testing with the differences caused by Trunk Based Development, but they are both hitting me at the same time!
Many thanks for your thoughts in advance!
Martin.