A software emulation of a physical computing resource that can be modified independent of the hardware attributes.
A software development practice where two developers work on a feature, rather than one, so that both developers can review each others’ code as it’s being written in order to improve code quality.
Tools that provide a set of functionalities that works immediately after installation with hardly any configuration or modification needs. When applied to the software delivery, a one-stop shop solution allows quick setup of a deployment pipeline.
A software testing technique in which the test cases are derived from a model that describes the functional aspects of the System Under Test (SUT). Visual models can be used to represent the desired behavior of a SUT, or to represent testing strategies and a test environment. From that model manual tests, test data, and automated tests can be generated automatically.
The practice of developing software as an interconnected system of several independent, modular services that communicate with each other.
Used to measure reliability of a system or component, calculated by averaging the time between system failures.
A deployment pipeline is an automated manifestation of your process for getting software from version control into the hands of your users. (source: informIT.com)
The use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes.
The average time it takes a system or component to recover from a failure and return to production status.
A feature packed CI tool with out-of-the-box support for java, ruby .Net, & many other languages.