1 / 40

Acctesting Test Campaign Edition Continuous Delivery

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.

lidia
Download Presentation

Acctesting Test Campaign Edition Continuous Delivery

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Content Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 2

  3. Situation • Accelerator testing Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 3

  4. Situation Tests • 3 steps for validating a test: • Test execution • Test analysis • Test signing Test-Phases. Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 4

  5. What is a Campaign ? • Campaign: contains the necessary tests in order to determine if a system/circuitis 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

  6. Content Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 6

  7. 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

  8. Status New GUI Panel GUI Panel GUI Panel Core Layer Persistence Layer Data Migration Old DB New DB (LSA account ‘owned’ by CO) (dedicated DB account) Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 8

  9. Content Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 9

  10. Acctesting - new features • Campaign history • Campaign browsing • Display and edit old campaigns Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 10

  11. Acctesting - new features • Create, Delete and Edit selected campaign Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 11

  12. Acctesting - new features • Enable/Disable single test Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 12

  13. Acctesting - new features • Systems are grouped and can be activated/deactivated by test types Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 13

  14. Content Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 14

  15. 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

  16. Content Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 16

  17. 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

  18. Content Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 18

  19. Project dependencies • Common build • 45 projects • Respect order • Time: ½ day Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 19

  20. Content Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 20

  21. Continuous Delivery • Continuous delivery: • Used by many companies • Has proven its efficiency Commit on Revision control software (SVN) Automatic build using a Continuous integration server Manually deployment dev Junit: Unit tests Integration tests Functional tests Acceptance tests pro Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 21

  22. 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 Automatic build using a Continuous integration server Manually deployment Commit on SVN dev Junit: Unit tests Integration tests Functional tests Acceptance tests pro Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 22

  23. Bamboo • Continuous integration server. • Buildsthe project and runs the tests whenever a developer commits an update • Continuously tests the software Automatic build using a Continuous integration server Commit on SVN Manually deployment dev pro Source Control Developers Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 23 Agents

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

  25. Bamboo • 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 Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 25

  26. Bamboo • 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 Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 26

  27. Bamboo • Crucible - assists in code reviews Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 27

  28. 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 Automatic build using Bamboo Commit on SVN Manually deployment dev Junit: Unit tests Integration tests Functional tests Acceptance tests pro Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 28

  29. 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 Automatic build using Bamboo Commit on SVN Manually deployment dev Junit: Unit tests Integration tests Functional tests Acceptance tests pro Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 29

  30. 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 Automatic build using Bamboo Commit on SVN Manually deployment dev Junit: Unit tests Integration tests Functional tests Acceptance tests pro Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 30

  31. 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. Automatic build using Bamboo Commit on SVN Manually deployment dev Junit: Unit tests Integration tests Functional tests Acceptance tests pro Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 31

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

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

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

  35. Deployment • aaa • Four Steps (done automatically): • 1. Stop server • 2. Migrate the DB • 3. Deploy the server • 4. Start server Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 35

  36. Content Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 36

  37. Summary • generate a Tarball • (.tar) • attaches version of • the DBandthe • server tothe Tarball Deploy using Bamboo Commit on SVN Build using Bamboo Stop server Migrate the DB Deploy the server Start server dev Junit: Unit tests Integration tests Functional tests Acceptance tests pro Manually selecting the environment, the release and starting the deployment. Automatically Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 37

  38. Content Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 38

  39. 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

  40. Thank you for your Attention! • Questions? Turcu Cristina | TE-MPE | Acctesting Test Campaign Edition & Continuous Delivery 40

More Related