Que tester - Club utilisateurs des solutions Oracle

Transcription

Que tester - Club utilisateurs des solutions Oracle
<Insert Picture Here>
Solutions de test autour de JDE
Patrick Buzelin : Avant vente JDE
Alain Chereau : Oracle Solution Center
Ibrahim Joher : Avant vente OATS et Management Pack
Philippe De Oliveira : Smile
28/05/2015
Journée club utilisateur JDE du 28 Mai 2015
Agenda
• Les outils de tests
• Concepts et enjeux
• L’offre Oracle : Oracle Application Testing Suite *
• L’offre Open Source : Smile Selenium
• Les nouveautés liées aux dernières versions de
Tools
• Les outils de monitoring *
* Retour d’expérience de Oracle Solution Center :
centre de benchmark Oracle
Concepts et enjeux des tests
Constat
• Vous investissez dans des applications (JDE ou autres) pour
fournir un meilleur service à vos collègues, clients et partenaires
• Cependant, les économies ne sont pas toujours réalisées à
cause :
• D’applications indisponibles
• De données non fiables
• De solutions non efficaces
• Un manque de tests suffisants et efficaces est souvent la raison
de ces problèmes
75%
d’applications sont déployées sans être testées
Source: Gartner
La non qualité coute cher
$100,000+
Coût d’1h d’indisponibilité de production non
planifiée
80-10,000x
Coût incrémental pour corriger les problèmes en
production
80%
Pourcentage d’indisponibilités non planifiées
qui peut être éliminé par de meilleurs tests et
une meilleure collaboration des équipes QA
Source: Gartner
Coût des bugs applicatifs
Phase de détection
Phase
d’introduction
Arch.
Dév.
Test.
Prod.
Architecture
1
10
15
25-100
Développement
-
1
10
10-25
Source: Wikipedia
Pourquoi ?
Quoi ?
Comment ?
tester ?
Pourquoi tester ?
• S’assurer du bon fonctionnement et des bonnes
performances des solutions informatiques utilisées
(progiciels, logiciels, applicatifs maisons,
interfaces,:)
• S’assurer de la conformité de la solution avec les
spécifications fonctionnelles et techniques
La gestion de la qualité des applications est impérative pour l’agilité de
l’entreprise et pour fournir des services de qualité à coût et risques faibles
Que tester ?
• L’ensemble des composants constituant la solution:
• Connections
• Paramétrage
• Programmes
• Standards
• Spécifiques
• Etats
• Données saisies, alimentées, exploitées via reprises,
interfaces,:
• Performances via simulation:
Comment tester ?
• Identifier les transactions :
• les plus importantes
• Quelles sont les transactions qui impactent le plus mes
objectifs business ?
• Quelles transactions sont absolument critiques pour mes
utilisateurs ?
• les plus fréquentes
• Tester le fonctionnement du système en fonction des
montées en charge
Comment tester ?
• Lancer des campagnes de tests, en fonction des
besoins :
• Tests unitaires,
• Tests de non regression
• Tests d’intégrations,
• Stress tests ,:
Comment tester ?
• Organiser les tests :
- Script de test
- Enchaînement des opérations à réaliser lors des tests pour
valider un processus
- Plusieurs scripts peuvent être requis pour couvrir un
processus
- Cas de test
- Cas de figure / variante devant être testée dans le cadre de la
validation d’un processus
- Le plus simple : Pour un processus donné, chaque cas de
test doit avoir ses propres Scripts
- Fiche de test :
- Document formalisant tout ou partie d’un script de test
- 1 à N fiches pour un script de test
Comment tester ?
• Préciser les critères d’acceptance :
• Définir le résultat escompté.
• Définir les critères de réussite / d'échec
Ex : 95% des cas de tests doivent être « réussis »
• Préparer l’environnement, les acteurs et le planning
de tests
Comment tester ?
• Dérouler les tests
• Couvrir en priorité l’ensemble des processus quotidiens et
récurrents
• Effectuer un cycle complet d’activité
• Commencer par les principaux cas de figures avant de traiter les
variantes plus rares
• Documenter les résultats
•
•
•
•
Impression des pièces,
Copie écran en cas d’anomalie,
Archivage des fiches de tests et pièces / résultats associés
:.
Comment tester ?
• Analyser les résultats ;
• Liste des anomalies recensées et classification des anomalies (*)
• Identification des anomalies bloquantes, i.e. dont la correction est
impérative
• Effectuer les corrections nécessaires
• Réitérer les tests jusqu’a obtention des résultats attendus:
Exemple de script détaillé
=regroupé en synthèse par domaine=
= puis en tableau de bord=
Oracle Application Testing Suite
Spécialisation sur technologie Oracle
Mais pas que : web, Adobe Flex, web services
Le marché Application Quality Management
AQM
Gartner Group MQ 2014
Oracle Application Testing Suite:
Solution de test intégrée pour assurer la qualité, la
performance et la fiabilité des applications
Oracle Functional
Testing (OFT)
Automatisation des tests
fonctionnels et de nonrégression
Oracle Test Manager
(OTM)
Oracle Load Testing
(OLT)
Gestion du processus de
tests, des exigences et des
anomalies
Test de charge, stress test et
test de performance
Oracle Test Manager :
Plateforme de gestion et suivi des Tests
• Gestion des tests sur une
plate-forme web simple et
unique
• Définition des plans de
tests & objectifs de qualité
• Définition des tests
automatiques et manuels
• Pilotage de l’exécution des
tests
• Documentation et suivi
des anomalies
Oracle Test Manager
• Est composé de 3 groupes permettant de gérer:
• Requirements: Documentation et gestion des exigences
• Tests: Création de plans de tests ; gestion et suivi des cas de tests
(manuels et automatiques)
• Issues: Gestion et suivi des fiches d’anomalies
• Contient des états et tableaux de bord de suivi prédéfinis et
configurables :
• Reports: Etats standards ou personnalisés associés à :
requirements, tests, issues
• Dashboards: Permet de créer des tableaux de bord multi-reports
• Contient un module d’administration : permet de gérer les
utilisateurs, permissions, projets et champs personnalisés
Requirements
Requirement
Details
Requirements
Tree View
Requirements – Detail
Tests
Test Details
Tests Tree
View
Test Steps
Test Run History
Tests – Detail
Tests – Detail
Tests – Manual Tests
• “Manual Test” used to store test definitions and detailed tests steps for
manual execution
• Test developer must specify actions and expected results for each test step
• Click “Run” to execute manual tests through the OTM interface
• Test Run fields allow users to store information pertaining to that test run
• Users then enter pass/fail result and comments for all test steps and test case
• Results are archived in Run History
Tests –scripts automatisés
• “Oracle Functional Testing” & “OpenScript” est utilisé pour stocker et
exécuter des scripts “automatisés” développés dans “OpenScript”
• Il suffit de cliquer sur “Run” pour exécuter le script OpenScript à partir de
Test Manager
• La fenêtre “Test Run” permet de spécifier sur quel système exécuter le script et
les informations associées à l’exécution de ce script
• Test Manager lance OFT/OpenScript, charge le script et l’exécute
• Les résultats sont récupérés et archivés dans “Run History” de Test Manager
• L’exécution du script peut être schédulée à travers le “scheduler” de Test
Manager
Test Manager – Reports
• Reports permet de visualiser l’information du projet complet :
•
•
•
•
Utilisation de rapports / graphes, : par défaut
Création de rapports personnalisés
Impression de rapports ou export vers Excel (text) ou JPEG (charts)
Sauvegarde de rapports comme public ou privé (My Reports)
Test Manager – Dashboard
• Dashboards permet de combiner plusieurs rapports en une
simple vue :
• Intègre rapports par défaut ou rapports personnalisés
• Gérer comme public ou privée (My Dashboards)
Pourquoi Test Manager?
Valeur
• Documenter tous les cas de test (manuel et automatique)
dans un référentiel centralisé
• Associer aux cas de tests les fiches de tests ou scripts
automatisés afin de simplifier le processus de coordination
global
• Suivre et communiquer les statuts unitaires et globaux des
tests
• Relier les fiches d’anomalies au cas de tests afin qu’ils
puissent être facilement reproduits
• Partager l'information sur la globalité des tests
Oracle Functional Testing :
Automatiser les tests fonctionnel et de régression
• Automatiser les transactions
des applications Web & des
Web Services
• Exécuter des tests
fonctionnels précis
• Automatiser les tests de
non-régression
• Identifier et formaliser les
défauts fonctionnels
Comment ca marche ?
Enregistrement d’
’un script
Click Record
Enregistre les transactions Web
dans Oracle Functional Testing
Interface utilisateur de “Openscript”
”
Script View
Details View
Results View
Code du script
• Web Functional Test script commands are recorded to Tree View and
corresponding Java Code View
Tree View
Java Code View
Script: Tree View
• Graphical representation of the
test script
• Displays script commands as
graphical tree nodes
• Each node corresponds to
commands in Code View
• Commands can be updated
from either view (synchronized)
• Add, edit, remove, group,
commands from Tree View
Script: Code View
• Java code representation
of the test script
• Displays script commands
in Java code through
Eclipse IDE
• Code can be edited using
Eclipse editors/debuggers
• Tree View updated based
on Java code edits
• Syntax errors must be
resolved before switching
to Tree View
Quelques commandes
• Commandes générées automatiquement lors de
l’enregistrement du script :
•
•
•
•
•
•
•
Launch Browser
Navigate (url)
Wait for page
Click (link, button, image, etc.)
Set Text (text box)
Select (select box, radio button) | Check (check box)
Think (time)
Launching the Browser
• browser.launch() will run
the browser specified in
Browser preferences
Navigating to a URL
• web.window().navigate loads
the URL into the browser during
playback
Waiting for a Page to Load
• web.window().waitForPage()
causes the script to wait for the given
page to load in the browser before
continuing
Think Time
• think(“
“value”
”)
waits
the specified amount of think time in
seconds captured during recording
Autres Commandes
• Use “Add” menu on Tree View to find
more script commands you can add
• Web Actions (more Web controls/events)
• Control Statements
• If / Else If / Else
• For / While
• General
• Log Message
• Script (run specified script)
• Object Library (load object library)
• Step Group (insert script Step)
• Databank Fetch Record
• Each maps to a corresponding code
function in Java
Comment ca marche ?
Exécution d’
’un script
8.12
Enregistrer les transactions Web
dans Oracle Functional Testing
9.1.2
Rejouer les transactions dans
Oracle Functional
Testing/Openscript
Playback
Click Play
• Click “Play” button
to execute Web
scripts
• “Iterate” button
allows you to loop
multiple times
• All script commands
will be executed and
results show in
Results view with
results report &
additional info in
Details view
d
8.12
9.1.2
Details View
Snapshot
• Provides additional info on script
& playback results
• Info linked to nodes in Tree View
• Page / window screenshots
• Browser / HTML content
• Request / Response headers
Results
Report
• Info linked to nodes in Results
View
• Script playback Results Report
• Results for individual script nodes
(screenshots, HTML, headers)
• Comparison view of record results
vs. playback results
Comparison
Results View
• Provides step by step results of script playback
• Includes duration, result and summary for all script commands
• Linked to Details View
• Results Report
• Screenshot, Content, etc for each command
• Comparison between record & playback
Results View - Comparison
• Select a result node and view Record vs. Playback comparison
Comment ca marche ?
Externalisation des données, Tableau de données et
lancement de plusieurs occurences
Executer plusieurs
itérations dans
Oracle Functional Testing
avec données dans .csv
Modifier script dans Oracle
Functional Testing
Parametrisation & Databanks
• Use the Properties dialog to change Web parameter values or
substitute a variable
d
Playback avec Data-Banks
• Click the “Iterate” button on the toolbar
d
Ajout de point de controle dans le script
Comment ca marche ?
Exécuter les scripts depuis “Test Manager”
” et récupérer le
résultat d’
’exécution
Enregistrer les transactions Web
dans Oracle Functional Testing
d
Rejouer les transactions dans
Oracle Test Manager
Comment ca marche ?
Vérification des résultats
Modifier script dans Oracle
Functional Testing
Executer avec
conditionnement et
messages (info, warning,
erreur) en fonction des
résultats obtenus
JDE Test Starter Kits
• Ensemble de scripts pour tester
les applications JDE
• Scénarios de tests fonctionnels
• Kit développé et utilisé par la R&D
JDE
Contenu de JDE Test Starter Kit
Benefit from example scripts to help you understand how to build
your own
Package includes
Example Test Scripts and documentation
Test Data
Total of 12 scripts
•
•
•
•
•
•
•
Order Fulfillment Processing (OFP)
Customer Relationship Management (CRM)
Sales Order Entry (SOE)
Human Capital Management (HCM)
Financial Management System (FMS)
Manufacturing (MFG)
Supplier Relationship Management (SRM)
Benefits According To Oracle JD Edwards QA
team
Accelerators – JD Edwards
“Since moving from our old tooling to ATS, we have been able to
reduce our OVERALL TESTING EFFORTS by 25%!
This is due to a number of factors including the speed that test cases now
execute, the ease and speed of identifying and understanding the
application context of failures, as well more technical script automation
failures.“
Kishorekumar Yerra – Senior QA Manager, JD Edwards EnterpriseONE Quality
Assurance
Pourquoi Functional Testing?
Valeur
• Automatiser (Enregistrer et rejouer) des scripts
• Fonctionnels
• Non regression
• Plateforme de développement riche « Eclipse »
• Indépendant des versions (web)
• Ex : script enregistré en 8.12 rejoué en 9.2
• Comparateur d’écrans, de code
• Peut être couplé avec des données externes
• Données externalisées et associées via « databank »
• Fonctions de tests et de récupération de données pour :
• Gestion des erreurs
• Tests fonctionnels:
Oracle Load Testing
Automatiser les tests de charge et de performance
• Simule le comportement des
utilisateurs réels
• Permet de simuler plusieurs
milliers d’utilisateurs
• Permet de valider le contenu
fonctionnel d’une application
soumise à charge
• Surveille, mesure et corrèle
l’infrastructure sous-jacente
avec l’activité des utilisateurs
• Identifie et aide à
diagnostiquer les problèmes
de performance
Comment ca marche ?
Enregistrer les transactions Web
dans Oracle Functional Testing
Rejouer et Simuler 1000’
’s
utilisateurs concurrents dans
Oracle Load Testing
Oracle Load Testing
Automatiser les tests de charge et de performance
Tested Application
Load Agent(s)
Oracle Load testing
DataCollector
(for Web applications)
Controller
Serverstats
65
Création d’un script
Creation d’
’un scenario de chargement
• First step is to create a load test scenario by selecting the script or
scripts you want to run in your load test
• Select the script(s) from the appropriate OFT Workspace
• Specify settings for how the script will run (# of VUs, Think Time, :)
Configuration Start/Stop et Ramp-up UV
• Autopilot allows you to configure the duration of the test and VU Ramp
• Start / Stop – When to begin and end the load test
• VU Ramp-up – How many Virtual Users to start with and how quickly to add more
• Autopilot also allows you to select ServerStats monitoring configurations
Configuration Monitoring des serveurs
• OLT’s ServerStats allows you to monitor back-end servers during a load test
• Configure monitors to analyze the performance of Web Servers, Application
Servers, Databases and other application infrastructure
• Generate Virtual User load and see how application infrastructure performance is
impacted to identify bottlenecks
Rapport de Session
• “Overview” sub-tab shows session report for the running load test session
and includes information on:
• Amount of load being generated (# of VU’s, hits, page requests, data rec., etc.)
• Performance of individual scripts (script response times, page response times)
Graphe temps réel
• “Default Graphs sub-tab includes several canned graphs that you can view
while the load test is running (plotted against Test Time or # of Virtual Users)
• “New Graph” button allows you to create custom graphs that you can also view
while the load test is running
Pourquoi Load testing ?
Valeur
• Déterminer si l’application fonctionne ou fonctionnera bien avec xxx
utilisateurs
• Mon architecture peut-elle supporter 300 utilisateurs ?
• Va-t-on rencontrer des dégradations de performance si :?
• Comment puis je optimiser les performances de mon infrastructure ?
• Les problèmes de performance rencontrés en production sont beaucoup
plus difficiles et couteux à régler en production qu’en test
• Il est très difficile voir impossible d’anticiper les performances d’une
application et d’identifier les “bottleneck” sans outil de simulation de
montée en charge des utilisateurs
• Load testing permet d’identifier les types de problèmes suivants :
• Hard failures (application crashes under load; server not responding)
• Application performance issues (slow transactions / page response times)
• Functional failures under load (invalid content returned to the user)
<Insert Picture Here>
Retour expérience OATS Load
Testing et JDE
Alain Chéreau – Oracle Solution
Center
Pourquoi tester en charge ?
• S’assurer de la tenue en charge de la solution choisie
• Vérifier que l’infrastructure technique tiendra la
croissance estimée de la charge
• Les transactions les plus utilisées varient beaucoup
d’un client à un autre.
Tester les transactions réelles, avec le paramétrage
applicatif et de sécurité, ainsi que la distribution de
données du client détermine la pertinence des
résultats.
Souffler sur
est <>
Plan de test en charge : Rester simple !
• Identifier quelques transactions les plus fréquentes :
• Celles utilisées tous les jours, par la majorité des
utilisateurs ( fréquemment spécifique )
• Limiter le nombre de transaction simulées :
1 à 3 de préférence (avec variabilisation large)
Attention au jeux de données associé
• Respecter les temps de réflexion et fréquence de
transaction (nombre de transaction par heure)
• Identifier les batchs les plus contraignants
• Souvent, générer un bruit de fond de batch
• Tester le fonctionnement du système en fonction des
montées en charge
Tester, simuler et mesurer
• Construire les simulations de transactions (souvent plus
long que prévu)
• Construire l’environnement de test (restoration après test)
• Mettre en place les outils de mesures
• De l’outil de test
ATS
• De JD Edwards
Server Manager
• De la base de données
Em12c
• De l’application server
Em12c, jconsole:
• Des systèmes sollicités (CPU, IO, réseau) dim_stat..
• Scripts sql, shell:
• Vérifier cohérence des mesures
Simuler – Construire une simulation - Demo
• Connaître la transaction unitaire
• L’enregistrer (position IE – captures)
• Nommer les étapes
• Localiser les saisies
• Variabiliser
• Point de variabilisation,
• Tester toutes les valeurs du jeu de données
• Vérifier des éléments de réponse
• Valider passage / Gestion d’erreur
• Temps d’attente et points de mesure
• Logger
Integrate
Objectifs des POCs
Objectifs et périmètre du POC 1
• Version 9.1.2 tools X9.1.3.2 sur plateforme : ¼
Exadata X3.2 & 1/8 Exalogic X3.2
• Module JDE In Memory (Project Portfolio
Management)
• Injecteur OATS
Création de user JDE : P0092
Rédaction des scripts de tests OATS :
Saisie de 10 lignes d’OD avec posting en
utilisant les données du fichier
“LoginsAvecVariables_v01_13022014” fourni
par Client
Edition de balance en utilisant le programme
standard “R09473” avec comme critère de
lancement la société (CO)
Simulation de l'édition d'un Job Cost en
utilisant les données du fichier
“LoginsAvecVariables_v01_13022014” fourni
par Client
Périmètre du POC 1 - lancement de scripts,
tuning machines et capture des résultats
2 jeux de runs avec volume de donnée
<>
Run 1 : Simulation avec paramétrage en tant sous-livre lié au
répertoire d'adresse : F00950 : 284 000 lignes, F0006 : 15 131
lignes, F0901 : 5 millions de ligne F0902 : 44 millions de ligne
Run 2 : Simulation avec paramétrage des chantiers en tant
que Job et non pas en tant sous-livre lié au répertoire
d'adresse : F00950 : 3,6 millions de ligne, F0006 : 170 000
lignes,F0901 : 66 millions de ligne ,F0902 : 50 millions de ligne
Pour chaque run : exécutions des scénarii de
simulation :
100 users qui saisissent 10 lots/h + 1 balance / 7s + 1 Job Cost / 4s
500 users qui saisissent 2 lots/h + 1 balance / 7s + 1 Job Cost / 4s
500 users qui saisissent 10 lots/h + 1 balance / 7s + 1 Job Cost / 4s
1000 users qui saisissent 5 lots/h + 1 balance / 7s + 1 Job Cost / 4s
1000 users qui saisissent 8 lots/h + 1 balance / 7s + 1 Job Cost / 4s
Scenarii pour atteindre le seuil de rupture (+10% à chaque passe)
Objectif et périmètre du POC 2
• 1. Charge Utilisateurs – Montée en charge 1600 utilisateurs
•
•
•
•
Specifique Client 2 – FSB Day to day
Specifique Client 2 – CAF
Specifique Client 2 – FSB consolidé
Specifique Client 2 – FSB consolidé pour chantier avec millions de lignes
• 2. Chaine Batch de nuit
• 2. 1 Exécution en mode séquentiel (série)
• 2.2 Exécution en mode parallèle
• 3. Bruit de fond
Oracle Confidential – Internal/Restricted/Highly Restricted
Objectif et périmètre du POC 3
• 1. Charge Utilisateurs – Montée en charge
• Specifique Client 3 – AR Balance Agée
• P4021 Supply Demand Inquiry
• Simulation de 100 à 1000 utilisateurs simultanés de ces 2 transactions
• Un utilisateur simulé effectue une transaction complète toutes les deux minutes en
moyenne
• Répartition : 90 % de "supply demand inquiry" , 10% de "balance âgée"
• 2. Chaine Batch de nuit
• 2. 1 Exécution en mode séquentiel (série)
• 2.2 Exécution en mode parallèle
• 3. Batch de nuit + Transaction interactives – Montée en charge
• 4. JDE In Memory – « Summarisation » temps réel (évite GO TO END)
• 5. JDE In Memory – Réconciliation Financière Interactive (remplace
Batch)
Oracle Confidential – Internal/Restricted/Highly Restricted
Integrate
Demo Scripts POCs
Integrate
Synthèse
Oracle ATS et JDE
Application Testing Suite
• Un référentiel centralisé pour les scénarios de tests
fonctionnels et de tests de charge :
• Tests nouvelles applications
• Tests de non regression
• Tests de montée en charge
• Outils d’automatisation et de documentation des tests
• Outils de simulation de montée en charge
• Intégré dans Oracle Enterprise Manager
Références mondiales
Financial Services
Communications and Manufacturing
e-Commerce & Media
IT Services and Software
Références françaises
• Client dans l’assurance
• Mise en place d’un nouveau poste de travail incluant la gestion des
contacts avec Siebel CRM
• Besoin de valider les performances pour satisfaire les utilisateurs et
réussir le projet
• Client dans le travail temporaire
• Migration de la solution de gestion des ressources humaines avec
PeopleSoft
• Client opérateur de téléphonie mobile
• Migration régulière de l’application de Call Center Siebel
• Nécessité de valider les performances pour gérer les contrats de service
avec les prestataires extérieurs
• Client dans l’assurance et l’assistance automobile
• Mise en place d’une nouvelle version de l’application métier (CRM) de
prise de contrats
• Client dans la recherche aéronautique
• Automatisation des tests de non régression sur EBS pour valider les
évolutions fournies par la TMA afin d’améliorer la qualité des livraison
L’offre Open source Smile
Selenium

Documents pareils