37424158-Database-Testing-Basic-Concepts
Transcript of 37424158-Database-Testing-Basic-Concepts
-
8/7/2019 37424158-Database-Testing-Basic-Concepts
1/3
-
8/7/2019 37424158-Database-Testing-Basic-Concepts
2/3
There are many aspects to the correctness of a database system, including the following:
1. Does the application program behave as specified?
2. Does the database schema correctly reflect the organization of the real world databeing modeled?
3. Are security and privacy protected appropriately?4. Are the data in the database accurate?5. Does the DBMS perform all insertions, deletions, and updates of the data correctly?
Data integrity includes checking constraints. Various constraints that need to be checkedare uniqueness constraint, not-Null constraint, composite key constraint and semantic
constraint.
Several issues must be considered when checking the database constraints:-
Checking that tables that should not have changed did not change and checking that
tables that should have changed did change.
Checking that tables changed in correct way, according to constraints generated andsupplied by tester.
Checking that new state satisfies the relevant constraints, including those specified
by the tester as well as those defined in the schema and application.
Transaction consistency has two aspects: when run in isolation, it should remain
consistent and the relation between old and new state should satisfy the requirements ofthe transaction's specification. Data Consistency includes both internal and external
validations of essential data fields. Internal checks involve data type checking and ensurethat columns are of correct types. External checks involve validation or relational
integrity to whether duplicate data are being loaded from different files. Transaction
concurrency- the DBMS employs sophisticated mechanisms to assure that transactionssatisfy the ACID properties - Atomicity, Consistency, Isolation, and Durability - an
application can still have concurrency related faults if the application programmer
erroneously placed queries in separate transactions when they should have been executedas a unit. There are issues with application programs written in embedded SQL, where
multiple clients executing an application program concurrently can have their own host
variable. Consistency constraints are violated if more than one instance tries to modifythe same data element concurrently. To avoid interference from other instances, related
operations should be grouped into a transaction. To improve efficiency, operations on
different tables could be performed concurrently. Concurrency problem that occurs when
data are manipulated across multiple database transactions is termed offline concurrencyproblem. Stored procedure or application using the stored procedure should not be left in
an unknown situation. It is necessary to implement error-handling mechanism in stored
procedures, where in every system thrown error messages will be taken care off. The
tester should go through the requirement, as to why the particular stored procedure is
written for and check whether all the required indexes, joins, updates, deletions arecorrect comparing with the tables mentions in the Stored Procedure. Moreover, he has to
ensure whether the Stored Procedure follows the standard format like comments, updated
by, etc.
-
8/7/2019 37424158-Database-Testing-Basic-Concepts
3/3