Pages

Showing posts with label DB Testing Tutorial. Show all posts
Showing posts with label DB Testing Tutorial. Show all posts

Tuesday, 1 July 2014

INTERNET ERROR CODES!!!



Error 400 - Bad request.
Error 401 - unauthorized request.
Error 403 - forbidden.
Error 404 - Not found.
Error 500 -Internal error.
Error 501 - Not Implemented.
Error 502 - Bad Gateway.
Error 503 -Service unavailable.
Error 504 - Gateway Time-Out.
Error 505 - HTTP Version not supported/DNS Lookup Fail/unknown host.
Error 500-599 - Server Errors.

Friday, 7 March 2014

SQL Interview Questions and Answers- Basics


1. Q. What does SQL stand for? 

A. Structured Query Language
------------------------------------------------------------------------------------------------------------
2. Q. How do you select all records from the table?

A. Select * from table_name;
------------------------------------------------------------------------------------------------------------
3. Q. What is a join?

A. Join is a process of retrieve pieces of data from different sets (tables) and returns them to the user or program as one joined collection of data.

------------------------------------------------------------------------------------------------------------

4. Q. What kinds of joins do you know? Give examples.

 A. We have self join, outer joint (LEFT, RIGHT), , cross-join ( Cartesian product n*m rows returned)

Ex:


outer joint

SELECT Employee.Name, Department. DeptName

FROM Employee, Department

WHERE Employee.Employee_ID = Department.Employee_ID;

cross-join

SELECT * FROM table1, table2;

self join

SELECT e1.name | |’    ‘ | | e2.ename FROM emp e1, emp e2 WHERE e1. emp_no = e2.emp_no;

 

The following summarizes the result of the join operations:



·  The result of T1 INNER JOIN T2 consists of their paired rows where the

join-condition is true.

·   The result of T1 LEFT OUTER JOIN T2 consists of their paired rows where

the join-condition is true and, for each unpaired row of T1, the

concatenation of that row with the null row of T2. All columns derived

from T2 allow null values.

·   The result of T1 RIGHT OUTER JOIN T2 consists of their paired rows

where the join-condition is true and, for each unpaired row of T2, the

concatenation of that row with the null row of T1. All columns derived

from T1 allow null values.

·  The result of T1 FULL OUTER JOIN T2 consists of their paired rows and,

for each unpaired row of T2, the concatenation of that row with the null

row of T1 and, for each unpaired row of T1, the concatenation of that row

with the null row of T2. All columns derived from T1 and T2 allow null

values.

------------------------------------------------------------------------------------------------------------  

5. Q. How do you add record to a table?

A. INSERT into table_name VALUES (‘ALEX’ , 33 , ‘M’);

------------------------------------------------------------------------------------------------------------
 
6.  Q. How do you add a column to a table?

 A. ALTER TABLE Department

      ADD (AGE,  NUMBER);

-----------------------------------------------------------------------------------------------------------

7.  Q. How do you change value of the field?

 A. UPDATE EMP_table

       set  number = 200 where item_munber = ‘CD’;

        update name_table set status = 'enable'  where phone = '4161112222';

        update SERVICE_table set REQUEST_DATE = to_date ('2006-03-04 09:29', 'yyyy-mm-dd hh24:MI') where    phone = '4161112222';

-----------------------------------------------------------------------------------------------------------  

8.  Q. What does COMMIT do?

    A. Saving all changes made by DML statements

------------------------------------------------------------------------------------------------------------

9.  Q. What is a primary key?

    A. The column  (columns) that has completely unique data throughout

the table is known as the primary key field.

------------------------------------------------------------------------------------------------------------  

10. Q. What are foreign keys?

    A. Foreign key field – is a field that links one table

to another tables primary or foreign key.

------------------------------------------------------------------------------------------------------------

11. Q. What is the main role of a primary key in a table?

    A. The main role of a primary key in a data table is to maintain the internal integrity of a data table.

------------------------------------------------------------------------------------------------------------

12. Q. Can a table have more than one foreign key defined?

    A. A table can have any number of foreign keys defined. It can have only

       one primary key defined.

------------------------------------------------------------------------------------------------------------ 

13. Q. List all the possible values that can be stored in a BOOLEAN data field.

     A. There are only two values that can be stored in a BOOLEAN data field:

         -1(true) and 0(false).

------------------------------------------------------------------------------------------------------------

14  Q. What is the highest value that can be stored in a BYTE data field?

    A. The highest value that can be stored in a BYTE field is 255. or from -128

       to 127. Byte is a set of Bits that represent a single character.

        Usually there are 8 Bits in a Byte, sometimes more, depending on how

        the measurement is being made. Each Char requires one byte of memory

        and can have a value from 0 to 255 (or 0 to 11111111 in binary).

------------------------------------------------------------------------------------------------------------ 

15.  Q. How many places to the right of the decimal can be stored in a

         CURRENCY data field?

     A. The CURRENCY data type can store up to four places to the right of the

        decimal. Any data beyond the fourth place will be truncated by Visual

        Basic without reporting an error.

------------------------------------------------------------------------------------------------------------  

16.  Q. What is a stored procedure?

     A. A procedure is a group of PL/SQL statements that can be called by

        a name. Procedures do not return values they perform tasks.

------------------------------------------------------------------------------------------------------------

17.  Q. Describe how NULLs work in SQL?

     A. The NULL is how SQL handles missing values.

      Arifthmetic operation with NULL in SQL will return a NULL.

------------------------------------------------------------------------------------------------------------ 

18.  Q. What is Normalization?

     A. The process of table design is called normalization.

-----------------------------------------------------------------------------------------------------------  

19.   Q. What is referential integrity constraints?

      A. Referential integrity constraints are rules

       that are partnof the table in a database schema.

 -----------------------------------------------------------------------------------------------------------

20.    Q. What is Trigger?

       A. Trigger will execute a block of procedural code

       against the database when a table event occurs.

       A2. A trigger defines a set of actions that are performed in response

       to an insert, update, or delete operation on a specified table. When 

       such an  SQL operation is executed, in this case the trigger has been

       activated.

-----------------------------------------------------------------------------------------------------------  

21.    Q. Which of the following WHERE clauses will return only rows

that have a NULL in the PerDiemExpenses column?

A.      WHERE PerDiemExpenses <>

B.      WHERE PerDiemExpenses IS NULL

C.      WHERE PerDiemExpenses = NULL

D.      WHERE PerDiemExpenses NOT IN (*)

 

      A. B is correct When searching for a NULL value in a column, you must

use the  keyword IS. No quotes are required around the keyword NULL.

-----------------------------------------------------------------------------------------------------------

22.   Q. You issue the following query:SELECT FirstName FROM

StaffListWHERE FirstName LIKE'_A%'Which names would be

returned by this query? Choose all that apply.

A.      Allen

B.      CLARK

C.      JACKSON

D.      David

 

      A. C is correct Two wildcards are used with the LIKE operator.

The underscore (_) stands for any one character of any

case, and the percent sign (%) stands for any number of

characters of any case including none. Because this string

starts with an underscore rather than a percent sign, it won't

return Allen or Clark because they represent zero and two

characters before the "A". If the LIKE string had been "%A%",

both of these values would have been returned.

David was not returned because all non-wild card characters

are case sensitive. Therefore, only strings

with an uppercase "A" as their second letter are returned

 
-----------------------------------------------------------------------------------------------------------
 

23.   Q. Write a SQL SELECT query that only returns each city only once from Students table?

Do you need to order this list with an ORDER BY clause?

A. SELECT DISTINCT City

FROM Students;

 The Distinct keyword automatically sorts all data

in ascending order. However, if you want the data

sorted in descending order, you have to use an ORDER BY clause

-----------------------------------------------------------------------------------------------------------  

24.    Q. Write a SQL SELECT sample of the concatenation operator.

 A.  SELECT LastName ||',' || FirstName, City FROM Students;

 -----------------------------------------------------------------------------------------------------------

25.    Q. How to rename column in the SQL SELECT query?

 A.       SELECT LastName ||',' || FirstName

           AS "Student Name", City AS "Home City"

          "FROM StudentsORDER BY "Student Name"

 -----------------------------------------------------------------------------------------------------------

26.   Q. Write SQL SELECT example how you limiting the rows returned with a WHERE clause.

       A. SELECT InstructorID, Salary FROM Instructors

           WHERE Salary > 5400 AND Salary < 6600;

 -----------------------------------------------------------------------------------------------------------

27.   Q. Write SQL SELECT query that returns the first and

last name of each instructor, the Salary,

and gives each of them a number.

  A. SELECT FirstName, LastName, Salary,

ROWNUM FROM Instructors;

 -----------------------------------------------------------------------------------------------------------
28.    Q. Which of the following functions can be used only with numeric values?

(Choose all that apply.)

A.      AVG

B.      MIN

C.      LENGTH

D.      SUM

E.      ROUND

 
A. A and D  Only A and D are correct. The MIN function

works with any character, numeric, or date datatype.

The LENGTH function is a character function that returns

the number of letters in a character value. The ROUND

function works with both numeric and date values.

 -----------------------------------------------------------------------------------------------------------

29. Q.  Which function do you use to remove all padded characters

to the right of a character value in a column with a char datatype?

A.      RTRIM

B.      RPAD

C.      TRIM

 

     A.  C is correct .The TRIM function is used to remove padded spaces.

LTRIM and RTRIM functions were included in earlier versions

of Oracle, but Oracle 8i has replaced them with a single

TRIM function

 -----------------------------------------------------------------------------------------------------------

30.  Q. Which statement do you use to eliminate padded spaces

between the month and day values in a function TO_CHAR(SYSDATE,'Month, DD, YYYY') ?

     A. To remove padded spaces, you use the "fm"

prefix before the date element that contains the spaces.

     TO_CHAR(SYSDATE,'fmMonth DD, YYYY')

-----------------------------------------------------------------------------------------------------------  

31. Q. Is the WHERE clause must appear always before the GROUP BY clause in SQL SELECT ?

    A. Yes.

The proper order for SQL SELECT

clauses is: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY.

Only the SELECT and FROM clause are mandatory.

-----------------------------------------------------------------------------------------------------------  

32. Q. How Oracle executes a statement with nested subqueries?

    A. When Oracle executes a statement with nested subqueries,

it always executes the innermost query first. This query passes its

results to the next query and so on until it reaches the outermost query.

It is the outermost query that returns a result set.

-----------------------------------------------------------------------------------------------------------  

33. Q. Which operator do you use to return all of the rows

from one query except rows are returned in a second query?

    A. You use the MINUS operator to return all rows from one query except

where duplicate rows are found in a second query. The UNION operator

returns all rows from both queries minus duplicates. The UNION ALL operator

returns all rows from both queries including duplicates.

The INTERSECT operator returns only those rows that exist in both queries.

-----------------------------------------------------------------------------------------------------------  

34. Q. How you will create a column alias? (Oracle 8i)

 A. The AS keyword is optional when specifying a column alias.

You must enclose the column alias in double quotes when the alias

contains a space or lowercase letters. If you specify an alias in 

lowercase letters without double quotes, the alias will appear in uppercase.

 -----------------------------------------------------------------------------------------------------------

35  Q. Which of the following statements are Data Manipulation Language commands?

A.      INSERT

B.      UPDATE

C.      GRANT

D.      TRUNCATE

E.      CREATE

 

    A.  A and B are correct. The INSERT and UPDATE statements are

Data Manipulation Language (DML) commands.

GRANT is a Data Control Language (DCL) command.

TRUNCATE and CREATE are Data Definition Language (DDL) commands

 
-----------------------------------------------------------------------------------------------------------
 

36. Question. What is Oracle locking?

    A. Oracle uses locking mechanisms to protect data from

being destroyed by concurrent transactions.

 -----------------------------------------------------------------------------------------------------------

37. Question. What Oracle lock modes do you know?

     A.  Oracle has two lock modes: shared or exclusive.

Shared locks are set on database resources so that many transactions

can access the resource.

Exclusive locks are set on resources that ensure

one transaction has exclusive access to the database resource

 -----------------------------------------------------------------------------------------------------------

38.  Question. What is query optimization?

     A.  Query optimization is the part of the query

process in which the database system compares

different query strategies and chooses the one with

the least expected cost

 -----------------------------------------------------------------------------------------------------------

39.  Question. What are the main components of Database management systems software.

     A. The database management system software includes

components for storage management, concurrency control, transaction

processing, database manipulation interface, database definition interface,

and database control interface.

 -----------------------------------------------------------------------------------------------------------

40.  Question. What are the main attributes of  database management system?

     A. A database management system is composed of five elements: computer hardware, software, data, people (users), and operations procedures.

-----------------------------------------------------------------------------------------------------------  

41.  Question. What is transaction?

      A. A transaction is a collection of applications

code and database manipulation code bound into an indivisible unit of execution.

it consists from:

BEGIN-TRANSACTION Name

Code

END TRANSACTION Name

 
-----------------------------------------------------------------------------------------------------------
42.  Question.  What databases do you know?

Informix      

DB2    

SQL    

Oracle

-----------------------------------------------------------------------------------------------------------
43.  Question. Explain SQL SELECT example:

     select j.FILE_NUM

  from DB_name.job j, DB_name.address a

where j.JOB_TYPE ='C'

  AND j.COMPANY_NAME = 'TEST6'

  AND j.OFFICE_ID = '101'

  AND j.ACTIVE_IND = 'Y'

  AND a.ADDRESS_STATUS_ID = 'H'

  AND a.OFFICE_ID = '101'

  AND a.FILE_NUM = j.FILE_NUM order by j.FILE_NUM;

 -----------------------------------------------------------------------------------------------------------

   Answer: j and a aliases for table names. this is outer joint select statament from two tables.

 
-----------------------------------------------------------------------------------------------------------
 

44.  Q. Describe some Conversion Functions that you know

 

      A. TO_CHAR converts a number / date to a string.

         TO_DATE converts a string (representing a date) to a date.

 

         TO_NUMBER converts a character string containing digits to a numeric data type, it accepts one parameter which is a column value or a string literal

 -----------------------------------------------------------------------------------------------------------

 45.   Q.  Describe some Group Functions that you know

 A. 1) The COUNT function tells you how many rows were in the result set.

      SELECT COUNT(*) FROM TESTING.QA
 
      2) The AVG function tells you the average value of a numeric column.

       SELECT MAX(SALARY) FROM TESTING.QA

     3) The MAX and MIN functions tell you the maximum and minimum value of a numeric column.

       SELECT MIN(SALARY) FROM TESTING.QA 

     4) The SUM function tells you the sum value of a numeric column.

        SELECT SUM(SALARY) FROM TESTING.QA

 -----------------------------------------------------------------------------------------------------------


46. Question. What does DML stand for? 
     A. DML is Data Manipulation Language statements. (SELECT)

 -----------------------------------------------------------------------------------------------------------

47. Question. What does DDL stand for?

    A. DDL is Data Definition Language statements. (CREATE)

 -----------------------------------------------------------------------------------------------------------

48.  Question. What does DCL stand for?

 A. DCL is Data Control Language statements. (COMMIT)

 -----------------------------------------------------------------------------------------------------------
49.  Question: Describe SQL comments.


A. SQL comments are introduced by two consecutive hyphens

     (--) and ended by the end of the line.

 -----------------------------------------------------------------------------------------------------------

50.   Q. In what sequence SQL statement are processed?

A. The clauses of the subselect are processed in the following sequence (DB2):

1. FROM clause

2. WHERE clause

3. GROUP BY clause

4. HAVING clause

5. SELECT clause

6. ORDER BY clause

7. FETCH FIRST clause 





 
----------------------------------------------------------------------------------------------------------- 

Monday, 15 July 2013

SQL For Testers – Part 2



Why database testing is necessary?
  • Differences between backend testing and front end testing
  • Backend testing phases / Database Testing Phases
  • Backend test methodology / Database Testing methodology
  • Basics of SQL
Now lets put more focus on SQL Statements -
Section 1
1.1 Basics of the SELECT Statement
1.2 Conditional Selection
1.3 Relational Operators
1.4 Compound Conditions
1.5 IN & BETWEEN
1.6 Using LIKE
Section 2
2.1 Joins
2.2 Keys
2.3 Performing a Join
2.4 Eliminating Duplicates
2.5 Aliases & In/Sub-queries
Section 3
3.1 Aggregate Functions
3.2 Views
3.3 Creating New Tables
3.4 Altering Tables
3.5 Adding Data
3.6 Deleting Data
3.7 Updating Data
Section 4
4.1 Indexes
4.2 GROUP BY & HAVING
4.3 More Sub-queries
4.4 EXISTS & ALL
4.5 UNION & Outer Joins
4.6 Embedded SQL
4.7 Common SQL Questions
4.8 Nonstandard SQL
4.9 Syntax Summary
Download from here – SQL For Testers – Part 2

Tutorial Database Testing using SQL | SQL for Testers


The demand for "all round" testers, i.e. being able to test the system's functionality through traditional testing methods and being able to show some technical knowledge is growing.
Basics of Database testing contains the following:

1. How to connect to the database?
2. Ability to write simple queries to retrieve data and manipulate the data using DML operations.
3. Functional flow should be very well known!
4. Good knowledge on table level, column level constraints, ability to understand and execute complex queries related to joins is added advantage.
Contents of this tutorial:
1. INTRODUCTION to Database Testing
  • 1.1 Why back end testing is so important
  • 1.2 Characteristics of back end testing
  • 1.3 Back end testing phases
  • 1.4 Back end test methods
2. STRUCTURAL BACK END TESTS
2.1 Database schema tests
  • 2.1.1 Databases and devices
  • 2.1.2 Tables, columns, column types, defaults, and rules
  • 2.1.3 Keys and indexes
2.2 Stored procedure tests
  • 2.2.1 Individual procedure tests
  • 2.2.2 Integration tests of procedures
2.3 Trigger tests
  • 2.3.1 Update triggers
  • 2.3.2 Insert triggers
  • 2.3.3 Delete triggers
2.4 Integration tests of SQL server
2.5 Server setup scripts
2.6 Common bugs
3. FUNCTIONAL BACK END TESTS
  • 3.1 Dividing back end based on functionality
  • 3.2 Checking data integrity and consistency
  • 3.3 Login and user security
  • 3.4 Stress Testing
  • 3.5 Test back end via front end
  • 3.6 Benchmark testing
  • 3.7 Common bugs
4. Testing The Nightly downloading and Distribution jobs
  • 4.1 Batch jobs
  • 4.2 Data downloading
  • 4.3 Data conversion
  • 4.4 Data distribution
  • 4.5 Nightly time window
  • 4.6 Common bugs
5. Testing the Interfaces to Transaction APIS
  • 5.1 APIs' queries to back end
  • 5.2 Outputs of back end to APIs
  • 5.3 Common bugs
6. Other Database testing Issues
  • 6.1 Test tips
  • 6.2 Test tools
  • 6.2 Useful queries
Before going through chapters 2 to 6, one should know the basics of SQL:
1. What are the difference between DDL, DML and DCL commands?
DDL is Data Definition Language statements. Some examples:
•CREATE - to create objects in the database
•ALTER - alters the structure of the database
•DROP - delete objects from the database
•TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed
•COMMENT - add comments to the data dictionary
•GRANT - gives user's access privileges to database
•REVOKE - withdraw access privileges given with the GRANT command
DML is Data Manipulation Language statements. Some examples:

•SELECT - retrieve data from the a database

•INSERT - insert data into a table
•UPDATE - updates existing data within a table
•DELETE - deletes all records from a table, the space for the records remain
•CALL - call a PL/SQL or Java subprogram
•EXPLAIN PLAN - explain access path to data
•LOCK TABLE - control concurrency
DCL is Data Control Language statements. Some examples:
•COMMIT - save work done
•SAVEPOINT - identify a point in a transaction to which you can later roll back
•ROLLBACK - restore database to original since the last COMMIT
•SET TRANSACTION - Change transaction options like what rollback segment to use
Download the “SQL For Testers” tutorial from here

Read SQL for Testers - Part 2