- QATestLab Blog >
- QA Basics >
- What Is Database Sandbox?
Note: this article was updated in December 2019.
Who hasn’t played with the sandbox in childhood?! Probably, only a few…or nobody? But what do these childhood memories have in common with the QA database sandbox and testing in particular? This post will help you get the idea. Here is everything you need to know about sandbox development, types of sandboxes, and their working processes. So, grab your coffee and a comfortable chair, and let’s just dive in!
The Essence of Sandbox Database and Why It Is Needed
The sandbox meaning in software is simple. To a large extent, it replicates the concept of sandboxes for kids. Just think about it. Our child sandboxes were places where we could play, and test, and try new things out. Most importantly, we were doing all this stuff without doing any real harm for us.
Just like that, a database sandbox operates for data warehousing, database testing, and software development. It’s also a well-designed isolated environment where we have the freedom to build things from scratch. Using it, we get an opportunity to experiment with untested code in all possible ways. The only restrictions we have are security issues.
This software testing environment allows us to run software or programs in isolation to other processes and so evaluate, monitor, or test something independently. Put simply, it is a copy of the actual database you can use for different ideas. All this due to revision control software such as CVS and Subversion (SVN).
So, why do you need using a database sandbox? There are several benefits you can reap off using it. Here are some of them:
- Database Sandbox gives security in relation to what executing software can do.
- It is a cheap (sometimes FREE) way to ensure you don’t do serious damage to your real data or database.
- It provides the opportunity to work with several working programs at once.
What Are the Types of Sandboxes?
Every sandbox software development process is comprised of specific types or stages.
Development sandbox. Using the development sandbox, specialists can implement a new feature or redo the existing one. This type is needed for the validation of made modifications through software testing.
Project integration sandbox. If everything is done in a proper way on a previous step, then you need to proceed to the project integration sandbox. What does it mean? It is another environment or type called integration sandbox. You need this to run all tests one more time and check whether everything works correctly. By the way, this process resembles regression testing. If there are any mismatches, then the system goes back to the development sandbox for some error fixing.
Demo sandbox and Pre-production test/QA sandbox. Going to the next stages, we are getting more interesting things and different types of database sandboxes. If the system operates well, then it goes to the demo and pre-production, where it is integrated with system parts made by other developers (integration testing).
When pre-production testing is finished well and there are no errors, then congratulations – the system goes into production!
When and How to Use a Database Sandbox
Let’s start with the question ‘when?’. As previously mentioned, you need to use a database sandbox when there is a necessity to build a product from scratch or modify an existing one. This will be your isolated environment for trials and possible errors that will not affect the real product.
In case of facing a problem of a large portion of database functionality, database sandbox can be a real salvation. Moreover, using it you can avoid test run wars between different users of the database. Depending on how you have chosen to implement the database sandbox, it may or may not allow different users to modify the structure of the database.
Another one situation when database sandbox comes in handy is when you want to carry out repeatable tests and avoid interacting. Especially it is a case for separating different users (and their test runs) from each other while still allowing tests within a single test run to share a test fixture.
How Make Use of Database Sandbox?
The main task of the database sandbox is to configure the application so that it remains possible to make changes to the database without changing the code itself. This is done simply through reading the database configuration information from a properties file that is customized in each users’ environment.
There are several approaches you can take to implement Database Sandbox. In general, this choice is whether we give each user a real separate database instance or just simulate one. QATestLab expert advice is to pay attention to the first option. However, you should keep in mind that this approach involves several pitfalls like the database vendors licensing regime.
In general, working with database sandbox presupposes that you give access to working with databases for developers, testers, or anybody else. This happens as standard: you install lightweight database technology on your PC and voila – you are already working with database sandbox, which gives you a bunch of opportunities.
Examples of lightweight database technologies include MySql and Personal Oracle. The database instance can be installed on the user’s own machine, on a shared test server, or a dedicated “virtual server” running on a shared server.
Conclusions
So all-in-all, a database sandbox is a useful technique that creates a separate environment where you can run programs without affecting the execution, operation, and software testing processes. Working with untested code, you make your program go through a certain cycle of 4 types of database sandboxes:
- Development sandbox
- Project integration sandbox
- Demo sandbox
- Pre-production test/QA sandbox
Having gone through all these stages one by one successfully, your system goes into production. This is the actual environment in which your system will run once it is deployed.
Ask your questions in the comments below and subscribe to our blog to see new posts.
Learn more from QATestLab
Related Posts:
About Article Author
view more articleshas more than 2-year experience in blogging and copywriting, copyediting and proofreading of web content.
View More Articles
No Comments Yet!
You can be the one to start a conversation.