Improving Testing Through Operability

Reliability, handling failure gracefully and recovering quickly are becoming increasingly important as the software development world adopts DevOps culture and practices. Outages and security failures are big news and many companies are investing heavily to avoid these challenges. Operable systems are easy to deploy and test, provide actionable information about their state and behave more predictably in adverse conditions. This training aims to show how leveraging greater operability can improve your testing efforts.

  • Using operability techniques to help define test strategy
  • The power of observability through logging and tracing to assist testing
  • Using time series databases to track application events and diagnostics
  • Creating an alert policy to determine what is normal operation for your system and flagging potential deviances.
  • Enhancing an application with operational hooks to expose state and control the application.
Run Book dialogue sheet by Skelton Thatcher

Is Improving Testing Through Operability training right for me?

  • Yes, if you are an operations engineer looking to understand how you can engage with development teams in a closer manner
  • Yes, if you are a developer whose team has been tasked with taking ownership of certain operational aspects of your application in production.
  • Yes, if you are a skilled exploratory tester who would like to know what kinds of information an application can emit to help you test.
  • Yes, if you are a performance engineer or a site reliability engineer who wants to know what good operability looks like and how it can help you engage with ops/development teams.

What will I achieve by completing this training?

You will learn:

  • The use of run books for collaboration between development and ops
  • The principles of effective logging and generating events
  • How to use the information generated by your application to monitor and alert
  • Where operability hooks can be used within an application

You will gain hands-on experience in:

  • Creating a run book for your application
  • Adding increasingly detailed logging to an application
  • Configuring a Prometheus time series database and querying data generated by the application
  • Creating a set of alerts for your application using Alert Manager
  • Adding operability hooks to expose database statistics

You will develop the skills to:

  • Contribute to discussions about resilience, capacity and other operability concerns.
  • Advocate for operability improvements which also benefit the effectiveness of your testing.
  • Know how testing can contribute to DevOps transformation efforts including the addition of new platforms and tooling.