I make a concept for Continuous Delivery for our current development and deployment process.
Right now we develope new features for our softwareproduct with scrum. In every sprint we choose from the backlog a couple of features that has to be implemented within the next sprint. So far so good.
Simplified, our delivery pipeline should look like this in the future:
Commit stage --> Automated acceptance testing --> Manual approval for release --> Production
In the commit stage jenkins compiles the code, runs unit tests and code analysis and finally build the EAR. If everything is successful the EAR will be deployed on a QA server for the automated acceptance testing with selenium. After finishing all selenium tests and after a manual approval step the EAR will be deployed on our production server.
One question that came up from our QA department was, how can they write selenium tests in this scenario.
A little example may help here. Imagine for the next sprint the developers decide to make a new login page for our webservice. After a few days they commit their result. But the development of selenium tests may take longer then the actual implementation of the new feature.
This means that after the commit, there are no automated acceptance tests for the new login page.
Lets carry this a litte bit further. Lets assume we don´t have a manual approval before releasing in production. Then there would be an untested new feature on our production server.
Is there any best practice for this scenario? How do other companies handle this situation?
Thank you in advance!
Aucun commentaire:
Enregistrer un commentaire