Plateforme Tests Automatisés
Présenté par
Experts automatisation de tests
Steven Rosato, B. Ing
Président et fondateur @ Majisti inc.
Steven Rosato
Entreprise située proche de Montréal (Boisbriand). Spécialisation développement Symfony avec tests automatisés.
/solutions.majisti
- Présentation abrégée (présentation faite à l'équipe Cube le 23 septembre dernier)
Présentation complète disponible ici:
Full Stack Testing with Symfony
Aujourd'hui
Pourquoi tester?
Corriger un bogue en production
La pyramide de tests
or Component
QA
QA/Dev
Dev
Dev
(QA) Acceptance
Tests exécutés d'un point de vue utilisateur, en boîte noire, directement dans le navigateur.
(QA/Dev) Fonctionnel
Tests exécutés d'un point de vue machine, en boîte noire, dans un navigateur virtuel
(Dev) Composant
Tests regroupants plusieurs classes logicielles afin de tester une fonctionnalité distincte
(Dev) Unitaire
Tests visant une seule classe logicielle
Exemple de test d'acceptance
@navigation
Feature:
As a user
I should be able to navigate the different pages of this site
@homepage
Scenario: Navigate the homepage
Given I am on the homepage
Then I take a screenshot or save last response named "homepage"
@section
Scenario: Navigate to a section page
Given I visited the "Homepage"
When I navigate to the "Section 1" section within the menu
Then I should see a top stories widget
And I should see a 2x2 layout widget
And I should see a slideshow widget
And I should see a multi layout widget
And I should see a videos widget
Then I take a screenshot or save last response named "section"
Exemple de test fonctionnel
@functional @blackjack
Feature:
As a player
I should be able to play a game of Blackjack through the Symfony2 CLI
Background:
Given I trick the deck
And I register the Blackjack command
Scenario: Dealer wins by outscoring player
Given the deck returns the following cards in a FILO order:
#dealer cards
| 6 |
| 6 |
#player cards
| 5 |
| 5 |
| 5 |
And I call "stand" when asked for my move
When I run the blackjack game command
Then the player score should be "10"
And the dealer score should be "17"
And the dealer should have won
Schéma de Marco Ribeiro
Schéma de Marco Ribeiro (partie #2)
Étapes de production
- Élaboration de l'architecture
- Développement / Priorisation
- Reprendre ce qui a été fait pour Cube
- Processus développement similaire à Cube
- Formation
- Autres QA, Développeurs, Analystes
- (Bonus) Membre de l'équipe Cube?
- Architecuture et formation offertes sur place pour un total de 8 jours
- Développement aux bureaux de Majisti
Estimation
- Élaboration de l'architecture et priorisation du backlog (~1 semaine au total)
- Développement, en utilisant l'approche Agile de Cube (6 semaines, 3 itérations)
- Écriture du "test runner"
- Écriture des premiers cas de tests
- Formation (~1 semaine au total)
Nous prendrons là où le tout a été laissé pour Cube. Un équivalent de 150h de développement.
Estimation des coûts
Nombre d'heures | Tarif horaire avec entente renouvelée |
Tarif horaire régulier | |
---|---|---|---|
Architecture | 40h | 133$/h | 150$/h |
Développement | 240h | 88$/h | 103$/h |
Formation | 40h | 133$/h | 150$/h |
Total | 320h | 31 760$ | 36 720$ |
Version 1
Inclus:
- Questions Cube répondues sur Slack
- Formation Cube possible lors des déplacements
Proposition entente avec renouvellement valide jusqu'au 10 octobre 2016
Questions?
Québécor Media. 28/09/2016. Présentation de tests automatisés
By Solutions Majisti
Québécor Media. 28/09/2016. Présentation de tests automatisés
Full Stack Testing
- 810