A Work in Progress
I am starting my 5th month in my new job. The good news is that I am still really enjoying myself. I like the people that I am working with. It feels good to get up and come into the office and know that my contributions are valued.
I have had two main responsibilities that have taken up most of my time lately. One is continuing to understand our products. The other is to help come to a recommendation on a test tool/framework that can be used going forward for test automation efforts.
Our initial automation efforts are going to focus on doing web UI automation to build a regression test suit. Yep, that means UI automation with all of the challenges that represents. I go into this well aware of the challenges that this presents. One of the reasons that we are working from this approach is that there is not a particularly accessible API and the presentation layer and business layer are rather somewhat intertwined.
I was given the requirements of needing to support record and play back with an underlying framework that would allow us to code tests as well. I was not looking to do code generation from the tool but to be able to either write tests and reusable page elements against tests and use the Record and Playback capabilities to have other members of the test team engaged in the test automation process.
I looked at a number of tools and we finally settled on Telerik’s Test Studio product. For the time being we settled on a single license. We went this route for a couple reasons. The cost of entry was pretty low (not free but low). The record and playback capabilities are very robust and in functions on top of a well constructed test framework (WebAii which is free) that can be extended. There are also some very cool performance tools built into the tool that hopefully will prove to be useful going forward.
One of the more interesting capabilities of the tool that I hope to be able to make use of as I am laying down a foundation is the ability to reuse other tests inside of larger test tests. I am currently planning on seeing how robust the record and playback tool is since I am able to lay down tests much quicker this way than even writing a bunch of pages classes with all of the controls and actions. My goal is to make the test in step chunks small enough and reusable enough that it becomes a fairly simple matter of putting together the individual steps into a larger test block and be able to use those as building blocks for the rest of the team.
I am also hoping to be able to use the record and playback tool for some record and dispose type of automation that might be used for functional acceptance tests that can be developed in conjunction with out SMEs and used by the developers to figure out if their work meets the minimum level of functionality to turn over to the test team.
The real question then becomes what does the maintenance of that collection look like. Will this be a stop gap as I am rolling my own automation using the WebAii framework? Time will tell on that one.
Maintenance seems to always be the killer. A fix or a feature breaks a bunch of tests and the expectation is that this automation will somehow magically repair itself and the regression will still only take an hour.
“I thought automation was gonna make the testing *faster*?”
It seems the biggest part of automation is managing expectations.
Yup – expectations are set around that. The team seems to have realistic expectations.