Simple Concurrent Automated Testing Pattern

By Alex Yakyma

Many teams struggle to catch up their automated testing effort with fast moving development initiative. They may be able to deliver independent piece of value within a sprint (e.g.: “define – build – manually test” it) but it is only ok as long as it doesn’t touch the surface of automation. When you start automating your tests the delay becomes tremendous. Most of the teams either see failures at this point of lifecycle or just don’t know that soon they will fail epically, that’s the hard truth.

So what to do? How to succeed with automation? We will consider very simple pattern for test automation that will allow to see the bottlenecks in your test automation practice and apply it successfully.

The idea is very simple: if you can’t write automated tests for a user story before the implementation (that is another whole discussion) then do it concurrently with coding in a following way:

- Define a little vertical slice of a user story
- Implement and manually test it
- Start automating tests
- Define another slice
- Repeat…



In other words, instead of waiting until whole story is developed – take a slice and start automating it early.

It is important that team knows how to slice up stories. Otherwise they will fail in the very beginning of the process. Slicing up stories is essential. On one hand different approaches to splitting user stories will be very helpful (see examples of splitting user stories). On the other hand there is a number of additional nuances to consider which are specifically important with respect to automation. Here’s a couple of good advices:

1) If you’re slicing up user stories and try automating early slice by slice and still have big delays in the end – reconsider tooling or whole automation strategy. There can be one or few really deep problems with how you automate anything at all. For example, automating acceptance tests only at UI level can be very time consuming because UI testing is very fragile and possibly you have to either proceed with UI testing but using some smarter high-level tool (like Robot Framework) coupled with your current UI testing tool that would provide an ability of reuse of low-level test-code. Or you have to abandon UI testing at all or only use it for some quite limited cases only and concentrate upon testing business logic using FIT or JBehave or Cucumber or even JUnit (not for unit testing though!). There can be much more value if we can “remove” UI from the equation and rapidly automate testing of the “rest” of the system than trying to do 100% UI testing which may not be practically feasible.

2) In Slice 1 implement thin piece of functionality and define interfaces for a bit more. In other words, define somewhat more interfaces for future slices but only add “meat” for one. Those interfaces will be actual classes and methods but everything or almost everything there will be hardcoded. That way you will let automated tester start writing tests for much more functionality than you actually deliver within first slice. Those other tests will fail and serve you as further guidance for development. This way overall delay of automation will be even further minimized.

3) Don’t aim for high coverage in the beginning. Don’t get frustrated if you can’t cover everything. Take a slice of functionality, automate few (or maybe even just one) of the key tests and move on to another slice. Keep process lightweight and dynamic. Remember that collaboration over tests (between PO, developers and test engineers) is much more important than the test suite itself because it will allow you clarify requirements, save extra development effort and establish strong DBT teams.

4) If you already have a lot of non-covered code, don’t make it a separate life project to automate it but rather move from context to context. Work on your current story and automate “everything around it”. Take another story and also automate the test for functionality it “touches” and so on. As a team you need to have context of value, not just tests.

This model apparently will only work if and only if automated test engineer is a part of agile team, not part of separate “automation team” or whatever you call the people whose life mission is to constantly fail catching up with more and more functionality.

Start practicing now… starting lightweight is quite easy!

74 comments:

  1. Testing now a days has become as importnant as developing of an application. With the help of testing, we can find out the potential bugs which would affect the application. Fixing this at a very early stage would help the application to run without any problem.
    Software testing training in Chennai | Software testing training institute in Chennai | Software testing courses in Chennai

    ReplyDelete
  2. Interesting sharing. Testing is one of the most wanted field in IT industries. become a software tester Software Testing Training in Chennai | Software Testing Training in Chennai | Software Testing Training in Chennai


    ReplyDelete
  3. Nice information regarding automation testing pattern my sincere thanks for sharing this post Please Continue to share this kind of post
    Selenium Training in Chennai

    ReplyDelete
  4. Your blog was so impressive., I got some new info with the help of your blog.. Thank you for sharing.. Software Testing Training in Chennai | Selenium Training in Chennai | Java Training in Chennai

    ReplyDelete
  5. Hats off to your presence of mind..I really enjoyed reading your blog. I really appreciate your information which you shared with us.

    selenium training in chennai|

    ReplyDelete

  6. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.

    SELENIUM TRAINING IN CHENNAI

    ReplyDelete
  7. Very good informative article. Thanks for sharing such nice article, keep on up dating such good articles.
    NO.1 API DEVELOPMENT SERVICES | MASSIL TECHNOLOGIES

    ReplyDelete
  8. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.

    white label website builder

    mobile website builder

    ReplyDelete
  9. Thanks for splitting your comprehension with us. It’s really useful to me & I hope it helps the people who in need of this vital information. Selenium Training in Chennai | Selenium Training institutes in Chennai

    ReplyDelete
  10. Good job!
    Very nice to read - with lots of explanations.
    matlab training in chennai | big data training in chennai .

    ReplyDelete
  11. I appreciate your efforts because it conveys the message of what you are trying to say. It's a great skill to make even the person who doesn't know about the subject could able to understand the subject . Your blogs are understandable and also elaborately described. I hope to read more and more interesting articles from your blog. All the best.
    python course in pune
    python course in chennai
    python course in Bangalore

    ReplyDelete
  12. Thanks for the blog that you post here.you can know more about in this
    Selenium Training Program in Chennai

    ReplyDelete

  13. Thanks for providing wonderful information with us. Thank you so much.
    Data Science Course in Chennai

    Data Science With R

    ReplyDelete
  14. Very useful blog thanks for sharing Ancient Chinese have perfected the art of acupuncture and we at Yaa Healthcare through rigorous research and dedication have been following the same tradition throughout the years. Looking for the best place to get an acupuncture treatment in Chennai? Look no further – Yaa Healthcare is what you need.

    ReplyDelete
  15. I Got Job in my dream company with decent 12 Lacks Per Annum salary, I have learned this world most demanding course out there in the current IT Market from the python training in pune experts who helped me a lot to achieve my dreams comes true. Really worth trying.

    ReplyDelete
  16. I have read your blog its very attractive and impressive. I like it your blog.Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge.

    VMware Certification Training in Chennai | VMware Certification Exam Center in Chennai | VMware Exams Center in Taramani | VMware Certification Exams in Chennai

    ReplyDelete
  17. Wow...What an excellent informative blog, really helpful. Thank you so much for sharing such a wonderful post with us.keep updating..
    AWS Certifications in Chennai | AWS Exam Centers in Chennai | AWS Certification Exams in Velachery | AWS Exams in Velachery | AWS Online Exam Center in Velachery

    ReplyDelete
  18. It is really very awesome and wonderful to visit your site.Thanks for sharing your informative blog with us.keep updating such a wonderful post..
    MicroSoft Azure Certification in Chennai | Azure Exam Centers in Velachery | Azure Exam Centers in Madipakkam

    ReplyDelete
  19. Good Post..Thanks for sharing such a wonderful article...
    Selenium Training in Bangalore | Selenium Courses | Selenium Training Institutes - RIA Institute of Technology - Best Selenium Training in Bangalore - Placement oriented Selenium Training Institutes in Bangalore.
    Learn Selenium Testing Training from expert Trainers.

    ReplyDelete
  20. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful .Oracle training in Bangalore

    ReplyDelete
  21. Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday. I want to encourage that you continue your great posts. sap training in bangalore

    ReplyDelete
  22. Hi..Such a nice and useful article you have shared. It is really very useful for beginners who are just going to start their carrier in automated testing . Now a days testing is as important as development. So its a nice theory that if you are not able to do full testing go for a partial testing divide all your instance in a slices and then test them with automation testing. It will be easy for tester to solve the quarries for a particular part not a full instance so it is also mare accurate and less time consuming.

    ReplyDelete
  23. Very interesting blog which helps me to get the in depth knowledge about the technology, Thanks for sharing such a nice blog..
    Java Project Center in Chennai | Java Project Center in Velachery | Java Projecs in Perungudi

    ReplyDelete
  24. Excellent blog with lots of information. I have to thank for this. Do share more.

    Python Training in Chennaii

    ReplyDelete
  25. Your testing pattern comes with great content. It is really good. You give top notch ideas about automated testing services. Thanks for your effort and support.

    Web Design company in Virudhunagar

    ReplyDelete
  26. paid old age homes in chennai
    They look after senior citizens who are neglected by their own families. Currently, they are supporting 55 senior citizens. They are provided with good shelter, clothing, food and medical facility, with love and affection...

    ReplyDelete
  27. top 10 spoken english classes in chennai
    Learn Spoken English from Native English Teachers. Our Unique Approach is 6X Faster than any other Teaching Method. Improve in Weeks!

    ReplyDelete
  28. Wonderful web site. Plenty of useful information here. I’m sending it to several friends ans also sharing in delicious. And of course, thanks for your sweat! cbd oil for elderly

    ReplyDelete
  29. It’s amazing to visit this website and reading the views of all mates concerning this paragraph, while I am also zealous of getting familiarity. Aluminium Section Suppliere

    ReplyDelete
  30. This comment has been removed by the author.

    ReplyDelete
  31. I simply needed to tell you all that I added another rundown. It has taken me for some time to tell everybody because of server issues. Everything ought to be in the groove again now. How to create a Content Strategy

    ReplyDelete
  32. Having read this I thought it was extremely enlightening. I like you investing some time and energy to assemble this short article. I once atain wind up investing a ton of energy both perusing and posting comments.But so what, it wass still advantageous.event ticketing platform

    ReplyDelete
  33. I was eager to find this page. I needed to thank you for ones time for this especially awesome read!! I certainly truly preferred all aspects of it and I likewise have you book-set apart to look at new data in your blog.

    why did my car insurance go up

    ReplyDelete