oracle ats pour jde...
TRANSCRIPT
<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 2015Agenda
• 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 • 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 testsConcepts et enjeux des tests
• 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
Constat
Source: Gartner
d’applications sont déployées sans être testées75%
• De solutions non efficaces
• Un manque de tests suffisants et efficaces est souvent la raison
de ces problèmes
Coût d’1h d’indisponibilité de production non planifiée
Pourcentage d’indisponibilités non planifiées qui peut être éliminé par de meilleurs tests et une meilleure collaboration des équipes QA
$100,000+
Coût incrémental pour corriger les problèmes en production
80-10,000x
80%
La non qualité coute cher
Source: Gartner
Phase
d’’’’introductionPhase de détection
Arch. Dév. Test. Prod.
Coût des bugs applicatifs
Architecture 1 10 15 25-100
Développement - 1 10 10-25
Source: Wikipedia
Pourquoi ?
tester ?Quoi ?
Comment ?
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
Pourquoi tester ?
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
• L’ensemble des composants constituant la solution:
• Connections
• Paramétrage
• Programmes
• Standards
• Spécifiques
• Etats
Que tester ?
• Etats
• Données saisies, alimentées, exploitées via reprises,
interfaces,:
• Performances via simulation:
• 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
Comment tester ?
• les plus fréquentes
• Tester le fonctionnement du système en fonction des
montées en charge
• Lancer des campagnes de tests, en fonction des
besoins :
• Tests unitaires,
• Tests de non regression
• Tests d’intégrations,
• Stress tests ,:
Comment tester ?
• 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 - 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 • Préparer l’environnement, les acteurs et le planning
de tests
• 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
Comment tester ?
• 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
• :.
• 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:
Comment tester ?
Exemple de script détaillé
=regroupé en synthèse par domaine=
= puis en tableau de bord=
Oracle Application Testing SuiteOracle 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 Functional Testing (OFT)
Automatisation des tests fonctionnels et de non-
régression
Oracle Application Testing Suite: Solution de test intégrée pour assurer la qualité, la performance et la fiabilité des applications
Oracle Test Manager (OTM)
Gestion du processus de tests, des exigences et des
anomalies
Oracle Load Testing (OLT)
Test de charge, stress test et test de performance
• Gestion des tests sur une
plate-forme web simple et
unique
• Définition des plans de
tests & objectifs de qualité
• Définition des tests
Oracle Test Manager : Plateforme de gestion et suivi des Tests
• 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, issuesrequirements, 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)
• 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
Pourquoi Test Manager?
Valeur
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
• Automatiser les transactions
des applications Web & des
Web Services
• Exécuter des tests
fonctionnels précis
• Automatiser les tests de
non-régression
Oracle Functional Testing : Automatiser les tests fonctionnel et de régression
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””””
Details ViewScript 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 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)• 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• 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 9.1.2
Enregistrer les transactions Web dans Oracle Functional Testing
Rejouer les transactions dans Oracle Functional
Testing/Openscript
Playback
• Click “Play” button
to execute Web
scripts
• “Iterate” button
allows you to loop
multiple times
• All script commands
Click Play
9.1.28.12
• All script commands
will be executed and
results show in
Results view with
results report &
additional info in
Details view
d
Snapshot
Details View
• Provides additional info on script
& playback results
• Info linked to nodes in Tree View
• Page / window screenshots
• Browser / HTML content
• Request / Response headersResults Report• Request / Response headers
• 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
Report
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
Modifier script dans Oracle Functional Testing
Executer plusieurs itérations dans
Oracle Functional Testing avec données dans .csv
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
Rejouer les transactions dans Oracle Test Manager
d
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
JDEJDE
Contenu de JDE Test Starter Kit
Total of 12 scripts
� Example Test Scripts and documentation
� Test Data
Package includes
Benefit from example scripts to help you understand how to build
your own
• 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)
Total of 12 scripts
Benefits According To Oracle JD Edwards QA team
“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
Accelerators – JD Edwards
application context of failures, as well more technical script automation
failures.“
Kishorekumar Yerra – Senior QA Manager, JD Edwards EnterpriseONE Quality
Assurance
• Automatiser (Enregistrer et rejouer) des scripts
• Fonctionnels
• Non regression
• Plateforme de développement riche « Eclipse »
• Indépendant des versions (web)
Pourquoi Functional Testing?
Valeur
• 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:
• 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
Oracle Load Testing Automatiser les tests de charge et de performance
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
Tested Application
Oracle Load Testing Automatiser les tests de charge et de performance
65
Oracle Load testing (for Web applications)
Load Agent(s)
Controller
Serverstats
DataCollector
Création d’un script
• 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, :)
Creation d’’’’un scenario de chargement
• 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 Start/Stop et Ramp-up UV
• 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
Configuration Monitoring des serveurs
• “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)
Rapport de Session
• “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
Graphe temps réel
• 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
Pourquoi Load testing ?
Valeur
• 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 JDETesting et JDE
Alain Chéreau – Oracle Solution Center
• 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
Pourquoi tester en 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 <>
• 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é
Plan de test en charge : Rester simple !
• 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
• 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
Tester, simuler et mesurer
• 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
• Connaître la transaction unitaire
• L’enregistrer (position IE – captures)
• Nommer les étapes
• Localiser les saisies
• Variabiliser
• Point de variabilisation,
Simuler – Construire une simulation - Demo
• 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 POCsObjectifs 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 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
Pour chaque run : exécutions des scénarii de
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
Oracle Confidential – Internal/Restricted/Highly Restricted
• 2. 1 Exécution en mode séquentiel (série)
• 2.2 Exécution en mode parallèle
• 3. Bruit de fond
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
Oracle Confidential – Internal/Restricted/Highly Restricted
• 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)
Integrate
Demo Scripts POCsDemo Scripts POCs
Integrate
SynthèseSynthèse
Oracle ATS et JDE
• Un référentiel centralisé pour les scénarios de tests fonctionnels et de tests de charge :
• Tests nouvelles applications
• Tests de non regression
Application Testing Suite
• 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
Financial Services e-Commerce & Media
Références mondiales
Communications and Manufacturing IT Services and Software
• 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
Références françaises
• 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 L’offre Open source Smile Selenium