So my boss comes to me and notes that a new product (an MVP in production) currently has no UI/E2E testing in place and that I should add to my list of stuff to implement such a thing.
Here are the factors.
-
My boss is a product owner. My boss is familiar with the concepts of testing but not so much the deeper technical aspects. And really, she doesnt need to be. She wants the product tested and Users not encountering defects.
-
I am “The QA guy” and Im a new hire. So Im still figuring many things out. Im aware of the product and have UAT one small story on it. I am more familiar with the flagship product. The newer product likely follows the same tech stack. (I only got access to the repo yesterday)
-
Thus far, dev engineers have been responsible for the quality of their code and implement (a good swath, I must say) automated unit and integration tests
-
On the flagship product the E2E and UI validation is done by a few Cypress + Percy tests.
-
When I asked about what might be desired the response was “Whatever you want. There is nothing in place so you can do whatever you want” Which is a unique opportunity in my experience
So here is what I am weighing.
- A whole new E2E test framework! Something offering the newest hotness that will make it easiest for the engineers to add and update new tests (I simply cant do it all in a timely fashion). Its always fun to dive into something new and amazing. On the downside - I dont know what that might be. Playwright seems to be on the boil lately. Ive seen a bunch of other frameworks getting some sort of buzz here. I dont know what infrastructure might be needed for the new hotness in order to integrate it into CI, report issues, etc
Or…
- Just stick with Cypress. Even though the engineer teams are sharply divided, there is familiarity within the company with that framework. so it is a known quantity. I think I would like to extend it into TraceTest, however. Then we can gain some even more valuable tests out of cypress. On the downside, I dont like that the current implementation of the automation Cypress Cloud, only runs Electron (but that might be solved by moving to browserstack). I dont like that webkit isnt well supported (but thats a minor nitpick I can live without)
My instinct is to stick with what is there. No matter what is selected, it will have drawbacks and warts to overcome for our use so why not stick with the ugly we know?
Im interested to hear any thoughts or frameworks I might not be considering