IBM Rational Functional Testing
By Vaibhav Agarwal
Now a days most of us (in IT industry) know/have heard about Automated testing tools.
Rational Functional Tester (RFT), as the name says, is an automated functional testing tool from Rational. This tool tests your application automatically without human intervention.
IBM Rational Functional Tester is an object-oriented automated testing tool that lets you test a variety of applications. You can quickly generate scripts by recording tests against an application, and you can test any object in the application, including the object’s properties and data. Rational Functional Tester offers you a choice of scripting language and development environment — Java in the Eclipse framework or Microsoft Visual Basic .NET in the Microsoft Visual Studio .NET Development Environment. That means that regardless of the language or platform your development staff has chosen, you should be able to integrate with them and leverage some of their expertise as you develop your automated tests.
Rational Functional Tester offers these powerful capabilities
• Play back scripts against an updated application
• Update recognition properties for an object
• Merge multiple test object maps
• Display associated scripts
• Use pattern-based object recognition
• Integrate with UCM
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Wednesday, May 20, 2009
Working with Excel objects in QTP
Working with Excel objects in QTP
We create framework for automating the application. For this we need the independent structure for reporting and data. Excel plays a very important role in this approach.
QTP has its own test result displaying mechanism in the predefined format. Once the test is run, the result sheet is generated which gives you the insight of the script – stating the point of failures, warnings and passes.
We create customized checkpoint in the script and it is possible to customize the result file also depending upon the checkpoint created will be passed or failed.
In most of the cases we want to create summarized or detailed report of the entire test in excels. The reason to create customized report is that one is able to keep the file in central location and to create the report in our own format.
In this article we are going to learn the interaction of Excel with VBScript.
The whole mechanism goes in the following steps:
1. Understanding the hierarchy of Excel Application.
2. Creating the Excel Object
3. Opening an existing workbook or creating the new one
4. Setting the objects for various sheets in workbook.
5. Writing and fetching the data values in the cells.
6. Saving and closing the workbook
7. Closing the application and releasing the memory
We will go through each of the above stated steps with a suitable example to understand the approach properly.
Understanding the hierarchy of Excel Application
We will not go into the details of the complete hierarchy of the Excel application but to the extend what is required.
Excel Application
Workbooks
Sheets
Cells
Creating the Excel Object
The first step towards the process of reporting via excel is to create object of Excel. Reporting in Excel can either be done in backend, without making the application visible or u can make it appear to user once the process of writing or fetching the data is going. In either way creating of the Excel Application object is required.
It goes as:
Dim xl
Set xl = CreateObject(“Excel.Application”)
Opening an existing workbook or creating the new one
Once the excel object has been created, it means that excel application has been invoked but is not visible. So either one can perform the operations like that or make the application visible and then perform the operations.
To make the application visible:
xl.visible = true
To open a new Workbook:
xl.workbooks.Add
To open an existing Workbook:
xl.workbooks.Open(“File Name with complete path”)
Setting and accessing the objects of sheets in workbook.
Once the workbook has been opened, either existing or new one, we need to write some data in various cells in various sheets of that workbook.
By default there are 3 sheets in a workbook and various operations can be performed on. So one need create the object to reference these sheets as it becomes easy to access them and you don’t have to mention the complete hierarchy over and over again.
Say one has to create a reference for sheet with index i, which starts from 1
Set sht1 = xl.activeworkbook.sheets(i)
One can add or delete n number of sheets from the activeworkbook
To add a sheet in workbook –
xl.activeworkbook.sheets.add
To delete a particular sheet where i represent the index which starts from 1 –
xl.activeworkbook.sheets(i).delete
To change the name of the sheets –
xl.activeworkbook.sheeets(i).name = “Name of your choice”
To count the total number of sheets in the workbook
Cnt = xl.activeworkbook.sheets.count
Writing and fetching the data values in the cells
To write the data in Excel sheet, one should know the cell address in which the data has to be written. Same thing goes for accessing the data from the cells
To write the data in sheet2 cell address as D8, we write the following command. Cell address here is represented by row number followed by column number –
xl.activeworkbook.sheets(2).cells(8,4) = “hello”
To fetch the data from sheet3 cell address A7 –
Val = xl.activeworkbook.sheets(3).cells(7,1)
If one has already created the object of the particular sheet, you don’t have to write the complete hierarchy but simply –
Object.cells(row,col) = value
Saving and closing the workbook
Once the work completed you can save the newly created workbook to a specified location or save the changes made to already existing opened workbook.
To save as in case of new workbook
xl.activeworkbook.saveas “path_with_file_name.xls”
To save in case of existing workbook
xl.activeworkbook.save
To close the workbook
xl.activeworkbook.close
Closing the application and releasing the memory
To close the application
xl.quit
To release the memory of all the objects
Set xl = nothing
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
We create framework for automating the application. For this we need the independent structure for reporting and data. Excel plays a very important role in this approach.
QTP has its own test result displaying mechanism in the predefined format. Once the test is run, the result sheet is generated which gives you the insight of the script – stating the point of failures, warnings and passes.
We create customized checkpoint in the script and it is possible to customize the result file also depending upon the checkpoint created will be passed or failed.
In most of the cases we want to create summarized or detailed report of the entire test in excels. The reason to create customized report is that one is able to keep the file in central location and to create the report in our own format.
In this article we are going to learn the interaction of Excel with VBScript.
The whole mechanism goes in the following steps:
1. Understanding the hierarchy of Excel Application.
2. Creating the Excel Object
3. Opening an existing workbook or creating the new one
4. Setting the objects for various sheets in workbook.
5. Writing and fetching the data values in the cells.
6. Saving and closing the workbook
7. Closing the application and releasing the memory
We will go through each of the above stated steps with a suitable example to understand the approach properly.
Understanding the hierarchy of Excel Application
We will not go into the details of the complete hierarchy of the Excel application but to the extend what is required.
Excel Application
Workbooks
Sheets
Cells
Creating the Excel Object
The first step towards the process of reporting via excel is to create object of Excel. Reporting in Excel can either be done in backend, without making the application visible or u can make it appear to user once the process of writing or fetching the data is going. In either way creating of the Excel Application object is required.
It goes as:
Dim xl
Set xl = CreateObject(“Excel.Application”)
Opening an existing workbook or creating the new one
Once the excel object has been created, it means that excel application has been invoked but is not visible. So either one can perform the operations like that or make the application visible and then perform the operations.
To make the application visible:
xl.visible = true
To open a new Workbook:
xl.workbooks.Add
To open an existing Workbook:
xl.workbooks.Open(“File Name with complete path”)
Setting and accessing the objects of sheets in workbook.
Once the workbook has been opened, either existing or new one, we need to write some data in various cells in various sheets of that workbook.
By default there are 3 sheets in a workbook and various operations can be performed on. So one need create the object to reference these sheets as it becomes easy to access them and you don’t have to mention the complete hierarchy over and over again.
Say one has to create a reference for sheet with index i, which starts from 1
Set sht1 = xl.activeworkbook.sheets(i)
One can add or delete n number of sheets from the activeworkbook
To add a sheet in workbook –
xl.activeworkbook.sheets.add
To delete a particular sheet where i represent the index which starts from 1 –
xl.activeworkbook.sheets(i).delete
To change the name of the sheets –
xl.activeworkbook.sheeets(i).name = “Name of your choice”
To count the total number of sheets in the workbook
Cnt = xl.activeworkbook.sheets.count
Writing and fetching the data values in the cells
To write the data in Excel sheet, one should know the cell address in which the data has to be written. Same thing goes for accessing the data from the cells
To write the data in sheet2 cell address as D8, we write the following command. Cell address here is represented by row number followed by column number –
xl.activeworkbook.sheets(2).cells(8,4) = “hello”
To fetch the data from sheet3 cell address A7 –
Val = xl.activeworkbook.sheets(3).cells(7,1)
If one has already created the object of the particular sheet, you don’t have to write the complete hierarchy but simply –
Object.cells(row,col) = value
Saving and closing the workbook
Once the work completed you can save the newly created workbook to a specified location or save the changes made to already existing opened workbook.
To save as in case of new workbook
xl.activeworkbook.saveas “path_with_file_name.xls”
To save in case of existing workbook
xl.activeworkbook.save
To close the workbook
xl.activeworkbook.close
Closing the application and releasing the memory
To close the application
xl.quit
To release the memory of all the objects
Set xl = nothing
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Rational Functional Tester- Features and benefits
Rational Functional Tester- Features and benefits
1. Ensure playback resilient to application changes with ScriptAssure technology -
Frequent changes to an application’s user interface can hamper test script execution. IBM Rational Functional Tester introduces an advanced ScriptAssure™ technology to accommodate these changes and avoid increases in maintenance overhead. ScriptAssure uses fuzzy matching algorithms to locate objects during test execution, even if the objects have changed since test creation.
2. Increase script re-use with wizard for data driven test creation –
Data driven tests are functional tests that perform the same series of test actions, but with varying data. IBM Rational Functional Tester can automatically detect data entered during test recording and prepare the test for data-driven testing. Using a spreadsheet-like data editor, you can then create customized data sets to be used by the test during playback. In this way, you can achieve test script re-use without time consuming manual coding.
3. Streamline automation with keyword testing –
Rational Functional Tester provides ability to define and automate keywords which can be reused in both functional and manual tests. This promotes script reuse and enables manual testers to easily and selectively leverage the power of automation within manual test cycles.
4. Proxy SDK –
This feature allows testers to define support for custom controls.
5. Choice of test editing language - Java or Visual Basic .NET –
Test script customization is mandatory in order to perform anything but the most basic tests. IBM Rational Functional Tester gives you a choice of powerful, mainstream scripting languages to make this possible. Choose between either Java or Visual Basic .NET - both options can be used with all the supported user interface technologies. By working with Functional Tester, testers quickly learn to work with basic language constructs and acquire programming skills that facilitate more productive communication with developers.
6. Validate dynamic data with dynamic data validation wizard –
Validating dynamic data, such as time stamps or order confirmation numbers can be tedious time consuming task, involving complex manual coding. IBM Rational Functional Tester includes wizard driven support for regular expression dynamic data validation. Users can effortlessly validate dynamic data against template patterns without having to write complex code.
7. Manual Test Automation support –
For teams not yet prepared to automate all of their testing efforts, IBM Rational Manual Tester is included in the Rational Functional Tester product box. Rational Manual Tester brings control and organization to manual testing efforts, introducing automated data entry and data validation to manual.
8. Test script version control for parallel development –
Typically, more than one version of an application is deployed within an organization, and testers must therefore maintain groups of tests for each version. Without the help of automated version control, this can be extremely difficult. IBM Rational Functional Tester is designed to support automated version control, which not only provides a mechanism to maintain multiple test sets, but also enables parallel development and supports geographically dispersed teams, To help teams take advantage of this support, a full version of IBM Rational ClearCase LT, an entry-level version control tool designed for small project workgroups, is included in the product box. Rational Functional Tester users also have the option of upgrading to the standard version of IBM Rational ClearCase.
9. Native Java and Visual Basic .NET editor and debugger for advanced testers –
Test script editing is important, but it can be difficult without a good editor and debugger. IBM Rational Functional Tester delivers industrial-strength options to address this concern. Testers using Java can work in the Eclipse Java editor and those using Visual Basic .NET can work in Visual Studio .NET. Both integrated development environments offer a host of options to simplify test enhancement, including a helpful code-complete feature that suggests code to accelerate editing. GUI developers will find this feature particularly useful, as they can access it within the IDE they use to build the user interface.
10.Linux test editing and test execution support –
For cross-platform Java applications, IBM Rational Functional Tester offers scripting to create, edit, and execute tests on the Linux platform - including everything except a test recorder. It also supports the Windows platform for all recording, editing, and execution capabilities.
11.Add-on support available for testing 3270/5250 terminal-based applications –
Teams responsible for testing mixed workload environments - environments comprised of both Java/Web/Visual Studio .NET-based applications and mainframe-based applications - can purchase the IBM Rational Functional Tester Extension for Terminal-based Applications. This extension enables automation and testing for 3270 and 5250 terminal-based applications, including automated data entry and response verification, using the testing tool and scripting language the tester favors for Windows and Linux-based applications.
12.Extended automated functional and regression testing for Siebel® and SAP® applications –
IBM Rational Functional Tester Extension for Siebel Test Automation interfaces to provide robust automation support for both Siebel 7.7 and 7.8. IBM Rational Functional Tester Extension Automated test creation, execution and analysis of SAP GUI applications.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
1. Ensure playback resilient to application changes with ScriptAssure technology -
Frequent changes to an application’s user interface can hamper test script execution. IBM Rational Functional Tester introduces an advanced ScriptAssure™ technology to accommodate these changes and avoid increases in maintenance overhead. ScriptAssure uses fuzzy matching algorithms to locate objects during test execution, even if the objects have changed since test creation.
2. Increase script re-use with wizard for data driven test creation –
Data driven tests are functional tests that perform the same series of test actions, but with varying data. IBM Rational Functional Tester can automatically detect data entered during test recording and prepare the test for data-driven testing. Using a spreadsheet-like data editor, you can then create customized data sets to be used by the test during playback. In this way, you can achieve test script re-use without time consuming manual coding.
3. Streamline automation with keyword testing –
Rational Functional Tester provides ability to define and automate keywords which can be reused in both functional and manual tests. This promotes script reuse and enables manual testers to easily and selectively leverage the power of automation within manual test cycles.
4. Proxy SDK –
This feature allows testers to define support for custom controls.
5. Choice of test editing language - Java or Visual Basic .NET –
Test script customization is mandatory in order to perform anything but the most basic tests. IBM Rational Functional Tester gives you a choice of powerful, mainstream scripting languages to make this possible. Choose between either Java or Visual Basic .NET - both options can be used with all the supported user interface technologies. By working with Functional Tester, testers quickly learn to work with basic language constructs and acquire programming skills that facilitate more productive communication with developers.
6. Validate dynamic data with dynamic data validation wizard –
Validating dynamic data, such as time stamps or order confirmation numbers can be tedious time consuming task, involving complex manual coding. IBM Rational Functional Tester includes wizard driven support for regular expression dynamic data validation. Users can effortlessly validate dynamic data against template patterns without having to write complex code.
7. Manual Test Automation support –
For teams not yet prepared to automate all of their testing efforts, IBM Rational Manual Tester is included in the Rational Functional Tester product box. Rational Manual Tester brings control and organization to manual testing efforts, introducing automated data entry and data validation to manual.
8. Test script version control for parallel development –
Typically, more than one version of an application is deployed within an organization, and testers must therefore maintain groups of tests for each version. Without the help of automated version control, this can be extremely difficult. IBM Rational Functional Tester is designed to support automated version control, which not only provides a mechanism to maintain multiple test sets, but also enables parallel development and supports geographically dispersed teams, To help teams take advantage of this support, a full version of IBM Rational ClearCase LT, an entry-level version control tool designed for small project workgroups, is included in the product box. Rational Functional Tester users also have the option of upgrading to the standard version of IBM Rational ClearCase.
9. Native Java and Visual Basic .NET editor and debugger for advanced testers –
Test script editing is important, but it can be difficult without a good editor and debugger. IBM Rational Functional Tester delivers industrial-strength options to address this concern. Testers using Java can work in the Eclipse Java editor and those using Visual Basic .NET can work in Visual Studio .NET. Both integrated development environments offer a host of options to simplify test enhancement, including a helpful code-complete feature that suggests code to accelerate editing. GUI developers will find this feature particularly useful, as they can access it within the IDE they use to build the user interface.
10.Linux test editing and test execution support –
For cross-platform Java applications, IBM Rational Functional Tester offers scripting to create, edit, and execute tests on the Linux platform - including everything except a test recorder. It also supports the Windows platform for all recording, editing, and execution capabilities.
11.Add-on support available for testing 3270/5250 terminal-based applications –
Teams responsible for testing mixed workload environments - environments comprised of both Java/Web/Visual Studio .NET-based applications and mainframe-based applications - can purchase the IBM Rational Functional Tester Extension for Terminal-based Applications. This extension enables automation and testing for 3270 and 5250 terminal-based applications, including automated data entry and response verification, using the testing tool and scripting language the tester favors for Windows and Linux-based applications.
12.Extended automated functional and regression testing for Siebel® and SAP® applications –
IBM Rational Functional Tester Extension for Siebel Test Automation interfaces to provide robust automation support for both Siebel 7.7 and 7.8. IBM Rational Functional Tester Extension Automated test creation, execution and analysis of SAP GUI applications.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Application Security : Unlocking the myth
Application Security : Unlocking the myth
By Avinash K Tiwari
More and more companies are relying on Web-based applications to provide online services to their employees, to support e-commerce sales and to lever¬age portals, discussion boards and blogs that help staff better communicate with customers, partners and suppliers. However, as the number and complex¬ity of Web applications have grown, so have the associated security risks. With increasing frequency, incidents of Web application breaches resulting in data theft are popping up as front-page news.
Some of news you can’t ignore
World story
• 40 Million Credit Cards Compromised
• 55 Million Customer Records Exposed, 130+ Security Breaches in 2005
• $105 Billion In Cyber crime Proceeds in ’04, More than Illegal Drug Sales
There have been quite a few Govt and FSS security breaches in India recently.
• Hacker breaks into 17 bank a/cs
• Bank of India site hacked, served up 22 exploits
• Maharashtra govt website hacked
• Goa govt’s info website hacked
A fact which can’t be ignored:
Close to 80% of web sites are vulnerable to Cross-site scripting, which can be executed even by a novice hacker. Your website could be one as well.
A myth that our website is safe:
“We have Firewalls in Place”
“We Use Network Vulnerability Scanners”
“we use SSL”
What’s the real picture??
Lets take a look at the different security layers used in the protection of a web application:
In order to protect the desktop, users and organizations install antivirus protection
The communication layer is protected by encrypting the traffic, using SSL
Firewalls and IDS are used to only allow specific communication (port) access (i.e. WEB traffic)
Let’s take each layer one by one
When we talk about web traffic desktop security is not in picture
Using SSL will encrypt the web traffic and make life difficult for a hacker intercepting the traffic. But, use of SSL can’t stop a hacker from manupulating the data by directly accessing the application
Firewalls are set up to allow outsiders access to specific resources, and to prevent them from accessing other resources. For example, an outside individual wouldn’t be allowed to directly connect to a database, but they can make a request to a web server. This means the firewall would be configured to deny traffic on a standard database port 1443, but allow traffic through ports 80 and 443 - web application ports. This system is clearly no protection at all against malicious attacks aimed at the web application.
The next protection an HTTP request encounters is an intrusion detection system. The IDS has been set up to look for signatures in the traffic that might indicate an attack. For example, they may look for a SQL statement embedded within a request, or they might look for a script tag that indicates a potential XSS attack. The challenge with these systems is that if the request is encoded in some alternative format (such as Unicode Transformation Format, UTF-7) or perhaps the traffic is encrypted using SSL, the intrusion detection system is often not able to interpret or understand the requests. The IDS offers little to no protection against the web application attack.
The last system that the HTTP request might encounter before the web server is probably an application firewall. These are the smartest of all the network protections and can be configured explicitly to only allow certain traffic that it knows to be good. The problem with these systems is that it’s very expensive to maintain the correct configurations or valid algorithms and testing of these systems to recognize good traffic. If the web application firewall has been designed to fail securely (a web application security principle), that is, if you’re not sure what to do, they block the user, the web application firewall may block legitimate traffic. For this reason, most application firewalls are usually designed to break one of the founding principles of security (fail securely) by allowing through traffic that they don’t understand.
So, as you can see, even with antivirus, firewalls and IDS, you still have to allow web traffic through your firewalls, IDS and IPS. This web traffic can be friendly, or it could be malicious – but there is no way to know which one it is. Since web users can access your application over the web, they can perform all sorts of malicious activities and either steal, manipulate or destroy information.
So the bottomline is THE WEB APPLICATION MUST DEFEND ITSELF.
(Copyrighted by CresTech Software Systems Pvt. Ltd.)
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
By Avinash K Tiwari
More and more companies are relying on Web-based applications to provide online services to their employees, to support e-commerce sales and to lever¬age portals, discussion boards and blogs that help staff better communicate with customers, partners and suppliers. However, as the number and complex¬ity of Web applications have grown, so have the associated security risks. With increasing frequency, incidents of Web application breaches resulting in data theft are popping up as front-page news.
Some of news you can’t ignore
World story
• 40 Million Credit Cards Compromised
• 55 Million Customer Records Exposed, 130+ Security Breaches in 2005
• $105 Billion In Cyber crime Proceeds in ’04, More than Illegal Drug Sales
There have been quite a few Govt and FSS security breaches in India recently.
• Hacker breaks into 17 bank a/cs
• Bank of India site hacked, served up 22 exploits
• Maharashtra govt website hacked
• Goa govt’s info website hacked
A fact which can’t be ignored:
Close to 80% of web sites are vulnerable to Cross-site scripting, which can be executed even by a novice hacker. Your website could be one as well.
A myth that our website is safe:
“We have Firewalls in Place”
“We Use Network Vulnerability Scanners”
“we use SSL”
What’s the real picture??
Lets take a look at the different security layers used in the protection of a web application:
In order to protect the desktop, users and organizations install antivirus protection
The communication layer is protected by encrypting the traffic, using SSL
Firewalls and IDS are used to only allow specific communication (port) access (i.e. WEB traffic)
Let’s take each layer one by one
When we talk about web traffic desktop security is not in picture
Using SSL will encrypt the web traffic and make life difficult for a hacker intercepting the traffic. But, use of SSL can’t stop a hacker from manupulating the data by directly accessing the application
Firewalls are set up to allow outsiders access to specific resources, and to prevent them from accessing other resources. For example, an outside individual wouldn’t be allowed to directly connect to a database, but they can make a request to a web server. This means the firewall would be configured to deny traffic on a standard database port 1443, but allow traffic through ports 80 and 443 - web application ports. This system is clearly no protection at all against malicious attacks aimed at the web application.
The next protection an HTTP request encounters is an intrusion detection system. The IDS has been set up to look for signatures in the traffic that might indicate an attack. For example, they may look for a SQL statement embedded within a request, or they might look for a script tag that indicates a potential XSS attack. The challenge with these systems is that if the request is encoded in some alternative format (such as Unicode Transformation Format, UTF-7) or perhaps the traffic is encrypted using SSL, the intrusion detection system is often not able to interpret or understand the requests. The IDS offers little to no protection against the web application attack.
The last system that the HTTP request might encounter before the web server is probably an application firewall. These are the smartest of all the network protections and can be configured explicitly to only allow certain traffic that it knows to be good. The problem with these systems is that it’s very expensive to maintain the correct configurations or valid algorithms and testing of these systems to recognize good traffic. If the web application firewall has been designed to fail securely (a web application security principle), that is, if you’re not sure what to do, they block the user, the web application firewall may block legitimate traffic. For this reason, most application firewalls are usually designed to break one of the founding principles of security (fail securely) by allowing through traffic that they don’t understand.
So, as you can see, even with antivirus, firewalls and IDS, you still have to allow web traffic through your firewalls, IDS and IPS. This web traffic can be friendly, or it could be malicious – but there is no way to know which one it is. Since web users can access your application over the web, they can perform all sorts of malicious activities and either steal, manipulate or destroy information.
So the bottomline is THE WEB APPLICATION MUST DEFEND ITSELF.
(Copyrighted by CresTech Software Systems Pvt. Ltd.)
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Batch Execution of QTP Scripts
Batch Execution of QTP Scripts
By Navneesh Garg
The user has several scripts which test different parts of his application, and he would like to execute the tests all together in a batch mode i.e. a main script that calls other scripts. The end objective is that complete suite of scripts can be executed without any human intervention one after another.
Here are some ways to run a set of several scripts together.
1. Use the Automation Object Model (AOM)
Use the Automation Object Model (AOM) to define the tests to be run and execute them. Using AOM you can set various QuickTest Professional settings and values. The AOM is as close as command line functionality as QuickTest Professional has. Using AOM you can get reference to QTP application object and using this reference, you can call and execute all QTP testscripts which you would want to run in sequence/batch mode. Inoder to find how to use AOM, you can refer to Object Model reference guide of QTP
2. Use TestDirector for Quality Center
Use TestDirector for Quality Center (Quality Center) to schedule and run an execution flow. Quality Center will launch QuickTest Professional and run the tests for you, so you will not need to launch QuickTest Professional, run a script, and close the script, in order to launch the next script.
3. Use Resuable Actions
Make the Actions in the test scripts reusable, then insert a copy or a call to action into the main test. This will call the Action of the scripts.
4. Use the Multi-Test Manager utility.
This utility is available on Mercury Support Site, which helps in batch execution of scripts. It has some decent features like, drag and drop of scripts, scheduling script execution and automatic emailing.
5. Use the Test Batch Runner utility.
You can access it by going to Start -> Programs -> QuickTest Professional -> Tools -> Test Batcher. For more information on the Test Batch Runner, please refer to the QuickTest Professional User’s Guide (QuickTest Professional User’s Guide -> Running and Debugging Tests and Components -> Running Tests and Components -> Running a Test Batch).
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
By Navneesh Garg
The user has several scripts which test different parts of his application, and he would like to execute the tests all together in a batch mode i.e. a main script that calls other scripts. The end objective is that complete suite of scripts can be executed without any human intervention one after another.
Here are some ways to run a set of several scripts together.
1. Use the Automation Object Model (AOM)
Use the Automation Object Model (AOM) to define the tests to be run and execute them. Using AOM you can set various QuickTest Professional settings and values. The AOM is as close as command line functionality as QuickTest Professional has. Using AOM you can get reference to QTP application object and using this reference, you can call and execute all QTP testscripts which you would want to run in sequence/batch mode. Inoder to find how to use AOM, you can refer to Object Model reference guide of QTP
2. Use TestDirector for Quality Center
Use TestDirector for Quality Center (Quality Center) to schedule and run an execution flow. Quality Center will launch QuickTest Professional and run the tests for you, so you will not need to launch QuickTest Professional, run a script, and close the script, in order to launch the next script.
3. Use Resuable Actions
Make the Actions in the test scripts reusable, then insert a copy or a call to action into the main test. This will call the Action of the scripts.
4. Use the Multi-Test Manager utility.
This utility is available on Mercury Support Site, which helps in batch execution of scripts. It has some decent features like, drag and drop of scripts, scheduling script execution and automatic emailing.
5. Use the Test Batch Runner utility.
You can access it by going to Start -> Programs -> QuickTest Professional -> Tools -> Test Batcher. For more information on the Test Batch Runner, please refer to the QuickTest Professional User’s Guide (QuickTest Professional User’s Guide -> Running and Debugging Tests and Components -> Running Tests and Components -> Running a Test Batch).
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
SOA Testing Simplified (Series-I)
SOA Testing Simplified (Series-I)
By Pallavi Sharma
If you have reached this blog, then may be you have heard about SOA and testing SOA applications, or may be you understand testing and would like to know what SOA testing is all about or maybe you want to know what SOA and testing is all about… Well however complicated your case may be… I would explain SOA and testing SOA applications in an uncomplicated way to you in a series of blogs and this is the very first blog on it.
SOA stands for Service Oriented Architecture. It describes IT infrastructure which allows different applications to exchange data with one another as they participate in business processes. The aim is a loose coupling of services with operating systems, programming languages and other technologies which underlie applications. [1].
These services inter-operate based on a formal definition (or contract, e.g., WSDL) that is independent of the underlying platform and programming language. Services written in C# running on .NET platforms and services written in Java running on Java EE platforms, for example, can both be consumed by a common composite application (or client). Applications running on either platform can also consume services running on the other as Web services, which facilitates reuse.
Let’s understand the term ‘Web Service’. A Web Service in simplistic terms is a web enabled API, that can be accessed over the network. In the SOA architecture it is one component which takes care of a specified business need. Each web service has its own contract file which is required to communicate with it. This contract file is termed as WSDL, which is defined as, ‘Web Service Description Language’. As clear from the name, it provides information about what a web service is all about. The kinds of information you can fetch from the WSDL file are:
1. Where the web service is hosted.
2. What functionality the web service provides.
3. What all methods a web service consist of.
4. What arguments the web service takes and what response it returns.
Let’s take an example web service and its wsdl file and try to make sense out of it. The example web service is ‘MoneyConverter’; this service converts a currency value provided in Indian Rupees, to Dollars and vice versa. It solves a business requirement and will consist of two methods, you guessed them right:
a. RupeesToDollars
b. DollarsToRupees
Let’s take a look at the WSDL file for this service, which is an xml file describing this web service. [File attached]
To decipher the WSDL document, let’s begin from the end. The last xml node of the wsdl file provides information where the service is hosted.
“
A web service for converting currencies
”
Moving up, we find information about what all methods are present and what arguments they take and the return value.
wsdl:portType name=”ConverterSoap”>
Convert from Rupees to Dollars
Convert from Dollars to Rupees
Now we would like to know what does the input message looks like, and the output, for this lets move a bit up the document. The “wsdl type” xml node defines all the data types which are passed as arguments or returned as response after the method invocation. Let’s take one node and explain it further:
It states that the element is of type ‘decimal’, name of the element is ‘amount’, and it is a mandatory argument for the method, which can be understood by the minoccurs and maxoccurs attributes of the s:element node.
So, from the above information provided by the WSDL document of the MoneyConverter, we now know the following;
1. The port where the web service is hosted.
2. The methods which are present in the web service.
3. The arguments and the return value of each method of the web service.
Empowered with all this information, in the next blog series we will understand how we exactly use this web service, so that we are more enlightened to test it.
References:
1. Newcomer, Eric; Lomow, Greg (2005). Understanding SOA with Web Services. Addison Wesley. ISBN 0-321-18086-0.
(Copyrighted by CresTech Software Systems Pvt. Ltd.)
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
By Pallavi Sharma
If you have reached this blog, then may be you have heard about SOA and testing SOA applications, or may be you understand testing and would like to know what SOA testing is all about or maybe you want to know what SOA and testing is all about… Well however complicated your case may be… I would explain SOA and testing SOA applications in an uncomplicated way to you in a series of blogs and this is the very first blog on it.
SOA stands for Service Oriented Architecture. It describes IT infrastructure which allows different applications to exchange data with one another as they participate in business processes. The aim is a loose coupling of services with operating systems, programming languages and other technologies which underlie applications. [1].
These services inter-operate based on a formal definition (or contract, e.g., WSDL) that is independent of the underlying platform and programming language. Services written in C# running on .NET platforms and services written in Java running on Java EE platforms, for example, can both be consumed by a common composite application (or client). Applications running on either platform can also consume services running on the other as Web services, which facilitates reuse.
Let’s understand the term ‘Web Service’. A Web Service in simplistic terms is a web enabled API, that can be accessed over the network. In the SOA architecture it is one component which takes care of a specified business need. Each web service has its own contract file which is required to communicate with it. This contract file is termed as WSDL, which is defined as, ‘Web Service Description Language’. As clear from the name, it provides information about what a web service is all about. The kinds of information you can fetch from the WSDL file are:
1. Where the web service is hosted.
2. What functionality the web service provides.
3. What all methods a web service consist of.
4. What arguments the web service takes and what response it returns.
Let’s take an example web service and its wsdl file and try to make sense out of it. The example web service is ‘MoneyConverter’; this service converts a currency value provided in Indian Rupees, to Dollars and vice versa. It solves a business requirement and will consist of two methods, you guessed them right:
a. RupeesToDollars
b. DollarsToRupees
Let’s take a look at the WSDL file for this service, which is an xml file describing this web service. [File attached]
To decipher the WSDL document, let’s begin from the end. The last xml node of the wsdl file provides information where the service is hosted.
“
Moving up, we find information about what all methods are present and what arguments they take and the return value.
wsdl:portType name=”ConverterSoap”>
Now we would like to know what does the input message looks like, and the output, for this lets move a bit up the document. The “wsdl type” xml node defines all the data types which are passed as arguments or returned as response after the method invocation. Let’s take one node and explain it further:
It states that the element is of type ‘decimal’, name of the element is ‘amount’, and it is a mandatory argument for the method, which can be understood by the minoccurs and maxoccurs attributes of the s:element node.
So, from the above information provided by the WSDL document of the MoneyConverter, we now know the following;
1. The port where the web service is hosted.
2. The methods which are present in the web service.
3. The arguments and the return value of each method of the web service.
Empowered with all this information, in the next blog series we will understand how we exactly use this web service, so that we are more enlightened to test it.
References:
1. Newcomer, Eric; Lomow, Greg (2005). Understanding SOA with Web Services. Addison Wesley. ISBN 0-321-18086-0.
(Copyrighted by CresTech Software Systems Pvt. Ltd.)
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
What’s in Web 2.0
What’s in Web 2.0
The rising popularity of user-driven online services, including MySpace, Wikipedia, and YouTube, has drawn attention to a group of technological developments known as Web 2.0. So, what all cosist of web2.0?
Read till end…
Blogs (short for Web logs) are online journals or diaries hosted on a Web site and often distributed to other sites or readers using RSS (see below).
Collective intelligence refers to any system that attempts to tap the expertise of a group rather than an individual to make decisions. Technologies that contribute to collective intelligence include collaborative publishing and common databases for sharing knowledge.
Mash-ups are aggregations of content from different online sources to create a new service. An example would be a program that pulls apartment listings from one site and displays them on a Google map to show where the apartments are located.
Peer-to-peer networking (sometimes called P2P) is a technique for efficiently sharing files (music, videos, or text) either over the Internet or within a closed set of users. Unlike the traditional method of storing a file on one machine—which can become a bottleneck if many people try to access it at once—P2P distributes files across many machines, often those of the users themselves. Some systems retrieve files by gathering and assembling pieces of them from many machines.
Podcasts are audio or video recordings—a multimedia form of a blog or other content. They are often distributed through an aggregator, such as iTunes.
RSS (Really Simple Syndication) allows people to subscribe to online distributions of news, blogs, podcasts, or other information.
Social networking refers to systems that allow members of a specific site to learn about other members’ skills, talents, knowledge, or preferences. Commercial examples include Facebook and LinkedIn. Some companies use these systems internally to help identify experts.
Web services are software systems that make it easier for different systems to communicate with one another automatically in order to pass information or conduct transactions. For example, a retailer and supplier might use Web services to communicate over the Internet and automatically update each other’s inventory systems.
Wikis , such as Wikipedia, are systems for collaborative publishing. They allow many authors to contribute to an online document or discussion.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
The rising popularity of user-driven online services, including MySpace, Wikipedia, and YouTube, has drawn attention to a group of technological developments known as Web 2.0. So, what all cosist of web2.0?
Read till end…
Blogs (short for Web logs) are online journals or diaries hosted on a Web site and often distributed to other sites or readers using RSS (see below).
Collective intelligence refers to any system that attempts to tap the expertise of a group rather than an individual to make decisions. Technologies that contribute to collective intelligence include collaborative publishing and common databases for sharing knowledge.
Mash-ups are aggregations of content from different online sources to create a new service. An example would be a program that pulls apartment listings from one site and displays them on a Google map to show where the apartments are located.
Peer-to-peer networking (sometimes called P2P) is a technique for efficiently sharing files (music, videos, or text) either over the Internet or within a closed set of users. Unlike the traditional method of storing a file on one machine—which can become a bottleneck if many people try to access it at once—P2P distributes files across many machines, often those of the users themselves. Some systems retrieve files by gathering and assembling pieces of them from many machines.
Podcasts are audio or video recordings—a multimedia form of a blog or other content. They are often distributed through an aggregator, such as iTunes.
RSS (Really Simple Syndication) allows people to subscribe to online distributions of news, blogs, podcasts, or other information.
Social networking refers to systems that allow members of a specific site to learn about other members’ skills, talents, knowledge, or preferences. Commercial examples include Facebook and LinkedIn. Some companies use these systems internally to help identify experts.
Web services are software systems that make it easier for different systems to communicate with one another automatically in order to pass information or conduct transactions. For example, a retailer and supplier might use Web services to communicate over the Internet and automatically update each other’s inventory systems.
Wikis , such as Wikipedia, are systems for collaborative publishing. They allow many authors to contribute to an online document or discussion.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Subscribe to:
Posts (Atom)