Spring 2016 Symposium

Michael Harnish
Functional Test Automation in the Real World

Michael Harnish
Date: Tuesday, March 15 2016
Time: 7pm
Location: Roddy Hall, Room 149


Functional testing verifies that software performs the work that its specification says it should. Simple as that sounds, development and integration teams frequently devote more resources to other testing disciplines - unit, load, and performance testing - than they give to functional testing. Functional testing is hard, after all, and it presupposes that rarest of treasures: a well-documented and testable set of functional specifications. In this presentation we will discuss software development in the pharmaceutical and biotechnology industries, where regulatory requirements dictate an exhaustive testing regimen. We will survey best practices, strategies, and toolkits for functional test automation, which can significantly reduce time to market while improving the quality and reach of the tests themselves. We will explore test-driven development (TDD) and behavior-driven development (BDD); open-source test specification frameworks like Cucumber, Gauge, and JBehave; and domain-specific test implementation frameworks like Selenium, Capybara, PhantomJS, and Toffee.


Michael Harnish has been developing custom and packaged web software for the pharmaceutical and utilities industries for over 20 years. Weary of writing (and especially executing) paper-based system and acceptance tests, he was an early adopter of Selenium for testing pharmaceutical R&D applications. Weary of explaining to his customers' quality auditors how Selenium-based Java code really truly does constitute a meaningful functional test, he designed Toffee (, a test orchestration framework that shrinks the semantic distance between the language of test specification and that of test implementation. Mr. Harnish is the President and co-founder of KSM Technology Partners, a software development and integration consultancy based in Audubon, PA.  Mike didn't attend Millersville University, but he is a Millersville townie who wasted a significant chunk of his youth playing video games in the SMC. He blogs at