PowerShell+ 2019 - Testing, Testing, 1...2...3: Using Pester for Infrastructure ... by Brandon Olin
Testing, Testing, 1...2...3: Using Pester for Infrastructure Validation by Brandon Olin
This talk will show how to use [Pester](https://github.com/pester/Pester), the pervasive testing framework for PowerShell, for validating that your infrastructure is operating how you expect.
Pester is *the* testing framework for PowerShell. Typically you'll use Pester to test your PowerShell scripts or modules but it can also be used for testing infrastructure. Operation Validation is a method of using Pester to test that your deployed infrastructure is operating the way you expect. In this use case, we're not testing code, but real-world infrastructure.
This talk will show how Pester and related tools can be used as part of an automation and testing workflow.
Tools showcased:
- [Pester](https://github.com/pester/Pester)
Pester is the ubiquitous test and mock framework for PowerShell.
- [Operation Validation Framework](https://github.com/PowerShell/Operati...)
A set of tools for executing validation of the operation of a system. It provides a way to organize and execute Pester tests which are written to validate operation (rather than limited feature tests)
- [PoshSpec](https://github.com/Ticketmaster/poshspec)
An infrastructure testing DSL running in Pester.
- [Watchmen](https://github.com/devblackops/watchmen)
Infrastructure test runner and notification system using
[Operation Validation Framework](https://github.com/PowerShell/Operati...) (OVF) PowerShell modules and Pester.
- [PSHealthZ](https://github.com/devblackops/pshealthz)
Basic HTTP(S) listener that executes [Operation Validation Framework](https://github.com/PowerShell/Operati...) (OVF) tests that are present on the given system and returns results using a simple REST API.
This is an implementation of the [Health Endpoint Monitoring Pattern](https://msdn.microsoft.com/en-us/libr...) using PowerShell.
PowerShell Summit videos are recorded on a "best effort" basis. We use a room mic to capture as much room audio as possible, with an emphasis on capturing the speaker. Our recordings are made in a way that minimizes overhead for our speakers and interruptions to our live audience. These recordings are meant to preserve the presentations' information for posterity, and are not intended to be a substitute for attending the Summit in person. These recordings are not intended as professional video training products. We hope you find these videos useful - the equipment used to record these was purchased using generous donations from members of the PowerShell community.