Agile + DevOps West 2020 Pre-conference Training : Agile Unit Testing Workshop
Sunday, June 7, 2020 - 8:30am to Monday, June 8, 2020 - 5:00pm

Agile Unit Testing Workshop

Add to calendar
  • Practice designing, implementing, and executing unit tests
  • Discover agile unit testing best practices
  • Explore key unit testing approaches like TDD
  • Find out how to incorporate non-functional tests such as security and performance
  • Understand how to use stubs and mocks to eliminate dependencies
  • Learn strategies for increasing unit test coverage
Gain hands-on experience with unit test design, implementation, and execution in this two-day course for development team members who are comfortable with their programming language and the basics of object-oriented design. Attendees learn the techniques of design and developing unit tests, test-driven development (TDD), unit testing best practices, and ways to increase unit test coverage. Practice common unit testing and experience how these techniques reduce defect escapes downstream. This set of practices for developers is essential core competencies for ensuring what they build is effectively tested.
 
This workshop-style course provides hands-on exercises to allow developers to immediately apply unit testing techniques in an informal and interactive setting. Attendees will leave the workshop with the ability to apply unit testing best practices in their own environment. 
 
Who Should Attend?
This is a novice to intermediate level course intended for software developers. Attendees should have competence with common programming languages such as Java, JavaScript, or C#. 
 
Prerequisites/Requirements
A working knowledge of software development processes, familiarity with basic object-oriented principles of design, and a basic familiarity with an agile framework such as Scrum or Kanban are necessary for this course.
 
Laptop Required
This class involves hands-on activities using sample software to better facilitate learning. Each student should bring a laptop with sufficient permissions to enable remote desktop protocol (RDP) applications. Please verify permissions with your IT Admin before class. If you or your Admin have questions about the specific applications involved, contact our Client Support team.

 

Course Outline
Introduction to TDD
Origin
Why do TDD?
What are unit tests?
Comparison of test levels
 
Unit Test details
Drivers
Annotations
Handling exceptions
Mocks
Assertions
 
Concepts
Black box thinking
Domain
Related concepts
  • Agile
  • MVP
  • BDD
  • Pair programming
  • Continuous integration
Practice
TDD coding cycle
Best practices
Code coverage
  • Statement
  • Decision
  • Condition
  • Notes on technique
  • Mutation testing
General notes
  • Duration
  • Test orbits and VCS hooks
 
Transition
What's standing in our way?
Next steps
 

 

Class Daily Schedule
Sign-In/Registration 7:30 - 8:30 a.m.
Morning Session 8:30 a.m. - 12:00 p.m.
Lunch 12:00 - 1:00 p.m.
Afternoon Session 1:00 - 5:00 p.m.
Times represent the typical daily schedule. Please confirm your schedule at registration.
 
Training Course Fee Includes
• Tuition
• Course notebook
• Continental breakfasts and refreshment breaks
• Lunches
• Letter of completion

 

Byron_Katz
Coveros

Byron Katz has been in love with computers since his father bought the family a Commodore 64. A degreed architect, he found his way back to software development in 2010, and his career has included roles as a quality assurance lead, a full-stack developer, consultant, and sales engineer. Byron has experience at software firms ranging from start-ups to large enterprises to government projects. His primary project experience has been as a full-stack developer of multi-tier web projects in Java and .Net, but most recently Byron has had the opportunity to practice DevOps. He enjoys making seemingly-difficult concepts accessible to a larger audience, and his agenda is to persuade others that the costs of quality, simplicity, and beauty pay for themselves in the long run.