Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/Custom domain #6

Merged
merged 2 commits into from
Oct 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
presentations.devpro.fr
21 changes: 1 addition & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,6 @@
[![CI](https://github.com/devpro/presentations/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/devpro/presentations/actions/workflows/ci.yml)
[![Deploy](https://github.com/devpro/presentations/actions/workflows/deploy.yml/badge.svg?branch=main)](https://github.com/devpro/presentations/actions/workflows/deploy.yml)

Source or links to presentations made by Bertrand Thomas.
Source code of [presentations.devpro.fr](http://presentations.devpro.fr/).

You are welcome to [contribute](CONTRIBUTING.md).

## Content

### Events

Event | Session | Slides
------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------
DevOpsDays Geneva 2023 | [🇫🇷 Transformation numérique et DevOps à l'heure des conteneurs](https://devopsdays.org/events/2023-geneva/program/bertrand-thomas) | [PDF](https://public.devpro.fr/slides/devopsdays_geneva_2023_bertrand_thomas.pdf)
Meetup DevOps Geneva Feb 2024 | [🇫🇷 La sécurité des conteneurs rendue simple grâce à l'open source](https://www.meetup.com/fr-FR/devops-geneve/events/298652964/) | [HTML](https://devpro.github.io/presentations/meetup-secu-conteneur-202402/)

### Workshops

Title | Host
-------------------------------------------------------------------------|-----------
[Angular Dojo](https://slides.com/devprofr/dojo-angular) | Slides.com
[Azure DevOps 101](https://slides.com/devprofr/azure-devops-101) | Slides.com
[.NET Core 101](https://slides.com/devprofr/net-core-101) | Slides.com
[MongoDB News 2009 Q1](https://slides.com/devprofr/mongodb-news-2019-q1) | Slides.com
[Puppet Dojo](https://slides.com/devprofr/dojo-puppet) | Slides.com
20 changes: 10 additions & 10 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,23 @@ You'll find here the content of all public presentations made by [DevPro](https:

## Events

* [Meetup DevOps Geneva Feb 2024](https://www.meetup.com/fr-FR/devops-geneve/events/298652964/): [🇫🇷 Sécurité des conteneurs](https://devpro.github.io/presentations/meetup-secu-conteneur-202402/)
* [Meetup DevOps Geneva Feb 2024](https://www.meetup.com/fr-FR/devops-geneve/events/298652964/): [🇫🇷 Sécurité des conteneurs](https://presentations.devpro.fr/meetup-secu-conteneur-202402/)
* [DevOpsDays Geneva 2023](https://devopsdays.org/events/2023-geneva/program/bertrand-thomas): [🇫🇷 Transformation numérique et DevOps à l'heure des conteneurs](https://public.devpro.fr/slides/devopsdays_geneva_2023_bertrand_thomas.pdf)

## Recent

* [Ansible](https://devpro.github.io/presentations/ansible)
* [Automated testing](https://devpro.github.io/presentations/automated-testing)
* [Code quality](https://devpro.github.io/presentations/code-quality)
* [Git](https://devpro.github.io/presentations/git)
* [GitOps 101](https://devpro.github.io/presentations/gitops-101)
* [Infrastructure automation](https://devpro.github.io/presentations/infrastructure-automation)
* [Observability 101](https://devpro.github.io/presentations/observability-101)
* [Presentation-as-code](https://devpro.github.io/presentations/presentation-as-code)
* [Ansible](https://presentations.devpro.fr/ansible)
* [Automated testing](https://presentations.devpro.fr/automated-testing)
* [Code quality](https://presentations.devpro.fr/code-quality)
* [Git](https://presentations.devpro.fr/git)
* [GitOps 101](https://presentations.devpro.fr/gitops-101)
* [Infrastructure automation](https://presentations.devpro.fr/infrastructure-automation)
* [Observability 101](https://presentations.devpro.fr/observability-101)
* [Presentation-as-code](https://presentations.devpro.fr/presentation-as-code)

## Draft

* [🇫🇷 DevOps 101](https://devpro.github.io/presentations/devops-101-fr)
* [🇫🇷 DevOps 101](https://presentations.devpro.fr/devops-101-fr)

## Archive

Expand Down
2 changes: 1 addition & 1 deletion marp/src/ansible.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ README.md

## Continuous integration pipeline (CI)

* CI **badge** must be present at the top of the `README.md` file: [![GitLab Pipeline Status](https://gitlab.com/rabbids-incubator/infra-automation-best-practices/badges/main/pipeline.svg)](https://gitlab.com/rabbids-incubator/infra-automation-best-practices/-/pipelines)
* CI **badge** must be present at the top of the `README.md` file

* CI must run on every commit of **main branch**

Expand Down
4 changes: 0 additions & 4 deletions marp/src/infrastructure-automation.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,4 @@ Some _italic_ and **bold** element.

## That's all folks

We'll be glad to have your feedback and support:

→ [devpro.github.io/presentations/infrastructure-automation](https://devpro.github.io/presentations/infrastructure-automation)

Happy updates :smile:
2 changes: 1 addition & 1 deletion marp/src/observability-101.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ Aka "The Three Pillars of Observability"

## Demonstration

* Clone [rabbids-incubator/servicenow-dotnet-client](https://github.com/rabbids-incubator/servicenow-dotnet-client)
* Clone [devpro/servicenow-dotnet-client](https://github.com/devpro/servicenow-dotnet-client)
* Start containers with `docker-compose up`
* Configure and run the sample web API with `dotnet run --project src samples/WebApiSample`
* Make REST API calls from [Swagger page](https://localhost:7079/swagger/index.html)
Expand Down
230 changes: 115 additions & 115 deletions slidev/src/automated-testing.md
Original file line number Diff line number Diff line change
@@ -1,115 +1,115 @@
---
theme: seriph
highlighter: shiki
lineNumbers: false
css: unocss
transition: slide-left
title: Automated Testing
---
# Automated Testing
Want to know about one of the most important best practices in software development?
---
# Objectives
What can be achieved with automated testing?
- 🎯 **Focus** on the real added value
- 🚀 **Reduce** the Time To Market
- 🛎 **Guarantee** the quality of service
- 💪 **Overcome** IT complexity
- 👷 **Enable** technical improvement reworks
---
# Pyramid of Tests
Foundation of any testing strategy
<img src="https://devpro.github.io/presentations/assets/images/pyramid-test.png" alt="pyramid of tests" class="m-8 ml-30 h-80 rounded shadow" />
---
# Challenges
What is difficult to have with test automation?
- ⛑ **Maintenable** tests (over time)
- 🏬 **Reproducible** data set
- ✍ **Open** solution with contributions from non-technical people
- 🧪 **Straightforward** test plan
- 📖 **Comprehensive** test results
- 🐛 **Investigable** errors
---
# Lessons learned
Known recipes for success
- Tests are executed in a neutral environment (automation pipelines)
- Development and testing of any change are done at the same time
- Specifications are accessible and explicit
- Best practices and patterns are followed while engineering the solution
- Any failure in production is a perfect candidate for test automation
- Focus is made on the most used and critical usecases
---
# PageObject Pattern
Split the code between the application features and the UI components
<img src="https://www.martinfowler.com/bliki/images/pageObject/pageObject.png" alt="Page Objects, HTML Wrapper" class="m-8 ml-50 h-80 rounded shadow" />
---
# BDD (Behavior driven development)
An Agile software development process that encourages collaboration
<img src="https://devpro.github.io/presentations/assets/images/bdd.png" alt="Automated Tests, Executable Specifications, Living Documentation" class="m-8 ml-60 h-80 rounded shadow" />
---
# Los 3 amigos
Business, Testing, Development
<img src="https://devpro.github.io/presentations/assets/images/los-3-amigos.jpg" alt="Los 3 Amigos" class="ml-70 h-100 rounded shadow" />
---
# Gherkin language
Describe any process in simple words
```gherkin
Feature: Guess the word
# The first example has two steps
Scenario: Maker starts a game
When the Maker starts a game
Then the Maker waits for a Breaker to join
# The second example has three steps
Scenario: Breaker joins a game
Given the Maker has started a game with the word "silky"
When the Breaker joins the Maker's game
Then the Breaker must guess a word with 5 characters
```
---
# Open-source tooling
Most used projects
- [**Cucumber**](https://cucumber.io/) ([GitHub org](https://github.com/cucumber))
- [**Cypress**](https://www.cypress.io/) ([code](https://github.com/cypress-io/cypress) _★ 42.6k_)
- [**Jest**](https://jestjs.io/) ([code](https://github.com/facebook/jest) _★ 41.4k_)
- [**Playwright**](https://playwright.dev/) ([code](https://github.com/microsoft/playwright) _★ 47.7k_)
- [**Selenium**](https://www.selenium.dev/) ([code](https://github.com/SeleniumHQ/selenium) _★ 25.8k_)
---
theme: seriph
highlighter: shiki
lineNumbers: false
css: unocss
transition: slide-left
title: Automated Testing
---

# Automated Testing

Want to know about one of the most important best practices in software development?

---

# Objectives

What can be achieved with automated testing?

- 🎯 **Focus** on the real added value
- 🚀 **Reduce** the Time To Market
- 🛎 **Guarantee** the quality of service
- 💪 **Overcome** IT complexity
- 👷 **Enable** technical improvement reworks

---

# Pyramid of Tests

Foundation of any testing strategy

<img src="https://presentations.devpro.fr/assets/images/pyramid-test.png" alt="pyramid of tests" class="m-8 ml-30 h-80 rounded shadow" />

---

# Challenges

What is difficult to have with test automation?

- ⛑ **Maintenable** tests (over time)
- 🏬 **Reproducible** data set
- ✍ **Open** solution with contributions from non-technical people
- 🧪 **Straightforward** test plan
- 📖 **Comprehensive** test results
- 🐛 **Investigable** errors

---

# Lessons learned

Known recipes for success

- Tests are executed in a neutral environment (automation pipelines)
- Development and testing of any change are done at the same time
- Specifications are accessible and explicit
- Best practices and patterns are followed while engineering the solution
- Any failure in production is a perfect candidate for test automation
- Focus is made on the most used and critical usecases

---

# PageObject Pattern

Split the code between the application features and the UI components

<img src="https://www.martinfowler.com/bliki/images/pageObject/pageObject.png" alt="Page Objects, HTML Wrapper" class="m-8 ml-50 h-80 rounded shadow" />

---

# BDD (Behavior driven development)

An Agile software development process that encourages collaboration

<img src="https://presentations.devpro.fr/assets/images/bdd.png" alt="Automated Tests, Executable Specifications, Living Documentation" class="m-8 ml-60 h-80 rounded shadow" />

---

# Los 3 amigos

Business, Testing, Development

<img src="https://presentations.devpro.fr/assets/images/los-3-amigos.jpg" alt="Los 3 Amigos" class="ml-70 h-100 rounded shadow" />

---

# Gherkin language

Describe any process in simple words

```gherkin
Feature: Guess the word

# The first example has two steps
Scenario: Maker starts a game
When the Maker starts a game
Then the Maker waits for a Breaker to join

# The second example has three steps
Scenario: Breaker joins a game
Given the Maker has started a game with the word "silky"
When the Breaker joins the Maker's game
Then the Breaker must guess a word with 5 characters
```

---

# Open-source tooling

Most used projects

- [**Cucumber**](https://cucumber.io/) ([GitHub org](https://github.com/cucumber))
- [**Cypress**](https://www.cypress.io/) ([code](https://github.com/cypress-io/cypress) _★ 42.6k_)
- [**Jest**](https://jestjs.io/) ([code](https://github.com/facebook/jest) _★ 41.4k_)
- [**Playwright**](https://playwright.dev/) ([code](https://github.com/microsoft/playwright) _★ 47.7k_)
- [**Selenium**](https://www.selenium.dev/) ([code](https://github.com/SeleniumHQ/selenium) _★ 25.8k_)
Loading