Upload
lidia
View
39
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Acctesting Test Campaign Edition Continuous Delivery. Turcu Cristina TE-MPE On behalf of the TE-MPE-MS Software Team Technical meeting 16.01.2014. Content. Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 2. Situation. - PowerPoint PPT Presentation
Citation preview
Acctesting Test Campaign Edition Continuous Delivery
Turcu CristinaTE-MPE
On behalf of the TE-MPE-MS Software TeamTechnical meeting 16.01.2014
K. Fuchsberger 2TE-MPE-TM, 2012-05-10, Acctesting – Motivation, Overview and First Experience
Content
Acctesting Test Campaign Edition-Situation-Improvements-New Features-Outlook
Continuous Delivery-Deployment before -Deployment now-Summary-Outlook
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 2
• Accelerator testing
Situation
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 3
Situation
• 3 steps for validating a test:– Test execution – Test analysis – Test signing
Test-Phases.
Tests
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 4
What is a Campaign ?
• Campaign: contains the necessary tests in order to determine if a system/circuit is safe for running.
• Test Plan: defines which tests have to be executed for which systems during one test campaign.
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 5
K. Fuchsberger 6TE-MPE-TM, 2012-05-10, Acctesting – Motivation, Overview and First Experience
Content
Acctesting Test Campaign Edition-Situation-Improvements-New Features-Outlook
Continuous Delivery-Deployment before -Deployment now-Summary-Outlook
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 6
Test Campaign Edition Why we need it?
• Before• Edit the test plan by directly editing the Database (DB)
– Security or consistency problems– More flexibility needed
• Improvements:• Editing the test plan without directly editing the DB• Impose restrictions on editing the DB, using Role Base
Access Control (RBAC) • Allows many campaigns and keeps the history of them• Allows different system types, not only Circuits as before
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 7
Status
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 8
Persistence Layer
GUIPanel
GUIPanel
NewGUIPanel
Core Layer
Data
Migration
Old DB(LSA account ‘owned’ by CO)
New DB(dedicated DB account)
K. Fuchsberger 9TE-MPE-TM, 2012-05-10, Acctesting – Motivation, Overview and First Experience
Content
Acctesting Test Campaign Edition-Situation-Improvements-New Features-Outlook
Continuous Delivery-Deployment before -Deployment now-Summary-Outlook
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 9
Acctesting - new features
• Campaign history• Campaign browsing• Display and edit old campaigns
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 10
Acctesting - new features
• Create, Delete and Edit selected campaign
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 11
• Enable/Disable single test
Acctesting - new features
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 12
• Systems are grouped and can be activated/deactivated by test types
Acctesting - new features
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 13
K. Fuchsberger 14TE-MPE-TM, 2012-05-10, Acctesting – Motivation, Overview and First Experience
Content
Acctesting Test Campaign Edition-Situation-Improvements-New Features-Outlook
Continuous Delivery-Deployment before -Deployment now-Summary-Outlook
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 14
Acctesting Outlook
Next Steps:
• Waiting for user feedback• Will be used for this Hardware commissioning• Server is operational in development (dev)
environment, but the GUI parts can’t be release for the moment– waiting for some release features from CO
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 15
K. Fuchsberger 16TE-MPE-TM, 2012-05-10, Acctesting – Motivation, Overview and First Experience
Content
Acctesting Test Campaign Edition-Situation-Improvements-New Features-Outlook
Continuous Delivery-Deployment before -Deployment now-Summary-Outlook
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 16
Continuous Delivery
• What it is?– represents a series of practices to ensure the code
can be rapidly and safely deployed for operation by delivering every change to a production-like environment after all the necessary tests passed.
• Why do we need it?– To always have the latest product version
potentially deliverable– For a simple and fast deployment.
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 17
K. Fuchsberger 18TE-MPE-TM, 2012-05-10, Acctesting – Motivation, Overview and First Experience
Content
Acctesting Test Campaign Edition-Situation-Improvements-New Features-Outlook
Continuous Delivery-Deployment before -Deployment now-Summary-Outlook
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 18
Project dependencies
• 45 projects• Respect order• Time: ½ day
• Common build
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 19
K. Fuchsberger 20TE-MPE-TM, 2012-05-10, Acctesting – Motivation, Overview and First Experience
Content
Acctesting Test Campaign Edition-Situation-Improvements-New Features-Outlook
Continuous Delivery-Deployment before -Deployment now-Summary-Outlook
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 20
Continuous Delivery
Commit onRevision control software (SVN)
Automatic build using a Continuousintegration server
Manually deployment
dev
pro
Junit:Unit testsIntegration testsFunctional testsAcceptance tests
• Continuous delivery:– Used by many companies– Has proven its efficiency
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 21
Commit a server change
• Commit to SVN– generate a snapshot of the application (Tarball (.tar))
• use to deployment on the node (development /production)– attaches version of the DB and the server to the Tarball
• usefull in case of a rollback, so we know which version of the server is compatible with witch version of DB
Commit onSVN
Automatic build using a Continuousintegration server
Manually deployment
dev
proJunit:Unit testsIntegration testsFunctional testsAcceptance tests
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 22
Bamboo
Commit on SVN
Automatic build using a Continuousintegration server
Manually deployment
dev
pro
• Continuous integration server. • Builds the project and runs the tests whenever a developer
commits an update• Continuously tests the software
Developers
SourceControl
Agents
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 23
Bamboo
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 24
• The system is working when all the builds are green
– a problem can be spotted quickly– provides the root cause of the error
• stack traces
• Provides statistics– build duration– number of failures /build– successful buils/time– time to fix, etc
Bamboo
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 25
• Integration– Jira (able to associate task with builds), Fisheye(a
source history with hooks into Jira), Crucible (assists in code reviews), Clover (monitors code coverage in the build)
– Build systems: Ant, Maven, Make, Command Line
Bamboo
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 26
• Crucible - assists in code reviews
Bamboo
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 27
Unit Tests
• JUnit – framework for writing tests• Unit tests:
– Test small unit of functionality– Everything is done in the memory(no DB, no network)– Uses mocks
• Benefits– Formalize requirements– Write and debug code easily, fewer bugs– More maintainable code
Commit onSVN
Automatic build using Bamboo
Manually deployment
dev
proJunit:Unit testsIntegration testsFunctional testsAcceptance tests
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 28
Integration Tests
• Integration tests– Test of how well classes work together– Environment(accessing DB, connecting to server..)
• Purpose– find bugs that unit tests can't detect– To verify
• Functionality• Performance• Reliability
Commit onSVN
Automatic build using Bamboo
Manually deployment
dev
proJunit:Unit testsIntegration testsFunctional testsAcceptance tests
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 29
Functional & Acceptance Tests
• Functional tests– check a particular feature for correctness by comparing with
the specification– don't concern on intermediate results
• Acceptance tests– particular type of functional test– illustrate the user stories – ensure that all the software features are complete
Commit onSVN
Automatic build using Bamboo
Manually deployment
dev
proJunit:Unit testsIntegration testsFunctional testsAcceptance tests
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 30
Deployment
• Information about the state of the server:– what version of the DB it is used– what version of the server has been deployed
• What we improved– possibility to specify the environment to deploy the server: pro /
dev– ability to see all succesful deployments.
Commit onSVN
Automatic build using Bamboo
Manually deployment
dev
proJunit:Unit testsIntegration testsFunctional testsAcceptance tests
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 31
Deployment
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 32
Deployment
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 33
Deployment
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 34
• aaa• Four Steps (done automatically):• 1. Stop server• 2. Migrate the DB• 3. Deploy the server• 4. Start server
Deployment
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 35
K. Fuchsberger 36TE-MPE-TM, 2012-05-10, Acctesting – Motivation, Overview and First Experience
Content
Acctesting Test Campaign Edition-Situation-Improvements-New Features-Outlook
Continuous Delivery-Deployment before -Deployment now-Summary-Outlook
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 36
Summary
Commit onSVN
Build using Bamboo
Deploy using Bamboo
dev
pro
Junit:Unit testsIntegration testsFunctional testsAcceptance tests
Automatically
Manually selecting the environment, the release and starting the deployment.
generate a Tarball(.tar)attaches version of the DB and the server to the Tarball
Stop serverMigrate the DBDeploy the serverStart server
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 37
K. Fuchsberger 38TE-MPE-TM, 2012-05-10, Acctesting – Motivation, Overview and First Experience
Content
Acctesting Test Campaign Edition-Situation-Improvements-New Features-Outlook
Continuous Delivery-Deployment before -Deployment now-Summary-Outlook
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 38
Outlook
• In place for:– Acctesting server
• To be extended to:– RDA3 server– PC Interlock server– System management server– Analysis server
• Plan:– Have continuous delivery for the GUI– Improve DB rollback
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 39
Thank you for your Attention!
• Questions?
Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 40