Automation Landscape

Have you ever thought of how the automation landscape looks today? More and more we develop applications on an iterative fashion, the more we realize the importance of automation.

Automation is no longer a tester’s work. If you are a developer i am sure you would have worked in automating either one of this (Build, deployment, test, performance, load) at some point of time in your career.

Today Mobile has become main stream. # of devices, platforms has increased. Its no more just web.

I just thought of summarizing the automation landscape. Obviously, i cannot add every other tool/platform exist in the world. Just added the ones which i have used/sold at some point.

I am sure it’s probably going to get even bigger. If you are a developer, who has not used any of this… then better get started learning these.
Automation Landscape

Related Posts
Thoughts on Automation as a Career : Role, Responsibilities and Career Progression
Iterative Development, Manual Testing and Frustrations

Happy Learning!!!


Thoughts on Automation as a Career : Role, Responsibilities and Career Progression

We have been doing test automation at a very extensive level for quite some time now. In fact, I am very proud of where we stand with test automation today.

We can provide much better solutions today in terms of test automation than what we were providing four years ago.

Some of the Key Lessons I’ve learn’t over the period of time in test automation.
1. Test Automation is software development.
2. Test Automation is done by Software Engineers.
When we started four years ago, our goal was to get our test engineers do the automation and we were successful in getting some of our test engineers do automation (Coming from a pure testing background, Rishi Sharma, Diwakar Gupta and Pradeep K has done exceptionally well with test automation. In fact, Pradeep has become a full time Test Developer now).
But I would rate these guys as exceptions. In my opinion I will consider them as Software Developers doing automation than as test engineers doing automation.
3. Test Automation is lot of hard work.
It requires very detailed thought process, defining the right architecture, have the right level of abstraction, continuous refactoring etc. Whatever the effort that goes in regular software development, you need to put the same amount of effort in test automation.
4. Test Automation code is like any other code.
It has to be maintained over a period of time. Continuous refactoring, and code reviews are very important there.
5. Defining the short term and long term goals are very important to set the expectations in automation.
Example: I have spoken to people who expect the automated regression suite to find new tests. It may not be a realistic expectation. Your automated code is as good as your test cases. The Purpose of automating regression test cases is to make sure that whatever was working earlier is continuing to work after the current code changes as well and not to find new bugs. If the new changes have broken any of the features working before it lets you know. In this example, if the expectations are not clear, then of course the goals for automation will also be not proper which will result in not achieving what you want.

Great, this post is not to talk about my experiences with test automation. I have been discussing about my thoughts on this role with Sendhil for the last few week and Sendhil has suggested me to blog my thoughts. This post is about my thoughts on the career road map for Test Automation Developers.

Using Software Developers for Test Automation is not probably new for companies like Microsoft. They probably have this role (SDET) for a very long time. Thought Works also has this role (Test Developers). But I have not heard about this role in many places. It’s relatively new in most companies. The challenge now comes is there is not much awareness with people if they have to work in automation. Most of the software engineers think that its test engineers job and still not considered as a good career path.

Whenever we start a new engagement if I have to request a developer to work on this, I can see lot of questions in their mind and people are not sure about their career. I thought I will blog my comments about this and give my comments the career progression for this role.
Career Road map

Test Automation Developers - Career Progression

If you are into Automation following are the work which you will be involved in.

Test Automation : Developers, Designers, Architects : Responsibilities

Skill sets to work on
Please refer to my post on Architects here and here. Apart from those skills following are what I would suggest to work on.
• Object Orientation
• Build Automation (Team City, Cruise Control.NET, Microsoft Continuous Build Environments, Hudson), Build Scripting (NANT, MS Build) etc..
• Test Automation Frameworks (Selenium, WaTin, WaTiR, White, UIA 3.0, VSTT Coded UI Tests)
• Knowledge of ATDD/Specification By Example (Frameworks like Cucumber, StoryTeller, Concordian.NET)
• Dynamic Languages (Iron Python, F#), understanding of how DLR works
• Domain Specific Languages – How to write DSLs
• Load and Performance Testing Fundamentals.
a. VSTT 2010 for Load and Performance Testing

Future of Testing
In my opinion testing as a role is changing. More and more people will realise the importance of automation and automating everything possible. Automation starts right from Build, Functional (Smoke and Regression), Acceptance, Deployment, Performance and Load.

One of the important lessons throughout this last 4 years for me is that, you cannot do manual testing in a new product development and expect it to be successful.

The Role of testing and testers will change in the future and people who are into all this today will have more scope for growth. If you are into this role (Test Developers), it’s time for you to realize the potential for growth, plan what is needed to grow in the right possible way and grow.

Some useful Pointers
Test Architect
What is a test architect?

Happy Learning!!!