YoVDO

Improving Testability Through Design

Offered By: Pluralsight

Tags

Software Design Courses Unit Testing Courses Database Management Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
This course tackles the issues of designing a complex application so that it can be covered with high quality tests.

A well designed application is not necessarily the one which has a perfect separation of layers, or the one which perfectly implements some predefined design patterns. It is certainly a plus to have these two goals met, but that is not sufficient to make the application really good. We can learn the most about one application by reading the source code of particular methods embedded deep inside of it. A common for loop often reveals more about the design than the whole diagram depicting responsibilities of an application layer in which it is located. The devil is in the details. The best of all intentions in design fails miserably when the low-profile design of small, seemingly unimportant classes is misconceived. In this course, the order of decisions is sorted bottom-up. It is the small class to which we pay attention the most. Only when all things are in place at the microscopic level can we discuss responsibilities of layers, isolation of modules and other high profile topics. The result is a well-built, easily testable and easily maintainable application.

Syllabus

  • Assessing Reliability of Tests 18mins
  • Developing an Application the Old Way 38mins
  • Guidelines of Redesign for Reliability 46mins
  • Getting the Most Out of Immutable Objects 43mins
  • Improving the Unit Tests 42mins
  • Crossing Responsibility Boundaries 41mins
  • Managing Operations on Database and External Systems 45mins

Taught by

Zoran Horvat

Related Courses

Ruby on Rails: An Introduction
Johns Hopkins University via Coursera
Internet of Things Capstone: Build a Mobile Surveillance System
University of California, San Diego via Coursera
Engineering Maintainable Android Apps
Vanderbilt University via Coursera
Orientação a Objetos com Java
Instituto Tecnológico de Aeronáutica via Coursera
TDD – Desenvolvimento de Software Guiado por Testes
Instituto Tecnológico de Aeronáutica via Coursera