Skip to main content
Tuesday, June 3, 2014 - 8:30am - 12:00pm
Half-day Tutorials
TF

Software Design for Testability

Testability is the degree to which a system can be effectively and efficiently tested. This key software attribute indicates whether testing (and subsequent maintenance) will be easy and cheap—or difficult and expensive. In the worst case, a lack of testability means that some components of the system cannot be tested at all. Testability is not free; it must be explicitly designed into the system through adequate design for testability. Keith Stobie describes influencing factors (controllability, visibility, operability, stability, simplicity) and constraints (conflicting nonfunctional requirements, legacy code), and shares his experiences implementing and testing highly-testable software. Keith offers practical guidance on two key actions: (1) designing well-defined control and observation points in the architecture, and (2) specifying testability needs for test automation early. He shares creative and innovative approaches to overcome failures caused by deficiencies in testability. Keith presents a new and comprehensive strategy for testability design that you can implement to gain the benefits in a cost-efficient manner.

Keith Stobie, Salesforce.com

A quality engineering architect at Salesforce.com, Keith Stobie plans, designs, and reviews software architecture and tests. Keith’s interests are in testing methodology, tools technology, and quality process. He has more than twenty years in the software testing and quality engineering field with a focus on distributed systems testing. Keith has worked at TiVo, Doyenz, BEA, Informix, and Tandem, and on Microsoft projects including Windows Communication Foundation, Bing, and the Protocol Engineering team working on model-based testing.

read more