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?
Click on the arrows to vote for the correct answer
A. B. C. D.A.
The current situation in the company is that the production environment is being used for new feature development, bug fixes, configuration and experiments, and load testing. This is causing outages for users, slowing down the production systems, and increasing the number of bugs and outages. To address this situation, a redesign of the environment is necessary to reduce the number of bugs and outages and to enable testers to load test new features. The four options provided are:
A. Create an automated testing script in production to detect failures as soon as they occur.
This option involves creating an automated testing script in the production environment to detect failures as soon as they occur. While this could be helpful in identifying issues early on, it does not address the root cause of the problem, which is the use of the production environment for development and testing activities. Additionally, introducing automated testing scripts into the production environment could introduce additional overhead and potential risks.
B. Create a development environment with smaller server capacity and give access only to developers and testers.
This option involves creating a development environment with smaller server capacity and giving access only to developers and testers. This approach separates the development and testing activities from the production environment, which should help to reduce the number of bugs and outages. However, it does not provide a dedicated environment for load testing, which is also causing issues in the current environment.
C. Secure the production environment to ensure that developers can't change it and set up one controlled update per year.
This option involves securing the production environment to ensure that developers cannot change it and setting up one controlled update per year. While this could be helpful in reducing the number of bugs and outages, it does not address the root cause of the problem, which is the use of the production environment for development and testing activities. Additionally, setting up one controlled update per year may not be feasible for some organizations, particularly those with rapidly changing business requirements.
D. Create a development environment for writing code and a test environment for configurations, experiments, and load testing.
This option involves creating a development environment for writing code and a test environment for configurations, experiments, and load testing. This approach separates the development and testing activities from the production environment, which should help to reduce the number of bugs and outages. Additionally, it provides a dedicated environment for load testing, which should help to reduce the impact of load testing on the production systems. This option is the most comprehensive of the four and is therefore the best option for addressing the root cause of the problem.
In conclusion, the best option for addressing the problem of bugs, outages, and slowness in the production environment while enabling testers to load test new features is to create a development environment for writing code and a test environment for configurations, experiments, and load testing.