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.