Automated Testing of the Modern Web Application, Final Episode

Jeff Franczak
2 min readJul 21, 2023

--

In Part Three I explained that web applications are written using asynchronous JavaScript which is an unavoidable technical complexity. It means that writing tests in Jest and Cypress is difficult because the tests must be written using asynchronous JavaScript. That technical requirement is decidedly outside the skillset of a Quality Assurance Analyst. In fact, it’s beyond the capability of most Jr. Web Developers.

So, from a business point of view who is going be writing these automated tests? We’re going to need a Mid-Level Web Developer to write basic and intermediate tests, and a Senior Web Developer to write complex advanced tests. Test-driven development (TDD) is a popular process that combines software testing and development and it pairs well with Agile Project Management. A good TDD introduction is available at Wikipedia.

However, adding automated testing responsibility to a Web Developer could easily double their traditional workload. This means either doubling the size of your web development staff, or permanently adjusting to half your previous product delivery velocity.

Another alternative, is to add a new role to your team, the Software Development Engineer in Test (SDET). This role combines skills in Quality Engineering and Software Development. A thorough SDET introduction is available at What Is SDET.

In the real world, it’s a bit more nuanced and messy.

Although TDD is popular, few shops practice it: A survey of developers published in September 2020 found that although 41% of the respondents said their organizations have fully adopted TDD, only 8% said they write tests before code at least 80% of the time, which is the definition of TDD.

Thank you for taking this journey in automated testing with me. Now, fasten your seat belt, and make the best informed, professional, decision you can in the context of your organization. Then, strain your eyes a little further ahead and begin strategic planning for the next potentially disruptive technology change.

--

--

Jeff Franczak

Jeff Franczak is a professional Full Stack Software Engineer who transforms ideas into valuable business products using modern technologies.