May 06, 2008
Five Questions With Elfriede Dustin
Elfriede Dustin has written numerous books and articles about testing and test automation. While I haven't read any of them myself, multiple someones evidently find her books useful as they have been translated into multiple languages and sell worldwide. She co-chairs the annual VERIFY conference, where one of the three presentation tracks focuses on (surprise!) test automation. She got her start in computers doing a different type of automation - using Wang computers to automate claims processing for the United States federal government. These days she is helping the US military automate their software testing, which seems a rather different challenge than the ones on which I work.
Here is what Elfriede has to say:
DDJ: What has most surprised you as you have learned about testing/in your experiences with testing?
ED: Most surprising to me is that still often over 60% of the software development lifecycle is spent on software testing. For example, a most recent quote in Redmond Developer News states that "Industry analysts estimate that developers spend only about 20 percent of their time designing and coding ... the bulk of their time is spent on resolving application problems…" I have worked in various software development/testing environments, i.e. commercial and Government, and the testing challenges exist across the board, independent of the environment. Software testing techniques lag behind hardware testing techniques, for example, where use of tools is now regarded as mandatory. Today manual test generation for hardware is inconceivable; yet software testing often is still done manually in many companies. Software testing needs to advance to the same level as hardware testing; i.e. all software testing should be automated to allow for various efficiencies, such as software test reuse and repeatability.
DDJ: How would you describe your testing philosophy?
ED: My testing philosophy is to automate, automate, and automate. Manual testing is labor intensive, increasingly repetitive and thus error prone. It is archaic and cannot keep up with the software development advances. Despite the advances in development practices and tools, the goals of accelerating the rate at which systems can be delivered and reducing their costs cannot be met by simply writing software faster without comparable improvement in the practices and tools for testing the software. Software testing techniques are not keeping pace with software development advances. With the increased use of advanced software development tools, languages, and model driven architectures by software providers, software testing is rapidly becoming the "very longest and most expensive pole in the tent" when it comes to fielding new capabilities into production or to the masses. Automated testing is the answer. Automated testing tools and methodologies (such as the Automated Testing Lifecycle Methodology (ATLM) described in my book Automated Software Testing) have been developed and continue to emerge. Automated software quality tools growth is primarily due to businesses’ desire for higher quality, increased productivity, and faster time to market. Open source available automated testing tools are improving and STAF/STAX is one great example of a powerful open source automation framework.
DDJ: What do you think is the most important thing for a tester to know? To do? For developers to know and do about testing?
ED: The most important thing for testers (or anyone) to know is that testing requires skill and expertise. Software testing is a profession and should not be considered only a stepping stone into another department, for example into development. Often the misconception exists that anyone who is able to hold a clipboard can be a tester. I have written various books and articles on the skills required to be a tester (for a list of my books, see http://www.effectivesoftwaretesting.com/Books.aspx); i.e. to be an efficient software tester the person really has to enjoy testing, and not only see it as a temporary involuntary assignment; have a knack for it, be analytical, detail oriented, and be versatile, such as a) be technically savvy, to understand the technical intricacies of the application-under-test in order to be able to automate the testing efforts, b) understand the business, and c) never stop learning and improving on the testing efforts. Developers need to unit test their code and make automated unit testing part of their build processes, which results in the most successful development efforts.
DDJ: What do you see as the biggest challenge for testers/the test discipline for the next five years?
ED: The biggest challenge will be that testers and the test discipline will continue to play "catch-up" with development advances. With today’s processor cores tearing through billions of instructions per second and software builds of n-tier applications consisting of thousands of source files, computer hardware and software technologies have made many significant advances. Advances in development practices, methodologies, and tools which have been enablers in fielding phenomenal new, innovative, affordable, and timely information processing capabilities will continue to make headlines. In this existing paradigm of rapid development and edge of technology advancements, with a focus on reducing development time and creating re-usable capabilities, efficient and thorough testing of the software will be more critical than ever. Testing techniques and technologies will need to be able to keep up with the phenomenal advancements: Automated Software testing and self-testable components are part of the answer to this challenge.
DDJ: What else should I ask you?
ED: Where do you currently work and what excites you about your current job?
DDJ: What is your answer?
ED: I currently work at Innovative Defense Technologies. The exciting part about this company is that our goal is to improve software testing efforts across DOD and commercial markets, for example we are bringing automated testing solutions to mission critical systems at the Navy and soon to other parts of the DOD. IDT as a company is solely dedicated to improving software testing efforts across the board. We are working with edge of technology testing techniques and have some of the brightest leadership and developers assigned to the software automation tasks and efforts. IDT will change how testing gets done in the long run.
[See my Table Of Contents post for more details about this interview series.]
Posted by The Braidy Tester at 07:30 AM Permalink
|