The Impact of Automation on Development
Thursday, September 2nd, 2010It seems obvious that automation will affect the test organization. Less obvious—but no less real—is that it will also affect the development organization. In fact, when you choose to automate the testing for an application, your relationship with development changes completely.

Think about it. Manual testers only have to be able to interact with the application using the screen, keyboard, and mouse or other device. Automated test tools, on the other hand, have to interact with the software at a deeper level, thus exposing the inner workings of the code and perhaps uncovering problems that prevent or complicate automation. If you’re not careful, developers might think you have suddenly transformed into an interfering busybody who is sticking your nose into their business.
This shift in your relationship with development can be handled in a bad way or a good way.


A good idea is a valuable asset, and a lot of good ideas can be like a treasure trove. But what do you do with those ideas? Many ideas wither, not because they are bad ideas, but because of clumsy presentation. Most nascent ideas stand a better chance if you remember these four things:
By best estimates, the software development effort behind 90 nm chip designs has already surpassed the hardware development effort. The projection for 2011 is that less than 40 percent of the overall chip development cost will be spent on hardware. Software now dominates project cycles and determines when a chip can get into volume production. As a result, the importance of software verification has increased, and software has taken on an integral role in the hardware verification process.
Ask an engineer what he is doing and there is a good chance his answer will be, “I am debugging.” Day in and day out, project after project, engineers debug — it’s part of being an engineer. Sometimes, it’s quick and easy, but sometimes it’s hard, not obvious, time consuming, and unpredictable. Everyone knows that debugging is a dreaded but necessary part of the design and verification process.
Results from Byte Paradigm’s 2009 and 2010 surveys show that embedded systems engineers widely recognize prototyping as an efficient methodology to speed up embedded system debug, no matter the type of embedded system or its maximum speed.
Some test teams may be stumped on how to transition to agile. If you’re in such a team, you probably have manual tests for regression either because you never have had the time to automate them or because you are testing from the GUI and it doesn’t make sense to automate them. You probably have great exploratory testers who can find problems inside complex applications, yet they tend not to automate their testing and need a final product before they start testing. How do you make it work? How do you keep up with development?
Agile methods are described as software development methods. Most introductory material, like the Agile Manifesto, describe how agile teams are organized and act but don’t describe some of the things that happen outside the development teams.