You are on page 1of 20

What's a 'test plan'?

1. A software project test plan is a document that describes the objectives, scope,
approach, and focus of a software testing effort.

2. The completed document will help people outside the test group understand the
'why' and 'how' of product validation.

Included in a test plan:

o Title
o Table of Contents
o Software product overview
o Test organization and personnel/contact-info/responsibilities
o Project risk analysis
o Testing priorities and focus
o Scope and limitations of testing
o Open issues
o Appendix - glossary, acronyms, etc.

Reference:
www.softwareqatest.com/qatfaq2.html#FAQ2_6b

What's a 'test case'?

A test case describes an input, action, or event and an expected response, to determine
if a feature of a software application is working correctly. A test case may contain
particulars such as test case identifier, test case name, objective, test conditions/setup,
input data requirements, steps, and expected results.

Note that the process of developing test cases can help find problems in the
requirements or design of an application, since it requires completely thinking
through the operation of the application. For this reason, it's useful to prepare test
cases early in the development cycle if possible.

e.g:

APPLICATION TEST TOOLS

BoundsChecker: Run-time error detection and debugging tool for C++ developers.
Supports C/C++,.net,ASP,ASP.net.
Bullseye Coverage: C/C++ code coverage
CodeWizard: C++ analysis tool
GlowCode: Memory and resource leak detection, code profiler, function call trace,
and report tools for Win32 programs
Insure++: Runtime error detection tool for C and C++
Test Coverage: Family of test coverage tools for a wide variety of languages (C, C++,
C#, COBOL, Java, more...). Very low probe overhed. Independent of compiler.
Useful for application and embedded contexts. Graphical display of coverage over
source code; text and XML summaries.

Functional Test Tools


.TEST : Unit-testing tool that automatically tests classes written on Microsoft's .NET
Framework without requiring developers to write a single test scenario or stub.
Certify : Platform neutral solution that allows development of tests without
programming for Web, client/server and mainframe applications.
X-Unity: Unit testing environment for the Microsoft .NET framework

Performance Test Tools


BugTimer: BugTimer was designed to streamline the entire process of timing and
documenting Performance Test results into one Application. BugTimer is a timer
application that records, displays, saves, sorts, and prints Performance Test results
DB Stress: Utility for stress testing the server parts of information systems and
applications, as well as DBMSs and servers themselves.

WEB TEST TOOLS

CSE HTML Validator: HTML, XHTML, CSS, link, spelling, and accessibility
checker available. Windows application
LinkRunner: Dead link detector for Windows
WebQA: Report on over 40 errors including, Search engine optimization, Site
inventory, Web accessibility (now includes Bobby reports, Section 508, W3C's
WCAG), Corporate standards. Can also manage meta data and create automated test
scripts to test site functionality.

Security Test Tools


QA Inspect : Incorporate fully automated web application security testing into the
overall test management process. Now, Mercury users can conduct and manage both
functional testing and security testing from a single platform.

WEB BASED BUG TRACKING


Bug/Defect Tracking Expert: Web-based bug tracking software
Bug Tracker Software: Web based bug tracking and data sharing

TEST MANAGEMENT TOOLS

QADirector: Test process management


TestDirector™ : Test management system

Application programming interface (API) TEST TOOLS

Information on TET: The Test Environment Toolkit (nice package, staff helped design it)

COMMUNICATIONS TEST TOOLS

Chariot : Network performance testing tools

Web Load Testing?

Small Projects targeted load testing tools:

Apache Bench - tool provided in the distribution of Apache. It makes it possible to test
the performances of any server by specifying a number of requests to send to the
server with a concurrency level (simultaneity of the requests).

OpenLoad - This is a sourceforge project that aims to provide a tool for load testing web
applications. The goal is a tool that is easy to use and provides near real-time
performance measurements of the application under test which is very usefull
during optimization

Mid-range Projects targeted load testing tools:

NeoLoad - Load Testing Tool for Web Applications provided by Neotys. Simulates
hundreds of users to answer these questions: how many users does my site handle? Will
my site crash under load? What are the response times? Easy to use, no scripting but can
design advanced scenarios.

Major Projects targeted load testing tools:

LoadRunner - the industry-standard performance testing product for predicting webserver


behavior and performance by Mercury. Using limited hardware resources, LoadRunner
emulates hundreds or thousands of concurrent users to put the application through the
rigors of real-life user loads.

forecastweb - It tests web servers and web applications ensuring they can adequately
handle expected loads and patterns of use. The vendor is Facilita witch provides load
testing solutions across the enterprise and throughout the development life-cycle.
E-Load - Web load testing solution by Empirix that enables you to easily and accurately
test the scalability and performance of your Web applications. Companies use this
automated software load testing solution to predict how well their Web applications will
handle user load. It can be used during application development and post-deployment to
conduct stress testing

Reference:
www.softwareqatest.com/qatfaq2.html#FAQ2_7
www.aptest.com/resources.html
www.load-testing-tools.com/

Testing strategy:

Exploratory Testing
This is testing that is done manually by a human. This is probably what most people are
used to. It does not use any test script, it is just simply a person using the system and
trying to discover new bugs.

Other e.g.: Unit Tests, Acceptance Tests

Reference:
geekswithblogs.net/Optikal/archive/2007/02/01/105152.aspx

Test Cases

A test case is a set of conditions or variables under which a tester will determine if a
requirement upon an application is partially or fully satisfied. It may take many test cases
to determine that a requirement is fully satisfied. In order to fully test that all the
requirements of an application are met, there must be at least one test case for each
requirement unless a requirement has sub requirements. In that situation, each sub
requirement must have at least one test case.

A test case is also defined as a sequence of steps to test the correct behavior of a
functionality/feature of an application.

A sequence of steps consisting of actions to be performed on the system under test.


(These steps are sometimes called the test procedure or test script). These actions are
often associated with some set of data (preloaded or input during the test). The
combination of actions taken and data provided to the system under test leads to the test
condition. This condition tends to produce results that the test can compare with the
expected results; I.e. assess quality under the given test condition. The actions can be
performed serially, in parallel, or in some other combination of consecution.
Scenario Test Case

A scenario is a story that describes a hypothetical situation. In testing, you check how the
program copes with this hypothetical situation.
The ideal scenario has five key characteristics: it is (a) a story that is (b) motivating, (c)
credible, (d) complex, and (e) easy to evaluate. These tests are usually different from test
cases in that test cases are single steps whereas scenarios cover a number of steps. Test
suites and scenarios can be used in concert for complete system testing. Scenarios are
usually different from test cases in that test cases are single steps and scenarios cover a
number of steps. Test suites and scenarios can be used in concert for complete system
tests.

Test suite, less commonly known as a validation suite, is a collection of test cases that
are intended to be used to test a software program to show that it has some specified set
of behaviors. Collections of test cases are sometimes incorrectly termed a test plan, a test
script, or even a test scenario.

Reference:

www.softwaretestingclub.com/forum/topics/751045:Topic:1901?page=1&commentId=751045%3AComment
%3A2542&x=1#751045Comment2542

Difference between test case with test scenario:

Scenarios are thread of operations where as Test cases are


set of input and output given to the System.

Test Case: Is an Individual Object.

Test Scenario : A collection of similar Test cases over the


Screen.
Test Case is a Step which has to be verified in order to
test a Scenario.
scenario is nothing but a series of testcases in order to
verify one transactional cycle.
ex:Scenario:
verifying that a user is able to manage his e-mail inbox
such as view all messages,send a message,manage
folders,logout..etc with a valid user login and password

test case:
is e-mail login page is displaying
is the user able to login using his login id and password
is he able to view his inbox
is he able to delete unwanted -mails..etc

Reference:

www.allinterview.com/showanswers/441.html
Life cycle of Bug:

Bug status description:


These are various stages of bug life cycle. The status caption may vary depending on the
bug tracking system you are using.

1) New: When QA files new bug.

2) Deferred: If the bug is not related to current build or can not be fixed in this release or
bug is not important to fix immediately then the project manager can set the bug status as
deferred.
3) Assigned: ‘Assigned to’ field is set by project lead or manager and assigns bug to
developer.

4) Resolved/Fixed: When developer makes necessary code changes and verifies the
changes then he/she can make bug status as ‘Fixed’ and the bug is passed to testing team.

5) Could not reproduce: If developer is not able to reproduce the bug by the steps given
in bug report by QA then developer can mark the bug as ‘CNR’. QA needs action to
check if bug is reproduced and can assign to developer with detailed reproducing steps.

6) Need more information: If developer is not clear about the bug reproduce steps
provided by QA to reproduce the bug, then he/she can mark it as “Need more
information’. In this case QA needs to add detailed reproducing steps and assign bug
back to dev for fix.

7) Reopen: If QA is not satisfy with the fix and if bug is still reproducible even after fix
then QA can mark it as ‘Reopen’ so that developer can take appropriate action.

8) Closed: If bug is verified by the QA team and if the fix is ok and problem is solved
then QA can mark bug as ‘Closed’.

9) Rejected/Invalid: Some times developer or team lead can mark the bug as Rejected or
invalid if the system is working according to specifications and bug is just due to some
misinterpretation.

Reference:
www.softwaretestinghelp.com/bug-life-cycle/

Software Testing Life Cycle consists of six (generic) phases:

• Test Planning,
• Test Analysis,
• Test Design,
• Construction and verification,
• Testing Cycles,
• Final Testing and Implementation and
• Post Implementation.

Reference:

www.editorial.co.in/software/software-testing-life-cycle.php
SQA Activities
Promote Software Process Improvement

Provide IV&V Management

Perform Software Process Audits

Chairs Software Configuration Control Board

Approves Software Development Plans

Approves Software Test Plans

Participates in all Software Design Reviews

Reference:

guvi.jhuapl.edu/documents/mspp/software_pdr/software_pdr_2/tsld005.htm

e-business - The transaction of business by way of electronic media, such as telephones,


fax machines, computers, and video-teleconferencing equipment. This generally is
broader than e-commerce although some may view e-business and e-commerce as
interchangeable terms.

e-commerce - The buying and selling of goods by way of electronic media, such as
telephones, fax machines, computers, and video-teleconferencing equipment.

Reference:

http://www.ifs-de.com/pages/glossary_files/Egloss.htm

What’s New in PVCS Tracker 8?

• PVCS Tracker automates the capture, management and communication of issues


across project teams in development and non-development projects alike.
• The combination of Tracker and Version Manager forms the core of an effective
team-centric software configuration management (SCM) framework.
• This release, Tracker 8, focuses upon enhancements that augment functionality in
three major areas: Performance and scalability, security, and support for
distributed development.
Reference:

http://pvcs.synergex.com/products/pvcs_tracker.aspx

Overview PVCS Tracker 7.1


PVCS Tracker 7.1 is one of the enabling technologies for MERANT Enterprise
Change Management solutions. PVCS Tracker automates the capture and
communication of issues and change requests across development and other project
teams. Integration within PVCS Professional enables developers to link associated
development files with Tracker-managed issues and changes, while enabling
managers to visualize and report on team progress and prioritize workflow tasks.

Reference:

http://www.synergex.com/pdf/PVCS_Tracker_RH.pdf

- A virtual machine (VM) is an environment, usually a program or operating


system, which does not physically exist but is created within another environment.
In this context, a VM is called a "guest" while the environment it runs within is
called a "host." Virtual machines are often created to execute an instruction set
different than that of the host environment. One host environment can often run
multiple VMs at once. Because VMs are separated from the physical resources they
use, the host environment is often able to dynamically assign those resources
among them.

Reference:

http://searchservervirtualization.techtarget.com/sDefinition/0,,sid94_gci213305,00.html

CVV (Card Verification Value):

CVV is an anti-fraud security feature to help verify that you are in possession of your
credit card. For Visa/Mastercard, the three-digit CVV number is printed on the
signature panel on the back of the card immediately after the card's account number
For American Express, the four-digit CVV number is printed on the front of the
card above the card account number.

Reference:

https://www.asprs.org/application/cvvnumber.htm
Class Diagram:

Reference:

www.google.com.pk/imgres?imgurl=multimedia.udru.ac.th/homecs3/no-money/%E0%B8%AA
%E0%B8%B2%E0%B8%82%E0%B8%B2%E0%B8%A7%E0%B8%B4%E0%B8%A8%E0%B8%A7%E0%B8
%81%E0%B8%A3%E0%B8%A3%E0%B8%A1%E0%B8%84%E0%B8%AD%E0%B8%A1%E0%B8%9E
%E0%B8%B4%E0%B8%A7%E0%B9%80%E0%B8%95%E0%B8%AD%E0%B8%A3%E0%B9%8C%2520-
%2520Computer%2520Engineering%2520-%2520%E0%B8%9A
%E0%B8%97%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%C2%A0-%C2%A0All%2520article
%C2%A0-%C2%A0%E0%B8%A1%E0%B8%B8%E0%B8%A1%E0%B8%A1%E0%B8%AD
%E0%B8%87%E0%B8%88%E0%B8%B2%E0%B8%81%E0%B9%83%E0%B8%84%E0%B8%A3%E0%B8%
9A
%E0%B8%B2%E0%B8%87%E0%B8%84%E0%B8%99_files/classDiagramInitial.jpg&imgrefurl=multimedia.udr
u.ac.th/homecs3/no-money/technic.php&h=337&w=673&sz=29&tbnid=ld5ixZa_Ht1-
eM:&tbnh=69&tbnw=138&prev=/images%3Fq%3Dclass
%2Bdiagram&hl=en&usg=__VhkIGq1K3FdTy5XwtuQOGGODYho=&ei=YJaFSqO6MpWTkQWG7uycBw&sa=X
&oi=image_result&resnum=1&ct=image

Test automation is the use of software to control the execution of tests, the comparison
of actual outcomes to predicted outcomes, the setting up of test preconditions, and other
test control and test reporting functions. Commonly, test automation involves automating
a manual process already in place that uses a formalized testing process.

It's easy to get caught up in enthusiasm for the 'silver bullet' of test automation, where the
dream is that a single mouse click can initialize thorough unattended testing of an entire
software application, bugs will be automatically reported, and easy-to-understand
summary reports will be waiting in the manager's in-box in the morning.

Although that may in fact be possible in some situations, it is not the way things
generally play out.
In manual testing, the test engineer exercises software functionality to determine if the
software is behaving in an expected way. This means that the tester must be able to judge
what the expected outcome of a test should be, such as expected data outputs, screen
messages, changes in the appearance of a User Interface, XML files, database changes,
etc. In an automated test, the computer does not have human-like 'judgement' capabilities
to determine whether or not a test outcome was correct.

Reference:
www.softwareqatest.com/qat_lfaq1.html#LFAQ1_9

en.wikipedia.org/wiki/Test_automation

Simulation Test (Definition)

Method of testing disaster recovery plans. The simultion tse is similar to a Structured
Walk-Through Test. The disaster recovery team role-play a disaster scenario prepared by
a test moderator. The disaster recovery plan is referred to for information during the test.
The responses of the team may be measured, and some of the response measures
suggested by the team may be put into action.

The scope of a simulation test must be carefully defined to avoid excessive disruption of
normal business activities.

Reference:

www.riskythinking.com/glossary/simulation_test.php

(XML) Extensible Markup Language:

XML is short for Extensible Markup Language, and it allows designers/developers to


create their own customized tags.

XML was designed to transport and store data.

HTML was designed to display data.

• XML stands for EXtensible Markup Language


• XML is a markup language much like HTML
• XML was designed to carry data, not to display data
• XML tags are not predefined. You must define your own tags
• XML is designed to be self-descriptive
• XML is a W3C Recommendation

XML
Extensible Markup Language. A computer language to specify data in an almost
human readable way, by using tags with attributes to surround and name data
values in a text document. Defined and maintained by the W3C consortium.
XML Schema

Extensible Markup Language Schema. A document that specifies the data model
and syntax for other XML documents. The specification for how to write and use
XML schemas is defined and maintained by the W3C consortium.

XML Validation

A process to verify that an document conforms to the syntax, data model and
structure specified in an XML schema. Validation does not guarantee that the data
in the XML document makes sense, but it guarantees that the data is well formed
and that the document syntax is correct.

So XML is Just like HTML?

No. In HTML, both the tag semantics and the tag set are fixed. An <h1> is always a first
level heading and the tag <ati.product.code> is meaningless.

XML specifies neither semantics nor a tag set. In fact XML is really a meta-language for
describing markup languages. In other words, XML provides a facility to define tags and
the structural relationships between them. Since there's no predefined tag set, there can't
be any preconceived semantics. All of the semantics of an XML document will either be
defined by the applications that process them or by stylesheets (A document consisting of
markup that describes the layout and presentation to be used when displaying other
documents).

Why XML?

In order to appreciate XML, it is important to understand why it was created. XML was
created so that richly structured documents could be used over the web. The only viable
alternatives, HTML and SGML, are not practical for this purpose.

HTML, as we've already discussed, comes bound with a set of semantics and does not
provide arbitrary structure.

SGML provides arbitrary structure, but is too difficult to implement just for a web
browser. Full SGML systems solve large, complex problems that justify their expense.
Viewing structured documents sent over the web rarely carries such justification.

This is not to say that XML can be expected to completely replace SGML. While XML is
being designed to deliver structured content over the web, some of the very features it
lacks to make this practical, make SGML a more satisfactory solution for the creation and
long-time storage of complex documents. In many organizations, filtering SGML to
XML will be the standard procedure for web delivery.
W3C recommendation
A W3C Recommendation is the final stage of a ratification process of the World Wide
Web Consortium (W3C) working group concerning the standard. This designation
signifies that a document has been subjected to a public and W3C-member organization's
review. It aims to standardize the Web technology. It is the equivalent of a published
standard in many other industries.

Reference:

www.le.ac.uk/webcentre/help/glossary.html

www.w3schools.com/XML/xml_whatis.asp

en.wikipedia.org/wiki/W3C_recommendation

www.ostyn.com/ostynglossary.htm

Temporal Databases
Temporal data stored in a temporal database is different from the data stored in non-
temporal database in that a time period attached to the data expresses when it was
valid or stored in the database. As mentioned above, conventional databases
consider the data stored in it to be valid at time instant now, they do not keep track
of past or future database states. By attaching a time period to the data, it becomes
possible to store different database states.

Assume we would like to store data about our employees with respect to the real world.
Then, the following table could result:

EmpID Name Department Salary ValidTimeStart ValidTimeEnd


10 John Research 11000 1985 1990

Reference:

www.timeconsult.com/TemporalData/TemporalDB.html

NON-TRIVIAL FUNCTION:

It is a term common among communities of engineers and mathematicians, to indicate a


statement or theorem that is not obvious or easy to solve.

Trivial functional dependency


A trivial functional dependency is a functional dependency of an attribute on a
superset of itself. {Employee ID, Employee Address} → {Employee Address} is
trivial, as is {Employee Address} → {Employee Address}.

Reference:

en.wikipedia.org/wiki/Nontrivial

en.wikipedia.org/wiki/Database_normalization

Non-prime attribute
A non-prime attribute is an attribute that does not occur in any candidate key.
Employee Address would be a non-prime attribute in the "Employees' Skills"
table.

Reference:

en.wikipedia.org/wiki/Database_normalization

Boyce-Codd normal form


Boyce-Codd normal form (or BCNF) is a normal form used in database normalization.
It is a slightly stronger version of the third normal form (3NF). A table is in
Boyce-Codd normal form if and only if, for every one of its non-trivial functional
dependencies X → Y, X is a superkey—that is, X is either a candidate key or a
superset thereof.

BOYCE - CODD NORMAL FORM (BCNF):


The Third Normal Form (3NF) provides no problems for relations that have single
candidate key (primary key). When a relation has more than one candidate key, and
candidate keys are composite then overlapping anomalies may occur. Therefore, an
improved and best form of Third Normal Form (3NF) is named as Boyce-Codd
Normal Form (BCNF).

Reference:

en.wikipedia.org/wiki/BCNF

www.blurtit.com/q661275.html

Tuple:
Tuple is a term from set theory which refers to a collection of one or more
attributes.

Reference:

databases.about.com/cs/specificproducts/g/tuple.htm
Database Views
A Database View is a subset of the database sorted and displayed in a particular way. For
example, in an equipment database, perhaps you only wish to display the Weapons stored
in the database. To do that you would create a Weapons view. The equipment database
templates has a view for each equipment type, sorted by the name of the equipment.

For each view, you can control which columns are displayed, what order they are
displayed in, how wide each column is, how the data is sorted, and what types of records
to display.

A view called "All" is always defined and cannot be deleted. While you can change the
sort order of this view, you cannot change which records are displayed. As the name of
the view suggests, All records in the database are always displayed by the All view.
However, feel free to change the column order or column widths as you'd like.

A view does not form part of the physical schema

Reference:

www.zuggsoft.com/zmud/help6/Data0170.htm

Difference between Sql and oracle:

The SQL Server 2000 advantages:

• SQL Server 2000 is cheaper to buy than Oracle 9i Database.


• SQL Server 2000 holds the top TPC-C performance and price/performance
results.
• SQL Server 2000 is generally accepted as easier to install, use and manage.

The Oracle 9i Database advantages:

• Oracle 9i Database supports all known platforms, not only the Windows-based
platforms.
• PL/SQL is more powerful language than T-SQL.
• More fine-tuning to the configuration can be done via start-up parameters.

TPC tests

The Transaction Processing Performance Council (TPC.Org) is independent


organization that specifies the typical transactions (transactions used in inventory
control systems, airline reservation systems and banking systems) and some general
rules these transactions should satisfy.

1. Oracle runs on many platforms, SQL on Windows only 2. Oracle includes IFS
(Internet File System), Java integration; SQL is more of a pure database 3. Oracle
requires client install and setup (Not difficult, but very UNIX-like for Windows users) 4.
SQL is #1 in Cost/Performance and overall Performance, although Oracle will refute that
5. Replication is much easier in SQL (I have been at clients where even the Oracle
consultant couldn't get it working w/oracle) 6. Failover support in SQL is much, much
easier 7. JDBC support is much better in Oracle, although Microsoft is working on it 8.
ODBC support in both 9. SQL is ANSI-SQL '92 compliant; making it easier to convert to
another ANSI compliant database, theoretically anyway (truth is every database has
proprietary extensions). Oracle is generally more proprietary and their main goal is to
keep their customers locked-in. 10. SQL natively supports ODBC, OLEDB, XML, XML
Query, XML updates. Oracle natively supports proprietary connections, JDBC. Not sure
about XML support though. 11. SQL Server is much easier to administrate, with GUI and
command- line tools. Most of Oracle is command-line (Back in SQL 6.5 days I had a
customer who was so proud that after a day's worth of work he had managed to script his
database. I showed him how it was a 3 click operation in SQL ;-) 12. Oracle requires add-
ons for transaction monitors, failover, etc. SQL has COM+, uses NT clustering and
generally has everything built-in 13. SQL Analysis Services is included (A very powerful
OLAP server). For Oracle it is a separate purchase.

Reference:

www.mssqlcity.com/Articles/Compare/sql_server_vs_oracle.htm

Foreign Key

A foreign key is a field (or fields) that points to the primary key of another table. The
purpose of the foreign key is to ensure referential integrity of the data. In other words,
only values that are supposed to appear in the database are permitted.

For example, say we have two tables, a CUSTOMER table that includes all customer
data, and an ORDERS table that includes all customer orders. The constraint here is that
all orders must be associated with a customer that is already in the CUSTOMER table. In
this case, we will place a foreign key on the ORDERS table and have it relate to the
primary key of the CUSTOMER table. This way, we can ensure that all orders in the
ORDERS table are related to a customer in the CUSTOMER table. In other words, the
ORDERS table cannot contain information on a customer that is not in the CUSTOMER
table.

The structure of these two tables will be as follows:

The structure of these two tables will be as follows:

Table CUSTOMER

column name characteristic


SID Primary Key
Last_Name
First_Name

Table ORDERS

column name characteristic


Order_ID Primary Key
Order_Date
Customer_SID Foreign Key
Amount

In the above example, the Customer_SID column in the ORDERS table is a foreign key
pointing to the SID column in the CUSTOMER table.

Below we show examples of how to specify the foreign key when creating the ORDERS
table:

MySQL:
CREATE TABLE ORDERS
(Order_ID integer,
Order_Date date,
Customer_SID integer,
Amount double,
Primary Key (Order_ID),
Foreign Key (Customer_SID) references CUSTOMER(SID));

Oracle:
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date date,
Customer_SID integer references CUSTOMER(SID),
Amount double);

SQL Server:
CREATE TABLE ORDERS
(Order_ID integer primary key,
Order_Date datetime,
Customer_SID integer references CUSTOMER(SID),
Amount double);

Below are examples for specifying a foreign key by altering a table. This assumes that the
ORDERS table has been created, and the foreign key has not yet been put in:
MySQL:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(SID);

Oracle:
ALTER TABLE ORDERS
ADD (CONSTRAINT fk_orders1) FOREIGN KEY (customer_sid) REFERENCES
CUSTOMER(SID);

SQL Server:
ALTER TABLE ORDERS
ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(SID);

Reference:
www.1keydata.com/sql/sql-foreign-key.html

Online transaction processing (OLTP) refers to a class of systems that facilitate and
manage transaction-oriented applications, typically for data entry and retrieval transaction
processing.

OLTP has also been used to refer to processing in which the system responds
immediately to user requests. An automatic teller machine (ATM) for a bank is an
example of a commercial transaction processing application.

The technology is used in a number of industries, including banking, airlines, mailorder,


supermarkets, and manufacturing. Applications include electronic banking, order
processing, employee time clock systems, e-commerce, and eTrading. The most widely
used OLTP system is probably IBM's CICS.

Reference:

http://en.wikipedia.org/wiki/OLTP

c-tree:

c-tree is an array of multi-purpose database technology and data management software


developed by FairCom Corporation. c-tree is a cross-platform engineering-level database
development product that includes support for a wide range of APIs. Included APIs range
from low-level C and C++ through higher level SQL and ADO.NET. c-tree technology is
embeddable and can be deployed as a high-performance client/server solution with full
OLTP capabilities.

Reference:
http://en.wikipedia.org/wiki/C-tree
Middleware:
Software that connects two separate applications and passes data between them. For
example, a type of middleware can link a database system to a Web server. This allows
users to request information from the database using forms displayed on a Web browser,
and it enables the server to return dynamic Web pages based on the user's request and
profile.

http://publib.boulder.ibm.com/infocenter/pvcvoice/51x/index.jsp?
topic=/com.ibm.websphere.wvs.doc/wvs/glossary.html

Application program
- An application program (sometimes shortened to application) is any program
designed to perform a specific function directly for the user or, in some cases, for another
application program. Examples of application programs include word processors;
database programs; Web browsers; development tools; drawing, paint, and image editing
programs; and communication programs. Application programs use the services of the
computer's operating system and other supporting programs. The formal requests for
services and means of communicating with other programs that a programmer uses in
writing an application program is called the application program interface (API).

This should be contrasted with system software (infrastructure) or middleware (computer


services/ processes integrators), which is involved in integrating a computer's various
capabilities, but typically does not directly apply them in the performance of tasks that
benefit the user. In this context the term application refers to both the application
software and its implementation.

Reference:
http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci507192,00.html
http://en.wikipedia.org/wiki/Application_program

Application programming interface (API) is an interface that defines the ways by


which an application program may request services from libraries and/or systems. An
API determines the vocabulary and calling conventions the programmer should employ
to use the services. It may include specifications for routines, data structures, object
classes and protocols used to communicate between the requesting software and the
library.

An API may be:

• Language-dependent; that is, available only in a given programming language,


using the syntax and elements of that language to make the API convenient to use
in this context.

• Language-independent; that is, written in a way that means it can be called from
several programming languages (typically an assembly or C interface). This is a
desired feature for a service-style API that is not bound to a given process or
system and is available as a remote procedure call.

When used in the context of web development, an API is typically a defined set of
Hypertext Transfer Protocol (HTTP) request messages along with a definition of the
structure of response messages,

"Web API" is virtually a synonym for web service.

Reference:
en.wikipedia.org/wiki/Application_programming_interface

PayPal:
PayPal is an e-commerce business allowing payments and money transfers to be made through
the Internet. PayPal serves as an electronic alternative to traditional paper methods such
as checks and money orders.

A PayPal account can be funded with an electronic debit from a bank account or by a credit card.
The recipient of a PayPal transfer can either request a check from PayPal, establish their own
PayPal deposit account or request a transfer to their bank account. PayPal is an example of a
payment intermediary service that facilitates worldwide e-commerce.

Reference:
http://en.wikipedia.org/wiki/PayPal

Best of luck for your job,

By

Syed Arbab Ahmed internee in TPS www.tpsonline.com

From Karahic, Pakistan.

You might also like