Jenkins is used to automate the software development lifecycle including builds, tests, deployments, and more. A deployment pipeline promotes code through development, QA, and production environments running tests at each stage. Cucumber, Capybara, and Selenium are used for behavior-driven development and automated functional tests across different browsers and machines in parallel. SonarQube analyzes code quality after each build and will stop the pipeline if issues are found, reporting them to the development team.