Embracing Javascript for Test Automation
TestVagrant has always looked up to expansion in its quality engineering horizon by providing a platform to all employees for technical demonstrations, experiments and continuous up-skilling.
In continuation to this journey, TestVagrant recently conducted an org-wide learning program to onboard its SDET army on Javascript/Typescript based test automation stack. This blog intends to share details of this comprehensive, growth-oriented program.
Why JS/TS in the first place
- Familiarity of developers with this language(s)- test automation code could now be consistent with development code as quite a lot of applications are now being built with JS tech stack
- Tapping in a whole new world of opportunities for the organisation to acquire JS based projects with complete confidence and expertise
- Not many engineers are versed with JS technologies yet in the org- TV leadership felt quite enthusiastic to up-skill its tech strength into this direction
Objectives for the learning program
The JS enablement program was carried out with the following objectives:
- Make test automation with JS tech stack, a core competency of the organisation
- Identify engineers who are willing to contribute to the JS space and provide them with a platform to experiment via structured learning
- Create technical artefacts based on JS tools to demonstrate expertise in various test automation spaces like UI layer & service layer
- Bring in versatility with respect to the skillset of the engineering team at TV
Known caveats in conducting such a program
- For a service-based organisation like TV, client deliverables are always kept on top priority and engineers shall spend legitimate time on client work. Hence, most of the productive hours for engineers couldn’t be spent on additional learning programs
- Engineers putting their heart and soul into fulfilling client commitments and learning stuff at the client-side may not give enough priority to additional learnings- they may feel content with what they are doing already
- COVID situation made things a little unpredictable in terms of availability and remote connectivity
Approach to conducting the program
- Program coordinators- A couple of engineers willingly took up this role with major responsibilities of creating a structure to the learning program, keeping everyone together, formulating team responsibilities, creating/evaluating assessments and proving technical direction/support on demand
- Survey- Gathered information about people interested in investing some time outside their project deliverables to learn JS and implement automation frameworks on top of it
- Shortlisting tools- Created a basic set of JS-based tools across various automation spaces for engineers to choose their starting point with complete liberty to everyone for adding up more tools to their roadmaps
- Batch formation- Interested folks were grouped into batches keeping them in a pool with mixed experience levels. Batches were asked to nominate captains and come up with their roadmaps
- Phased approach- Entire program was broken down into phases wherein the first phase of practising language structs was followed by the next phase of experimenting with JS-based automation tools followed by the third phase of building a free-hand, e2e automation framework.
- Regular demos- Phase 2 and 3 saw regular demos(weekly) wherein batches participated and shared their learning and progress
- Weekly connect- Program coordinators and batch captains connected quite regularly to re-align on goals, batch management and planning
- Final Assignment- Once all 3 phases were done, a final assessment problem was shared with everyone alongside submission guidelines and evaluation parameters
- Certification- The batch with the highest score on all parameters was rewarded with some goodies and everyone who participated in the program received their certificates- a gesture by TV to show that the organisation values every effort that goes towards building and strengthening the org
Outcomes of the program
- Quite a few SDETs are now well versed and comfortable with JS tech stack for test automation
- The organisation is more ready and confident than ever before to take up testing projects in the JS space
- Re-usable test automation artefacts, all placed at https://gitlab.com/learnings_testvagrant/javascript-learning-program-2020-21, for anyone to refer
- Foundation for many more such learning programs was laid
- Engineers at TV proved, yet again, that their passion to learn technology and up-skilling themselves is not bound by time or effort- its the vision & commitment that matters
Next Steps
We have started sharing our technical learnings via medium blogs to spread awareness and approaches towards JS-based test automation libraries. The first one is already out at https://medium.com/testvagrant/web-automation-with-playwright-5759d767cdcb, more to follow.
Moreover, we are looking to start season 2 for the Javascript/Typescript program with a new set of folks. We are all set to launch season 2 by June 2021 — stay tuned :)