Software Delivery 101 Flashcards
Environments
- used when the same application is deployed to different environments.
- they are independence and isolation from one another
- they undertake different kinds of activities in each without one affecting the other
development environment
where developers make the original change to the codes
production environment
where end users actually use the application
Build (Integration)
combine the completed work from all the project’s developers and build them in a single, consistent environment (rather than from individual developer machine)
build environment
where to conduct the build, run the built application, and conduct the basic forms of testing
test environment
- where to test the application’s behavior
- a project may have more than one test environment, with each environment serving different purposes/reflecting different stages.
- a very common strategy is QA (test) and Pre-production (or UAT, or Staging)
QA (Test) environment
- a mirror environment meant to mimic production as precisely as possible
- used by testers, QA analysts or other testing professionals to perform many forms of functional and non-functional testing.
- Regression testing takes places in the QA Environment
Pre-production / UAT / Staging
- last post for releases before Production
- the environment might be exposed externally to Customers or Stakeholders for Acceptance testing
UAT
User Acceptance Testing
Actual users test the software to determine if it does what it was designed to do in real-world situations, validating changes made and assessing adherence to their organization’s business requirements.
Software Delivery Pipeline
DEV –> CI –> QA –> UAT –> PROD
CICD
Continuous Integration and Development