Showing posts with label QTP Vs Silktest. Show all posts
Showing posts with label QTP Vs Silktest. Show all posts

Monday

QTP - Comparison between SilkTest and QTP


FeatureQTPSilkTest
Record and Play Supported Supported
Scripting Language VBScript 4test, Similar to C++
Object recognition based on Object properties, DOM structure based on Object properties, DOM structure
Browser Support IE & FF are supported IE & FF are supported
QC Integration Possible Found a doc, but not validated yet.
CA License Yes Yes; But, only one we believe
Learning Curve Less effort Considerable effort required
Integration with external libraries Possible NO
Tech Support Yes Yes
Current Release v10.0 v9.2.1
Test Project/TestPlan (Test Orgnization) Not Avilable Avialble
Exception Handling by Tool Excellent Moderate
Virtual Object Concept for Custome Object Avilable
DLL support Both COM and Standard DLLs are supported. Only Standard DLLs. It does not support the COM/ActiveX DLLs, which are created by VB/.NET.
Distributed Testing Remote Agent COM Agent. Remote Agent.
Results Reporting QTP results are stroed 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. Results are stored into *.res binary files. It can be converted into differnt formats. Multiple versions can be stored into single file.
Verification Provided check points for different purposes. Provided Verify and Verify Properties functions.
OOPs Support Not supported Oops concepts are supported for certain extent. User can extend standard classes.
Active Screen Kind Feature to modify test better even when App is down. Avilable - Keyword View, Expert View Not Avilable - Classic 4Test, Visual 4Test
Objects Repository 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. Official term is Window declarations. They can be edited directly from the Editor
Custom Classes Virutal Object Wizards available. RecorderClass and Extension Kit are available.
Environment support Can access OS level variables. Can access OS level variables.
Internatioalization (i18N) Support YES YES
Java/>NET/Flex Support YES YES
OS Windows upto Vista Windows upto Vista, Unix (SilkBean)
Data functions DataSheet ( Local and Global) Extensive feature Fair
Documentation Both CHM and PDF files are available. Enough info. HLP file available. PDF docs are only for beginners.
Associated Utilites Provide lots of Utility like batchrunner,OR merge tool, Silent Runner, PasswordEncoder,Remote Agent, Movie Recorder, SilentRunner Less Utilites though Extension kit is there.
Product Name Changes Initially Astra QuickTest. Later changed to HP QuickTest Professional. Initially QA Partner. Later changed to Borland SilkTest
Vendor HP (Hewlett-Packard). Initially developed by Mercury Interactive. HP acquired Mercury on 2006. Microfocus. In past Borland. Initially developed by Segue. Borland acquired Segue on 2006.
Strengths The most popular test tool by great user base, plenty of jobs, good online community, Good cross browser support Good Development language, good online community, recovery system, Good cross browser support, Code Maintenance
Editor Better one with nice look. But using tabs to show more than one script. Good. Simple one. Having Project explorer similar to MS Visual Studio.
Ease of use Record and playback used to help. Very Simple. Easy to learn. Just record and playback, won't help. Medium.
Data types Set of data types are available. User cannot create their own data types Set of data types are available. User can create their own data types also.
Code Samples Few samples from vendor. But many VB Script samples available on Internet. Few samples from vendor.
Batch Run Test Batch Runner utility. Suite (*.s) and Test plan (*.pln) are available.
Test Management Tool Integration Integrated with Quality Center. Integrated with SilkCentral Test Manager.
Dynamic objects Object properties can be passed dynamically. Another term is known as Descriptive Programming. Object properties can be passed dynamically. Variety of methods available to handle them.
Objects Repository 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. Official term is Window declarations. They can be edited directly from the Editor.
Test Script Actually Script is a folder and have set of supporting files. Script is a single file.
Tests Termed as Actions. Each Action has block of coding statements. Termed as Testcase. Each Testcase has block of coding statements.
Database tests With the help of DSN (ODBC32 Interface) plus VB Scripting With the help of DSN (ODBC32 Interface)
Browsers support Internet Explorer, Netscape, FireFox, AOL Internet Explorer, Netscape, FireFox, AOL


Comon Object Identification Issues (including label changes) and how QTP and Silk approach to resolve that. The Object Identification Cases and resolution:
1. Name/label Change

QTP: Only need to Modify property/properties in OR. It will reflect the same in all scripts.

SilkTest: Modifying the Window tag will solve the purpose.Conclusion: Logically both are doing same thing. The appearance and organization of keeping Object property is different.We need to keep the logical and physical name separate for both.
2. A DialogBox that can have different parents

QTP: QTP physically Store the hierarchy, so there will not be any issue. We can use DP ( descriptive programming) to handle this scenario.

SilkTest: Using windowtag, tag “..\{Object-name}” can associate any object to any parentConclusion: QTP might take DP effort if hierarchy changes very frequently . On the other hand Silk can associate parent on the fly.
3. A Browser Child with a non-unique tag

QTP: Creation Time and separate hierarchy in OR makes things easier

SilkTest: BrowserChild indexing solve problem but have restriction.Conclusion: QTP having better mechanism for it.
4. A window tag that contains variable characters

QTP: Regular expression, DP, Get/Set properties are the example to resolve this kind of issue

SilkTest: Using wildcard characters/Reg Exp can solve the issueConclusion: QTP provide multiple ways to handle it as mentioned above.
5. An object whose index varies based on application context

QTP: Indexing at the level of OR, We can use it in Code also but not very encouraging

SilkTest: It use index property with variety.Conclusion: Silk use programming approach and it support indexing property in great detail.
6. An object where one or more instance may exists

QTP: Exist, Wait, WaitProperty, OST,Timeout are the way to find that Object exist or not. Can be write simple logic for timeout also.

SilkTest: Sleep, Exist function available. Can be write simple logic for timeout also.Conclusion: Logically both are doing same thing.
7. Non-Unique Properties

QTP: Smart Identification, Ordinal Identifier

Silktest: MultiTagingConclusion: Logically both are doing same thing. It is not recommended to enable theses option for robust automation.