Coconote
AI notes
AI voice & video notes
Export note
Try for free
Lecture Notes on Test Environments
Jul 25, 2024
Notes on Environments for Testing
Overview
Focus on test environments in the context of CI/CD process.
CI/CD: Continuous Integration and Continuous Delivery, allowing for constant changes and deliveries to end users.
Understanding environments is crucial in the CI/CD process.
What is an Environment?
Set of software and hardware to run and deploy applications.
Deployment: Running code in an environment, e.g., on local or remote servers.
Types of Environments
1. Local Environment
Deployed locally (e.g., on a developer's computer).
Primarily used for unit testing or component testing.
Tools
: Docker commonly used for local deployment.
Process for Deployment
:
Clone code from remote GitHub repository.
Use Docker to deploy locally.
Testing
: Possible to conduct functionality testing locally without internet.
2. Development (Dev) Environment
A sandbox for developers to test working functionality.
Can be tested by testers if budget constraints exist.
Tools
: Utilizes Jenkins for automation of deployment.
Process
: Automate by entering parameters and running builds.
Connection
: Typically accessed with
dev
prefix in the URL.
3. QA Environment
Main environment for conducting tests.
Tests are conducted after developers confirm functionality.
Process
: Conduct smoke testing, functional testing, critical passes.
Communication
: Separate chats for testers to manage availability of QA stands.
4. Stage Environment
Conduct regression testing to ensure stability and that bug fixes do not affect other functionalities.
Process
: No code changes except for fixing critical bugs.
Accessibility
: Accessed with
stage.test.com
URL.
5. UAT (User Acceptance Testing)
Not universally implemented, but can be separate from production.
Groups of users can test the application functionality before release.
6. Production Environment
The live environment where the end user interacts with the application.
Minimal testing should occur here (smoke tests, checks for new functionalities).
Best Practices
: Avoid repeating the full testing cycle in production.
Importance of Understanding Environments
Knowledge of test environments is essential for success in testing roles.
Helps in communicating effectively within teams and understanding deployment processes.
Provides the ability to adapt and troubleshoot as needed in different environments.
Conclusion
Understanding environments is critical in testing processes and for working in CI/CD.
Future videos planned for deeper dives into CI/CD processes and self-deployment configuration.
đź“„
Full transcript