acctesting test campaign edition continuous delivery

40
Acctesting Test Campaign Edition Continuous Delivery Turcu Cristina TE-MPE On behalf of the TE-MPE-MS Software Team Technical meeting 16.01.2014

Upload: lidia

Post on 13-Feb-2016

39 views

Category:

Documents


1 download

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

TRANSCRIPT

Page 1: Acctesting  Test Campaign Edition Continuous  Delivery

Acctesting Test Campaign Edition Continuous Delivery

Turcu CristinaTE-MPE

On behalf of the TE-MPE-MS Software TeamTechnical meeting 16.01.2014

Page 2: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 3: Acctesting  Test Campaign Edition Continuous  Delivery

• Accelerator testing

Situation

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 3

Page 4: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 5: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 6: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 7: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 8: Acctesting  Test Campaign Edition Continuous  Delivery

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)

Page 9: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 10: Acctesting  Test Campaign Edition Continuous  Delivery

Acctesting - new features

• Campaign history• Campaign browsing• Display and edit old campaigns

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 10

Page 11: Acctesting  Test Campaign Edition Continuous  Delivery

Acctesting - new features

• Create, Delete and Edit selected campaign

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 11

Page 12: Acctesting  Test Campaign Edition Continuous  Delivery

• Enable/Disable single test

Acctesting - new features

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 12

Page 13: Acctesting  Test Campaign Edition Continuous  Delivery

• 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

Page 14: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 15: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 16: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 17: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 18: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 19: Acctesting  Test Campaign Edition Continuous  Delivery

Project dependencies

• 45 projects• Respect order• Time: ½ day

• Common build

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 19

Page 20: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 21: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 22: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 23: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 24: Acctesting  Test Campaign Edition Continuous  Delivery

Bamboo

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 24

Page 25: Acctesting  Test Campaign Edition Continuous  Delivery

• 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

Page 26: Acctesting  Test Campaign Edition Continuous  Delivery

• 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

Page 27: Acctesting  Test Campaign Edition Continuous  Delivery

• Crucible - assists in code reviews

Bamboo

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 27

Page 28: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 29: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 30: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 31: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 32: Acctesting  Test Campaign Edition Continuous  Delivery

Deployment

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 32

Page 33: Acctesting  Test Campaign Edition Continuous  Delivery

Deployment

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 33

Page 34: Acctesting  Test Campaign Edition Continuous  Delivery

Deployment

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 34

Page 35: Acctesting  Test Campaign Edition Continuous  Delivery

• 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

Page 36: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 37: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 38: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 39: Acctesting  Test Campaign Edition Continuous  Delivery

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

Page 40: Acctesting  Test Campaign Edition Continuous  Delivery

Thank you for your Attention!

• Questions?

Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 40