Databases are an integral part of any software developed today. Whether
you are a Software Tester or an owner of a web site, it is of an utmost
importance to know about the underlying database.
The simplest
task in dealing with databases is to write queries in order to
communicate with a database. Web masters owning web sites or database
administrators for complex or large software need certain level of
expertise to perform complex tasks such as database monitoring, database auditing, database optimization, database models (also known as database schema), to name a few. This level of expertise calls for undergoing a comprehensive course.
For beginners, there is loads of online information about databases available
on the Internet, like DatabaseGuides. It's a good idea for web masters
to know about how their database works so that they can troubleshoot
their own systems or know what is being done if a professional is hired.
Database
Testing is an important aspect that a versatile Software Tester should
be aware of. We'll discuss a few aspects of database testing here.
Why do we test database?
We
all know that it's important to test the database our software uses.
Your database holds confidential and valuable information which you
would not like to be compromised. Testing the database provides us with a
solid feedback essential for identifying defects.
What to test in database testing?
We
need to consider the threats within the database (similar to White box
Testing) as well as at the interface level (Similar to Black Box
Testing).
Black Box testing might include, but not limited to:
Input data
Output Data (from queries, views, stored procedures)
White Box testing might include, but not limited to:
Unit tests for Stored Procedures / functions
Triggers / Views code
Referential Integrity
How to test?
When
you want to test your database, you would need test databases that are
replica of the original database. These are sometimes called as
'sandboxes' in agile terms. In this test database, you can experiment
with data, develop new functionality, validate the changes and then
integrate it with the project if satisfactory.
You'll need create
database tests based on either rebuilding the existing database or
starting afresh with creation of database and related schema.
Identifying Test Data is an important task here. Once the tests are
ready, you would execute them and check the results.
Database Testing is an elaborate topic that can't be fit in a single post. Would try and write more posts on the same.
Fuente: http://quality-assurance-software-testing.blogspot.com/
No hay comentarios:
Publicar un comentario