Integrating version control systems, build systems, unit tests, issue tracking, API testing, UI automation and actual development, especially in larger projects, can at times feel very challenging and complicated. In this module, we look at the fundamentals of how these different components of a development project work, and how they can be integrated and managed effectively by automating the entire process as much as possible. The attendees will become familiar with the concept and practice of Continuous Integration (CI) in software project execution through actually setting up and using a CI environment with all its components.
Overview, concepts and terminology
Different areas of an overall software development process: Source code, code editors, version control systems, compilers, build systems, unit tests, issue trackers, APIs, automated API testing, UI automation testing
Overview of tools used to perform the various tasks: Find similarities, differences, common objectives and purposes
Different ways of triggering a CI system: Time-based, manually, automatically after each commit, etc.
Automatically pulling source code from a version control system
Configuring an automated build system to make automated builds
Automatically running unit tests against automatically compiled programs
Producing an automated report of testing results
Linking to an issue tracking system: Automatically filing bugs
Integrating UI automation testing
Staging servers and automated deployment: Automated testing of web services and server APIs
All Emerge trainings can be conducted in different locations globally, in customer offices, shared facilities, Emerge-provided training centers, online or through other means, depending on the requirements of the training participants.