deployment automation framework with selenium

21
Deployment Automation Practice in Agile Software Development Wenhua Wang Software Quality Assurance Engineer Marin Software Company Email: [email protected], [email protected]

Upload: wenhua-wang

Post on 29-Nov-2014

2.564 views

Category:

Technology


4 download

DESCRIPTION

In my slides, I presented my experience in setting up a deployment automation framework with selenium. The deployment automation framework dramatically dramatically reduced my deployment workload. I hope my deployment automation setup experience help you in your own/customized automation framework setup with selenium and other open source tools.

TRANSCRIPT

Page 1: Deployment automation framework with selenium

Deployment Automation Practice

in Agile Software Development

Wenhua Wang

Software Quality Assurance Engineer

Marin Software Company

Email: [email protected], [email protected]

Page 2: Deployment automation framework with selenium

Outline

• Introduction to the deployment work

• Deployment work in agile software development

• Is it valuable to do the deployment automation work?

• Deployment work automation

• Deployment working environment and procedure

• Deployment automation implementation

• Q & A

Page 3: Deployment automation framework with selenium

Deployment work in agile software development

Page 4: Deployment automation framework with selenium

Deployment work is tedious

• Marin has 30+ developers.

No one wants to take it.

• A senior QA engineer left,

because of this tedious work.

Page 5: Deployment automation framework with selenium

Outline

• Introduction to the deployment work

• Deployment work in agile software development

• Is it valuable to do the deployment automation work?

• Deployment work automation

• Deployment working environment and procedure

• Deployment automation implementation

• Q & A

Page 6: Deployment automation framework with selenium

Working environment

• 12 distributed, heterogeneous, and specialized servers.

• 26 steps are required

Page 7: Deployment automation framework with selenium

Working procedure

1. Grab the current tracking number (Example: Appendix 1).

• branches-iteration-0019-front_end-47279 @ 20110913-04:44:58

branches-iteration-0019-mscm-47280 @ 20110902-04:54:56

2. Log into SVN server.

• Input URL, user name and password

3. Got revision log page.

4. Search all the revisions after 47280 and copy them (Example: Appendix 2).

5. Log into email server.

• Input URL, user name and password

6. Compose deployment notification email (Example: Appendix 3).

• Receivers: QA, DEV, PRODUCT

• Title: what build, what time, where to deploy

• Content: new revisions

************wait for the deployment time*************

Page 8: Deployment automation framework with selenium

Working procedure

7. Log into the deployment server.

• Host name, username, password

8. Download latest compiled files from build server.

• Java Bridge, Spring Server, ACDC, Front End, ……

9. Stop services in the enterprise testing environment.

10. Deploy compiled files to enterprise testing environment.

• Java Bridge, Spring Server, ACDC, Front End, ……

11. Go to database schema management server

12. Update data cloud schema.

13. Exit database schema management server.

14. Start services in the enterprise testing environment.

15. Log into admin server.

• Host name, username, password

Page 9: Deployment automation framework with selenium

Working procedure

16. Switch to enterprise log server.

• Host name, username, password

17. Go to log file server to check environment status.

• /var/splunk/logs/dbs02/acdc/acdc-log.log

• /var/splunk/logs/aps04/mscm/springserver-log.log

• /var/splunk/logs/wps01/javabridge-log.log

• /var/ftp/logs/ftpserver-log.log

18. ~ 26. : repeat 9~17 for the Pro testing environment.

Page 10: Deployment automation framework with selenium

Outline

• Introduction to the deployment work

• Deployment work in agile software development

• Is it valuable to do the deployment automation work?

• Deployment work automation

• Deployment working environment and procedure

• Deployment automation implementation

• Q & A

Page 11: Deployment automation framework with selenium

Automate deployment work

• Techniques: Linux shell scripts, Selenium, and

Hudson.

• Automated steps 8 ~ 26 with Linux shell scripts.

• Pushing build script

• Status checking script

• Next: used selenium to automate the rest 9 steps.

Page 12: Deployment automation framework with selenium

Automate deployment work

1. Grab the current version number.

• branches-iteration-0019-front_end-47279 @ 20110913-04:44:58

branches-iteration-0019-mscm-47280 @ 20110902-04:54:56

2. Log into SVN server.

• Input URL, user name and password

3. Got revision log page.

4. Search all the revisions after 47280 and copy them

5. Log into email server.

• Input URL, user name and password

6. Compose deployment notification email.

• Receivers: QA, DEV, PRODUCT

• Title: what build, what time, where to deploy

• Content: new revisions

************wait for the deployment time*************

Page 13: Deployment automation framework with selenium

Automate deployment work

7. Log into the deployment server.

• Host name, username, password

8. Run pushing scripts for deployment work.

• Deploy a new build for enterprise and environment.

• Deploy a new build for pro environment.

9. Run status checking scripts.

Page 14: Deployment automation framework with selenium

Automate deployment work

Page 15: Deployment automation framework with selenium

Automate deployment work

Page 16: Deployment automation framework with selenium

Outline

• Introduction to the deployment work

• Deployment work in agile software development

• Is it valuable to do the deployment automation work?

• Automating whole deployment process

• Deployment working environment and procedure

• Deployment automation implementation

• Q & A

Page 17: Deployment automation framework with selenium

Appendix 1

Page 18: Deployment automation framework with selenium

Appendix 2

Page 19: Deployment automation framework with selenium

Appendix 3

Page 20: Deployment automation framework with selenium

Appendix 4

Page 21: Deployment automation framework with selenium

Thanks !