Shi Ling will be presenting the following session
Shi Ling Tai - Start with the scariest feature - how to prioritise what to testShi Ling TaiCEOUI-licious
schedule 1 year agoSold Out!
It can be intimidating for inexperienced teams embarking on their test automation journey for an existing code base. There is so much to test, and so many ways to test. I often see teams stuck with debating on where to start and what tools to use and best practices:
"We should start from unit tests"
"No, integration tests are better!"
"Should we use tool A or tool B?"
I see this play out all the time, and I've been there before. And the worst that could happen is decision paralysis and inaction.
The bigger question really is "What to test?".
My rule of thumb is "Start with the scariest code". I'll share with you my framework for evaluating the ROI of writing a test for a feature and prioritising what to test.
1. What got you started/interested in Testing?
I was working as a full-stack engineer many years back, and the company I worked at, despite having senior engineers that have been working on the product for 6 years, had zero unit tests, integration tests, end-to-end tests. After burning my hands several times with buggy releases despite my best efforts at testing by hand, I realized automated testing was not optional, and started practicing TDD whenever I can.
2. What has been your best moment/highlight working with Selenium?
Most of my work is built based on the Webdriver specifications rather than Selenium itself, and I really admire and respect the work of the team that put together the standards for the Webdriver protocol.
3. What do you think is the biggest challenge faced by Software Testers today?
Recognition of work.
In the software industry, I frequently observe that software testers are treated as a lower class engineer than than other technical counterparts, and their opinions about engineering testability and reliability are often not taken seriously or are deprioritized in favor of shipping new features, especially with the "move fast break things" mentality that many startups have adopted. Business and management stakeholders don't see the ROI of having test automation, and when times are tough and costs need to be cut, QA are often first to be laid off. I think it's ironic, because the shift from waterfall development to agile development makes test automation even more important than before.
4. What is your advice to testers, who are new to automation?
Much like other branches of software engineering, there's a lot to learn and it's often overwhelming, but don't give up, start small, and focus on one thing at a time.
5. Tell us about the session(s) you will be presenting at the conference and why did you choose those topics?
For years, people keep coming up to me, with the question "Where do we start?".
Often, I see teams wanting to start creating automated tests, but don't know where to start because their application is huge. I know setting up the first test intimidating for any large existing project. Also as engineers, sometimes we can get really fixated on doing things the "right" way to avoid wasted work. Teams often get stuck debating on whether to start with unit tests or with end-2-end tests, and both sides are valid points.
My answer to this eternal question of "where should I start test automation" is simply... start with the scariest code. Trust me, it always gets easier afterwards, and yields the highest ROI. My talk covers more in detail about how to identify "scary" code that should have automated tests soon than later.
6. What are some of the key takeaways from your session(s)?
- Always keep a focus on the objective - why are we doing test automation - instead of the hows.
- How to plan test automation - using a framework to evaluate the benefits of automating tests for a component over another.
7. Which sessions are you most looking forward to attending at Selenium Conf?
Sessions on accessibility testing, and scaling test infrastructure.
8. Any personal message/remarks you want to share with the Testing community in Asia?
You are an essential part of your team. Speak up and make yourself heard! Educating fellow engineers about building more testable and reliable software is just as important as reporting bugs.