SlideShare a Scribd company logo
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Mark Nash
Graduate Engineer at
DevOpsGuys
Ed Dipple
Senior Engineer at
DevOpsGuys
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Plone conference 2007, Naples
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
$testFiles = Get-Item ".src*.Tests.ps1"
Invoke-Pester -Path $testFiles
Describing Dependency checking
Context Windows
[+] Should be able to add to the PATH variable 1.87s
Context Unix
[+] Should be able to add to the PATH variable 185ms
Context Mono is not installed
[+] Should throw exception if Mono not installed on Unix 186ms
[+] Should not throw exception if Mono not installed on Windows
125ms
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Powershell Class
Create a fake
WebClient
Inline C# code
Import the FakeWebClient2 Class
# Call your function that uses the mock
1 -Scope It
}
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
$testFiles = Get-Item ".src*.tests.ps1"
Invoke-Pester -Path $testFiles
-OutputFormat NUnitXML
-OutputFile TestResults.xml
$testFiles = Get-Item ".src*.tests.ps1"
$sourceFiles = Get-Item ".src*.ps1" –Exclude *.Tests.ps1
Invoke-Pester -Path $testFiles
-CodeCoverage $sourceFiles
-CodeCoverageOutputFile coverage.xml
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Unit Tests Functional Tests
• Test for expected output
values and exceptions
• Mock all commands that
change machine state
• Assert that mocks have
been called the
expected number of
times
• Test for actual state
change
• Minimal usage of Mock
objects
• Use TestDrive to isolate
state changes where
possible
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Invoke-ScriptAnalyzer "./src"
Invoke-ScriptAnalyzer "./src" -Recurse
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Get-ScriptAnalyzerRule
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Describe 'PSScriptAnalyzer analysis' {
$ScriptAnalyzerResults = Invoke-ScriptAnalyzer
-Path "*.ps1"
-Severity Warning
It 'Should not return any violation' {
$ScriptAnalyzerResults | Should BeNullOrEmpty
}
}
https://github.com/MathieuBuisson/PowerShell-DevOps/
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017
https://github.com/devopsguys/PSForge
https://github.com/devopsguys/FutureDecoded
https://blogs.technet.microsoft.com/heyscriptingguy/2015/12/16/unit-testing-
powershell-code-with-pester/
https://blogs.technet.microsoft.com/heyscriptingguy/2017/01/31/psscriptanaly
zer-deep-dive-part-1-of-4/
Ad

More Related Content

What's hot (20)

Feature flag launchdarkly
Feature flag launchdarklyFeature flag launchdarkly
Feature flag launchdarkly
Sandeep Soni
 
React Workshop
React WorkshopReact Workshop
React Workshop
GDSC UofT Mississauga
 
Maven
MavenMaven
Maven
Harshit Choudhary
 
Python database interfaces
Python database  interfacesPython database  interfaces
Python database interfaces
Mohammad Javad Beheshtian
 
Quarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java frameworkQuarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java framework
SVDevOps
 
Building with Gradle
Building with GradleBuilding with Gradle
Building with Gradle
Kaunas Java User Group
 
Docker and WASM
Docker and WASMDocker and WASM
Docker and WASM
Antonis Kalipetis
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
Jeremy Coates
 
Docker Networking
Docker NetworkingDocker Networking
Docker Networking
Kingston Smiler
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
Gong Haibing
 
Selenium
SeleniumSelenium
Selenium
Adam Goucher
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
Mindfire Solutions
 
Web assembly: a brief overview
Web assembly: a brief overviewWeb assembly: a brief overview
Web assembly: a brief overview
Pavlo Iatsiuk
 
Object Oriented Javascript
Object Oriented JavascriptObject Oriented Javascript
Object Oriented Javascript
NexThoughts Technologies
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
Khizer Naeem
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
Pavan Gupta
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
Jonathan Holloway
 
From Java 11 to 17 and beyond.pdf
From Java 11 to 17 and beyond.pdfFrom Java 11 to 17 and beyond.pdf
From Java 11 to 17 and beyond.pdf
José Paumard
 
GitLab.pptx
GitLab.pptxGitLab.pptx
GitLab.pptx
LeoulZewelde1
 
Jenkins Overview
Jenkins OverviewJenkins Overview
Jenkins Overview
Ahmed M. Gomaa
 

Similar to Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017 (20)

Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
Antons Kranga
 
Agile Swift
Agile SwiftAgile Swift
Agile Swift
Godfrey Nolan
 
Real world cross-platform testing
Real world cross-platform testingReal world cross-platform testing
Real world cross-platform testing
Peter Edwards
 
IR Journal (itscholar.codegency.co.in).pdf
IR Journal (itscholar.codegency.co.in).pdfIR Journal (itscholar.codegency.co.in).pdf
IR Journal (itscholar.codegency.co.in).pdf
RahulRoy130127
 
Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36
Halil Kaya
 
Isolated development in python
Isolated development in pythonIsolated development in python
Isolated development in python
Andrés J. Díaz
 
PHPunit and you
PHPunit and youPHPunit and you
PHPunit and you
markstory
 
Quality Assurance for PHP projects - ZendCon 2012
Quality Assurance for PHP projects - ZendCon 2012Quality Assurance for PHP projects - ZendCon 2012
Quality Assurance for PHP projects - ZendCon 2012
Michelangelo van Dam
 
Python testing
Python  testingPython  testing
Python testing
John(Qiang) Zhang
 
Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12
Michelangelo van Dam
 
Unit Testing from Setup to Deployment
Unit Testing from Setup to DeploymentUnit Testing from Setup to Deployment
Unit Testing from Setup to Deployment
Mark Niebergall
 
From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012
Carlos Sanchez
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
Boulos Dib
 
Simpletest - A beginners guide
Simpletest - A beginners guideSimpletest - A beginners guide
Simpletest - A beginners guide
Ed Conolly
 
Leveling Up With Unit Testing - php[tek] 2023
Leveling Up With Unit Testing - php[tek] 2023Leveling Up With Unit Testing - php[tek] 2023
Leveling Up With Unit Testing - php[tek] 2023
Mark Niebergall
 
Unit Testing using PHPUnit
Unit Testing using  PHPUnitUnit Testing using  PHPUnit
Unit Testing using PHPUnit
varuntaliyan
 
Getting started with TDD - Confoo 2014
Getting started with TDD - Confoo 2014Getting started with TDD - Confoo 2014
Getting started with TDD - Confoo 2014
Eric Hogue
 
#dddsw - Modernizing .NET Apps with Docker
#dddsw - Modernizing .NET Apps with Docker#dddsw - Modernizing .NET Apps with Docker
#dddsw - Modernizing .NET Apps with Docker
Elton Stoneman
 
Superfast Automated Web Testing with CasperJS & PhantomJS
Superfast Automated Web Testing with CasperJS & PhantomJS Superfast Automated Web Testing with CasperJS & PhantomJS
Superfast Automated Web Testing with CasperJS & PhantomJS
Hervé Vũ Roussel
 
Powershell Tech Ed2009
Powershell Tech Ed2009Powershell Tech Ed2009
Powershell Tech Ed2009
rsnarayanan
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
Antons Kranga
 
Real world cross-platform testing
Real world cross-platform testingReal world cross-platform testing
Real world cross-platform testing
Peter Edwards
 
IR Journal (itscholar.codegency.co.in).pdf
IR Journal (itscholar.codegency.co.in).pdfIR Journal (itscholar.codegency.co.in).pdf
IR Journal (itscholar.codegency.co.in).pdf
RahulRoy130127
 
Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36Infrastructure as code - Python Saati #36
Infrastructure as code - Python Saati #36
Halil Kaya
 
Isolated development in python
Isolated development in pythonIsolated development in python
Isolated development in python
Andrés J. Díaz
 
PHPunit and you
PHPunit and youPHPunit and you
PHPunit and you
markstory
 
Quality Assurance for PHP projects - ZendCon 2012
Quality Assurance for PHP projects - ZendCon 2012Quality Assurance for PHP projects - ZendCon 2012
Quality Assurance for PHP projects - ZendCon 2012
Michelangelo van Dam
 
Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12Workshop quality assurance for php projects tek12
Workshop quality assurance for php projects tek12
Michelangelo van Dam
 
Unit Testing from Setup to Deployment
Unit Testing from Setup to DeploymentUnit Testing from Setup to Deployment
Unit Testing from Setup to Deployment
Mark Niebergall
 
From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012
Carlos Sanchez
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
Boulos Dib
 
Simpletest - A beginners guide
Simpletest - A beginners guideSimpletest - A beginners guide
Simpletest - A beginners guide
Ed Conolly
 
Leveling Up With Unit Testing - php[tek] 2023
Leveling Up With Unit Testing - php[tek] 2023Leveling Up With Unit Testing - php[tek] 2023
Leveling Up With Unit Testing - php[tek] 2023
Mark Niebergall
 
Unit Testing using PHPUnit
Unit Testing using  PHPUnitUnit Testing using  PHPUnit
Unit Testing using PHPUnit
varuntaliyan
 
Getting started with TDD - Confoo 2014
Getting started with TDD - Confoo 2014Getting started with TDD - Confoo 2014
Getting started with TDD - Confoo 2014
Eric Hogue
 
#dddsw - Modernizing .NET Apps with Docker
#dddsw - Modernizing .NET Apps with Docker#dddsw - Modernizing .NET Apps with Docker
#dddsw - Modernizing .NET Apps with Docker
Elton Stoneman
 
Superfast Automated Web Testing with CasperJS & PhantomJS
Superfast Automated Web Testing with CasperJS & PhantomJS Superfast Automated Web Testing with CasperJS & PhantomJS
Superfast Automated Web Testing with CasperJS & PhantomJS
Hervé Vũ Roussel
 
Powershell Tech Ed2009
Powershell Tech Ed2009Powershell Tech Ed2009
Powershell Tech Ed2009
rsnarayanan
 
Ad

More from DevOpsGroup (20)

DevOpsGroup Cloud Adoption Frameworks - agile south coast
DevOpsGroup Cloud Adoption Frameworks - agile south coastDevOpsGroup Cloud Adoption Frameworks - agile south coast
DevOpsGroup Cloud Adoption Frameworks - agile south coast
DevOpsGroup
 
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies ...
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies  ...WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies  ...
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies ...
DevOpsGroup
 
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies
DevOpsGroup
 
DevOpsGuys Scaling DevOps @ #CIOWaterCooler - June 2018
DevOpsGuys Scaling DevOps @ #CIOWaterCooler - June 2018DevOpsGuys Scaling DevOps @ #CIOWaterCooler - June 2018
DevOpsGuys Scaling DevOps @ #CIOWaterCooler - June 2018
DevOpsGroup
 
DevOpsGuys - Cloud Adoption Frameworks - IPExpo April 2018
DevOpsGuys - Cloud Adoption Frameworks - IPExpo April 2018DevOpsGuys - Cloud Adoption Frameworks - IPExpo April 2018
DevOpsGuys - Cloud Adoption Frameworks - IPExpo April 2018
DevOpsGroup
 
The future of (Windows) operations #WinOps #DevOps
The future of (Windows) operations #WinOps #DevOpsThe future of (Windows) operations #WinOps #DevOps
The future of (Windows) operations #WinOps #DevOps
DevOpsGroup
 
Why Culture eats DevOps for Breakfast
Why Culture eats DevOps for BreakfastWhy Culture eats DevOps for Breakfast
Why Culture eats DevOps for Breakfast
DevOpsGroup
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGroup
 
Why #DevOps Transformation has to start with you
Why #DevOps Transformation has to start with youWhy #DevOps Transformation has to start with you
Why #DevOps Transformation has to start with you
DevOpsGroup
 
DevOpsGuys - How to get started with DevOps - Redgate Webinar April 2017
DevOpsGuys - How to get started with DevOps - Redgate Webinar April 2017DevOpsGuys - How to get started with DevOps - Redgate Webinar April 2017
DevOpsGuys - How to get started with DevOps - Redgate Webinar April 2017
DevOpsGroup
 
DevOpsGuys - Getting Started with DevOps - Github/Azure Webinar
DevOpsGuys - Getting Started with DevOps - Github/Azure WebinarDevOpsGuys - Getting Started with DevOps - Github/Azure Webinar
DevOpsGuys - Getting Started with DevOps - Github/Azure Webinar
DevOpsGroup
 
Maximising the value of the Cloud through DevOps
Maximising the value of the Cloud through DevOpsMaximising the value of the Cloud through DevOps
Maximising the value of the Cloud through DevOps
DevOpsGroup
 
DevOpsGuys FutureDecoded 2016 - is DevOps the Answer
DevOpsGuys FutureDecoded 2016 - is DevOps the AnswerDevOpsGuys FutureDecoded 2016 - is DevOps the Answer
DevOpsGuys FutureDecoded 2016 - is DevOps the Answer
DevOpsGroup
 
Building for DevOps Success
Building for DevOps SuccessBuilding for DevOps Success
Building for DevOps Success
DevOpsGroup
 
DevOps is the Answer... What was the question again? DevOps and Digital Trans...
DevOps is the Answer... What was the question again? DevOps and Digital Trans...DevOps is the Answer... What was the question again? DevOps and Digital Trans...
DevOps is the Answer... What was the question again? DevOps and Digital Trans...
DevOpsGroup
 
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\
WinOps meetup April 2016   DevOps lessons from Microsoft \\Build\WinOps meetup April 2016   DevOps lessons from Microsoft \\Build\
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\
DevOpsGroup
 
Continuous delivery for databases - Bristol DevOps Edition
Continuous delivery for databases - Bristol DevOps EditionContinuous delivery for databases - Bristol DevOps Edition
Continuous delivery for databases - Bristol DevOps Edition
DevOpsGroup
 
Delivering DevOps Automation on Windows
Delivering DevOps Automation on WindowsDelivering DevOps Automation on Windows
Delivering DevOps Automation on Windows
DevOpsGroup
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databases
DevOpsGroup
 
#DevOps in a windows world - @DevOpsGuys
#DevOps in a windows world - @DevOpsGuys#DevOps in a windows world - @DevOpsGuys
#DevOps in a windows world - @DevOpsGuys
DevOpsGroup
 
DevOpsGroup Cloud Adoption Frameworks - agile south coast
DevOpsGroup Cloud Adoption Frameworks - agile south coastDevOpsGroup Cloud Adoption Frameworks - agile south coast
DevOpsGroup Cloud Adoption Frameworks - agile south coast
DevOpsGroup
 
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies ...
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies  ...WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies  ...
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies ...
DevOpsGroup
 
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies
WinOps - Lessons learned from Enterprise DevOps with Microsoft technologies
DevOpsGroup
 
DevOpsGuys Scaling DevOps @ #CIOWaterCooler - June 2018
DevOpsGuys Scaling DevOps @ #CIOWaterCooler - June 2018DevOpsGuys Scaling DevOps @ #CIOWaterCooler - June 2018
DevOpsGuys Scaling DevOps @ #CIOWaterCooler - June 2018
DevOpsGroup
 
DevOpsGuys - Cloud Adoption Frameworks - IPExpo April 2018
DevOpsGuys - Cloud Adoption Frameworks - IPExpo April 2018DevOpsGuys - Cloud Adoption Frameworks - IPExpo April 2018
DevOpsGuys - Cloud Adoption Frameworks - IPExpo April 2018
DevOpsGroup
 
The future of (Windows) operations #WinOps #DevOps
The future of (Windows) operations #WinOps #DevOpsThe future of (Windows) operations #WinOps #DevOps
The future of (Windows) operations #WinOps #DevOps
DevOpsGroup
 
Why Culture eats DevOps for Breakfast
Why Culture eats DevOps for BreakfastWhy Culture eats DevOps for Breakfast
Why Culture eats DevOps for Breakfast
DevOpsGroup
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGroup
 
Why #DevOps Transformation has to start with you
Why #DevOps Transformation has to start with youWhy #DevOps Transformation has to start with you
Why #DevOps Transformation has to start with you
DevOpsGroup
 
DevOpsGuys - How to get started with DevOps - Redgate Webinar April 2017
DevOpsGuys - How to get started with DevOps - Redgate Webinar April 2017DevOpsGuys - How to get started with DevOps - Redgate Webinar April 2017
DevOpsGuys - How to get started with DevOps - Redgate Webinar April 2017
DevOpsGroup
 
DevOpsGuys - Getting Started with DevOps - Github/Azure Webinar
DevOpsGuys - Getting Started with DevOps - Github/Azure WebinarDevOpsGuys - Getting Started with DevOps - Github/Azure Webinar
DevOpsGuys - Getting Started with DevOps - Github/Azure Webinar
DevOpsGroup
 
Maximising the value of the Cloud through DevOps
Maximising the value of the Cloud through DevOpsMaximising the value of the Cloud through DevOps
Maximising the value of the Cloud through DevOps
DevOpsGroup
 
DevOpsGuys FutureDecoded 2016 - is DevOps the Answer
DevOpsGuys FutureDecoded 2016 - is DevOps the AnswerDevOpsGuys FutureDecoded 2016 - is DevOps the Answer
DevOpsGuys FutureDecoded 2016 - is DevOps the Answer
DevOpsGroup
 
Building for DevOps Success
Building for DevOps SuccessBuilding for DevOps Success
Building for DevOps Success
DevOpsGroup
 
DevOps is the Answer... What was the question again? DevOps and Digital Trans...
DevOps is the Answer... What was the question again? DevOps and Digital Trans...DevOps is the Answer... What was the question again? DevOps and Digital Trans...
DevOps is the Answer... What was the question again? DevOps and Digital Trans...
DevOpsGroup
 
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\
WinOps meetup April 2016   DevOps lessons from Microsoft \\Build\WinOps meetup April 2016   DevOps lessons from Microsoft \\Build\
WinOps meetup April 2016 DevOps lessons from Microsoft \\Build\
DevOpsGroup
 
Continuous delivery for databases - Bristol DevOps Edition
Continuous delivery for databases - Bristol DevOps EditionContinuous delivery for databases - Bristol DevOps Edition
Continuous delivery for databases - Bristol DevOps Edition
DevOpsGroup
 
Delivering DevOps Automation on Windows
Delivering DevOps Automation on WindowsDelivering DevOps Automation on Windows
Delivering DevOps Automation on Windows
DevOpsGroup
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databases
DevOpsGroup
 
#DevOps in a windows world - @DevOpsGuys
#DevOps in a windows world - @DevOpsGuys#DevOps in a windows world - @DevOpsGuys
#DevOps in a windows world - @DevOpsGuys
DevOpsGroup
 
Ad

Recently uploaded (20)

Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 

Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Future Decoded 2017

Editor's Notes

  • #5: Assume the audience knows Powershell well (sysadmins) Tell the audience this
  • #7: You should assume that until your unit tests pass, whatever wonderful feature implemented has broken sometime else. Developers for an enterprise CMS
  • #16: It is the Pester convention that test file names should end in ".Tests.ps1"
  • #18: "Exactly" assertions are case sensitive
  • #29: You will need the latest version of Pester for this