Acctesting Test Campaign Edition Continuous Delivery

Preview:

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

Recommended