exampler.com/testing-com > Services > Resume

Testing Foundations
Consulting in Software Testing
Brian Marick





Agile Testing

Brian Marick's Resume

Testing Foundations
(217) 351-7228


My focus is the intersection of testing and programming in projects with changing requirements, frequent releases, and an emphasis on communication (in two words, agile projects). In that intersection, I concentrate on three things:

I also consult on other types of testing in other types of projects, but be warned: I will encourage them to move in the Agile direction or, if more suitable, in the direction that some of my colleagues and I call "context-driven".

I strongly favor hands-on training work over classroom-style training.


1992 - present: Testing Foundations
As a consultant, my responsibility is to teach testers and programmers what they need to know, help managers understand what their employees need, and consult on process improvement and testing strategy (typically, how to do more within a fixed cost).

I have been a technical editor of Better Software Magazine since Volume 1 (1999).

1988 - 1992: Motorola Microcomputer Division

Motorola MCD produced UNIX systems, including one of the first symmetric multiprocessor systems on the market. I led an effort that specifically targeted the risks of such systems, constructed a tool to better evaluate existing stress tests, and wrote tests that targeted under-stressed parts of the system. The effort was a notably successful part of the overall testing program, discovering a high number of severity 1 bugs and producing a set of tests used by testers and developers until Motorola exited that business.

Motorola funded joint research with the University of Illinois, where I concentrated on extensible, cost-effective testing techniques, including development of supporting tools and experimental evaluation. The techniques formed the basis for my book, The Craft of Software Testing. One of the tools (the Generic Coverage Tool) was used in the stress testing effort and has since been released under an open source license. Although now rather old, I believe it is still used in some UNIX shops.

1984 - 1988: Gould Computer Systems Division

I was chief programmer and later project manager for a port and enhancement of CMU Common Lisp. The project was ill-conceived, there being no market for Common Lisp on Gould hardware, but it was a technical success, in large part because of my insistence on sound testing during development.

After that project, I rejoined the mainstream of the Urbana Development Center, whose task was to add real-time extensions to UNIX. I was project manager for a training project staffed with new hires. They were to learn how to develop software well while doing real tasks of moderate criticality. This project was successful, as measured by the later success of the participants, most of whom went off to significantly better jobs.

1981 - 1984: Compion Corporation

In my first job out of college, I tested, then developed, network protocol modules for UNIX. Although I left testing early, its influence lingered, and there was always a strong testing component to my programming work. The interaction between testing and programming remains central to my thinking.

Compion Corporation also did secure computing work for the U.S. government. As part of this work, it developed a design verification system for proving the correctness of designs specified in a variant of first-order predicate calculus. I wrote the language parser, a specification checker, and most of the user documentation. I also developed a training course.


In January, 2005, I am most fluent in Ruby, with Java as my secondary language and Python as my tertiary language. I am somewhat rusty in C and Lisp (Common Lisp and Emacs Lisp). I have insignificant experience with C++, Objective-C, Smalltalk, and Delphi.



MS Computer Science, University of Illinois, 1989
BS Math and Computer Science, University of Illinois, 1981
BA English Literature, University of Illinois, 1981


' Methodology Work is Ontology Work', OOPSLA Onward!, 2004.

'Behind the Screens', Better Software Magazine, April 2004.

'Bypassing the GUI', Software Testing and Quality Engineering Magazine, September 2002.

'A Manager's Guide to Evaluating Test Suites' (with Cem Kaner and James Bach), International Quality Week, May 2000.

'The Tester's Triad: Bug, Product, User', invited paper, Software Testing, Analysis, and Review (STAR), May 2000.

'Faults of Omission', Software Testing and Quality Engineering Magazine, January 2000.

'How to Misuse Code Coverage', International Symposium and Exposition on Testing Computer Software, June 1999 (previously presented at STAR 95).

'New Models for Test Development', keynote, International Quality Week, May 1999.

'Working Effectively With Developers', invited paper, Software Testing, Analysis, and Review, October 1998.

'When Should a Test be Automated?', International Quality Week, May 1998.

'Classic Testing Mistakes,' invited paper, Software Testing, Analysis, and Review (STAR), May 1997.

'The Test Manager at the Project Status Meeting' (with Steve Stukenborg), International Quality Week, May 1997.

The Craft of Software Testing, Prentice Hall 1995.

'Three Ways to Improve Your Testing,' invited paper, Pacific Northwest Software Quality Conference, October 1992.

'The Weak Mutation Hypothesis,' Proceedings of the ACM SIGSOFT Symposium on Testing, Analysis, and Verification, October 1991.

'Experience with the Cost of Different Coverage Goals for Testing', Pacific Northwest Software Quality Conference, October 1991.

'Two Experiments in Software Testing,' Technical Report UIUCDCS-R-90-1644, University of Illinois, 1990.

'A Survey of Test Effectiveness and Cost Studies,' Technical Report UIUCDCS-R-90-1652, University of Illinois, 1990.

'A Survey of Software Fault Surveys,' Technical Report UIUCDCS-R-90-1651, University of Illinois, 1990.

'Lynx: Hypertext on-the-Cheap for Software Maintenance,' M.S. Thesis, University of Illinois, 1989.

'The VERUS Design Verification System,' in Proceedings of the 1983 IEEE Symposium on Security and Privacy, April 1983.





Agile Testing

[an error occurred while processing this directive]