Professor Janzen Provides Some Insight to LogiGear Magazine on How to Become a Software Tester

David S. Janzen – Associate Professor of Computer Science Department California Polytechnic State University, San Luis Obispo – homepage

LogiGear: How did you get into software testing and what do you find interesting about it?

Professor Janzen: The thing I enjoy most about computing is creating something that helps people. Since my first real job building telecommunications fraud detection systems, requirements and design were the most fun. Then when I heard about this thing called test-driven development, and something just clicked. Using unit test specification to do design made sense to me — plus, you get this great side effect of all these automated tests to make refactoring and maintenance easier. I guess I got pulled into software testing by way of software design.

LogiGear: What kind of work are you doing and how did you pick those specific testing topics?

Professor Janzen: My PhD research focused on how test-driven development (TDD) affects the internal, or design quality of software. I did a bunch of experiments with students and software professionals that provided some evidence about the benefits of TDD. The experiments are pretty straightforward:

Get two groups of essentially equivalent programmers, ask them to complete the same tasks, but have one group use the approach you are studying while the other uses the “traditional” approach. Then collect metrics and surveys to see how the two approaches varied.

Having become convinced that TDD is a great way to design and build software, my recent efforts have moved toward incorporating TDD into computing education.

I think TDD is taking the same path that objects took in the early ’90s. Folks in the industry started adopting objects so the broader academic community took notice. However, they mostly considered object-oriented programming to be an advanced concept, so it started to appear in graduate and upper-level courses. As educators became more comfortable with the approach, objects eventually made it down to first-year courses. I think the same is happening with TDD, so I am building tools and doing experiments to demonstrate that TDD can be taught to beginning programmers with great success. I call the approach Test-Driven Learning (TDL).

My current project is a web-based development environment for beginning programmers that will incorporate TDL-inspired labs. It will soon be available at http://web-ide.org.

LogiGear: How can a college student prepare to go into software testing and become really good at it and what should he or she look for in teachers, courses, and methods?

Professor Janzen: Software testing is such a great field to study. My students who are good at software testing often get the best job offers. Most undergraduate computer science and software engineering programs don’t have separate courses in software testing. The best route is to do well in your core programming courses, and then take as many software engineering courses as you can. Many software engineering courses involve team projects. Volunteer to be a software tester or quality assurance manager. Or, take the role of system integrator or build manager.

These roles will give you exposure to many of the automation tools that software testers use, and will help you start thinking about how to break software and not just how to build it.

LogiGear: What sort of graduate programs should college graduates consider? Also, in your opinion, what are some of the more interesting research questions people are asking now and what do you think they’ll be researching in 5 years?

Professor Janzen: There are two routes you might consider in graduate school. If you want to be involved in software development in companies and lead software teams, look at masters in software engineering programs. Many of these programs cater to software professionals who are already working in industry, by offering courses in the evenings or on weekends. If you are interested in more cutting-edge research, such as building new software testing tools, or developing new software testing methods, consider going to a traditional Computer Science PhD program. There are lots of smart researchers working on really interesting testing topics.

In five years? Well a lot of work seems to be focused on automatically generating automated tests, and also on tools for working with models. Look for some of the top software testing conferences and try to attend. Read software testing trade journals — there are plenty online, and many are still published in magazine format. Try to identify and follow interesting and cutting edge active researchers – and maybe if you’re lucky you’ll get a chance to meet these pioneers in person, which can be an exciting and thought provoking experience.

LogiGear: Lastly, who do you consider to be some of the leaders in this field and what are they doing in the field of software testing and development?

Professor Janzen: I am interested in some of the work being completed by Tao Xie and Laurie Williams at North Carolina State University. Tao is doing a lot of work with automated software testing and data mining. Laurie has working on static analysis tools, reliability, security, and mutation testing.

LogiGear: Thank you, Professor Janzen.

 

LogiGear Corporation

LogiGear Corporation provides global solutions for software testing, and offers public and corporate software-testing training programs worldwide through LogiGear University. LogiGear is a leader in the integration of test automation, offshore resources and US project management for fast and cost-effective results. Since 1994, LogiGear has worked with hundreds of companies from the Fortune 500 to early-stage startups, creating unique solutions to exactly meet their needs. With facilities in the US and Vietnam, LogiGear helps companies double their test coverage and improve software quality while reducing testing time and cutting costs.

For more information, contact Joe Hughes + 01 650.572.1400

LogiGear Corporation
LogiGear Corporation provides global solutions for software testing, and offers public and corporate software testing training programs worldwide through LogiGear University. LogiGear is a leader in the integration of test automation, offshore resources and US project management for fast, cost-effective results. Since 1994, LogiGear has worked with Fortune 500 companies to early-stage start-ups in, creating unique solutions to meet their clients’ needs. With facilities in the US and Viet Nam, LogiGear helps companies double their test coverage and improve software quality while reducing testing time and cutting costs.

The Related Post

The Testing Domain Workbook is the most extensive and exhaustive work you will ever find on a specific testing technique (or related techniques if you include equivalence class analysis and boundary testing as the book does). What I like best is the combination of academic background and roots combined with practical experience and industrial practice. All the concepts are ...
Do testers have to write code? For years, whenever someone asked me if I thought testers had to know how to write code, I’ve responded: “Of course not.” The way I see it, test automation is inherently a programming activity. Anyone tasked with automating tests should know how to program. But not all testers are ...
This is an adaptation of a presentation entitled Software Testing 3.0 given by Hung Nguyen, LogiGear CEO, President, and Founder. The presentation was given as the keynote at the Spring 2007 STPCON conference in San Mateo, California. Watch for an upcoming whitepaper based on this topic. Introduction This first article of this two article series ...
Introduction Keyword-driven testing is a software testing technique that separates much of the programming work of test automation from the actual test design. This allows tests to be developed earlier and makes the tests easier to maintain. Some key concepts in keyword driven testing include:
March Issue 2020: Smarter Testing Strategies for The Modern SDLC
At VISTACON 2011, Jane sat down with LogiGear Sr. VP, Michael Hackett, to discuss complex systems.
“Combinatorial testing can detect hard-to-find software faults more efficiently than manual test case selection methods.” Developers of large data-intensive software often notice an interesting—though not surprising—phenomenon: When usage of an application jumps dramatically, components that have operated for months without trouble suddenly develop previously undetected errors. For example, newly added customers may have account records ...
Plan your Test Cases with these Seven Simple Steps What is a mind map? A mind map is a diagram used to visually organize information. It can be called a visual thinking tool. A mind map allows complex information to be presented in a simplified visual format. A mind map is created around a single ...
Introduction Software Testing 3.0 is a strategic end-to-end framework for change based upon a strategy to drive testing activities, tool selection, and people development that finally delivers on the promise of software testing. For more details on the evolution of software testing and Software Testing 3.0 see: Software Testing 3.0: Delivering on the Promise of ...
Training has to be fun. Simple as that. To inspire changed behaviors and adoption of new practices, training has to be interesting, motivating, stimulating and challenging. Training also has to be engaging enough to maintain interest, as trainers today are forced to compete with handheld mobile devices, interruptions from texting, email distractions, and people who think they ...
Trying to understand why fails, errors, or warnings occur in your automated tests can be quite frustrating. TestArchitect relieves this pain.  Debugging blindly can be tedious work—especially when your test tool does most of its work through the user interface (UI). Moreover, bugs can sometimes be hard to replicate when single-stepping through a test procedure. ...
Companies generally consider the software they own, whether it is created in-house or acquired, as an asset (something that could appear on the balance sheet). The production of software impacts the profit and loss accounts for the year it is produced: The resources used to produce the software result in costs, and methods, tools, or ...

Leave a Reply

Your email address will not be published. Required fields are marked *

Stay in the loop with the lastest
software testing news

Subscribe