Nov 21, 2015

UFT 12.51 New Features

UFT 12.51 New Features

UFT - Unified Functional Testing latest version UFT 12.51 released in September 2015. It supports Windows, Web and Mobile (Native and Hybrid) Applications. UFT supports Windows operating environment only, doesn't support UNIX and Macintosh etc... environments.

I) UFT 12.51 New Features

• UFT can now create Web test objects for the Web objects in our Mobile hybrid apps and in the HP Mobile Web app.

• Connect LeanFT to HP Mobile Center to test our mobile applications

• Run our LeanFT tests from ALM

• Test Java and SAP GUI for Windows objects in our AUTs

• HTML Report enhancements

• Object Identification Center and Application Model usability and performance improvements

• New supported environments: Visual Studio 2015, Windows 10, Eclipse Mars (4.5), Firefox 25-26

• Atlassian Bamboo support: UFT expands its coverage of continuous integrations by enabling you to run UFT tests on an Atlassian Bamboo server.

• Greater BPT testing capabilities: BPT in UFT is now more comprehensive and easier to use. You can do the following:

• Run a business process test with components (and their associated application areas) with different add-ins

• Ability for UFT to automatically convert a manual component to a scripted GUI or keyword GUI component

• Create a business component from a Sprinter XML Data file.

• Set the option for automatically promoting component parameters to test parameters from the Toolbox pane

II) UFT 12.51 Product enhancements

• HTML report improvements, with the ability to embed the report in the Jenkins plugin.

• New methods for Flex and SiebelOpenUI

• Support for DevExpress applications with new .NET Windows Forms methods.

• Ability to compile Delphi applications with unsupported compilers

III) UFT 12.51 New Technology Support

UFT now supports the following technologies and platforms:

• Updated support for the latest versions of Firefox and Chrome.

• Microsoft Windows 10

• .NET Framework 4.6

• QT 4.8 applications built with Visual Studio 2008 or mingw gcc 4.8.2

• TE Attachment Reflection for UNIX open VMS 14.1

• TE Micro Focus Rumba 9.3

• TE Attachmate Extra! X-treme 9.3

• Flex 4.14

• SiebelOpenUI SIA

• DevExpress 10.1.5 and 15.1

IV) Minimum System Requirements to install and run UFT

• Computer Processor: 1.6 Ghz or higher

• Operating System: Windows 7 Service Pack 1 (32-bit or 64-bit) or higher

• Browser: Microsoft Internet Explorer 8.0 or higher

• Memory: Minimum of 2 GB when no more than three add-ins.

• Hard Disk Drive: 5400 RPM

• Free Hard Disk Space: 2 GB of free disk

Nov 20, 2015

PL/SQL Interview Questions Part 2

PL/SQL Interview Questions Part 2

1.) Explain Raise_application_error?
It is a procedure of package DBMS_STANDARD that allows issuing of user_defined error messages from database trigger or stored sub-program.

2.) Explain two virtual tables available at the time of database trigger execution?
Table columns are referred as THEN.column_name and NOW.column_name.

•    For INSERT related triggers, NOW.column_name values are available only.
•    For DELETE related triggers, THEN.column_name values are available only.
•    For UPDATE related triggers, both Table columns are available.

3.) What are the rules to be applied to NULLs whilst doing comparisons?
•    NULL is never TRUE or FALSE
•    NULL cannot be equal or unequal to other values
•    If a value in an expression is NULL, then the expression itself evaluates to NULL except for concatenation operator (||)

4.) Does SQL*Plus also have a PL/SQL Engine?
No, SQL*Plus does not have a PL/SQL Engine embedded in it. Thus, all PL/SQL code is sent directly to database engine. It is much more efficient as each statement is not individually stripped off.

5.) Explain 3 basic parts of a trigger.
•    A triggering statement or event.
•    A restriction
•    An action

6.) What are character functions?
INITCAP, UPPER, SUBSTR, LOWER and LENGTH are all character functions. Group functions give results based on groups of rows, as opposed to individual rows. They are MAX, MIN, AVG, COUNT and SUM.

7.) Explain TTITLE and BTITLE.

TTITLE and BTITLE commands that control report headers and footers.

8.) What is an Intersect?

Intersect is the product of two tables and it lists only matching rows.

9.) What are sequences?

Sequences are used to generate sequence numbers without an overhead of locking. Its drawback is that the sequence number is lost if the transaction is rolled back.

10.) What is a cursor for loop?

Cursor for loop implicitly declares %ROWTYPE as loop index, opens a cursor, fetches rows of values from active set into fields in the record and closes when all the records have been processed.

11.) Explain the usage of WHERE CURRENT OF clause in cursors?

WHERE CURRENT OF clause in an UPDATE, DELETE statement refers to the latest row fetched from a cursor.

12.) Is it possible to use Transaction control Statements such a ROLLBACK or COMMIT in Database Trigger? Why?

It is not possible. As triggers are defined for each table, if you use COMMIT of ROLLBACK in a trigger, it affects logical transaction processing.

13.) What is Raise_application_error?

Raise_application_error is a procedure of package DBMS_STANDARD which allows to issue a user_defined error messages from stored sub-program or database trigger.

14.) What is the difference between PROCEDURE & FUNCTION?

•    A FUNCTION is always returns a value using the return statement.
•    A PROCEDURE may return one or more values through parameters or may not return at all.

15.) Explain how procedures and functions are called in a PL/SQL block?

•    Function is called as part of an expression.
•    Procedure is called as a PL/SQL statement

16.) What is Overloading of procedures?

The Same procedure name is repeated with parameters of different data types and parameters in different positions, varying number of parameters is called overloading of procedures.
e.g. DBMS_OUTPUT put_line

17.) What is a package? What are the advantages of packages?

Package is a database object that groups logically related procedures.
The advantages of packages are Modularity, Easier Application Design, and Information. Hiding, Reusability and Better Performance.

18.) What are two parts of package?

The two parts of package are PACKAGE SPECIFICATION & PACKAGE BODY.

•    Package Specification contains declarations that are global to the packages and local to the schema.
•    Package Body contains actual procedures and local declaration of the procedures and cursor declarations.

19.) What is difference between a Cursor declared in a procedure and Cursor declared in a package specification?

•    A cursor declared in a package specification is global and can be accessed by other procedures or procedures in a package.
•    A cursor declared in a procedure is local to the procedure that cannot be accessed by other procedures.

20.) How would you reference column values BEFORE and AFTER you have inserted and deleted triggers?

Using the keyword “new.column name”, the triggers can reference column values by new collection. By using the keyword “old.column name”, they can reference column values by old collection.

21.) What are the uses of SYSDATE and USER keywords?

SYSDATE refers to the current server system date. It is a pseudo column. USER is also a pseudo column but refers to current user logged onto the session. They are used to monitor changes happening in the table.

22.) How does ROWID help in running a query faster?

ROWID is the logical address of a row; it is not a physical column. It composes of data block number; file number and row number in the data block. Thus, I/O time gets minimized retrieving the row, and results in a faster query.

23.) What is SPOOL?

Spool command can print the output of Sql statements in a file.

24.) What does fetching a cursor do?

Fetching a cursor reads Result Set row by row.

25.) What does closing a cursor do?

Closing a cursor clears the private SQL area as well as de-allocates memory.

26.) Explain autonomous transaction.

An autonomous transaction is an independent transaction of the main or parent transaction. It is not nested if it is started by another transaction.

There are several situations to use autonomous transactions like event logging and auditing.

27.) What is out parameter used for even though return statement can also be used in pl/Sql?

Out parameters allows more than one value in the calling program. Out parameter is not recommended in functions. Procedures can be used instead of functions if multiple values are required. Thus, these procedures are used to execute out parameters.

28.) Mention what does the hierarchical profiler does?

The hierarchical profiler could profile the calls made in PL/SQL, apart from filling the gap between the loopholes and the expectations of performance tracing. The efficiencies of the hierarchical profiler includes

•    Distinct reporting for SQL and PL/SQL time consumption
•    Reports count of distinct sub-programs calls made in the PL/SQL, and the time spent with each subprogram call
•    Multiple interactive analytics reports in HTML format by using the command line utility
•    More effective than conventional profiler and other tracing utilities

29.) Mention what does PLV msg allows you to do?

The PLV msg enables you to

•    Assign individual text message to specified row in the PL/SQL table
•    It retrieves the message text by number
•    It substitutes automatically your own messages for standard Oracle error messages with restrict toggle
•    Batch load message numbers and text from a database table directly PLV msg PL/SQL table

30.) Mention what is the PLV (PL/Vision) package offers?

•    Null substitution value
•    Set of assertion routines
•    Miscellaneous utilities
•    Set of constants used throughout PL vision
•    Pre-defined data types

31.) Mention what is the use of PLVprs and PLVprsps?

PLVprs: It is an extension for string parsing for PL/SQL, and it is the lowest level of string parsing functionality
PLVprsps: It is the highest level package to parse PL/SQL source code into separate atomics. It relies on other parsing packages to get work done.

32.)  Explain how you can copy a file to file content and file to PL/SQL table in advance PL/SQL?

With a single program call – “fcopy procedure”, you can copy the complete contents of one file into another file.  While to copy the contents of a file directly into a PL/SQL table, you can use the program “file2pstab”.

33.) Mention what PLVcmt and PLVrb does in PL/SQL?

PL/Vision offers two packages that help you manage transaction processing in PL/SQL application. It is PLVcmt and PLVrb.

•    PLVcmt: PLVcmt package wraps logic and complexity for dealing with commit processing
•    PLVrb: It provides a programmatic interface to roll-back activity in PL/SQL

Nov 19, 2015

Software Development Life Cycle

SDLC (Software Development Life Cycle)

1) Introduction

2) Phases of SDLC

3) Requirements Gathering

4) Analysis and Planning

5) Software Design

6) Coding or Implementation

7) Testing

8) Release and Maintenance
Before Software Development:

i) Software Bidding   

> A proposal to develop new software is called software bidding.

> For Software application development bidding is done and quotation is sent
   to the customer.

> For Software product development, organizations take their own initiation for
  proposal of new product based on the market needs.

> Requirements are gathered based on inputs from model customers and from
  competitor products analysis.

ii) PIN document (Project Initiation Note)

> Once the project is confirmed, higher management appoints project manager who handles the new software development process.

> Project manager prepares PIN document to provide overall estimates of required budget, time and resources (developers, testers, maintenance) for developing the new software.

> Project manager submits this document to higher management for approval.

iii) Kick-off meeting

> Kick-off meeting is conducted to review the information provided by the Project Manager. During this meeting, Higher Management provides approval to start the new software development.

> Project Manager prepares Initial Project Plan which consists of tasks for different teams like Business Analysis, Development, Testing, System Administration and also Non-Technical teams.
1) Introduction to SDLC

SDLC (Software Development Life Cycle)

> In olden days, Software were developed without any systematic approach, because of which many software failed to perform as intended once they are released. This led to follow a systematic way to deliver Quality software and is known as SDLC.

> SDLC (Software Development Life Cycle) is the process of developing software through business needs, analysis, design, implementation and Release and maintenance.

> SDLC  is also called as Software development process.

> ISO/IEC 12207 is an international standard for software life-cycle processes.

ISO - International Organization for Standards

IEC -  International Electrotechnical Commission

STLC (Software Testing Life Cycle)

The process of testing Computer software in well planned and systematic way is known as Software Testing Life cycle or Software Test process.

STLC consists of the following phases

i) Test Planning

ii) Test Design

iii) Test Execution

iv) Evaluating Exit Criteria and Test Closure

Note: STLC or Software Test Process is a part of SDLC or Software Development process.

We have so many types of SDLC models available in the IT Industry, we can choose the SDLC Model based on our Project, but no STLC models. Testing is common for all SDLC Models. Some models may have single stage of Testing, some models have multiple stages of Testing.
2) Phases of SDLC

SDLC phases and phase names may vary from one model to another, but purpose is almost all same.

Phases of SDLC are:

i) Requirements Gathering

ii) Analysis and Planning

iii) Software Design

iv) Coding/Implementation

v) Testing

vi) Release and Maintenance
3) Requirements Gathering

What is Requirement?

> A condition or capability needed by a user to solve a problem or achieve an

Basically we have two types of Requirements,

i) Functional Requirements

ii) Non Functional Requirements

What is Functional Requirement?

> A Requirement that specifies a function that a component or System must perform.

Example : Login to the System (Business Rule: After entering the valid user id and Password user should login to the Application.)

Field 1 accepts alpha-numeric data entry

Field 2 accepts numeric data entry

Field 3 submits the data.

What is Non Functional Requirement?

> A Requirement that is does not related to functionality, but to attribute such as Performance, Usability, Reliability, Portability etc...

Performance: System has to login to application for 1000 concurrent users       within 5 Seconds.

Usability: Login screen has to provide easy navigation and meaningful help messages.

Requirements Gathering:

> During this phase, Requirements of the software to be gathered and documented.

> Business Analyst gathers requirements from the customer and documents them  in a document called BRS (Business Requirements Specification).

> Suppose, Software is intended for multiple customers, Business Team gathers
  requirements from model customers, explores competitor products and prepares PRD (Product Requirement Document) or BRD (Business Requirement Document)

> BRS or BRD document acts as a bridge between the customer and the designers  who develop the software.

> BRS or BRD document is sent to Project Manager for Review and Approval.

> Output of this phase is Base-lined (finalized) BRS or BRD document.
4) Analysis and Planning

> During this phase, Technical manager creates SRS (Software Requirements
Specification) document by analyzing BRS document.

> Project Manager creates Project Plan.


Technical Manger analyzes BRS document in terms of below factors

i) Are they complete requirements?
ii) Are they correct requirements?
iii) Are they achievable requirements?
iv) Are they Testable requirements?

After analyzing the BRS document, Technical Manager creates SRS document which consists of two sub documents.

i) FRS (Functional Requirement Specification) that describes the functionalities
   to be developed

ii) SRS (System Requirement Specification) that describes Software and Hardware to be used.

> During this process Technical Manager focuses on Technology selection based on the following factors.

Technical factors
i) Nature of the application
ii) Organization’s experience

Business factors
i) Cost/Budget (Open source software or Licensed software)
ii) Customer interests

> Planning is done to come up with a schedule, the scope and resource requirements for a release.

> Project Manager creates the plan that explains how the requirements will be
  met and by which time.

> Project plan also contains the scope of the requirements (what will be met and what will not be met) for the project, resource availability.

> Project Manager also analyzes the risks involved and contingency plan for them.

> Finally he comes up with the milestones and release date for the project.

Output of this phase is SRS document and Project Plan
5) Software Design

> During this phase, System architect or Senior developer creates Software Design Document (SDD) based on the SRS document from the Analysis phase.

> The purpose of this phase is to figure out how to satisfy the requirements
  explained in System Requirements Specification (SRS) document.

Design is usually split into two levels

i) High Level Design (HLD) or Global Design that contains the overall architecture of the system.

ii) Low Level Design (LLD) or Detailed Design that contains internal architecture
    of each and every unit/component/module.

Software Design Document (SDD) produced during this phase, It will be used by the development team to produce the programs.
6) Implementation or Coding

> During this phase, Developers develop or implement programs based on the Design documents by following the coding standards in the chosen programming language.

> In addition to coding, this phase also involves the creation of documentation
  for the software being developed.

Output of this phase is code documents and software that meets the requirements.
7) Testing

> Software, developed during coding phase, is subjected to testing.

> Earlier Developers themselves were testers and there are no separate test teams to test the software.

> Now-a-days, in order to improve the Quality of the software, most of the organizations panning for separate Testing teams (Independent Test Teams to test the software).

> During this phase, Testers test the software based on the SRS document to check if the requirements are met or not.  If there is any mismatch, defects are  reported.

> Developers fix the Defects and testers confirm the defect fixes and close them.

Output of this phase is Tested Software and Test Documents.
8) Software Release and Maintenance

Software Release:

> Once the software is tested then it is released to the customers.

> The released software needs to be deployed in production environment and this is generally done by the Release team (consists of few developers, testers,   project management executive and system administrator). 

> Project Manager forms the Release Team, Release team deploy the Software in Production Environment and provides necessary training to the customers(if required.)

Software Maintenance

> As the users/customers start using the software in their environments, they may identify some defects which need to be addressed.

> Thus the software now enters into maintenance phase where in the software is modified to satisfy the changes raised by the customers.

> The maintenance activities are performed by the maintenance team (consists of a few developers, testers, project management executive) that is formed by
  Project Manager.

Three types of Software Maintenance

i) Modifications

a) Corrective changes – Defects found during production phase require emergency fixes or corrective changes as these are not identified during the Testing phase.

b) Enhancements – If customer wants new functionalities to be added to the current system then they are considered as Enhancements.

ii) Migration 

Migrating the software from old technology to new technology.

Example: Migrating software from MS Access to SQL Server/Oracle

iii) Retirement 

Retiring the old system and developing new system.

Example: Changing II-Tier Application to Web application

Nov 18, 2015

PL/SQL Interview Questions Part 1

PL/SQL Interview Questions Part 1

1.) What is PL/SQL?

PL/SQL stands for procedural language extension to SQL. It supports procedural features of programming language and SQL both. It was developed by Oracle Corporation in early of 90's to enhance the capabilities of SQL.

2.) What is PL/SQL table? Why it is used?

Objects of type tables are called PL/SQL tables that are modeled as database table. We can also say that PL/SQL tables are a way to providing arrays. Arrays are like temporary tables in memory that are processed very quickly. PL/SQL tables are used to move bulk data. They simplifies moving collections of data.

3.) Mention what PL/SQL package consists of?

A PL/SQL package consists of

• PL/SQL table and record TYPE statements
• Procedures and Functions
• Cursors
• Variables ( tables, scalars, records, etc.) and constants
• Exception names and pragmas for relating an error number with an exception
• Cursors

4.) Mention what are the benefits of PL/SQL packages?

It provides several benefits like

• Enforced Information Hiding: It OFFERS the liberty to choose whether to keep data private or public
• Top-down design: You can design the interface to the code hidden in the package before you actually implemented the   modules themselves
• Object persistence: Objects declared in a package specification behaves like a global data for all PL/SQL objects in   the application. You can modify the package in one module and then reference those changes to another module
• Object oriented design: The package gives developers strong hold over how the modules and data structures inside the   package can be used
• Guaranteeing transaction integrity: It provides a level of transaction integrity
• Performance improvement: The RDBMS automatically tracks the validity of all program objects stored in the database and   enhance the performance of packages.

5.) Explain uses of cursor.

Cursor is a named private area in SQL from which information can be accessed. They are required to process each row individually for queries which return multiple rows.

6.) Explain the uses of database trigger.

A PL/SQL program unit associated with a particular database table is called a database trigger. It is used for:

• Audit data modifications.
• Log events transparently.
• Enforce complex business rules.
• Maintain replica tables
• Derive column values
• Implement Complex security authorizations

7.) What are the data types available in PL/SQL?

There are two types of data types in PL/SQL:
• Scalar data types Example are NUMBER, VARCHAR2, DATE, CHAR, and LONG, BOOLEAN etc.
• Composite data types Example are RECORD, TABLE etc.

8.) What is the basic structure of PL/SQL?

PL/SQL uses BLOCK structure as its basic structure. Each PL/SQL program consists of SQL and PL/SQL statement which form a PL/SQL block.
PL/SQL block contains 3 sections.

• The Declaration Section (optional)
• The Execution Section (mandatory)
• The Exception handling Section (optional)

9.) What is the difference between FUNCTION, PROCEDURE AND PACKAGE in PL/SQL?

• Function: The main purpose of a PL/SQL function is generally to compute and return a single value. A function has a   return type in its specification and must return a value specified in that type.
• Procedure: A procedure does not have a return type and should not return any value but it can have a return statement   that simply stops its execution and returns to the caller. A procedure is used to return multiple values otherwise it   is generally similar to a function.
• Package: A package is schema object which groups logically related PL/SQL types, items and subprograms. You can also   say that it is a group of functions, procedure, variables and record type statement. It provides modularity, due to   this facility it aids application development. It is used to hide information from unauthorized users.

10.) What is exception? What are the types of exceptions?

Error handling part of PL/SQL block is called Exception. They have two types: user_defined and predefined.

11.) How exception is different from error?

Whenever an Error occurs Exception arises. Error is a bug whereas exception is a warning or error condition.

12.) What is the main reason behind using an index?

Faster access of data blocks in the table.

13.) What is the maximum number of triggers, you can apply on a single table?

A maximum of 12 triggers can be applied to one table.

14.) How many types of triggers exist in PL/SQL?

There are 12 types of triggers in PL/SQL that contains the combination of BEFORE, AFTER, ROW, TABLE, and INSERT, UPDATE, DELETE and ALL keywords.


15.) How is a process of PL/SQL compiled?

Compilation process includes syntax check, bind and p-code generation processes.

Syntax checking checks the PL/SQL codes for compilation errors. When all errors are corrected, a storage address is assigned to the variables that hold data. It is called Binding. P-code is a list of instructions for the PL/SQL engine. P-code is stored in the database for named blocks and is used the next time it is executed.

16.) Differentiate between Syntax and runtime errors?

A syntax error can be easily detected by a PL/SQL compiler. For e.g., incorrect spelling.

A runtime error is handled with the help of exception-handling section in an PL/SQL block. For e.g., SELECT INTO statement, which does not return any rows.

17.) Explain Commit, Rollback and Save point?

For a COMMIT statement, the following is true:

• Other users can see the data changes made by the transaction.
• The locks acquired by the transaction are released.
• The work done by the transaction becomes permanent.

A ROLLBACK statement gets issued when the transaction ends, and the following is true.

• The work done in a transition is undone as if it was never issued.
• All locks acquired by transaction are released.

It undoes all the work done by the user in a transaction.With SAVEPOINT, only part of transaction can be undone.

18.) Differentiate between % ROWTYPE and TYPE RECORD?

• % ROWTYPE is used when a query returns an entire row of a table or view.
• TYPE RECORD, on the other hand, is used when a query returns column of different tables or views.

19.) Define Implicit and Explicit Cursors?

A cursor is implicit by default. The user cannot control or process the information in this cursor.
If a query returns multiple rows of data, the program defines an explicit cursor. This allows the application to process each row sequentially as the cursor returns it.

20.) Explain mutating table error?

It occurs when a trigger tries to update a row that it is currently using. It is fixed by using views or temporary tables, so database selects one and updates the other.

21.) When is a declare statement required?

DECLARE statement is used by PL/SQL anonymous blocks such as with stand-alone, non-stored procedures. If it is used, it must come first in a stand-alone file.

22.) What is stored Procedure?

A stored procedure is a sequence of statement or a named PL/SQL block which performs one or more specific functions. It is similar to a procedure in other programming languages. It is stored in the database and can be repeatedly executed. It is stored as schema object. It can be nested, invoked and parameterized.

23.) What are the advantages of stored procedure?

Modularity, extensibility, reusability, Maintainability and one time compilation.

24.) What are the cursor attributes used in PL/SQL?

• %ISOPEN: it checks whether the cursor is open or not.
• %ROWCOUNT: returns the number of rows affected by DML operations: INSERT, DELETE, UPDATE, SELECT.
• %FOUND: it checks whether cursor has fetched any row. If yes - TRUE.
• %NOTFOUND: it checks whether cursor has fetched any row. If no - TRUE.

25.) What is consistency?

Consistency simply means that each user sees the consistent view of the data.

Consider an example: there are two users A and B. A transfers MONEY to B's account. Here the changes are updated in A's account (debit) but until it will be updated to B's account (credit), till then other users can't see the debit of A's account. After the debit of A and credit of B, one can see the updates. That’s consistency.

26.) What is the importance of SQLCODE and SQLERRM?

SQLCODE returns the value of the number of error for the last encountered error whereas SQLERRM returns the message for the last error.

27.) If a cursor is open, how can we find in a PL/SQL Block?

The %ISOPEN cursor status variable can be used.

28.) What packages are available to PL/SQL developers?


29.) Explain polymorphism in PL/SQL?

Polymorphism is a feature of OOP. It is the ability to create a variable, an object or function with multiple forms. PL/SQL supports Polymorphism in the form of program unit overloading inside a member function or package. Unambiguous logic must be avoided whilst overloading is being done.

30.) Mention what are different methods to trace the PL/SQL code?

Tracing code is a crucial technique to measure the code performance during the runtime. Different methods for tracing includes

• trcsess and tkproof utilities

Prepared by: V. Raga Malika

Nov 17, 2015

SQL Interview Questions Part 2

SQL Interview Questions Part 2
1.) Does SQL support programming?
No, SQL doesn't have loop or Conditional statement. It is used like commanding language to access databases.

2.) What is data definition language?
Data definition language (DDL) allows you to CREATE, ALTER and DELETE database objects such as schema, tables, view, sequence etc.

3.) What is data manipulation language?
Data manipulation language makes user able to access and manipulate data. It is used to perform following operations.

•    Insert data into database
•    Retrieve data from the database
•    Update data in the database
•    Delete data from the database

4.) What is data control language?
Data control language allows you to control access to the database. It includes two commands GRANT and REVOKE.

•    GRANT: to grant specific user to perform specific task.
•    REVOKE: to cancel previously denied or granted permissions.

5.) How do you implement one-to-one, one-to-many and many-to-many relationships while designing tables?
•    One-to-One relationship can be implemented as a single table and rarely as two tables with primary and foreign key relationships.
•    One-to-Many relationships are implemented by splitting the data into two tables with primary key and foreign key relationships.
•    Many-to-Many relationships are implemented using a junction table with the keys from both the tables forming the composite primary key of the junction table.

6.) What is a stored procedure?

Stored Procedure is a function which contains a collection of SQL Queries. The procedure can take inputs, process them and send back output.

7.) What are the advantages a stored procedure?
Stored Procedures are precompiled and stored in the database. This enables the database to execute the queries much faster. Since many queries can be included in a stored procedure, round trip time to execute multiple queries from source code to database and back is avoided.

8.) What is recursive stored procedure?
A stored procedure which calls by itself until it reaches some boundary condition. This recursive function or procedure helps programmers to use the same set of code any number of times.

9.) What is a trigger?
When database are inserted, deleted or updated, a procedure is executed in response to that action. Such SQL procedures are called as trigger.

Example: When a new student is added to the student database, new records should be created in the related tables like Exam, Score and Attendance tables.

10.) What is difference between TRUNCATE, DELETE & DROP?
•    TRUNCATE commits after deleting entire table i.e., cannot be rolled back. Database triggers do not fire on TRUNCATE
•    DELETE allows the filtered deletion. Deleted records can be rolled back or committed. Database triggers fire on DELETE.
•    Drop command is used to drop the table or keys like primary, foreign from a table.

11.) What is Union, minus and Interact commands?
•    UNION operator is used to combine the results of two tables, and it eliminates duplicate rows from the tables.
•    MINUS operator is used to return rows from the first query but not from the second query.
•    INTERSECT operator is used to return rows returned by both the queries.

12.) What is the difference between WHERE clause and HAVING clause?
WHERE and HAVING both filters out records based on one or more conditions. The difference is, WHERE clause can only be applied on a static non-aggregated column whereas we will need to use HAVING for aggregated columns.

13.) What is a Cursor?
A database Cursor is a control which enables traversal over the rows or records in the table. This can be viewed as a pointer to one row in a set of rows. Cursor is very much useful for traversing such as retrieval, addition and removal of database records.

14.) What is a constraint?

Constraint can be used to specify the limit on the data type of table. Constraint can be specified while creating or altering the table statement.

15.) What is an integrity constraint?
Integrity constraint is a rule that restricts values to a column in a table.

16.) What is referential integrity constraint?
Maintaining data integrity through a set of rules that restrict the values of one or more columns of the tables based on the values of primary key or unique key of the referenced table.

17.) Where the integrity constraints are stored in data dictionary?
The integrity constraints are stored in USER_CONSTRAINTS.

18.) How will you activate/deactivate integrity constraints?
The integrity constraints can be enabled or disabled by ALTER TABLE ENABLE CONSTRAINT / DISABLE CONSTRAINT.

19.) If unique key constraint on DATE column is created, will it validate the rows that are inserted with SYSDATE? It won’t, Because SYSDATE format contains time attached with it.

20.) What’s an SQL injection?
SQL Injection is when form data contains an SQL escape sequence and injects a new SQL query to be run.

21.) What is a transaction and what are ACID properties?
A transaction is a logical unit of work in which, all the steps must be performed or none. ACID stands for Atomicity, Consistency, Isolation, and Durability. These are the properties of a transaction.

22.) What are properties of a transaction?
Properties of the transaction can be summarized as ACID Properties.

1. Atomicity
A transaction consists of many steps. When all the steps in a transaction gets completed, it will get reflected in DB or if any step fails, all the transactions are rolled back.

2. Consistency
The database will move from one consistent state to another, if the transaction succeeds and remain in the original state, if the transaction fails.

3. Isolation
Every transaction should operate as if it is the only transaction in the system.

4. Durability
Once a transaction has completed successfully, the updated rows/records must be available for all other transactions on a permanent basis.

23.) What is a Database Lock?
Database lock tells a transaction, if the data item in questions is currently being used by other transactions.

24.) What are the type of locks?
•    Shared Lock: When a shared lock is applied on data item, other transactions can only read the item, but can't write into it.
•    Exclusive Lock: When an exclusive lock is applied on data item, other transactions can't read or write into the data item.

25.) What is the sub-query?
Sub-query is a query whose return values are used in filtering conditions of the main query.

26.) What is correlated sub-query?
Correlated sub-query is a sub-query, which has reference to the main query.

27.) What are the properties and different Types of Sub-Queries?
Properties of Sub-Query:
•    A sub-query must be enclosed in the parenthesis.
•    A sub-query must be put in the right hand of the comparison operator, and
•    A sub-query cannot contain an ORDER-BY clause.
•    A query can contain more than one sub-query.

Types of Sub-Query:
•    Single-row sub-query, where the sub-query returns only one row.
•    Multiple-row sub-query, where the sub-query returns multiple rows, and
•    Multiple column sub-query, where the sub-query returns multiple columns

28.) What is a database link?
Database link is a named path through which a remote database can be accessed.

29.) What are the types of cursors?
The different types of cursors are, Static cursor, dynamic cursor, Forward only cursor and Keyset driven cursor.

30.) What is Collation?
Collation in SQL is set of rules to determine data stored and compared. There are different types of collation like Case sensitivity, Accent sensitivity and kana sensitivity.

31.) What are all different types of collation sensitivity?
Following are different types of collation sensitivity

Case Sensitivity – A and a and B and b.
Accent Sensitivity.
Kana Sensitivity – Japanese Kana characters.
Width Sensitivity – Single byte character and double byte character.

32.) What is Online Transaction Processing (OLTP)?
Online Transaction Processing or OLTP manages transaction based applications which can be used for data entry and easy retrieval processing of data. This processing makes like easier on simplicity and efficiency. It is faster, more accurate results and expenses with respect to OTLP.

Example: Bank Transactions on a daily basis.

Prepared by: V. Raga Malika

Nov 15, 2015

Software Testing Tutorial for Beginners

Manual Testing Tutorial for Beginners

    1) Introduction to Software Testing

    2) SDLC Models

    3) Test Levels

    4) Test Types

    5) Test Design Techniques

    6) Software Test Process / STLC

Software Quality Standards   
    8) Software Test Documents

1) Introduction to Software Testing

> Software Testing can be done in two ways one is Manual Testing another is Test Automation or Automated Testing.

> Testing computer software manually in order to find defects without using tools or automation scripts.

> Testing Computer Software by using Automation tool or Automation script.

2) SDLC Models

We have so many SDLC models available in the IT industry, we can segregate them in to two categories.

a) Sequential Models (Waterfall, V Model etc...)

b) Incremental / Iterative models (Spiral model, Agile models etc...)

3) Software Test Levels

We have Four levels of Testing for General or independent Software applications

i) Unit Testing Testing of individual software components.
Testers: Developers

ii) Integration Testing 

Testing integration or interfaces between components, interactions to different parts of the system such as an operating system, file system and hardware.
Testers: Developers or Independent Testers

iii) System Testing 

Testing an integrated System to verify that it meets specified requirements.
Testers: Independent Testers

iv) Acceptance Testing

User Acceptance Testing
Testers: Customers /End users

Operational Acceptance Testing
System Administration staff.

Certification Testing
Testers: Certified Testers

For distributed Software applications 5 levels of Testing

i) Unit Testing

ii) Component Integration Testing

iii) System Testing

iv) System Integration Testing

v) Acceptance Testing
4) Software Test Types

i) Functional Testing
    Functionality Testing
    Security Testing

ii) Non Functional Testing
    Performance Testing
    Usability Testing
    Configuration Testing
    Reliability Testing
    Recovery Testing
    Localization Testing etc...

5) Software Test design Techniques

i) Static Techniques

Static testing is the testing of the software work products manually, or with a set of tools, but they are not executed.

Example: Reviews, Walk trough, Inspection etc...

ii) Dynamic Techniques

> Testing that involves the execution of the software of a component or system.

a) White box Test design techniques    

    Statement testing
    Condition testing
    Decision testing etc...

b) Black box Test design techniques    

    Equivalence partitioning / Equivalent Classes
    Boundary Value Analysis
    Decision tables
    State transition Testing
    Use case Testing etc...

c) Experience based Techniques    

    Error Guessing
    Exploratory Testing etc...
6) Software Test Process or Software Testing Life Cycle

Phases of Software Test process
i) Test Planning

Input or References
Project plan
Test Strategy
Design Documents
Corporate standards documents
Process guideline docs
    Understanding and Analyzing the Requirements
    Risk Analysis
    Test Strategy implementations
    Test Estimations(Scope, Time, Available resources, Budget etc...)
    Team formation
    Test plan documentation
    Configuration management planning
    Creating RTM document
    Define Test Environment Setup

Test Plan document
ii) Test Design

Input or References 
Test Plan
Design Documents
Corporate standards documents
Process guideline docs
Test Case template
Test Data template


    Understanding Requirements
    Creating Test Scenarios
    Test Case documentation
    Test Data collection
Output:Test case documents
Test data
iii) Test Execution

Test Plan
Test Case documents
Test Data
Defect Report template
Readiness of Test Lab / Test environment
Readiness of AUT
    Verify Test Environment setup
    Create test batches
    Test Execution
        Sanity Testing /BVT/BAT
        Comprehensive Testing
        Defect Reporting
        Defect Tracking
        Select Test cases for Regression Testing
        Regression testing cycle 1
        Defect Reporting
        Defect Tracking
        Select Test cases for Regression Testing
        Regression testing cycle 2
        Final Regression

Opened and Closed Defect Reports
Tested Software

iv) Test Closure             

Input or References 
Test plan
Opened and Closed Defect Reports
Test Summary Report template

    Collect all Artifacts
    Evaluate the Exit Criteria
    Test Summary Report
    Sending Test deliverables to customer
    Improvement suggestions for future projects.

7) Software Quality Standards    

    ISO (Terminology, Process guidelines etc...)
    IEEE (Terminology, Test Documentation standards)
    CMM/CMMI (Process)

8) Software Test Documents

i) Test Policy

A high level (company level) document describes principles, approach and major objectives of the organization regarding Testing.

ii) Test Strategy

A high level document of the Test Levels to be performed and the Testing within those levels for an Organization.

iii) Test Plan

A document describing the scope, approach, resources, and schedule of intended activities.

iv) Test Scenario

An item or event of a component or system that could be verified by one or more Test cases.

v) Test Case

A set of input values, execution preconditions, expected result and execution post conditions developed for a particular objective or Test condition.

vi) Test Data

Data that exits before a test is executed and that effects or is effected by the component or System under test.

vii) Defect Report

A document reporting of ant flaw in a component or System that can cause the component or system to fail to perform its required function.

viii) Test Summary Report

A document summarizing testing activities and Result. It also contains evaluation of the corresponding test items against exit criteria.

Domain Knowledge for Software Testers

i) BFSI (Banking, Financial Services and Insurance)

ii) ERP (Enterprise Resource Planning)

iii) Telecom

iv) Healthcare

v) Ecommerce

vi) Retail Market

Others (System Software, Games, Documentation software etc...)
Programming knowledge is required for Test Automation or Automated Testing.

Nov 13, 2015

Overview of Computer Software

Overview of Computer Software

    1) Types of Software

    2) Types of Software Environments

    3) Web Applications or Web Apps

    4) Mobile Applications or Mobile Apps

1) Types of Software

a) Computer Software:

> Set of instructions that directs a computer to perform specific operations.

> Software takes input, process the input and provides Output.

> Computer hardware and software require each other, without hardware we can't use Software and vice versa.

b) Types of Software
We have thousands of Software available in the IT Industry, but we segregate them in to three categories.

i) System Software:

> Software that operates the computer hardware, to provide basic functionality needed by users and other software.

Ex: Operating Systems, Device Drivers etc...

MS Windows, UNIX, Linux, Macintosh etc...

Printer drivers, etc...

ii) Application Software

> Software that used for automating Business operations.

Ex: Banking Applications, Insurance Applications, ERP, and ECommerece Apps etc...

iii) Programming Software

> Software that used to develop System Software and Application Software.

Ex: Editors, Compilers etc...

C, Java, .NET, etc...

c) Classification of Software

i) Operating Systems

Examples: DOS, MS Windows, UNIX/Linux/Solaris, Macintosh, OS2, OS400, Novel Netware etc…

ii) Programming Languages

Examples: COBOL, C, C++, Java, VB, VC++ etc…

iii) Database Management Systems

Examples: Oracle, Sybase, MS Access,  SQL Server, MySQL, DB2, DB400 etc…

iv) ERP Packages

Examples: SAP, People soft, Siebel, Oracle Applications etc…

v) Web Technologies

Examples: HTML, DHTML, CSS, Java Script, VBScript, XML, IIS, Apache web server, COM+, WebLogic Application Server etc…

vi) Accounting Packages

Examples: Tally, Gally,  Focus, QuickBooks, Wings etc…

vii) Documentation Software 

Examples: Notepad, WordPad, MS Office, Open Office, Star Office, Acrobat PDF Writer and Reader Etc…

viii) Application Software

BFSI (Banking, Financial services and Insurance) Applications
(Banking Applications, Insurance Applications and Financial Applications)

ERP (Enterprise Resources Planning) Software

Healthcare Applications

Telecom Applications

Ecommerce Applications

Retail Market Applications

2) Types of Software Environments

> Software Environment consists of Presentation Layer, Processing Layer and
 Data Storage Layer.
a) I-Tier Applications

> I-Tier or Standalone Application having only single layer, presentation and
 processing layers both reside in the same layer.

> Data can be stored in a file format.

Ex: Notepad, Word pad, MS Word, Acrobat Writer etc...

b) II-Tier Applications

> In 2 tier Architecture, presentation layer or interface runs on a client,
  and data gets stored on a server.

c) III-Tier Applications

> In 3 tier Architecture, process logic, data access, computer data storage and user interface are developed and maintained as independent modules on separate platforms.


d) N-Tier Applications

> A multi-tier application is developed and distributed among more than one layer. It logically separates the different application-specific, operational layers.

Ex: Internet Banking Applications

3) Web Applications or Web Apps

> A Software Application that is accessed over a network either Internet or
  Intranet through a web browser.

Types of Web Applications

Technical classification:

a) Intranet Applications

> An intranet application is a private software application used primarily on the
  internal network of an organization.

b) Internet Applications

> An internet Application is a public or private software application on the
  wide area network.

Business Classifications

a) Websites

> Basically Website is an Information provider, provides information globally using internet protocols.


b) Web Portals

Web Portal is a business gateway, It organizes business operations.

Ex:, etc...

c) Web Applications

Web Applications provide information as well as services(Paid or Free).


d) Social Networking Applications

Ex:,, etc...

e) Email Service providers

Ex:, etc...

f) Discussion Forums

g) ECommerece Applications etc...

4) Mobile Applications or Mobile Apps

A Mobile Application or Mobile App is a software application developed specifically  for use on Smartphones and Tablets, rather than Desktop or Laptop computers.

Types of Mobile Applications

a) Native Applications

> A Native application (native app) is an application program that has been
 developed for use on a particular platform or device.

> We download Native apps from the App Store or Google Play, they sit within our device’s applications and you launch them by tapping their icon.

b) Web Apps

> Mobile Web apps are web apps accessed using a Mobile Browser.

c) Hybrid Apps

> A hybrid application (hybrid app) is one that combines elements of both native and Web applications.

Nov 12, 2015

SQL Interview Questions Part 1

SQL Interview Questions Part 1

1.) What is SQL?

SQL stands for structural query language and SQL was developed during 1970’s at IBM. SQL is standard database language for Relational Database Management System (RDBMS).

SQL language is used to perform database operations like insert, delete, update and modify database.

2.) What is a Database?

Database is nothing but an organized form of data for easy access, storing, retrieval and managing of data. This is also known as structured form of data which can be accessed in many ways.

Example: School Management Database, Bank Management Database.

3.) What is DBMS?

The database management system is a collection of programs that enables user to store, retrieve, update and delete information from a database.

4.) What is RDBMS?

Relational Database Management system (RDBMS) is a database management system (DBMS) that is based on the relational model.

Data from relational database can be accessed or reassembled in many different ways without having to reorganize the database tables. Data from relational database can be accessed using an API, Structured Query Language (SQL).

5.) What are the different type of SQL's statements?

SQL statements are broadly classified into three. They are
•    DDL – Data Definition Language
•    DML– Data Manipulation Language
•    DCL– Data Control Language

6.) What is a Table in a database?

A table is a collection of records of a specific type. For example, employee table, salary table etc.

7.) What is a field in a database?

A field is an area within a record reserved for a specific piece of data.

Examples: Employee Name, Employee ID etc.

8.) What is a Record in a database?

A record is the collection of values / fields of a specific entity: i.e. an Employee, Salary etc.

9.) Define SQL Insert Statement?

SQL INSERT statement is used to add rows to a table. For a full row insert, SQL Query should start with “insert into “statement followed by table name and values command, followed by the values that need to be inserted into the table. The insert can be used in several ways:

•    To insert a single complete row.
•    To insert a single partial row.

10.) Define SQL Update Statement?

SQL Update is used to update data in a row or set of rows specified in the filter condition.

The basic format of an SQL UPDATE statement is, Update command followed by table to be updated and SET command followed by column names and their new values followed by filter condition that determines which rows should be updated.

11.) Define SQL Delete Statement?

SQL Delete is used to delete a row or set of rows specified in the filter condition.

The basic format of an SQL DELETE statement is, DELETE FROM command followed by table name followed by filter condition that determines which rows should be updated.

12.) What are wild cards used in database for Pattern Matching?

SQL Like operator is used for pattern matching. SQL 'Like' command takes more time to process.

So before using "like" operator, consider suggestions given below on when and where to use wild card search.

•    Don't overuse wild cards. If another search operator will do, use it instead.
•    When you do use wild cards, try not to use them at the beginning of the search pattern, unless absolutely necessary. Search patterns that begin with wild cards are the slowest to process.
•    Pay careful attention to the placement of the wild card symbols. If they are misplaced, you might not return the data you intended.

13.) What is a join? Explain the different types of joins?

Join is a query, which retrieves related columns or rows from multiple tables.

•    Right Join: Return all rows from the right table, even if there are no matches in the left table.
•    Equi Join: Joining two tables by equating two common columns.
•    Non-Equi Join: Joining two tables by equating two common columns.
•    Outer Join: Joining two tables in such a way that query can also retrieve rows that do not have corresponding join value in the other table.
•    Left Join: Return all rows from the left table, even if there are no matches in the right table.
•    Full Join: Return rows when there is a match in one of the tables.

14.) What is Self-Join?

Self-join is query used to join a table to itself. Aliases should be used for the same table comparison.

15.) What is Cross Join?

Cross Join will return all records where each row from the first table is combined with each row from the second table.

16.) What is a view?

The views are virtual tables. Unlike tables that contain data, views simply contain queries that dynamically retrieve data when used.

17.) What is a materialized view?

Materialized views are also a view but are disk based. Materialized views get updates on specific duration, based upon the interval specified in the query definition. We can index materialized view.

18.) What are the advantages and disadvantages of views in a database?

The advantages and disadvantages are,

•    Views don't store data in a physical location.
•    The view can be used to hide some of the columns from the table.
•    Views can provide Access Restriction, since data insertion, update and deletion is not possible with the view.

•    When a table is dropped, associated view become irrelevant.
•    Since the view is created when a query requesting data from view is triggered, it’s a bit slow.
•    When views are created for large tables, it occupies more memory.

19.) What is normalization?

Normalization is the process of minimizing redundancy and dependency by organizing fields and table of a database.

The main aim of Normalization is to add, delete or modify field that can be made in a single table.

20.) What is Denormalization?

Denormalization is a technique used to access the data from higher to lower normal forms of database.

It is also process of introducing redundancy into a table by incorporating data from the related tables.

21.) What are the different type of normalization?

In database design, we start with one single table, with all possible columns. A lot of redundant data would be present since it’s a single table.

The process of removing the redundant data, by splitting up the table in a well-defined fashion is called normalization.

•    First Normal Form (1NF): A relation is said to be in first normal form if and only if all underlying domains contain atomic values only. After 1NF, we can still have redundant data.
•    Second Normal Form (2NF): A relation is said to be in 2NF if and only if it is in 1NF and every non key attribute is fully dependent on the primary key. After 2NF, we can still have redundant data.
•    Third Normal Form (3NF): A relation is said to be in 3NF, if and only if it is in 2NF and every non key attribute is non-transitively dependent on the primary key.

22.) What is a "primary key"?

•    A PRIMARY INDEX or PRIMARY KEY is something which comes mainly from database theory. From its behavior is almost the same as an UNIQUE INDEX, i.e. there may only be one of each value in this column.

•    Primary Key is a type of a constraint enforcing uniqueness and data integrity for each row of a table. All columns participating in a primary key constraint must possess the NOT NULL property.

23.) What is a unique key?

•    A Unique key constraint uniquely identified each record in the database. This provides uniqueness for the column or set of columns.
•    A Primary key constraint has automatic unique constraint defined on it. But not, in the case of Unique Key.
•    There can be many unique constraint defined per table, but only one Primary key constraint defined per table.

24.) What is a foreign key?

A foreign key is one table which can be related to the primary key of another table. Relationship needs to be created between two tables by referencing foreign key with the primary key of another table.

25.) What is a Composite Key?

A Composite primary key is a type of candidate key, which represents a set of columns whose values uniquely identify every row in a table.

For example: if "Employee_ID" and "Employee Name" in a table is combined to uniquely identify a row it’s called a Composite Key.

26.) What is a Composite Primary Key?

A Composite primary key is a set of columns whose values uniquely identify every row in a table.

What it means is that, a table which contains composite primary key will be indexed based on the columns specified in the primary key. This key will be referred in Foreign Key tables.

For example: if the combined effect of columns, "Employee_ID" and "Employee Name" in a table is required to uniquely identify a row, it’s called a Composite Primary Key. In this case, both the columns will be represented as primary key.

27.) What is an Index?

An index is performance tuning method of allowing faster retrieval of records from the table. An index creates an entry for each value and it will be faster to retrieve data.

 28.) What are all the different types of indexes?

There are three types of indexes, they are
•    Unique Index: This indexing does not allow the field to have duplicate values if the column is unique indexed. Unique index can be applied automatically when primary key is defined.
•    Clustered Index: This type of index reorders the physical order of the table and search based on the key values. Each table can have only one clustered index.
•    NonClustered Index: NonClustered Index does not alter the physical order of the table and maintains logical order of data. Each table can have 999 non clustered indexes.

Prepared by: V. Raga Malika