March 13, 2012

SQL faqs for testers

1. Q. What does SQL stand for?
   A. Structured Query Language

2. Q. How do you select all records from the table?
   A. Select * from table_name;

3. Q. What is a join?
   A. Join is a process of retrieve pieces of data from different sets (tables) and returns them to the user or program as one “joined” collection of data.

4. Q. What kinds of joins do you know? Give examples.
   A. We have self join, outer joint (LEFT, RIGHT), cross-join (Cartesian product n*m rows returned)
Exp:
Outer joint
SELECT Employee.Name, Department. DeptName
FROM Employee, Department
WHERE Employee.Employee_ID = Department.Employee_ID;

Cross-join
SELECT * FROM table1, table2;

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

The following summarizes the result of the join operations:

•  The result of T1 INNER JOIN T2 consists of their paired rows where the join-condition is true.
•   The result of T1 LEFT OUTER JOIN T2 consists of their paired rows where the join-condition is true and, for each unpaired row of T1, the concatenation of that row with the null row of T2. All columns derived from T2 allow null values.
•   The result of T1 RIGHT OUTER JOIN T2 consists of their paired rows where the join-condition is true and, for each unpaired row of T2, the concatenation of that row with the null row of T1. All columns derived from T1 allow null values.
•  The result of T1 FULL OUTER JOIN T2 consists of their paired rows and, for each unpaired row of T2, the concatenation of that row with the null row of T1 and, for each unpaired row of T1, the concatenation of that row with the null row of T2. All columns derived from T1 and T2 allow null values.

5. Q. How do you add record to a table?
   A. INSERT into table_name VALUES (‘ALEX’ , 33 , ‘M’);


6.  Q. How do you add a column to a table?
    A. ALTER TABLE Department
      ADD (AGE,  NUMBER);

7.  Q. How do you change value of the field?
    A. UPDATE EMP_table
       set  number = 200 where item_munber = ‘CD’;

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

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

8.  Q. What does COMMIT do?
    A. Saving all changes made by DML statements

9.  Q. What is a primary key?
    A. The column (columns) that has completely unique data throughout the table is known as the primary key field.

10. Q. What are foreign keys?
    A. Foreign key field – is a field that links one table to another table’s primary or foreign key.

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

12. Q. Can a table have more than one foreign key defined?
    A. A table can have any number of foreign keys defined. It can have only one primary key defined.

13. Q. List all the possible values that can be stored in a BOOLEAN data field.
     A. There are only two values that can be stored in a BOOLEAN data field:
         -1(true) and 0(false).

14. Q. What is the highest value that can be stored in a BYTE data field?
    A. The highest value that can be stored in a BYTE field is 255. or from -128 to 127. Byte  is a set of Bits that represent a single character.
        Usually there are 8 Bits in a Byte, sometimes more, depending on how the measurement is being made. Each Char requires one byte of memory and can have a value from 0 to 255 (or 0 to 11111111 in binary).

15.  Q. How many places to the right of the decimal can be stored in a CURRENCY data field?
     A. The CURRENCY data type can store up to four places to the right of the decimal. Any data beyond the fourth place will be truncated by Visual Basic without reporting an error.

16.  Q. What is a stored procedure?
     A. A procedure is a group of PL/SQL statements that can be called by a name. Procedures do not return values they perform tasks.

17.  Q. Describe how NULLs work in SQL?
     A. The NULL is how SQL handles missing values. Arifthmetic operation with NULL in SQL will return a NULL.

18.  Q. What is Normalization?
     A. The process of table design is called normalization.

19.   Q. What is referential integrity constraints?
      A. Referential integrity constraints are rules
       that are partnof the table in a database schema.

20.    Q. What is Trigger?
       A. Trigger will execute a block of procedural code
       against the database when a table event occurs.
       A2. A trigger defines a set of actions that are performed in response
       to an insert, update, or delete operation on a specified table. When
       such an  SQL operation is executed, in this case the trigger has been
       activated.

21.    Q. Which of the following WHERE clauses will return only rows
 that have a NULL in the PerDiemExpenses column?
A.    WHERE PerDiemExpenses <>
B.    WHERE PerDiemExpenses IS NULL
C.    WHERE PerDiemExpenses = NULL
D.    WHERE PerDiemExpenses NOT IN (*)

      A. B is correct � When searching for a NULL value in a column, you must
 use the  keyword IS. No quotes are required around the keyword NULL.

22.   Q. You issue the following query:SELECT FirstName FROM
StaffListWHERE FirstName LIKE'_A%'Which names would be
returned by this query? Choose all that apply.
A.    Allen
B.    CLARK
C.    JACKSON
D.    David

      A. C is correct � Two wildcards are used with the LIKE operator.
The underscore (_) stands for any one character of any
case, and the percent sign (%) stands for any number of
characters of any case including none. Because this string
starts with an underscore rather than a percent sign, it won't
return Allen or Clark because they represent zero and two
characters before the "A". If the LIKE string had been "%A%",
both of these values would have been returned.
David was not returned because all non-wild card characters
are case sensitive. Therefore, only strings
with an uppercase "A" as their second letter are returned


23.   Q. Write a SQL SELECT query that only returns each city only once from Students table?
Do you need to order this list with an ORDER BY clause?


      A. SELECT DISTINCT City
FROM Students;

The Distinct keyword automatically sorts all data
 in ascending order. However, if you want the data
 sorted in descending order, you have to use an ORDER BY clause

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

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

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

       A.  SELECT LastName ||',' || FirstName
          AS "Student Name", City AS "Home City"
           "FROM StudentsORDER BY "Student Name"

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

      A. SELECT InstructorID, Salary FROM Instructors
WHERE Salary > 5400 AND Salary < 6600;

27.   Q. Write SQL SELECT query that returns the first and
last name of each instructor, the Salary,
and gives each of them a number.

       A. SELECT FirstName, LastName, Salary,
ROWNUM FROM Instructors;


28.    Q. Which of the following functions can be used only with numeric values?
(Choose all that apply.)
A.    AVG
B.    MIN
C.    LENGTH
D.    SUM
E.    ROUND

       A. A and D � Only A and D are correct. The MIN function
works with any character, numeric, or date datatype.
The LENGTH function is a character function that returns
the number of letters in a character value. The ROUND
function works with both numeric and date values.

29. Q.  Which function do you use to remove all padded characters
to the right of a character value in a column with a char datatype?
A.    RTRIM
B.    RPAD
C.    TRIM

     A.  C � The TRIM function is used to remove padded spaces.
LTRIM and RTRIM functions were included in earlier versions
of Oracle, but Oracle 8i has replaced them with a single
TRIM function

30.  Q. Which statement do you use to eliminate padded spaces
 between the month and day values in a function TO_CHAR(SYSDATE,'Month, DD, YYYY') ?

     A. To remove padded spaces, you use the "fm"
prefix before the date element that contains the spaces.
     TO_CHAR(SYSDATE,'fmMonth DD, YYYY')

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

    A. Yes.
The proper order for SQL SELECT
clauses is: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY.
Only the SELECT and FROM clause are mandatory.

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

    A. When Oracle executes a statement with nested subqueries,
it always executes the innermost query first. This query passes its
results to the next query and so on until it reaches the outermost query.
It is the outermost query that returns a result set.

33. Q. Which operator do you use to return all of the rows
from one query except rows are returned in a second query?

    A. You use the MINUS operator to return all rows from one query except
where duplicate rows are found in a second query. The UNION operator
returns all rows from both queries minus duplicates. The UNION ALL operator
returns all rows from both queries including duplicates.
The INTERSECT operator returns only those rows that exist in both queries.

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

    A. The AS keyword is optional when specifying a column alias.
You must enclose the column alias in double quotes when the alias
contains a space or lowercase letters. If you specify an alias in l
owercase letters without double quotes, the alias will appear in uppercase.

35  Q. Which of the following statements are Data Manipulation Language commands?
A.    INSERT
B.    UPDATE
C.    GRANT
D.    TRUNCATE
E.    CREATE

    A.  A and B � The INSERT and UPDATE statements are
Data Manipulation Language (DML) commands.
GRANT is a Data Control Language (DCL) command.
TRUNCATE and CREATE are Data Definition Language (DDL) commands


36. Question. What is Oracle locking?
    A. Oracle uses locking mechanisms to protect data from
being destroyed by concurrent transactions.

37. Question. What Oracle lock modes do you know?
     A.  Oracle has two lock modes: shared or exclusive.
Shared locks are set on database resources so that many transactions
 can access the resource.
Exclusive locks are set on resources that ensure
one transaction has exclusive access to the database resource

38.  Question. What is query optimization?
     A.  Query optimization is the part of the query
process in which the database system compares
different query strategies and chooses the one with
the least expected cost

39.  Question. What are the main components of Database management systems software.
     A. The database management system software includes
 components for storage management, concurrency control, transaction
processing, database manipulation interface, database definition interface,
and database control interface.


40.  Question. What are the main attributes of  database management system?
     A. A database management system is composed of five elements: computer hardware, software, data, people (users), and operations procedures.

41.  Question. What is transaction?
      A. A transaction is a collection of applications
code and database manipulation code bound into an indivisible unit of execution.
it consists from:
BEGIN-TRANSACTION Name
Code
END TRANSACTION Name

42.  Question.  What databases do you know?
Informix   
DB2   
SQL   
Oracle


43.  Question. Explain SQL SELECT example:
     select j.FILE_NUM
  from DB_name.job j, DB_name.address a
where j.JOB_TYPE ='C'
  AND j.COMPANY_NAME = 'TEST6'
  AND j.OFFICE_ID = '101'
  AND j.ACTIVE_IND = 'Y'
  AND a.ADDRESS_STATUS_ID = 'H'
  AND a.OFFICE_ID = '101'
  AND a.FILE_NUM = j.FILE_NUM order by j.FILE_NUM;

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


44.  Q. Describe some Conversion Functions that you know

      A. TO_CHAR converts a number / date to a string.
         TO_DATE converts a string (representing a date) to a date.

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


45.   Q.  Describe some Group Functions that you know


A. 1) The COUNT function tells you how many rows were in the result set.
      SELECT COUNT(*) FROM TESTING.QA


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


    3) The MAX and MIN functions tell you the maximum and minimum value of a numeric column.
       SELECT MIN(SALARY) FROM TESTING.QA


     4) The SUM function tells you the sum value of a numeric column.
        SELECT SUM(SALARY) FROM TESTING.QA


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

47. Question. What does DDL stand for?
    A. DDL is Data Definition Language statements. (CREATE)

48.  Question. What does DCL stand for?

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

49.  Question: Describe SQL comments.

     A. SQL comments are introduced by two consecutive hyphens
     (--) and ended by the end of the line.

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

      A. The clauses of the subselect are processed in the following sequence (DB2):
1. FROM clause
2. WHERE clause
3. GROUP BY clause
4. HAVING clause
5. SELECT clause
6. ORDER BY clause
7. FETCH FIRST clause

51.    Q. Describe TO_DATE function.

       A. The TO_DATE function returns a timestamp from a character string
that has been interpreted using a character template.
TO_DATE is a synonym for TIMESTAMP_FORMAT.

On this page I put some SQL interview questions. These SQL interview questions are very simple and mainly were used for interviewing software testers who is involved in database SQL testing or grey box testing. The interview questions found above are listed in order of complexity. However all new interview questions (regardless of there difficulty) will be added to the bottom of the list. You can find more SQL interview questions searching the WEB.
END Basic SQL interview questions.





get more from the below link.
http://www.vietnamesetestingboard.org/zbxe/?mid=download&category=21456&document_srl=&page=2&division=&last_division=&entry=

Testing real time interview questions


1.Differentiate between QA and QC?
QA: It is process oriented
      It involve in entire process of software development.
      Prevention oriented.
QC:
     It is product oriented.
     work to examine the quality of product.
     Deduction oriented.

2.what is a bug?
A computer bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from working correctly or produces an incorrect result.

3.what is a test case?
Test case is set of input values, execution preconditions, expected results and execution
post conditions, developed for a particular objective or test conditions, such as to exercise a particular program path or to verify compliance with a specific requirement.

4. What is the purpose of test plan in your project?
test plan document is prepared by the test lead, it contains the contents like introduction, objectives, test strategy, scope, test items, program modules user
procedures, features to be tested features not to tested approach, pass or fail criteria,  testing process, test deliverables, testing, tasks, responsibilities, resources, schedule
, environmental requirements, risks & contingencies, change management procedures, plan approvals etc all these things help a test manager understand the testing he should do &
what he should follow for testing that particular project.

5. When the relationships occur between tester and developer?
Developer is the one who sends the application to the tester by doing all the necessary code in the application and sends the marshal id to the tester. The tester is the one who gives all the input/output and checks whether he is getting regarding output or not. A developer is the one who works on inside interfacing where as the tester is the one who works on outside interfacing

6.when testing will starts in a project?
the testing is not getting started after the coding. after release the build the testers perform the smoke test. Smoke test is the first test which is done by the testing team. this is according to the testing team. but before the releasing of a build the developers will perform the unit testing.

Interview Tips

1. Tell me about yourself: This is often the opening question in an interview. It's also one of the most difficult if you're not prepared. Remember, the interviewer does not want to hear about your hometown or your scrapbooking hobby.
This question calls for your one-minute commercial that summarizes your years of experience and skills and your personality in the context of the job for which you are interviewing. Get to the point and sell your professional self. Develop a few brief sentences that demonstrate you have what it takes to do the job -- experience, proven results and desire to contribute.

2. Why should we hire you?: The key to answering any question about you versus your competition is using specifics.
"Everybody is going to speak in generalities, so you need something that will make you stand out a bit," said Linda, a teacher in Springfield, Ohio. Give real examples that show them you are best-suited for the job. Linda says she would point out her achievements and accomplishments throughout her career that are relevant to the open position, as well as her experiences in dealing with different types of students and teaching situations.
Pinpoint the qualities you have that are truly valuable to the company.

3. Why do you want to work here? What do you know about our company?: Peter, a physician in Indianapolis, said that research is important in answering these questions.
"I would use this opportunity to show off what I know about the company and, more importantly, how I would fit in."
Susan, a vice president of benefits in Chicago, said that she would address issues and challenges in the company to demonstrate the depth of her knowledge.
"I usually talk about revenue, numbers of employees, and also challenges in their type of business and how my experience relates to that," she said. "I would point out things I have done in similar companies that could address their problems."

4. What are your weaknesses?: The secret to answering this question is using your weaknesses to your advantage.
"I would turn my weaknesses into strengths," said Tara, an attorney. "For example, if my weaknesses include my lack of patience I would then state that because of this, I have learned to take special measures to ensure that I remain calm and attentive."
Just make sure that you do give a real answer to this question. None of us is without faults, so don't pretend that you do not have weaknesses.

5. What did you dislike about your last job? Why did you leave your last job?: You need to be cautious about these kinds of questions and make sure you do not end up sounding bitter.
"I would never talk down about my former company, the boss, or my former co-workers," Tara said.
You need to have a good understanding about the job for which you're applying to turn this question into a positive one. It may be best to say that you really enjoyed many aspects of your job, then focus on how this new job will give you the opportunity to contribute more in a particular area that is key to the position.

6. Where do you see yourself in five years?: An interviewer does not want to hear that your five-year aspiration is to be sailing in the Caribbean or working in a different industry. You need to talk about goals you have that relate to the job. This will demonstrate that you understand the industry, the company and are motivated to succeed there.
Susan, the director of public relations at a major car rental company, said she would keep her answer specific to her field, such as stating that she sees herself as a vice president of corporate communications.
Preparation is the key to answering any question with poise and confidence. Always keep in mind -- whatever the question is -- that the interviewer is trying to uncover if you are a good fit and can make a positive contribution in the job.

March 12, 2012

Useful Tips for QTP



Sharing some of the useful tips on QTP I used while working and found from sqaforums.I urge the readers to share their experiences/tips they have used while working on QTP. You can use the comments section to do the same.

1) How to add a constant number in a datatable?
This is more to do with MS excel then QTP!! but useful to know because at times it becomes frustrating to the novices.
Just append ' to the number
Ex: if you wish to enter 1234567 in datatable then write it as '1234567

2) How can i check if a parameter exists in DataTable or not?
The best way would be to use the below code:
on error resume next
val=DataTable("ParamName",dtGlobalSheet)
if err.number<> 0 then
'Parameter does not exist
else
'Parameter exists
end if

3) How can i check if a checkpoint passes or not?
chk_PassFail = Browser(...).Page(...).WebEdit(...).Check (Checkpoint("Check1"))
if chk_PassFail then
MsgBox "Check Point passed"
else MsgBox "Check Point failed"
end if

4) My test fails due to checkpoint failing, Can i validate a checkpoint without my test failing due to checpoint failure?
Reporter.Filter = rfDisableAll 'Disables all the reporting stuff
chk_PassFail = Browser(...).Page(...).WebEdit(...).Check (Checkpoint("Check1"))
Reporter.Filter = rfEnableAll 'Enable all the reporting stuff
if chk_PassFail then
MsgBox "Check Point passed"
else
MsgBox "Check Point failed"
end if

5) What is the difference between an Action and a function?
Action is a thing specific to QTP while functions are a generic thing which is a feature of VB Scripting. Action can have a object repository associated with it while a function can't. A function is just lines of code with some/none parameters and a single return value while an action can have more than one output parameters.

6) Where to use function or action?
Well answer depends on the scenario. If you want to use the OR feature then you have to go for Action only. If the functionality is not about any automation script i.e. a function like getting a string between to specific characters, now this is something not specific to QTP and can be done on pure VB Script, so this should be done in a function and not an action. Code specific to QTP can also be put into an function using DP. Decision of using function/action depends on what any one would be comfortable using in a given situation.

7) When to use a Recovery Scenario and when to us on error resume next?
Recovery scenarios are used when you cannot predict at what step the error can occur or when you know that error won't occur in your QTP script but could occur in the world outside QTP, again the example would be "out of paper", as this error is caused by printer device driver. "On error resume next" should be used when you know if an error is expected and dont want to raise it, you may want to have different actions depending upon the error that occurred. Use err.number & err.description to get more details about the error.

8) How to use environment variable?
A simple defintion could be... it is a variable which can be used across the reusable actions and is not limited to one reusable action.
There are two types of environment variables:
1. User-defined
2. Built-in
We can retrieve the value of any environment variable. But we can set the value of only user-defined environment variables.

To set the value of a user-defined environment variable:
Environment (VariableName) = NewValue

To retrieve the value of a loaded environment variable:
CurrValue = Environment (VariableName)

Example
The following example creates a new internal user-defined variable named MyVariable with a value of 10, and then retrieves the variable value and stores it in the MyValue variable.

Environment.Value("MyVariable")=10
MyValue=Environment.Value("MyVariable")
9) What are the files and subfolders of a QuickTest Professional test?
The files and folders hold binary and text data that are required for the test to run successfully.
The following table provides a description, the type, and comments regarding the files that make up a QuickTest Professional test.
File Name
Description
Type
Comments Regarding File
Test.tsp
Test settings
Binary
Do not edit
Default.xls
Data table parameters
Excel similar
Can be edited using Excel
Parameters.mtr
Parameterization information
Binary
Do not edit
Action
Action folder (See other table)


Default.cfg
Load test configuration file
Text
Do not edit
Default.prm
Load test configuration file
Text
Do not edit
Default.usp
Load test configuration file
Text
Do not edit
.usr
Load test configuration file
Text
Do not edit
Thick_usr.dat
Load test configuration file
Text
Do not edit
Thin_usr.dat
Load test configuration file
Text
Do not edit
Files within Action folder:
File Name
Description
Type
Comments Regarding File
Script.mts
Action script
Text
Edit text preceding the @@ sign only
Resource.mtr
Object Repository
Binary
Do not edit
Snapshots
Active screen files
Folder
Do not edit
There are few more files extensions like
.MTB Batch File
.LCK Locked

10) How to rename a checkpoint (QTP 9.0)?
Example:
Window("Notepad").WinEditor("Edit").Check CheckPoint("Edit")
In the above example, the user would like to change the name of the CheckPoint object from "Edit" to something more meaningful.
Note:
This functionality is new to QuickTest Professional 9.0.This is not available for QTP 8.2 and below.
1. Right-click on the Checkpoint step in the Keyword View or on the Checkpoint object in Expert View.
2. Select "Checkpoint Properties" from the pop-up menu.
3. In the Name field, enter the new checkpoint name.
4. Click . The name of the checkpoint object will be updated within the script.
Example:
Window("Notepad").WinEditor("Edit").Check CheckPoint("NewCheckPointName")
Note:
You must use the QuickTest Professional user interface to change the name of the checkpoint. If you manually change the name of the checkpoint in the script, QuickTest Professional will generate an error during replay. The error message will be similar to the following:
"The "" CheckPoint object was not found in the Object Repository. Check the Object Repository to confirm that the object exists or to find the correct name for the object."
The CheckPoint object is not a visible object within the object repository, so if you manually modify the name, you may need to recreate the checkpoint to resolve the error.
11) Does QuickTest Professional support Internet Explorer 7.0?
QuickTest Professional 9.1
QuickTest Professional 9.1 supports Microsoft Internet Explorer 7.0 Beta 3. Internet Explorer version 7.0 is now certified to work and to be tested with QuickTest Professional version 9.1.
QuickTest Professional 9.0
QuickTest Professional 9.0 supports Internet Explorer 7.0 Beta 2.
QuickTest Professional 8.2 and below
QuickTest Professional 8.2 and below do not include support for Internet Explorer 7.0.
Does QuickTest Professional support Firefox?
QuickTest Professional 9.1 and 9.2
QuickTest Professional 9.1 provides replay support for Mozilla Firefox 1.5 and Mozilla Firefox 2.0 Alpha 3 (Alpha-level support for Bon Echo 2.0a3).
Notes:
QuickTest Professional 9.1 will not record on FireFox. You can record a test on Microsoft Internet Explorer and run it on any other supported browser, such as FireFox.
The .Object property for web objects is not supported in FireFox.
QuickTest Professional 9.0
QuickTest Professional 9.0 provides replay support for Mozilla FireFox 1.5.
Notes:
QuickTest Professional 9.0 will not record on FireFox. You can record a test on Microsoft Internet Explorer and run it on any other supported browser, such as FireFox.
The .Object property for web objects is not supported in FireFox.
QuickTest Professional 8.2 and below
QuickTest Professional 8.2 and below do not have support for Firefox.

Silk Test Vs Quick Test Professional


Features
SilkTest
QuickTest Professional
Recording Script
Recorder available with different set of features.
Recorder available with different set of features.
OS
Windows upto Vista, Unix (SilkBean)
Windows upto Vista, Unix (Xrunner)
Browsers support
Internet Explorer, Netscape, FireFox, AOL
Internet Explorer, Netscape, FireFox, AOL
Database tests
With the help of DSN (ODBC32 Interface)
With the help of DSN (ODBC32 Interface) plus VB Scripting
Data functions
Good
Good. Having extensive support for SpreadSheet (Excel).
Tests
Termed as Testcase. Each Testcase has block of coding statements.
Termed as Actions. Each Action has block of coding statements.
Test Script
Script is a single file.
Actually Script is a folder and have set of supporting files.
Code View
Classic 4Test, Visual 4Test
Keyword View, Expert View
Objects Repository
Official term is Window declarations. They can be edited directly from the Editor.
Maintained as separate file. With the help of utility, objects are modified. Two types as per QTP setting. They are 'Per Action Repository' and 'Shared Repository'. File extensions will be varied for each type.
Dynamic objects
Object properties can be passed dynamically. Variety of methods available to handle them.
Object properties can be passed dynamically. Another term is known as Descriptive Programming.
Class Mapping
Custom Classes
RecorderClass and Extension Kit are available.
Virutal Object Wizards available.
Image testing
Bitmap Capture and Verification functions.
Bitmap Capture and Verification functions.
Test/Error Recovery
Powerful Recovery system available.
Recovery Manager
Verification
Provided Verify and Verify Properties functions.
Provided check points for different purposes.
Results Reporting
Results are stored into *.res binary files. It can be converted into different formats. Multiple versions can be stored into single file.
QTP results are stored as XML files and can be converted to HTML files. Result folder contain many files. One result folder can store results for only one run.
Test Management Tool Integration
Integrated with SilkCentral Test Manager.
Integrated with Quality Center.
Distributed Testing
Remote Agent.
Having Remote COM Agent.
DLL support
Only Standard DLLs. It does not support the COM/ActiveX DLLs, which are created by VB/.NET.
Both COM and Standard DLLs are supported.
Java Support
Yes
Yes
Flex Support
Available to certain extent.
Available to certain extent.
DotNet Support
Yes
Yes
Internatioalization (i18N) Support
Yes
Yes
Timer functions
Having rich set of functions to calculate time taken for block of statements or testcases. Help: Timers
Having limited functions to calculate time taken for block of statements or actions. Help: Measuring Transactions
Environment support
Can access OS level variables.
Can access OS level variables.
Batch Run
Suite (*.s) and Test plan (*.pln) are available.
Test Batch Runner utility.
Coding
4Test Language.
Similar to Visual Basic
Ability to run multiple scripts consistently and continuously.
Yes
Should run from Quality Center.
Coding Style
4Test Language. Similar to C++
Visual Basic Script
Integration with External libraries
NO
VB Script libraries.
Code Samples
Few samples from vendor.
Few samples from vendor. But many VB Script samples available on Internet.
OOPs Support
Yes. Oops concepts are supported for certain extent. User can extend standard classes.
NO
Data types
Set of data types are available. User can create their own data types also.
Set of data types are available. User cannot create their own data types
Interactive Debugging
Debugging features available.
Debugging steps available.
Ease of use
Just record and playback, won't help. Medium.
Record and playback used to help. Very Simple. Easy to learn.
Documentation
HLP file available. PDF docs are only for beginners.
Both CHM and PDF files are available. Enough info.
Tool Updates
Continuing process.
Continuing process.
Cost
~$9K
More than $10K
Script Templates
Manual. No Ways to create automatic templates.
Manual. No Ways to create automatic templates.
Editor
Good. Simple one. Having Project explorer similar to MS Visual Studio.
Better one with nice look. But using tabs to show more than one script.
Tool Support
Tool support is available for only latest versions (from silktest 8.0 )
Tool support is available for only latest versions.
Latest Version
Silktest 2008
QuickTest Professional 9.5
Strengths
Good Development language, good online community, recovery system, Good cross browser support, Code Maintenance
The most popular test tool by great user base, plenty of jobs, good online community, Good cross browser support.
Weaknesses
Helpdesk, Slightly expensive, Skilled resources
Helpdesk (Getting bad now), Expensive tool.
Vendor
Borland. Initially developed by Segue. Borland acquired Segue on 2006.
HP (Hewlett-Packard). Initially developed by Mercury Interactive. HP acquired Mercury on 2006.
Product Name Changes
Initially QA Partner. Later changed to SilkTest.
Initially Astra QuickTest. Later changed to QuickTest Professional.