Reputation: 71
I would like to use Jenkins to control my release process. The process contains jobs that execute scripts to build the solution and run automated tests, but there are other steps, like manual tests and documentation, that are executed by human beings. I would like the tester to be able to start the job, execute the tests, and then finish the job either with error (if there are critical bugs) or with success (if the quality is acceptable). This would also give me the duration of the manual tests.
AFAIK, manual tests are set up as jobs that do nothing and run immediately, thus providing no information that the step is being executed and how much it lasts.
Could you please tell me if it is possible to do this with Jenkins and how can I achieve that?
Thanks
Upvotes: 0
Views: 269
Reputation: 16346
You should into Jenkins pipelines and especially the input
stage. Here's a short example how it could look:
stage ("Build and other") {
// Build and automatic testing ...
}
// Ask the tester to start manual testing (for duration)
input 'Start testing'
// Start a new stage so that we can see on the build page what's happening and duration
stage ("Manual testing") {
// Ask operator to verify that all tests has passed
input message: 'Start testing and press proceed on success, otherwise abort'
// If the tester presses abort, the build we aborted and we won't get here
}
When you build and view console you will get:
And on the build front page: Note the "Paused for 2s" which denotes the time testing took (I'm a quick tester ;) )
Upvotes: 1