Feature | QTP | SilkTest |
---|---|---|
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.
No comments:
Post a Comment