Showing posts with label database testing training. Show all posts
Showing posts with label database testing training. Show all posts

Wednesday, 22 April 2015

Database Testing – Practical Tips on How to Test Database

Among other tools of software testing, database is one of the inevitable parts of a software system nowadays in which many people want to learn it and build their career successfully. If you are also among them and want to start your profession in this area then proper database testing training is required for you through which you would be able to get the complete knowledge of all concepts related to database testing. And there are many leading institutes like QACampus that would provide you both basic and advanced training in not only database but also other technologies of testing such as QC, QTP, selenium and so on. Coming back on to the subject of this blog, I would be discussing one of the key concepts of database testing, which is how to test database. So, get through it seriously and obtain the required knowledge of it in order to boost your career in this area of specialization.



What to Test in Database Testing?

Here are some key areas that is to be tested in database testing:
  • Make Sure of Data Mapping: You should make sure that mapping between difference screens or forms of AUT and the Relations of its DB is not only error-free but also according to the test design documents.
  • Ensure Data Integrity: Always consider that different modules that is, forms or screens of an application system use the same data in different ways. With this, forms should also perform all the CRUD operations on the data. In such case, it should be noted that you should make sure that the latest state of data is reflected everywhere.
  • Make Sure of ACID Properties of Transactions: DB transactions have the ACID properties namely Atomicity, Consistency, Isolation and Durability. It is to make sure that proper testing of these four properties is done during the DB testing activity. This area of database testing needs more thorough, rigorous and keen testing when the database is distributed.
  • Ensure Accuracy of Implemented Business Rules: The last thing to test in database testing is accuracy of an application. As the databases are not meant for storing records, Dbs have been evolved into extremely powerful tools that can provide enough support to the developers in order to put business logic at DB level in function.
How to Test Database?

Following are steps that are involved in the process of testing database:
  • Create Your Own Queries: In order to test database in the most accurate and proper way, you as a tester should have a complete understanding of SQL specially DML (Data Manipulation Language) statements. After this, you should obtain the good knowledge of internal DB structure of AUT. If these two pre-requisites are fulfilled by you then you would be able to test DB with full confidence.
  • Have an Observation of Data Table by Table: In case, you are not good in SQL, then you may verify the result of CRUD operation, performed by using GUI of software by viewing the tables of DB. As this way may be a bit cumbersome and tedious especially when the DB and tables have large amount of data.
  • Get Query from Developer: This can be a simplest way for you as a tester to test the DB. You need to perform any CRUD operation from GUI and verify its impacts by executing the respective SQL query obtained from the developer.
As the matter of the fact is that database is termed to be the core and critical part of almost every software system, so DB testing of an application demands good SQL skills, keen attention and proper understanding of database structure of AUT along with proper training in every database technology. Then only, you would be able to do database testing perfectly and refine your skills in order to successfully build your career in this important type of testing.

Tuesday, 31 March 2015

What is Positive & Negative Testing in Software Testing?

In order to build a successful career in software testing, gaining knowledge of every concept is important. Whether manual testing or selenium, every piece of understanding in every testing tool or type greatly help in getting overall success in the career by refining the skills. For this, a large number of software testing learning packages are available including manual and selenium training in Noida for getting complete education of testing. Institutes like QACampus are dealing in providing training in testing for helping students to achieve their career goal. As software testing is a wide and comprehensive concept, there are many terms that are required to undertstand for getting things done in an appropriate manner. Software testing is basically a process of verification and validation for checking up whether an application under test is working as expected. This testing activity is mainly performed to carried out for finding any errors or defects in software system and thus improving the quality of it. Through this post, I would be putting some light on what is positive and negative testing!


What is Positive Testing?

Positive testing involves a testing process through which the system is validated against the valid input data. In this kind of testing, a tester is always go through the checking procedure for not only validating the set of values, but it is also checked if an application behaves as expected with its expected inputs. The main purpose of doing this testing is to check whether software is not showing error when not supposed to and vice-versa. It is always carried out keeping the positive view and only execute the positive scenario. Hence, the positive testing is always tried to prove the given software or project that it always meets the specifications and requirements as well. Now let's take a look on some positive test scenarios:
  • Password textbox should accept six chars
  • Password textbox should upto twenty chars
  • Password textbox should accept any value in between six and twenty chars length
  • Password textbox should accept all numeric as well as alphabets values
What is Negative Testing?

As far as negative testing is concerned, it is performed where the software is validated against the invalid input data. The process involved in doing the testing activities basically check whether an application behaves as projected with its negative inputs. The main purpose of this kind of testing is to check whether an application not showing error when supposed to and vice-versa. Hence, the process of this kind of testing is to be carried out keeping the negative point of view and only execute the test cases for only invalid set of input data.

The negative testing is performed to detect the inputs where an application is not made or un-handled inputs by providing different invalid. So, the main reason to perform this kind of testing is to check the stability of an application program against the influences of different variety of not-correct validation set of data. Here are few negative test scenarios:
  • Password textbox should not accept less than six chars
  • Password textbox should not exceeds more than twenty chars
  • Password textbox should not accept special chars
You should keep in mind that both positive and negative testing is equally important for performing an effective testing process that helps to enhance the quality of an application. It helps to find more defects and boost the quality of an application under test but it should be performed once the positive testing is complete. As a career building, software testing is a good option if it is learned properly with getting full knowledge of its concepts and tools.





Saturday, 29 November 2014

A Comprehensive guide to learn Database Testing

Here in this blog we will learn about Database Testing, its types and its importance. Database testing in equally important as GUI testing because of the reason that all data retrieved on interfaces are fetched from databases so to validate the correct behavior of application database testing is necessary.

This comprehensive blog will make readers understand about database testing in details it is recommended to take some professional training to gain practical knowledge of testing databases. QACampus institute in Noida is one of the best place from where aspirants can get a practical training for database testing with advance automation tools.

Database Testing :

Database testing is the process of testing data accessing, data integrity, query retrieving, updation, deletion and modifications, etc.

In most of the cases GUI testing is given more importance by the testers and developers as it is the visible part of application. However there is another important part i.e DATABASE that needs to be tested and validated properly as all the data or information are stored in database.

To understand it properly let us take an example of Banking application where a number of users make transactions. From the point of database testing the below mentioned points needs to be followed and tested :
  • The transaction information is stored in the application's database and displays them in a correct manner whenever requested by the user.
  • Not information should lost in transaction process.
  • Application should not save any partial or aborted operation's information.
  • Any unauthorized access of user's information will not be permitted by the application.

To ensure all the above mentioned objectives a data testing or data validation needs to be done.

Database Testing Types :

There are three types of Database Testing :

1. Structural Testing
2. Functional Testing
3. Non-Functional Testing

1. Structural testing

In this testing all the elements inside data repository which are used for data storage and do not allow to be manipulated directly by the users are to be validated. In such testing types database servers validation is also an important consideration. This test requires a very good knowledge of SQL queries. The test includes :

(1) Schema testing

The main objective of schema testing is to ensure the similarity between back-end and front-end in schema mapping. Thus it is also known as mapping testing.

(2) Database table/column testing

During this test it is to be ensured that columns and database fields in front-end is compatible with back-end fields. Naming conventions and length of database fields are validated according to the requirement.

(3) Keys and indexes testing

During keys and indexes testing it is to be checked whether the required
 primary as well as foreign key constraints have been created properly on required tables.
 Also the validity of foreign key references have been checked.

(4) Stored procedures testing

While performing stored procedures testing it is to be ensured that validation for coding standard conventions, exceptions and error handling and all the loops/conditions needs to be done to ensure whether the development team adopted these required standards or not.

(5) Trigger testing

This test is to be performed to ensure whether the specified coding conventions have been followed by the developers while coding the triggers. Also it has been validated that required insert, update, delete triggers are functioning properly according to the expectations.

(6) Database server validations

This test has been performed to ensure the required database server configuration, authorizing the user to perform only the required actions and to allow the maximum number of transactions as specified by the requirement specification.

2. Functional database testing

The functional database testing is the process of ensuring the steadiness of end user's operations and transactions with requirement specifications.
  • Make sure that field should be mandatory while allowing NULL value in that field.
  • Make sure that length of each field should be of sufficient size?
  • Make sure that all similar fields have similar names across the complete tables?
  • Make sure for any computed fields exists in the Database?
This process is the validation of field mappings from end user's viewpoint. During this scenario, the tester perform an operation at database level and then navigate to the relevant user interface item to check whether all the field validations have been implemented or not.

The vice versa test has been followed by the tester where first an operation is carried out at user interface and then the same is verified from the back end.

Following are some points which needs to be considered for database validations.
  • Checking data integrity and consistency
During this process it is to be ensured that data should be logically organized, the stored data in the respective tables is correct and the data must be stored as per the requirement specifications.
  • Login and user security
In this testing process the login and security credentials needs to be validated to prevent unauthorized login/access and to validate whether the user is permitted to perform only the operations which are specified in business requirements. Also it has been checked that the sensitive data like passwords, credit card details and other transaction details are encrypted properly and not able to access by the unauthorized user.

3. Non-functional testing

Non-functional testing for database testing are categorized into different categories such as usability testing, security testing, stress testing, load testing and compatibility testing. The stress and load testing comes under performance testing and serves two purposes during non-functional testing.
  • Risk Analysis : It actually helps to determine the various system response time requirements under specified loads. Since load testing cannot reduce risk directly but risk identification and determination processes provides opportunities to reduce risks.
  • Minimum system configuration requirement : Through formal testing, the minimum system configuration requirement that can meet the performance goals will be analyzed. Through this software, hardware and associated cost can be minimized.
  • Load testing : This testing is the process of testing through which system's behavior have been checked under varying load. It help the tester to identify maximum capacity of database and the bottlenecks in database which are causing problems.
  • Stress testing : Stress testing is the process of identifying the strength of the application under heavy load and to check how application will handle the increased load. Through this database robustness, availability and error handling capacity can be checked.
Conclusion :

The above mentioned theory is enough to understand in brief the database testing, different types and the importance of database testing. All the above mentioned considerations are important to perform a database test for ensuring its correct behavior, operations and proper mapping with user interfaces.