Your company experiences bugs, outages, and slowness in its production systems. Developers use the production environment for new feature development and bug fixes. Configuration and experiments are done in the production environment, causing outages for users. Testers use the production environment for load testing, which often slows the production systems. You need to redesign the environment to reduce the number of bugs and outages in production and to enable testers to toad test new features. What should you do?
A. Create an automated testing script in production to detect failures as soon as they occur.
B. Create a development environment with smaller server capacity and give access only to developers and testers.
C. Secure the production environment to ensure that developers can’t change it and set up one controlled update per year.
D. Create a development environment for writing code and a test environment for configurations, experiments, and load testing.
Disclaimer
This is a practice question. There is no guarantee of coming this question in the certification exam.
Answer
D
Explanation
A. Create an automated testing script in production to detect failures as soon as they occur.
B. Create a development environment with smaller server capacity and give access only to developers and testers.
C. Secure the production environment to ensure that developers can’t change it and set up one controlled update per year.
D. Create a development environment for writing code and a test environment for configurations, experiments, and load testing.
(Creating separate environments for development, testing and production is a best practice for software development. This will enable the company to have control over the changes that are made in each environment and reduce the risk of bugs, outages and slowness in production.
A development environment would be used by developers to write code, test new features and do initial debugging. This environment should be isolated from production so that bugs or issues that occur during development don’t affect the production systems or users.
A test environment should be created to perform configurations, experiments, and load testing. This environment should be identical to production so that it can be used to test how the systems will behave in a real-world scenario. Testers can use this environment to load test new features without affecting production systems or users.)