Specifications for Transactions Do Not Need to Be Reviewed Quickly
What is Database Testing?
Database Testing is a type of software testing that checks the schema, tables, triggers, etc. of the Database under test. It also checks information integrity and consistency. Information technology may involve creating circuitous queries to load/stress test the Database and check its responsiveness.
Why Database Testing is Of import?
Database Testing is Of import in software testing because it ensures data values and information received and stored into database are valid or non. Database testing helps to salve data loss, saves aborted transaction data and no unauthorized access to the information. Database is of import for whatsoever software application hence testers must accept good noesis of SQL for database testing.
The GUI is usually given the most emphasis by the test and development team members since the Graphical User Interface happens to exist the virtually visible role of the application. However, what is also important is to validate the information that is the centre of the awarding, aka DATABASE.
Let u.s.a. consider a Banking application wherein a user makes transactions. Now from Database Testing or DB Testing viewpoint following, things are important:
- The application stores the transaction information in the application database and displays them correctly to the user.
- No information is lost in the process.
- No partially performed or aborted functioning information is saved past the application.
- No unauthorized individual is allowed to access the user's information.
To ensure all these above objectives, we demand to use information validation or information testing.
In this Database Testing tutorial, we will learn about different Database Testing concepts similar:
- Differences between User-Interface Testing and Information Testing
- Types of Database Testing
- What is Schema Testing
- Database Tabular array, Column Testing
- Stored Procedures Testing
- Trigger Testing
- Database Server Validations
- Functional Database Testing
- Login and User Security
- Load Testing
- Database Stress Testing
- Myths or Misconceptions related to Database Testing
- Best Practices
Differences between User-Interface Testing and Data Testing
User-Interface testing | Database or Data testing |
---|---|
This type of testing is besides known as Graphical User Interface testing or Front-terminate Testing. | This type of testing is also known as Backend Testing or data testing. |
This type of testing chiefly deals with all the testable items that are open to the user for viewership and interaction like Forms, Presentation, Graphs, Menus, and Reports, etc. (created through VB, VB.internet, VC++, Delphi – Forepart-finish Tools ) | This type of testing chiefly deals with all the testable items that are by and large hidden from the user for viewership. These include internal processes and storage like Assembly, DBMS like Oracle, SQL Server, MYSQL, etc. |
This type of testing includes validating the
| This blazon of testing involves validating:
|
The tester must be thoroughly knowledgeable about the business requirements as well equally the usage of the development tools and the usage of automation frameworks and tools. | To be able to perform backend testing, must the tester have a stiff groundwork in the database server and Structured Query Language concepts. |
Types of Database Testing
The three types of Database Testing are
- Structural Testing
- Functional Testing
- Non-functional Testing
In this Database Testing tutorial, nosotros will look into each blazon and its sub-types one by one.
Structural Database Testing
Structural Database Testing is a database testing technique that validates all the elements inside information repository that are mainly used for data storage and which are not immune to exist directly manipulated by end-users. The validation of database servers is as well an of import consideration in structural database testing. A successful completion of this testing needs mastery in SQL queries.
What is Schema Testing?
Schema Testing in database testing validates various schema formats associated with the database and verifies whether the mapping formats of tables/views/columns are compatible with mapping formats of user interface. The main purpose of schema testing is to ensure the schema mapping between front-end and back-end are similar. Thus, it is also referred to as mapping testing.
Allow united states discuss the most important checkpoints for schema testing.
- Validation of the various schema formats associated with the databases. Many times the mapping format of the table may not be compatible with the mapping format present in the user interface level of the application.
- There is a need for verification in the case of unmapped tables/views/columns.
- There is also a need to verify whether heterogeneous databases in an environment are consistent with the overall awarding mapping.
Let usa also look at some of the interesting Database Testing tools for validating database schemas.
- DBUnit that is integrated with Emmet is very suitable for mapping testing.
- SQL Server allows the testers to exist able to check and to query the schema of the Database past writing simple queries and not through lawmaking.
For example, if the developers want to change a tabular array structure or delete it, the tester would want to ensure that all the Stored Procedures and Views that apply that table are compatible with the item change. Another example could be that if the testers want to check for schema changes between two databases, they can exercise that by using simple queries.
Database Table, Column Testing
Allow u.s. look into various checks for database and column testing.
- Whether the mapping of the database fields and columns in the backend is compatible with those mappings in the front end-stop?
- Validation of the length and naming convention of the database fields and columns every bit specified by the requirements.
- Validation of the presence of any unused/unmapped database tables/columns.
- Validation of the compatibility of the
- datatype
- field lengths
of the back-end database columns with that of those present at the front-end of the application.
- Whether the database fields allow the user to provide desired user inputs as required by the business requirement specification documents.
Keys and indexes testing
Of import checks for keys and indexes –
- Check whether the required
- Principal Key
- Foreign Key
constraints have been created on the required tables.
- Check whether the references for foreign keys are valid.
- Cheque whether the information type of the primary key and the corresponding foreign keys are the same in the 2 tables.
- Bank check whether the required naming conventions have been followed for all the keys and indexes.
- Cheque the size and length of the required fields and indexes.
- Whether the required
- Clustered indexes
- Non Clustered indexes
accept been created on the required tables equally specified by the business requirements.
Stored Procedures Testing
Important tests to check stored procedures are:
- Whether the development team did adopt the required
- coding standard conventions
- exception and error treatment
for all the stored procedures for all the modules for the application under test.
- Whether the development team did comprehend all the weather condition/loops past applying the required input data to the application under exam?
- Whether the evolution team did properly apply the TRIM performance whenever data is fetched from the required tables in the Database?
- Whether the manual execution of the Stored Process provides the end-user with the required upshot?
- Whether the transmission execution of the Stored Procedure ensures the table fields are being updated as required by the awarding under test?
- Whether the execution of the Stored Procedures enables the implicit invoking of the required triggers?
- Validation of the presence of whatever unused stored procedures.
- Validation for Let Nix condition which can exist washed at the database level.
- Validation of the fact that all the Stored Procedures and Functions take been successfully executed when the Database nether test is bare.
- Validation of the overall integration of the stored procedure modules equally per equally the requirements of the application under test.
Some of the useful Database Testing tools for testing stored procedures are LINQ , SP Test tool etc.
Trigger Testing
- Whether the required coding conventions have been followed during the coding phase of the Triggers?
- Check whether the triggers executed for the corresponding DML transactions have fulfilled the required conditions.
- Whether the trigger updates the data correctly in one case they have been executed?
- Validation of the required Update/Insert/Delete triggers functionality in the realm of the application nether exam.
Database Server Validations
- Check the database server configurations as specified past the business requirements.
- Bank check the authorization of the required user to perform merely those levels of actions that are required by the application.
- Bank check that the database server is able to cater to the needs of the maximum allowed number of user-transactions as specified past the concern requirement specifications.
Functional Database Testing
Functional Database Testing is a blazon of database testing that is used to validate the functional requirements of a database from the cease-user's perspective. The primary goal of functional database testing is to test whether the transactions and operations performed by the finish-users which are related to the database works every bit expected or not.
Following are the basic weather condition that need to be observed for database validations.
- Whether the field is mandatory while allowing Zilch values on that field?
- Whether the length of each field is of sufficient size?
- Whether all similar fields have the same names across tables?
- Whether there are any computed fields present in the Database?
This item process is the validation of the field mappings from the end-user viewpoint. In this particular scenario, the tester would perform an performance at the database level and then would navigate to the relevant user interface item to find and validate whether the proper field validations accept been carried out or non.
The vice versa condition whereby, first operation is carried out by the tester at the user interface, and and then the same is validated from the back finish is should also exist done.
Checking information integrity and consistency
Following checks are important
- Whether the data is logically well organized?
- Whether the data stored in the tables is correct and as per the business requirements?
- Whether at that place are any unnecessary data nowadays in the application under test?
- Whether the data has been stored equally per as the requirement with respect to data which has been updated from the user interface?
- Whether the TRIM operations performed on the data earlier inserting information into the Database under test?
- Whether the transactions have been performed according to the business organization requirement specifications and whether the results are correct or not?
- Whether the data has been properly committed if the transaction has been successfully executed?
- Whether the information has been rolled backed successfully if the transaction has not been executed successfully past the end-user?
- Whether the data has been rolled backed if the transaction has not been executed successfully and multiple heterogeneous databases have been involved in the transaction in question?
- Whether all the transactions accept been executed by using the required pattern procedures as specified by the system business organisation requirements?
Login and User Security
The validations of the login and user security credentials need to take into consideration the following things.
- Whether the application prevents the user from proceeding further in the application in example of a
- invalid username but valid countersign
- valid username only invalid password.
- invalid username and invalid password.
- Whether the user is immune to perform merely those specific operations which are specified by the business organisation requirements?
- Whether the data is secured from unauthorized admission?
- Whether there are dissimilar user roles created with unlike permissions?
- Whether all the users have required levels of access on the specified Database every bit required by the business specifications?
- Cheque that sensitive information like passwords, creditcard numbers are encrypted and not stored as patently text in Database. It is a good practice to ensure all accounts should have passwords that are circuitous and not easily guessed.
Non-functional testing
Non-functional testing in the context of database testing can be categorized into various categories every bit required past the business requirements. These tin can exist load testing, Stress Testing, Security Testing, Usability Testing, and Compatibility Testing, and so on. The load testing, as well as stress testing, which can exist grouped nether the gamut of Performance Testing serves two specific purposes when it comes to the role of non-functional testing.
Gamble quantification– Quantification of risk helps the stakeholders to ascertain the various system response fourth dimension requirements under required levels of load. This is the original intent of any quality assurance task. We demand to annotation that load testing does non mitigate risk directly, but through the processes of run a risk identification and risk quantification, presents corrective opportunities and an impetus for remediation that volition mitigate risk.
Minimum system equipment requirement– The minimum organization configuration that volition permit the organisation to run into the formally stated performance expectations of stakeholders. So that extraneous hardware, software, and the associated toll of ownership can be minimized. This particular requirement can be categorized equally the overall business optimization requirement.
Load Testing
The purpose of any load examination should exist clearly understood and documented. The post-obit types of configurations are a must for load testing.
- The most frequently used user transactions have the potential to impact the functioning of all of the other transactions if they are non efficient.
- At least one non-editing user transaction should exist included in the final test suite, so that performance of such transactions can be differentiated from other more complex transactions.
- The more important transactions that facilitate the core objectives of the system should be included, as failure under a load of these transactions has, by definition, the greatest touch.
- At to the lowest degree one editable transaction should be included and so that operation of such transactions tin can be differentiated from other transactions.
- Optimum response time nether huge number of virtual users for all the prospective requirements.
- Effective times for fetching of various records.
Important load testing tools are load runner, win runner and JMeter.
What is Database Stress Testing?
Database Stress Testing is a testing method used to stress test database organisation with heavy load such that information technology fails at some betoken. This helps in identifying the breakdown bespeak of database system. It requires proper planning and efforts in social club to avoid over usage of resources. Data stress testing is too known as torturous testing or fatigue testing.
Important stress testing tools are LoadRunner and JMeter.
Well-nigh mutual occurring problems during database testing
A pregnant amount of overhead could be involved to make up one's mind the state of the database transactions
New test data take to be designed after cleaning upward of the old test data.
An SQL generator is required to transform SQL validators in lodge to ensure the SQL queries are apt for treatment the required database test cases.
The higher up mentioned prerequisite ensure that the set-up of the database testing procedure could exist costly as well as fourth dimension consuming.
Myths or Misconceptions related to Database Testing
Database Testing requires plenty of expertise and it is a very tedious chore
Reality: Constructive and efficient Database Testing in Software Testing provides long-term functional stability to the overall application thus information technology is necessary to put in hard work backside it.
Database testing adds extra work bottleneck
Reality: On the contrary, database testing adds more than value to the overall work past finding out hidden issues and thus pro-actively helping to ameliorate the overall application.
Database testing slows downwardly the overall evolution process
Reality: Significant corporeality of database testing helps in the overall improvement of quality for the database application.
Database testing could be excessively costly
Reality: Any expenditure on database testing is a long-term investment which leads to long-term stability and robustness of the application. Thus expenditure on Database Testing or SQL Testing is necessary.
All-time Practices
- All data including the metadata as well as the functional information needs to be validated according to their mapping by the requirement specification documents.
- Verification of the examination data which has been created by / in consultation with the development team needs to exist validated.
- Validation of the output data past using both manual as well as automation procedures.
- Deployment of various techniques such as the cause effect graphing technique, equivalence partitioning technique and boundary-value analysis technique for generation of required exam data weather.
- The validation rules of referential integrity for the required database tables also demand to be validated.
- The selection of default tabular array values for validation on database consistency is a very important concept Whether the log events have been successfully added in the Database for all required login events
- Does scheduled jobs execute in timely style?
- Take timely backup of Database.
Checkout – Database Testing Interview Questions & Answers
Source: https://www.guru99.com/data-testing.html
Postar um comentário for "Specifications for Transactions Do Not Need to Be Reviewed Quickly"