Program Overview & Objectives:
Databases are an integral part of most software applications; for many of them, database is the major component. Thus, knowing how to tests database management applications is of utmost importance. SQL, or Simple Query Language, is the tongue almost all modern databases can understand, and therefore real database testing is impossible without the knowledge of SQL. A single database can serve as the foundation for multiple applications, integrating their data and providing concurrency control. This course will enable testers to directly interact with a database independently of any given application, and thus be able to explicitly test the integrity and accuracy of corporate data and it's adherence to corporate business rules.
Many test engineers know the basics of SQL and relational databases and can write simple SELECT queries. However, a lot is to be gained from learning how to construct more advanced SQL statements. Armed with those, Data Quality Testing can be much more effective and efficient.
Preventing and testing for SQL Injection vulnerability will also be covered.
1. Database concepts primer
• What is a Database Application?
• Testing the Application vs. Testing the DBMS
• Back-end vs. Front End Testing
• QA’ing Data- Who is responsible?
• What should we test in the Database
• Knowledge required for the Database Tester
• Database Testing Phases
• Database Testing Methodologies
• Structural Database Testing
• Functional Database Testing
2. Basic SQL (Structured Query Language)
• SQL Coding Standards -- what you need to know
• SQL Basics: Select, Insert, Update and Delete
• Using the Select Statement to Test data
• Using the Insert Statement to generate Test data
• Testing for application accuracy using the Update and Delete statements
• Testing for basic data integrity using Constraints
3. Testing with SQL
• Joining tables
• Useful SQL Queries for Data Verification
• How Concurrency Issues affect data accuracy
• Database objects:
• Stored procedures
• User-Defined Functions
• Testing Stored procedures using SQL
• Testing Triggers and functions
• Performance Testing using SQL
• Additional Areas to Test
• Uncovering corrupt data bugs with SQL
4. Using SQL in Scripting Languages
• Structural Database Testing using TOAD Tool
• Database schema tests
• Databases and devices
• Tables, columns, column types, defaults, and rules
• Keys and indexes
• Stored procedure tests
• Individual procedure tests
• Integration tests of procedures
• Trigger tests
• Testing Update triggers
• Testing Insert triggers
• Testing Delete triggers
• Functional Database Testing Using QTP
• Dividing back end based on functionality
• Checking data integrity and consistency
• Test back end via front end
• Login and user security
• Stress Testing
• Catching common Database application hacks:
• Test cases protecting against SQL Injection and other common hacks
Our Consultant, has over 24 years of experience In the IT industry, with over 10 years in USA and Singapore. He possesses diversified technical background with expertise in automated and manual testing, and database administration with nearly 7 years heading focused testing teams.
As part of the senior Delivery management in his previous organizations, Our Consultant has setup and developed the Testing Team and established relevant QC processes and methodologies. He was responsible in establishing new testing teams from scratch, planned and equipped them with a test bed for different environments and developed processes to ensure improved test outputs.
Our Consultant has worked in leadership positions to developed a road map for establishing a testing practice within the organization, and ensure process compliance for application testing. He has setup PMO and processes to enable PMO monitor and control projects effectively.
Our Consultant is also a Coach, Mentor & Corporate Trainer and so far has delivered several batches of corporate trainings for companies like IBM, Ness Technologies L&T, etc on various subjects related to Software Testing, Project Management, Database Administration, etc,.