Saturday, 19 September 2015

Difference between STLC & SDLC


Difference between STLC & SDLC

STLC means "Software Testing Life Cycle".

It involves following stages

1) Preparation of the test strategy
2) Preparation of the test plan
3) Creation of the test environment
4) Writing of the test cases
5) Creation of the test scripts
6) Execution of the test scripts
7) Analysis of the test results
8) Reporting of the bugs
9) Performing regression testing

SDLC means "Software or System Development Life Cycle".

It involves following stages

1) Initiation of the Project
2) Collection of Requirements and Documentation
3) Designing
4) Coding and unit testing
5) Integration testing
6) System testing
7) Installation and acceptance testing
8) Support or maintenance 

Monday, 14 September 2015

SQL Material for Experienced Candidates




SQL-material to data base testing for experineced candidates

SQL is divided into the following
Ø Data Definition Language (DDL)
Ø Data Manipulation Language (DML)
Ø Data Retrieval Language (DRL)
Ø Transaction Control Language (TCL)
Ø Data Control Language (DCL)
DDL -- create, alter, drop, truncate, rename
DML -- insert, update, delete
DRL -- select
TCL -- commit, rollback, savepoint
DCL -- grant, revoke
CREATE TABLE SYNTAX
Create table <table_name> (col1 datatype1, col2 datatype2 …coln datatypen);
Ex:
SQL> create table student (no number (2), name varchar (10), marks number (3));
INSERT
This will be used to insert the records into table.
We have two methods to insert.
Ø By value method
Ø By address method
a) USING VALUE METHOD
Syntax:
insert into <table_name) values (value1, value2, value3 …. Valuen);
Ex:
SQL> insert into student values (1, ’sudha’, 100);
SQL> insert into student values (2, ’saketh’, 200);
To insert a new record again you have to type entire insert command, if there are lot of
records this will be difficult.
This will be avoided by using address method.
b) USING ADDRESS METHOD
Syntax:
insert into <table_name) values (&col1, &col2, &col3 …. &coln);
This will prompt you for the values but for every insert you have to use forward slash.
Ex:
SQL> insert into student values (&no, '&name', &marks);
Enter value for no: 1
Enter value for name: Jagan
Enter value for marks: 300
old   1: insert into student values(&no, '&name', &marks)
new   1: insert into student values(1, 'Jagan', 300)
SQL> /
Enter value for no: 2
Enter value for name: Naren
Enter value for marks: 400
old   1: insert into student values(&no, '&name', &marks)
new   1: insert into student values(2, 'Naren', 400)
c) INSERTING DATA INTO SPECIFIED COLUMNS USING VALUE METHOD
Syntax:
insert into <table_name)(col1, col2, col3 … Coln) values (value1, value2, value3 ….
Valuen);
Ex:
SQL> insert into student (no, name) values (3, ’Ramesh’);
SQL> insert into student (no, name) values (4, ’Madhu’);
d) INSERTING DATA INTO SPECIFIED COLUMNS USING ADDRESS METHOD
Syntax:
insert into <table_name)(col1, col2, col3 … coln) values (&col1, &col2, &col3 …. &coln);
This will prompt you for the values but for every insert you have to use forward slash.
Ex:
SQL> insert into student (no, name) values (&no, '&name');
Enter value for no: 5
Enter value for name: Visu
old   1:  insert into student (no, name) values(&no, '&name')
new   1:  insert into student (no, name) values(5, 'Visu')
SQL> /
Enter value for no: 6
Enter value for name: Rattu
old   1:  insert into student (no, name) values(&no, '&name')
new   1:  insert into student (no, name) values(6, 'Rattu')
SELECTING DATA
Syntax:
Select * from <table_name>;                      -- here * indicates all columns
or
Select col1, col2, … coln from <table_name>;
Ex:
SQL> select * from student;
NO NAME            MARKS
---  ------             --------
1   Sudha             100
2   Saketh            200
1   Jagan             300
2   Naren             400
3   Ramesh
4   Madhu
5   Visu
6   Rattu
SQL> select no, name, marks from student;
NO NAME            MARKS
---  ------             --------
1   Sudha             100
2   Saketh            200
1   Jagan             300
2   Naren             400
3   Ramesh
4   Madhu
5   Visu
6   Rattu
SQL> select no, name from student;
NO NAME
---  -------
1   Sudha
2   Saketh
1   Jagan
2   Naren
3   Ramesh
4   Madhu
5   Visu
6   Rattu
CONDITIONAL SELECTIONS AND OPERATORS
We have two clauses used in this
Ø Where
Ø Order by
USING WHERE
Syntax:
select * from <table_name> where <condition>;
the following are the different types of operators used in where clause.
v Arithmetic operators
v Comparison operators
v Logical operators
v Arithmetic operators   -- highest precedence
+, -, *, /
v Comparison operators
Ø =, !=, >, <, >=, <=, <>
Ø between, not between
Ø in, not in
Ø null, not null
Ø like
v Logical operators
Ø And
Ø Or                                -- lowest precedence
Ø not
a) USING =, >, <, >=, <=, !=, <>
Ex:
SQL> select * from student where no = 2;
NO NAME            MARKS
---  -------           ---------
2   Saketh            200
2   Naren             400
b) USING AND
This will gives the output when all the conditions become true.
Syntax:
select * from <table_name> where <condition1> and <condition2> and .. <conditionn>;
Ex:
SQL> select * from student where no = 2 and marks >= 200;
NO NAME            MARKS
---  -------           --------
2   Saketh            200
2   Naren             400
c) USING OR
This will gives the output when either of the conditions become true.
Syntax:
select * from <table_name> where <condition1> and <condition2> or .. <conditionn>;
Ex:
SQL> select * from student where no = 2 or marks >= 200;
NO NAME            MARKS
---  -------           ---------
2   Saketh            200
1   Jagan             300
2   Naren             400
d) USING BETWEEN
This will gives the output based on the column and its lower bound, upperbound.
Syntax:
select * from <table_name> where <col> between <lower bound> and <upper bound>;
Ex:
SQL> select * from student where marks between 200 and 400;
NO NAME            MARKS
---  -------           ---------
2   Saketh            200
1   Jagan              300
2   Naren              400
e) USING NOT BETWEEN
This will gives the output based on the column which values are not in its lower bound,
upperbound.
Syntax:
select * from <table_name> where <col> not between <lower bound> and <upper bound>;
Ex:
SQL> select * from student where marks not between 200 and 400;
NO NAME            MARKS
---  -------           ---------
1   Sudha             100
f) USING IN
This will gives the output based on the column and its list of values specified.
Syntax:
select * from <table_name> where <col> in ( value1, value2, value3 … valuen);
Ex:
SQL> select * from student where no in (1, 2, 3);
NO NAME            MARKS
--- -------            ---------
1   Sudha             100
2   Saketh            200
1   Jagan             300
2   Naren             400
3   Ramesh

Joins in SQL

SQL-Joins most important materials

The purpose of a join is to combine the data across tables.
A join is actually performed by the where clause which combines the specified rows of tables.
If a join involves in more than two tables then oracle joins first two tables based on the joins condition and then compares the result with the next table and so on.
TYPES
<!--[if !supportLists]-->
<!--[if !supportLists]-->
<!--[if !supportLists]-->
<!--[if !supportLists]-->
<!--[if !supportLists]-->
<!--[if !supportLists]-->
Left outer
Right outer
Full outer
<!--[if !supportLists]-->
<!--[if !supportLists]-->
<!--[if !supportLists]-->
Assume that we have the following tables.
SQL> select * from dept;
DEPTNO         DNAME          LOC
------               ----------         ----------
10                    mkt                 hyd
20                    fin                   bang
30                    hr                    bombay
SQL> select * from emp;
EMPNO ENAME         JOB                MGR DEPTNO
---------- ---------- ---------- ---------- ----------
111     saketh            analyst           444     10
222     sudha             clerk               333     20
333     jagan              manager        111     10
444     madhu            engineer        222     40
EQUI JOIN
A join which contains an ‘=’ operator in the joins condition.
Ex:
SQL> select empno,ename,job,dname,loc from emp e,dept d where e.deptno=d.deptno;
EMPNO ENAME JOB DNAME LOC
---------- ---------- ---------- ---------- ----------
            111     saketh analyst mkt hyd
            333     jagan manager mkt hyd
            222     sudha clerk fin bang
USING CLAUSE
SQL> select empno,ename,job ,dname,loc from emp e join dept d using(deptno);
EMPNO ENAME JOB DNAME LOC
---------- ---------- ---------- ---------- ----------
            111     saketh analyst mkt hyd
            333     jagan manager mkt hyd
            222     sudha clerk fin bang
ON CLAUSE
SQL> select empno,ename,job,dname,loc from emp e join dept d on(e.deptno=d.deptno);
EMPNO ENAME JOB DNAME LOC
---------- ---------- ---------- ---------- ----------
            111     saketh analyst mkt hyd
            333     jagan manager mkt hyd
            222     sudha clerk fin bang
NON-EQUI JOIN
A join which contains an operator other than ‘=’ in the joins condition.
Ex:
SQL> select empno,ename,job,dname,loc from emp e,dept d where e.deptno > d.deptno;
EMPNO ENAME JOB DNAME LOC
---------- ---------- ---------- ---------- ----------
222 sudha clerk mkt hyd
444 madhu engineer mkt hyd
444 madhu engineer fin bang
444 madhu engineer hr bombay
SELF JOIN
Joining the table itself is called self join.
Ex:
SQL> select e1.empno,e2.ename,e1.job,e2.deptno from emp e1,emp e2 where
e1.empno=e2.mgr;
EMPNO ENAME JOB DEPTNO
---------- ---------- ---------- ----------
111     jagan analyst 10
222     madhu clerk 40
333     sudha manager 20
444     saketh engineer 10
NATURAL JOIN
Natural join compares all the common columns.
Ex:
SQL> select empno,ename,job,dname,loc from emp natural join dept;
EMPNO ENAME JOB DNAME LOC
---------- ---------- ---------- ---------- ----------
111     saketh analyst mkt hyd
333     jagan manager mkt hyd
222     sudha clerk fin bang
CROSS JOIN
This will gives the cross product.
Ex:
SQL> select empno,ename,job,dname,loc from emp cross join dept;
EMPNO ENAME JOB DNAME LOC
---------- ---------- ---------- ---------- ----------
111 saketh analyst mkt hyd
222 sudha clerk mkt hyd
333 jagan manager mkt hyd
444 madhu engineer mkt hyd
111 saketh analyst fin bang
222 sudha clerk fin bang
333 jagan manager fin bang
444 madhu engineer fin bang
111 saketh analyst hr bombay
222 sudha clerk hr bombay
333 jagan manager hr bombay
444 madhu engineer hr bombay
OUTER JOIN
Outer join gives the non-matching records along with matching records.
LEFT OUTER JOIN
This will display the all matching records and the records which are in left hand side table those that are not in right hand side table.
Ex:
SQL> select empno,ename,job,dname,loc from emp e left outer join dept d
on(e.deptno=d.deptno);
Or
SQL> select empno,ename,job,dname,loc from emp e,dept d where e.deptno=d.deptno(+);
EMPNO ENAME JOB DNAME LOC
---------- ---------- ---------- ---------- ----------
111     saketh analyst mkt hyd
333     jagan manager mkt hyd
222     sudha clerk fin bang
444     madhu engineer
RIGHT OUTER JOIN
This will display the all matching records and the records which are in right hand side table those that are not in left hand side table.
Ex:
SQL> select empno,ename,job,dname,loc from emp e right outer join dept d
on(e.deptno=d.deptno);
Or
SQL> select empno,ename,job,dname,loc from emp e,dept d where e.deptno(+) = d.deptno;
EMPNO ENAME JOB DNAME LOC
---------- ---------- ---------- ---------- ----------
111     saketh analyst mkt hyd
333     jagan manager mkt hyd
222     sudha clerk fin bang
hr bombay
FULL OUTER JOIN
This will display the all matching records and the non-matching records from both tables.
Ex:
SQL> select empno,ename,job,dname,loc from emp e full outer join dept d
on(e.deptno=d.deptno);
EMPNO ENAME JOB DNAME LOC
---------- ---------- ---------- ---------- ----------
333 jagan manager mkt hyd
111 saketh analyst mkt hyd
222 sudha clerk fin bang
444 madhu engineer
hr bombay