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