Skip to main content

Development

Get started with automated testing

Recently, one of my friends asked me a question: how to establish the end-to-end automated testing process from scratch? He is an experienced developer and leading a team with 30 people (20 developers, 10 STEs, no SDET). He has already established the testing process for manual testing. Automated testing hasn’t been introduced into his project at all.

We talked for couple hours and I gave him some suggestions as below:

  • Put an automated testing project as a development project.  He should consider involve a senior guy to support the project. Ideally, the senior guy should be able to help build up the framework from the architecure perspective.
  • Build a versatile team. He needs senior developers on the team to develop automated scripts, create tools and setup the infrastructure. However, he also needs people who are senior in manual testing to ensure the delivery of automated testing project will be valuable to manual testing.
  • Hire to pyramid. Considering what he has now (10 STEs, 20 Devs), I suggested him to convince some developers to play the SDET role. Also, he could encourage some STEs to advance their programming skills to play the SDET role.
  • Select the right tools. He needs to weigh in some factors before making the decision. Usually there are three options he can go for, specifially, commercial tools, open source tools and home-grown tools.  If budget is enough or people on the team are of less skills in automated testing, probably he should consider to use commercial tools. Open source tools are usually built by passionate volunteers and can fulfill certain testing purposes. However, it usually doesn’t have a good support when you meet certain issues which are caused by the tool. So be careful about that. As for home-grown tools, you should be even more cautious when selecting this option. It will cost you a lot in terms of skill and time. The benefits of home-grown tools are obivious and attractive. It can be integrated into the project seamlessly and can adapt to any changes.
  • Test-oriented design. He should review the existing design of the product to see how it can facilitate autoamted testing. For instance, he can assign every UI element an unique ID, which will be very helpful for GUI-based automated testing. Another thing he can do is to freeze the UI of application as early as possible.
  • Continous Integration. Continous integration (CI) should be utilized to get the most out of automated testing. This is especially true when he has the desire to do the overnight build, deployment and smoke test automatically.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Diego Zhong

More from this Author

Categories
Follow Us