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
Tuesday, May 19, 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
Use Case Based Testing (UCBT)
Use Case Based Testing (UCBT)
Use Case Based Testing (UCBT), is a technique for generating test cases and recommended configurations for system level testing. In this approach, testers build a test model based on the standard UML notions of use cases, actors, and the relationships between these elements. The use cases are enhanced with additional information, including the inputs from actors, the outputs to the actors, and how the use case affects the state of the system. Newly developed algorithms use this model to generate a test suite which provides a specified level of coverage of each use case. We could also generate workload configurations that combine the test cases according to requirements specified in the model. The generation algorithm performs minimization to reduce the number of test cases required to cover the system to the specified level. The workload configurations are based on desired percentages associated with each actor that the tester provides. These features form a powerful basis for model-based test case generation.
What testing phase does UCBT address?
UCBT addresses phases where the tester is interested in exploring behavior that flows through multiple use cases, which are typically the late function, system, and solution phases of the test life cycle. In late function level test, the tester has tested the use cases individually, and is now interested in looking at combinations of the use cases. System test addresses the situation when all required functionality for the system is present, and the tester seeks to ensure the proper functioning of the system as a whole. An important component of system test is also ensuring that the system can handle customer-like scenarios and workloads. Solution test addresses the situation in which several complete systems are combined to provide complex functionality through some process that involves the systems. These processes can be captured, modeled, and tested using UCBT.
What does the tester do in UCBT?
To do UCBT, the tester needs to identify four things:
the use cases of interest,
the actors involved in using the system,
the input, output, and system effects for the use cases,
The flows of interest between the use cases.
A use case is a semantically meaningful function that provides some value from the user’s point of view. For example, saving a file in a word processing system would be represented by the Save File use case. Each use case can have input parameters associated with it, and for each parameter, a set of logical partitions of the values that parameter can take may be identified. Finally, the use cases can be connected using flows that describe a sequence of use case that are performed to accomplish some goal.
What is produced by UCBT Tool?
UCBT produces two types of test cases. The first types are abstract test cases, which are not executable. These are suitable for incorporation in a test plan and are provided in structured English. They show the ordering of use cases to be performed and the inputs and expected results that each use case should have during the test. The second type of test cases are in a format known as ATS, which can be used to create executable test cases using another tool known as TCBeans or any such tool . The test suite produced by UCBT is minimized in size by performing a two pass optimization based upon the input parameter interactions that the tester specifies, as well as the flows of interest. This ensures that the number of test cases is reasonable, so execution and evaluation can be done with a feasible amount of effort.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Use Case Based Testing (UCBT), is a technique for generating test cases and recommended configurations for system level testing. In this approach, testers build a test model based on the standard UML notions of use cases, actors, and the relationships between these elements. The use cases are enhanced with additional information, including the inputs from actors, the outputs to the actors, and how the use case affects the state of the system. Newly developed algorithms use this model to generate a test suite which provides a specified level of coverage of each use case. We could also generate workload configurations that combine the test cases according to requirements specified in the model. The generation algorithm performs minimization to reduce the number of test cases required to cover the system to the specified level. The workload configurations are based on desired percentages associated with each actor that the tester provides. These features form a powerful basis for model-based test case generation.
What testing phase does UCBT address?
UCBT addresses phases where the tester is interested in exploring behavior that flows through multiple use cases, which are typically the late function, system, and solution phases of the test life cycle. In late function level test, the tester has tested the use cases individually, and is now interested in looking at combinations of the use cases. System test addresses the situation when all required functionality for the system is present, and the tester seeks to ensure the proper functioning of the system as a whole. An important component of system test is also ensuring that the system can handle customer-like scenarios and workloads. Solution test addresses the situation in which several complete systems are combined to provide complex functionality through some process that involves the systems. These processes can be captured, modeled, and tested using UCBT.
What does the tester do in UCBT?
To do UCBT, the tester needs to identify four things:
the use cases of interest,
the actors involved in using the system,
the input, output, and system effects for the use cases,
The flows of interest between the use cases.
A use case is a semantically meaningful function that provides some value from the user’s point of view. For example, saving a file in a word processing system would be represented by the Save File use case. Each use case can have input parameters associated with it, and for each parameter, a set of logical partitions of the values that parameter can take may be identified. Finally, the use cases can be connected using flows that describe a sequence of use case that are performed to accomplish some goal.
What is produced by UCBT Tool?
UCBT produces two types of test cases. The first types are abstract test cases, which are not executable. These are suitable for incorporation in a test plan and are provided in structured English. They show the ordering of use cases to be performed and the inputs and expected results that each use case should have during the test. The second type of test cases are in a format known as ATS, which can be used to create executable test cases using another tool known as TCBeans or any such tool . The test suite produced by UCBT is minimized in size by performing a two pass optimization based upon the input parameter interactions that the tester specifies, as well as the flows of interest. This ensures that the number of test cases is reasonable, so execution and evaluation can be done with a feasible amount of effort.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
What’s new with QTP9.5
What’s new with QTP9.5
This is the general overview giving the brief description of what is new in QTP9.5
New Features:
1. New design time panes:
Various new IDE panes have been introduced which does not provide any new functionality to add up but basically the operations which were in the deep sub menus are now put up in front.
Available Keyword Pane:
This pane shows all the available functions in the current test (either in-action or externally added), as well as all the objects in your object repository (local and external). The items are effectively separated into groups, making it easier to search for a relevant item. Double clicking any item in the pane will open it, and dragging the item to the main window will add it to the script in the drop position. Double clicking a function will not only open the hosting file in the main window, but also focus on the exact position of the function within the file.
Test Flow Pane:
This pane lays out the action call structure of the current test. It outlines the order in which the “main” actions are called, as well as the inner-action calls between actions. Other than understanding the test flow, it offers a central place to access and maintain the properties of the actions. One can easily delete an action, change its properties and its action-call properties, access its object- repository, and control the order in which it will be called within a test.
Resource Pane:
This pane offers a quick overview of all the external function files, recovery scenarios and object repositories associated with the test; it also provides a quick way to add and remove these resources. One can associate repositories with specific actions, add new external library files and add new recovery scenarios.
Process Guidance Pane:
This pane (or rather – panes) somewhat resembles MS Office on-line help. These panes include a topic list on one side and a content area on the other (though you can position and dock the components as you like). Clicking a topic will load its contents onto the content area, and one can navigate via the Next and Back buttons.
One can add his own “process guidance packages”, which can offer unique topics and contents. For example, these might include the way to store tests and manage code versions, how to work with custom objects in the application, coding standards, and much more. These packages can be easily created with simple HTML pages and a contents XML file.
2. Checkpoint and Output Values Management
Checkpoint and Output Objects in the Object Repository: All your checkpoints and output values are stored as objects in the object repository so that you can manage them together with your test objects.
Enhanced functionality of Bitmap Checkpoint: Bitmap checkpoints now include options for specifying RGB tolerance (percentage) and pixel tolerance (number of pixels or percentage) values. These values enable one to indicate acceptable differences between the actual image and the one stored with the checkpoint.
3. Running Scripts in Maintenance Mode
In Maintenance Run Mode, QTP identifies discrepancies between the objects in the repository and those in application, and then offers solutions for updating objects and steps in real time. The run pauses each time an object is not found. One can point to the required object in application, and QuickTest will recommend a solution for updating the object repository and test step to match the selected object. Alternatively, one can select to add comments to a problematic step and address it manually at a later time.
4. Web Add-In Extensibility
QTP 9.5 enables one to extend the support given for Web objects by means of its Web Add-In Extensibility feature. This feature is very important especially when the AUT includes unsupported third-party or custom Web controls. Moreover new technologies such as AJAX are also supported. To use this feature, JavaScript knowledge is necessary. Implementing a Web extension requires to configure 2 XML files, write some code in JavaScript and then deploy these files to the required folders.
5. New Supported Operating Systems and Environments
QTP 9.5 has added new support for the operating systems, browsers, and development environments listed below.
• Windows Vista 64-bit Edition
• Netscape Browser 8.1.3, and 9
• Mozilla Firefox 2 and 3.0 Alpha 7
• Microsoft .NET Framework 3.5
• Oracle Forms and Oracle Applications, version 10g
• Java SWT toolkit, versions 3.2, and 3.3
• Eclipse IDE, version 3.2 and 3.3 (For Java Add-in Extensibility)
• New Terminal Emulator types and versions:
o AttachmateWRQ EXTRA! 9, Terminal Viewer (compatible EXTRA! 9), Reflection for Unix and OpenVMS sessions 14, Reflection 14
(Note: Reflection 13 is not supported.)
o Hummingbird HostExplorer 2007
(Note: HostExplorer 2006 is not supported)
o IBM IBM 5.9, IBM WebSphere Host On-Demand 10
o NetManage RUMBA 7.5, RUMBA Web-to-Host 5.3
o Seagull BlueZone 4
o Zephyr PASSPORT 2007, PASSPORT PC TO HOST / WEB TO HOST 2004 and 2007
6. Miscellaneous Improvements:
Auto-convert to relative path: Whenever you include a resource (e.g. an external library, object repository, etc.) a pop-up will appear, suggesting to add the relevant path to QTP’s folders list, and to convert that path to a relative one.
New actions are reusable: In QTP 9.5, when you create new actions, they are set as reusable by default.
Text recognition mechanism: One can now configure which text recognition mechanism(s) you want to use for recognizing text in Windows applications, and also in which order the mechanisms should be applied.
Record on SWT: When using the Java Add-in, recording on objects developed using the SWT toolkit is now supported.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
This is the general overview giving the brief description of what is new in QTP9.5
New Features:
1. New design time panes:
Various new IDE panes have been introduced which does not provide any new functionality to add up but basically the operations which were in the deep sub menus are now put up in front.
Available Keyword Pane:
This pane shows all the available functions in the current test (either in-action or externally added), as well as all the objects in your object repository (local and external). The items are effectively separated into groups, making it easier to search for a relevant item. Double clicking any item in the pane will open it, and dragging the item to the main window will add it to the script in the drop position. Double clicking a function will not only open the hosting file in the main window, but also focus on the exact position of the function within the file.
Test Flow Pane:
This pane lays out the action call structure of the current test. It outlines the order in which the “main” actions are called, as well as the inner-action calls between actions. Other than understanding the test flow, it offers a central place to access and maintain the properties of the actions. One can easily delete an action, change its properties and its action-call properties, access its object- repository, and control the order in which it will be called within a test.
Resource Pane:
This pane offers a quick overview of all the external function files, recovery scenarios and object repositories associated with the test; it also provides a quick way to add and remove these resources. One can associate repositories with specific actions, add new external library files and add new recovery scenarios.
Process Guidance Pane:
This pane (or rather – panes) somewhat resembles MS Office on-line help. These panes include a topic list on one side and a content area on the other (though you can position and dock the components as you like). Clicking a topic will load its contents onto the content area, and one can navigate via the Next and Back buttons.
One can add his own “process guidance packages”, which can offer unique topics and contents. For example, these might include the way to store tests and manage code versions, how to work with custom objects in the application, coding standards, and much more. These packages can be easily created with simple HTML pages and a contents XML file.
2. Checkpoint and Output Values Management
Checkpoint and Output Objects in the Object Repository: All your checkpoints and output values are stored as objects in the object repository so that you can manage them together with your test objects.
Enhanced functionality of Bitmap Checkpoint: Bitmap checkpoints now include options for specifying RGB tolerance (percentage) and pixel tolerance (number of pixels or percentage) values. These values enable one to indicate acceptable differences between the actual image and the one stored with the checkpoint.
3. Running Scripts in Maintenance Mode
In Maintenance Run Mode, QTP identifies discrepancies between the objects in the repository and those in application, and then offers solutions for updating objects and steps in real time. The run pauses each time an object is not found. One can point to the required object in application, and QuickTest will recommend a solution for updating the object repository and test step to match the selected object. Alternatively, one can select to add comments to a problematic step and address it manually at a later time.
4. Web Add-In Extensibility
QTP 9.5 enables one to extend the support given for Web objects by means of its Web Add-In Extensibility feature. This feature is very important especially when the AUT includes unsupported third-party or custom Web controls. Moreover new technologies such as AJAX are also supported. To use this feature, JavaScript knowledge is necessary. Implementing a Web extension requires to configure 2 XML files, write some code in JavaScript and then deploy these files to the required folders.
5. New Supported Operating Systems and Environments
QTP 9.5 has added new support for the operating systems, browsers, and development environments listed below.
• Windows Vista 64-bit Edition
• Netscape Browser 8.1.3, and 9
• Mozilla Firefox 2 and 3.0 Alpha 7
• Microsoft .NET Framework 3.5
• Oracle Forms and Oracle Applications, version 10g
• Java SWT toolkit, versions 3.2, and 3.3
• Eclipse IDE, version 3.2 and 3.3 (For Java Add-in Extensibility)
• New Terminal Emulator types and versions:
o AttachmateWRQ EXTRA! 9, Terminal Viewer (compatible EXTRA! 9), Reflection for Unix and OpenVMS sessions 14, Reflection 14
(Note: Reflection 13 is not supported.)
o Hummingbird HostExplorer 2007
(Note: HostExplorer 2006 is not supported)
o IBM IBM 5.9, IBM WebSphere Host On-Demand 10
o NetManage RUMBA 7.5, RUMBA Web-to-Host 5.3
o Seagull BlueZone 4
o Zephyr PASSPORT 2007, PASSPORT PC TO HOST / WEB TO HOST 2004 and 2007
6. Miscellaneous Improvements:
Auto-convert to relative path: Whenever you include a resource (e.g. an external library, object repository, etc.) a pop-up will appear, suggesting to add the relevant path to QTP’s folders list, and to convert that path to a relative one.
New actions are reusable: In QTP 9.5, when you create new actions, they are set as reusable by default.
Text recognition mechanism: One can now configure which text recognition mechanism(s) you want to use for recognizing text in Windows applications, and also in which order the mechanisms should be applied.
Record on SWT: When using the Java Add-in, recording on objects developed using the SWT toolkit is now supported.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Database Handling in QTP using ADODB
Database Handling in QTP using ADODB
Database handling via VBScript is basically done with following steps:
1. Creating the object of ADODB
2. Define the Connection String for the database to connect
3. Opening the connection
4. Firing of the query
5. Accessing data with Record Set Object
6. Closing the connection
7. Release the memory occupied by the Objects.
We will go through each of the above stated steps with an appropriate example showing how the things work up in real life application.
Creating the object of ADODB –
Set db = CreateObject(“ADODB.Connection”)
Specifying the Connection String of the database to connect –
Connection String related to specific connection can be set either with or without DSN (Data Source Name).
In Case of DSN –
You create the DSN depending upon you want to fetch the data from SQL Server, Excel, Access etc. depending upon the drivers present in your system. Say for example DSN for Ms-Access is created with name as “MyDSN” for a pre specified database selected. You will write the command as:
Db.ConnectionString = “DSN = MyDSN”
In case you don’t want to create a DSN-
Connection String will now contain the complete information of what is contained in DSN. It has a benefit over DSN, that the connection since it can contain the complete network path of the database, so can work on all systems. But in case of DSN, that has to be present in the machine when you are using it. Again taking that database is on MS-Access -
Db.ConnectionString = “Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;”
Opening the connection
Once the connection string has been set, next step goes towards the opening of the connection. It basically setup the connection/pathway with the database being specified in the connection string. Command goes like:
Db.Open
Firing of the query
Next step goes to the writing of the SQL Query and executing it. We write a sql query in a variable and that query is executed. On executing the query, a recordset object is returned which contains the result set of the query executed.
Getting the SQL Query:
SQL = “Select * from table1”
Executing the SQL query and capturing the recordset object returned:
Set rec_ob = Db.execute (SQL)
Accessing data with Record Set Object
As per the example, rec_ob is the recordset object containing the result of the query which was being executed. Now we can capture each record in the recordset. In general for looping down till end through the recordset we use the following:
Do while rec_ob.EOF <> true
Operation on records
Loop
Various important methods/events/properties and collection supported recordset object with explanation:
Properties:
BOF – Returns true if the current record position is before the first record,
otherwise false.
EOF - Returns true if the current record position is after the last record,
otherwise false
State – Returns a value that describes if the Recordset object is open, closed,
connecting, executing or retrieving data
Methods:
Open – Opens a Recordset
Close - Closes the Recordset
MoveFirst - Moves the record pointer to the first record
MoveLast - Moves the record pointer to the last record
MoveNext - Moves the record pointer to the next record
MovePrevious - Moves the record pointer to the previous record
Save - Saves a Recordset object to a file or a Stream Object
Events:
The various events supported by ADODB Recordset object cannot be handled using VBScript or JSCript (Only VB, V C++ and V J++ can handle these events). So we are not going discuss these over here.
Collections:
Fields - Indicates the number of field objects in the Recordset object
Properties - Contains all the Property objects in the Recordset object
The Fields Collection’s Properties:
Count - Returns the number of items in the fields collection. Starts at zero
Item (name/number) – Returns a specified item in the fields collection.
The Properties Collection’s Properties:
Count - Returns the number of items in the properties collection. Starts at
Zero
Item (name/number) – Returns a specified item in the properties collection.
Closing the connection
Once all the activities have been carried out on Recordset object and no more database accessing is record, you need to close the connection established by the ADODB object. Command goes like:
Db.Close
Releasing the memory space occupied by the Objects
The final work is to free up the space occupied by all the objects which were created to reference the objects created. This is done for freeing up the memory so that there is no memory leak.
Set Db = nothing
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Database handling via VBScript is basically done with following steps:
1. Creating the object of ADODB
2. Define the Connection String for the database to connect
3. Opening the connection
4. Firing of the query
5. Accessing data with Record Set Object
6. Closing the connection
7. Release the memory occupied by the Objects.
We will go through each of the above stated steps with an appropriate example showing how the things work up in real life application.
Creating the object of ADODB –
Set db = CreateObject(“ADODB.Connection”)
Specifying the Connection String of the database to connect –
Connection String related to specific connection can be set either with or without DSN (Data Source Name).
In Case of DSN –
You create the DSN depending upon you want to fetch the data from SQL Server, Excel, Access etc. depending upon the drivers present in your system. Say for example DSN for Ms-Access is created with name as “MyDSN” for a pre specified database selected. You will write the command as:
Db.ConnectionString = “DSN = MyDSN”
In case you don’t want to create a DSN-
Connection String will now contain the complete information of what is contained in DSN. It has a benefit over DSN, that the connection since it can contain the complete network path of the database, so can work on all systems. But in case of DSN, that has to be present in the machine when you are using it. Again taking that database is on MS-Access -
Db.ConnectionString = “Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;”
Opening the connection
Once the connection string has been set, next step goes towards the opening of the connection. It basically setup the connection/pathway with the database being specified in the connection string. Command goes like:
Db.Open
Firing of the query
Next step goes to the writing of the SQL Query and executing it. We write a sql query in a variable and that query is executed. On executing the query, a recordset object is returned which contains the result set of the query executed.
Getting the SQL Query:
SQL = “Select * from table1”
Executing the SQL query and capturing the recordset object returned:
Set rec_ob = Db.execute (SQL)
Accessing data with Record Set Object
As per the example, rec_ob is the recordset object containing the result of the query which was being executed. Now we can capture each record in the recordset. In general for looping down till end through the recordset we use the following:
Do while rec_ob.EOF <> true
Operation on records
Loop
Various important methods/events/properties and collection supported recordset object with explanation:
Properties:
BOF – Returns true if the current record position is before the first record,
otherwise false.
EOF - Returns true if the current record position is after the last record,
otherwise false
State – Returns a value that describes if the Recordset object is open, closed,
connecting, executing or retrieving data
Methods:
Open – Opens a Recordset
Close - Closes the Recordset
MoveFirst - Moves the record pointer to the first record
MoveLast - Moves the record pointer to the last record
MoveNext - Moves the record pointer to the next record
MovePrevious - Moves the record pointer to the previous record
Save - Saves a Recordset object to a file or a Stream Object
Events:
The various events supported by ADODB Recordset object cannot be handled using VBScript or JSCript (Only VB, V C++ and V J++ can handle these events). So we are not going discuss these over here.
Collections:
Fields - Indicates the number of field objects in the Recordset object
Properties - Contains all the Property objects in the Recordset object
The Fields Collection’s Properties:
Count - Returns the number of items in the fields collection. Starts at zero
Item (name/number) – Returns a specified item in the fields collection.
The Properties Collection’s Properties:
Count - Returns the number of items in the properties collection. Starts at
Zero
Item (name/number) – Returns a specified item in the properties collection.
Closing the connection
Once all the activities have been carried out on Recordset object and no more database accessing is record, you need to close the connection established by the ADODB object. Command goes like:
Db.Close
Releasing the memory space occupied by the Objects
The final work is to free up the space occupied by all the objects which were created to reference the objects created. This is done for freeing up the memory so that there is no memory leak.
Set Db = nothing
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Saturday, March 14, 2009
IBM Rational TestManager
IBM Rational TestManager
Rational® TestManager is the central console for test activity management, execution and reporting. Built for extensibility, it supports everything from pure manual test approaches to various automated paradigms including unit testing, functional regression testing, and performance testing. Rational TestManager is meant to be accessed by all members of a project team, ensuring the high visibility of test coverage information, defect trends, and application readiness. Rational TestManager is freely available to all users of IBM Rational® Functional Tester, Rational Manual Tester and IBM Rational® Robot. And because of its value to development teams, it is also included in the IBM Rational® Team Unifying Platform.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Rational® TestManager is the central console for test activity management, execution and reporting. Built for extensibility, it supports everything from pure manual test approaches to various automated paradigms including unit testing, functional regression testing, and performance testing. Rational TestManager is meant to be accessed by all members of a project team, ensuring the high visibility of test coverage information, defect trends, and application readiness. Rational TestManager is freely available to all users of IBM Rational® Functional Tester, Rational Manual Tester and IBM Rational® Robot. And because of its value to development teams, it is also included in the IBM Rational® Team Unifying Platform.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
IBM Rational Test RealTime
IBM Rational Test RealTime
* Cross-platform solution for component testing and runtime analysis.
* Designed specifically for those who write code for embedded and other types of pervasive computing products.
* Supports safety- and business-critical embedded applications.
* Allows you to be more proactive in your debugging, discovering and correcting errors before they make their way into production code.
* Automated source code review, which reports on adherence to guidelines for C source code.
* Integrates with IBM ® Rational® solutions for model-driven development, test management, and software configuration management.
* Integrates with industry-leading third-party tools, such as Mathworks Simulink, Microsoft Visual Studio, and TI Code Composer Studio.
* Eclipse plug-in allowing for seamless integration for Runtime Analysis with the Eclipse C/C++ Development Tools (CDT)
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
* Cross-platform solution for component testing and runtime analysis.
* Designed specifically for those who write code for embedded and other types of pervasive computing products.
* Supports safety- and business-critical embedded applications.
* Allows you to be more proactive in your debugging, discovering and correcting errors before they make their way into production code.
* Automated source code review, which reports on adherence to guidelines for C source code.
* Integrates with IBM ® Rational® solutions for model-driven development, test management, and software configuration management.
* Integrates with industry-leading third-party tools, such as Mathworks Simulink, Microsoft Visual Studio, and TI Code Composer Studio.
* Eclipse plug-in allowing for seamless integration for Runtime Analysis with the Eclipse C/C++ Development Tools (CDT)
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
IBM Rational Software Modeler
IBM Rational Software Modeler
IBM® Rational® Software Modeler is a robust UML™ 2.0-based visual modeling and design tool.
Enables architects, systems analysts, designers and others to specify and communicate development project information from several perspectives and to various stakeholders.
* Extends Eclipse 3.3 open software development environment.
* Is easy to install and use, with flexible installation options in a single product for Microsoft® Windows® and Linux®.
* Provides rich support for modeling with the UML 2.1 as well as for creation of UML-based Domain Specific Language environments and “simplified” UML modeling environments
* Enables flexible model management for parallel development and architectural re-factoring, e.g., split, combine, compare merge models/model fragments.
* Helps ease the transition between the architecture and the code with model-to-model and model-to-code transformations, including reverse transformations.
* Allows you to apply included design patterns — and/or author your own — to ensure that conventions and best practices are followed.
* Integrates with other facets of the lifecycle — including requirements, change management and process guidance; includes Rational ClearCase® LT. O
* perating systems supported: Linux, Windows
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au s
IBM® Rational® Software Modeler is a robust UML™ 2.0-based visual modeling and design tool.
Enables architects, systems analysts, designers and others to specify and communicate development project information from several perspectives and to various stakeholders.
* Extends Eclipse 3.3 open software development environment.
* Is easy to install and use, with flexible installation options in a single product for Microsoft® Windows® and Linux®.
* Provides rich support for modeling with the UML 2.1 as well as for creation of UML-based Domain Specific Language environments and “simplified” UML modeling environments
* Enables flexible model management for parallel development and architectural re-factoring, e.g., split, combine, compare merge models/model fragments.
* Helps ease the transition between the architecture and the code with model-to-model and model-to-code transformations, including reverse transformations.
* Allows you to apply included design patterns — and/or author your own — to ensure that conventions and best practices are followed.
* Integrates with other facets of the lifecycle — including requirements, change management and process guidance; includes Rational ClearCase® LT. O
* perating systems supported: Linux, Windows
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au s
IBM Rational Robot
IBM Rational Robot
Rational Robot is a test automation tool for functional testing of client/server applications.
Test automation tool for QA teams for testing client/server applications. Enables defect detection, includes test cases and test management, supports multiple UI technologies.
o Provides a general-purpose test automation tool for QA teams for functional testing of client/server applications
o Lowers learning curve for testers discovering the value of test automation processes
o Enables test-automation engineers to detect defects by extending test scripts and to define test cases
o Provides test cases for common objects and specialized test cases to development environment objects
o Includes built-in test management, integrates with IBM Rational Unified Process tools
o Aids in defect tracking, change management and requirements traceability
o Supports multiple UI technologies
o Operating systems supported: Windows
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Rational Robot is a test automation tool for functional testing of client/server applications.
Test automation tool for QA teams for testing client/server applications. Enables defect detection, includes test cases and test management, supports multiple UI technologies.
o Provides a general-purpose test automation tool for QA teams for functional testing of client/server applications
o Lowers learning curve for testers discovering the value of test automation processes
o Enables test-automation engineers to detect defects by extending test scripts and to define test cases
o Provides test cases for common objects and specialized test cases to development environment objects
o Includes built-in test management, integrates with IBM Rational Unified Process tools
o Aids in defect tracking, change management and requirements traceability
o Supports multiple UI technologies
o Operating systems supported: Windows
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
IBM Rational RequisitePro
IBM Rational RequisitePro
Uses advanced real-time integration with Microsoft® Word to provide a familiar environment for activities such as requirements definition and organization
Incorporates a powerful database infrastructure to facilitate requirements organization, integration, traceability and analysis
Enables detailed attribute customization and filtering to maximize the informative value of each requirement
Provides a fully functional, scaleable web interface optimized for usage in a geographically distributed environment
Provides detailed traceability views that display parent/child relationships and shows requirements that may be affected by upstream or downstream changes
Performs project version comparisons using XML-based project baselines
Integrates with multiple tools in the IBM Software Delivery Platform to improve accessibility, communication and traceability of requirements
Operating systems supported: Windows
Features and benefits : Software development is a team endeavor, so it is critical that team members possess a shared understanding of their project's vision, goals, specifications and requirements. But how can this be achieved when teams are geographically distributed and functionally isolated, failing to communicate with each other in a timely, clear, consistent manner? The IBM Rational RequisitePro solution addresses this need.
Rational RequisitePro is an easy to use requirements management tool that lets team's author and share their requirements using familiar document-based methods while leveraging database-enabled capabilities such as requirements traceability and impact analysis. The result is better communication and management of requirements with the increased likelihood of completing projects on time, within budget and above expectations. Successful projects start with requirements management - the more effective the execution, the greater the resulting quality and customer satisfaction.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Uses advanced real-time integration with Microsoft® Word to provide a familiar environment for activities such as requirements definition and organization
Incorporates a powerful database infrastructure to facilitate requirements organization, integration, traceability and analysis
Enables detailed attribute customization and filtering to maximize the informative value of each requirement
Provides a fully functional, scaleable web interface optimized for usage in a geographically distributed environment
Provides detailed traceability views that display parent/child relationships and shows requirements that may be affected by upstream or downstream changes
Performs project version comparisons using XML-based project baselines
Integrates with multiple tools in the IBM Software Delivery Platform to improve accessibility, communication and traceability of requirements
Operating systems supported: Windows
Features and benefits : Software development is a team endeavor, so it is critical that team members possess a shared understanding of their project's vision, goals, specifications and requirements. But how can this be achieved when teams are geographically distributed and functionally isolated, failing to communicate with each other in a timely, clear, consistent manner? The IBM Rational RequisitePro solution addresses this need.
Rational RequisitePro is an easy to use requirements management tool that lets team's author and share their requirements using familiar document-based methods while leveraging database-enabled capabilities such as requirements traceability and impact analysis. The result is better communication and management of requirements with the increased likelihood of completing projects on time, within budget and above expectations. Successful projects start with requirements management - the more effective the execution, the greater the resulting quality and customer satisfaction.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
IBM Rational PurifyPlus
IBM Rational PurifyPlus
IBM® Rational® PurifyPlus™ is an award-winning dynamic analysis solution designed to help developers write faster, more reliable code. It includes four basic capabilities packaged into a single product: 1) Memory debugging (identifies memory blocks that no longer have a valid pointer), 2) Memory leak detection (identifies memory blocks that no longer have a valid pointer), 3) Performance profiling: (highlights application performance bottlenecks and improves application understanding with a graphical representation of function calls) and 4) Code coverage (identifies untested code with line-level precision). PurifyPlus is supported on Windows, Linux, Solaris, AIX and HP-UX.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
IBM® Rational® PurifyPlus™ is an award-winning dynamic analysis solution designed to help developers write faster, more reliable code. It includes four basic capabilities packaged into a single product: 1) Memory debugging (identifies memory blocks that no longer have a valid pointer), 2) Memory leak detection (identifies memory blocks that no longer have a valid pointer), 3) Performance profiling: (highlights application performance bottlenecks and improves application understanding with a graphical representation of function calls) and 4) Code coverage (identifies untested code with line-level precision). PurifyPlus is supported on Windows, Linux, Solaris, AIX and HP-UX.
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
IBM Rational Performance Tester
IBM Rational Performance Tester
Performance Tester is a multi-user load testing and performance testing tool for validating Web application scalability.
Creates, executes and analyzes tests to validate the reliability of complex e-business applications.
* Provides no code testing, point and click wizards, report readability, usability and customization
* Delivers both high-level and detailed views of tests with a rich, tree-based text editor
* Performs capacity planning tests to ensure optimal investment in hardware and IT infrastructure.
* Delivers automatic identification and support for dynamic server responses
* Enables large, multi-user tests with minimal hardware resources.
* Diagnoses the root cause of performance bottlenecks by quickly identifying slow performing lines of code and integrates with Tivoli® composite application management solutions to identify the source of production performance problems.
Supports HTTP, Siebel, SAP®, SIP, Entrust, Citrix and SOA/Web Services Supports Windows, Linux and z/OS as distributed
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Performance Tester is a multi-user load testing and performance testing tool for validating Web application scalability.
Creates, executes and analyzes tests to validate the reliability of complex e-business applications.
* Provides no code testing, point and click wizards, report readability, usability and customization
* Delivers both high-level and detailed views of tests with a rich, tree-based text editor
* Performs capacity planning tests to ensure optimal investment in hardware and IT infrastructure.
* Delivers automatic identification and support for dynamic server responses
* Enables large, multi-user tests with minimal hardware resources.
* Diagnoses the root cause of performance bottlenecks by quickly identifying slow performing lines of code and integrates with Tivoli® composite application management solutions to identify the source of production performance problems.
Supports HTTP, Siebel, SAP®, SIP, Entrust, Citrix and SOA/Web Services Supports Windows, Linux and z/OS as distributed
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
IBM Rational Manual Tester
IBM Rational Manual Tester
A manual test authoring and execution tool for testers and business analysts who want to improve the speed, breadth, and reliability of their manual testing efforts.
Rational® Manual Tester is a manual test authoring and execution tool that improves testing quality.
Test authoring and execution tool to improve speed, breadth, and reliability of manual testing. Enables content sharing across distributed test sites, and promotes reuse.
o Provides manual test authoring and execution for testers and domain specialists to improve the speed, breadth, and reliability of their manual testing efforts.
o Promotes reuse of test steps to reduce the impact of software change on manual test maintenance activities.
o Improves productivity by allowing users to define and select keywords for tasks common to multiple tests.
o Leverages automated keywords from Rational Functional Tester for more efficient and accurate test execution.
o Improve test coverage with data driven tests
o Seamless integration with Rational ClearQuest which enables the submission of defects during creation, execution, and during post execution analysis directly to ClearQuest from Manual Tester shell.
o Offers assisted data entry and verification during test execution to reduce human error.
o Operating systems supported: Windows
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
A manual test authoring and execution tool for testers and business analysts who want to improve the speed, breadth, and reliability of their manual testing efforts.
Rational® Manual Tester is a manual test authoring and execution tool that improves testing quality.
Test authoring and execution tool to improve speed, breadth, and reliability of manual testing. Enables content sharing across distributed test sites, and promotes reuse.
o Provides manual test authoring and execution for testers and domain specialists to improve the speed, breadth, and reliability of their manual testing efforts.
o Promotes reuse of test steps to reduce the impact of software change on manual test maintenance activities.
o Improves productivity by allowing users to define and select keywords for tasks common to multiple tests.
o Leverages automated keywords from Rational Functional Tester for more efficient and accurate test execution.
o Improve test coverage with data driven tests
o Seamless integration with Rational ClearQuest which enables the submission of defects during creation, execution, and during post execution analysis directly to ClearQuest from Manual Tester shell.
o Offers assisted data entry and verification during test execution to reduce human error.
o Operating systems supported: Windows
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
IBM Rational Functional Tester
IBM Rational Functional Tester
Rational® Functional Tester is an automated, functional testing and regression testing tool.
Provides testers with automated testing capabilities for functional testing, regression testing, GUI testing and data-driven testing.
* Provides testers with automated capabilities for data-driven and keyword testing
* Offers testers a choice of scripting language and industrial-strength editor: Java in Eclipse® or Microsoft® Visual Basic .NET® in Visual Studio .NET - for test authoring and customization
* Supports custom controls through proxy SDK (Java/.Net)
* Provides definition and creation of automated keywords that can be leveraged by both manual and automated functional tests
* Includes ScriptAssure™ technology and pattern-matching capabilities to improve test script resiliency for frequent application user interface changes
* Supports version control to enable parallel development of test scripts and concurrent usage by geographically distributed teams
* Provides automated testing, functional testing, and regression testing of Web-based. .Net, Java, 3270 (zSeries™) and 5250 (iSeries™), Siebel, and SAP ®applications
Operating systems supported: Linux
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Rational® Functional Tester is an automated, functional testing and regression testing tool.
Provides testers with automated testing capabilities for functional testing, regression testing, GUI testing and data-driven testing.
* Provides testers with automated capabilities for data-driven and keyword testing
* Offers testers a choice of scripting language and industrial-strength editor: Java in Eclipse® or Microsoft® Visual Basic .NET® in Visual Studio .NET - for test authoring and customization
* Supports custom controls through proxy SDK (Java/.Net)
* Provides definition and creation of automated keywords that can be leveraged by both manual and automated functional tests
* Includes ScriptAssure™ technology and pattern-matching capabilities to improve test script resiliency for frequent application user interface changes
* Supports version control to enable parallel development of test scripts and concurrent usage by geographically distributed teams
* Provides automated testing, functional testing, and regression testing of Web-based. .Net, Java, 3270 (zSeries™) and 5250 (iSeries™), Siebel, and SAP ®applications
Operating systems supported: Linux
http://www.qacampus.com
http://www.crestech.in
http://www.crestechsoftware.com.au
Tuesday, January 6, 2009
Glossary - M (part 1)
Metric: A standard of measurement. Software metrics are the statistics describing the structure or content of a program. A metric should be a real objective measurement of something such as number of bugs per lines of code.
Monkey Testing: Testing a system or an Application on the fly, i.e just few tests here and there to ensure the system or an application does not crash out.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Monkey Testing: Testing a system or an Application on the fly, i.e just few tests here and there to ensure the system or an application does not crash out.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - M (part 1)
Metric: A standard of measurement. Software metrics are the statistics describing the structure or content of a program. A metric should be a real objective measurement of something such as number of bugs per lines of code.
Monkey Testing: Testing a system or an Application on the fly, i.e just few tests here and there to ensure the system or an application does not crash out.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Monkey Testing: Testing a system or an Application on the fly, i.e just few tests here and there to ensure the system or an application does not crash out.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - L (part 1)
Load Testing: See Performance Testing.
Localization Testing: This term refers to making software specifically designed for a specific locality.
Loop Testing: A white box testing technique that exercises program loops.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Localization Testing: This term refers to making software specifically designed for a specific locality.
Loop Testing: A white box testing technique that exercises program loops.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - I (part 1)
Independent Test Group (ITG): A group of people whose primary responsibility is software testing,
Inspection: A group review quality improvement process for written material. It consists of two aspects; product (document itself) improvement and process improvement (of both document production and inspection).
Integration Testing: Testing of combined parts of an application to determine if they function together correctly. Usually performed after unit and functional testing. This type of testing is especially relevant to client/server and distributed systems.
Installation Testing: Confirms that the application under test recovers from expected or unexpected events without loss of data or functionality. Events can include shortage of disk space, unexpected loss of communication, or power out conditions.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Inspection: A group review quality improvement process for written material. It consists of two aspects; product (document itself) improvement and process improvement (of both document production and inspection).
Integration Testing: Testing of combined parts of an application to determine if they function together correctly. Usually performed after unit and functional testing. This type of testing is especially relevant to client/server and distributed systems.
Installation Testing: Confirms that the application under test recovers from expected or unexpected events without loss of data or functionality. Events can include shortage of disk space, unexpected loss of communication, or power out conditions.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - H (part 1)
High Order Tests: Black-box tests conducted once the software has been integrated.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - H (part 1)
High Order Tests: Black-box tests conducted once the software has been integrated.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - G (part 1)
Glass Box Testing: A synonym for White Box Testing.
Gorilla Testing: Testing one particular module,functionality heavily.
Gray Box Testing: A combination of Black Box and White Box testing methodologies: testing a piece of software against its specification but using some knowledge of its internal workings.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Gorilla Testing: Testing one particular module,functionality heavily.
Gray Box Testing: A combination of Black Box and White Box testing methodologies: testing a piece of software against its specification but using some knowledge of its internal workings.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - G (part 1)
Glass Box Testing: A synonym for White Box Testing.
Gorilla Testing: Testing one particular module,functionality heavily.
Gray Box Testing: A combination of Black Box and White Box testing methodologies: testing a piece of software against its specification but using some knowledge of its internal workings.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Gorilla Testing: Testing one particular module,functionality heavily.
Gray Box Testing: A combination of Black Box and White Box testing methodologies: testing a piece of software against its specification but using some knowledge of its internal workings.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - F (part 1)
Emulator: A device, computer program, or system that accepts the same inputs and produces the same outputs as a given system.
Endurance Testing: Checks for memory leaks or other problems that may occur with prolonged execution.
End-to-End testing: Testing a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
Equivalence Class: A portion of a component's input or output domains for which the component's behaviour is assumed to be the same from the component's specification.
Equivalence Partitioning: A test case design technique for a component in which test cases are designed to execute representatives from equivalence classes.
Exhaustive Testing: Testing which covers all combinations of input values and preconditions for an element of the software under test.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Endurance Testing: Checks for memory leaks or other problems that may occur with prolonged execution.
End-to-End testing: Testing a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
Equivalence Class: A portion of a component's input or output domains for which the component's behaviour is assumed to be the same from the component's specification.
Equivalence Partitioning: A test case design technique for a component in which test cases are designed to execute representatives from equivalence classes.
Exhaustive Testing: Testing which covers all combinations of input values and preconditions for an element of the software under test.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - E (part 1)
Emulator: A device, computer program, or system that accepts the same inputs and produces the same outputs as a given system.
Endurance Testing: Checks for memory leaks or other problems that may occur with prolonged execution.
End-to-End testing: Testing a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
Equivalence Class: A portion of a component's input or output domains for which the component's behaviour is assumed to be the same from the component's specification.
Equivalence Partitioning: A test case design technique for a component in which test cases are designed to execute representatives from equivalence classes.
Exhaustive Testing: Testing which covers all combinations of input values and preconditions for an element of the software under test.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Endurance Testing: Checks for memory leaks or other problems that may occur with prolonged execution.
End-to-End testing: Testing a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
Equivalence Class: A portion of a component's input or output domains for which the component's behaviour is assumed to be the same from the component's specification.
Equivalence Partitioning: A test case design technique for a component in which test cases are designed to execute representatives from equivalence classes.
Exhaustive Testing: Testing which covers all combinations of input values and preconditions for an element of the software under test.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - D (part 1)
Data Dictionary: A database that contains definitions of all data items defined during analysis.
Data Flow Diagram: A modeling notation that represents a functional decomposition of a system.
Data Driven Testing: Testing in which the action of a test case is parameterized by externally defined data values, maintained as a file or spreadsheet. A common technique in Automated Testing.
Debugging: The process of finding and removing the causes of software failures.
Defect: Nonconformance to requirements or functional / program specification
Dependency Testing: Examines an application's requirements for pre-existing software, initial states and configuration in order to maintain proper functionality.
Depth Testing: A test that exercises a feature of a product in full detail.
Dynamic Testing: Testing software through executing it. See also Static Testing.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Data Flow Diagram: A modeling notation that represents a functional decomposition of a system.
Data Driven Testing: Testing in which the action of a test case is parameterized by externally defined data values, maintained as a file or spreadsheet. A common technique in Automated Testing.
Debugging: The process of finding and removing the causes of software failures.
Defect: Nonconformance to requirements or functional / program specification
Dependency Testing: Examines an application's requirements for pre-existing software, initial states and configuration in order to maintain proper functionality.
Depth Testing: A test that exercises a feature of a product in full detail.
Dynamic Testing: Testing software through executing it. See also Static Testing.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - D (part 1)
Data Dictionary: A database that contains definitions of all data items defined during analysis.
Data Flow Diagram: A modeling notation that represents a functional decomposition of a system.
Data Driven Testing: Testing in which the action of a test case is parameterized by externally defined data values, maintained as a file or spreadsheet. A common technique in Automated Testing.
Debugging: The process of finding and removing the causes of software failures.
Defect: Nonconformance to requirements or functional / program specification
Dependency Testing: Examines an application's requirements for pre-existing software, initial states and configuration in order to maintain proper functionality.
Depth Testing: A test that exercises a feature of a product in full detail.
Dynamic Testing: Testing software through executing it. See also Static Testing.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Data Flow Diagram: A modeling notation that represents a functional decomposition of a system.
Data Driven Testing: Testing in which the action of a test case is parameterized by externally defined data values, maintained as a file or spreadsheet. A common technique in Automated Testing.
Debugging: The process of finding and removing the causes of software failures.
Defect: Nonconformance to requirements or functional / program specification
Dependency Testing: Examines an application's requirements for pre-existing software, initial states and configuration in order to maintain proper functionality.
Depth Testing: A test that exercises a feature of a product in full detail.
Dynamic Testing: Testing software through executing it. See also Static Testing.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - C (part 1)
CAST: Computer Aided Software Testing.
Capture/Replay Tool: A test tool that records test input as it is sent to the software under test. The input cases stored can then be used to reproduce the test at a later time. Most commonly applied to GUI test tools.
CMM: The Capability Maturity Model for Software (CMM or SW-CMM) is a model for judging the maturity of the software processes of an organization and for identifying the key practices that are required to increase the maturity of these processes.
Cause Effect Graph: A graphical representation of inputs and the associated outputs effects which can be used to design test cases.
Code Complete: Phase of development where functionality is implemented in entirety; bug fixes are all that are left. All functions found in the Functional Specifications have been implemented.
Code Coverage: An analysis method that determines which parts of the software have been executed (covered) by the test case suite and which parts have not been executed and therefore may require additional attention.
Code Inspection: A formal testing technique where the programmer reviews source code with a group who ask questions analyzing the program logic, analyzing the code with respect to a checklist of historically common programming errors, and analyzing its compliance with coding standards.
Code Walkthrough: A formal testing technique where source code is traced by a group with a small set of test cases, while the state of program variables is manually monitored, to analyze the programmer's logic and assumptions.
Coding: The generation of source code.
Compatibility Testing: Testing whether software is compatible with other elements of a system with which it should operate, e.g. browsers, Operating Systems, or hardware.
Component: A minimal software item for which a separate specification is available.
Component Testing: See Unit Testing.
Concurrency Testing: Multi-user testing geared towards determining the effects of accessing the same application code, module or database records. Identifies and measures the level of locking, deadlocking and use of single-threaded code and locking semaphores.
Conformance Testing: The process of testing that an implementation conforms to the specification on which it is based. Usually applied to testing conformance to a formal standard.
Context Driven Testing: The context-driven school of software testing is flavor of Agile Testing that advocates continuous and creative evaluation of testing opportunities in light of the potential information revealed and the value of that information to the organization right now.
Conversion Testing: Testing of programs or procedures used to convert data from existing systems for use in replacement systems.
Cyclomatic Complexity: A measure of the logical complexity of an algorithm, used in white-box testing.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Capture/Replay Tool: A test tool that records test input as it is sent to the software under test. The input cases stored can then be used to reproduce the test at a later time. Most commonly applied to GUI test tools.
CMM: The Capability Maturity Model for Software (CMM or SW-CMM) is a model for judging the maturity of the software processes of an organization and for identifying the key practices that are required to increase the maturity of these processes.
Cause Effect Graph: A graphical representation of inputs and the associated outputs effects which can be used to design test cases.
Code Complete: Phase of development where functionality is implemented in entirety; bug fixes are all that are left. All functions found in the Functional Specifications have been implemented.
Code Coverage: An analysis method that determines which parts of the software have been executed (covered) by the test case suite and which parts have not been executed and therefore may require additional attention.
Code Inspection: A formal testing technique where the programmer reviews source code with a group who ask questions analyzing the program logic, analyzing the code with respect to a checklist of historically common programming errors, and analyzing its compliance with coding standards.
Code Walkthrough: A formal testing technique where source code is traced by a group with a small set of test cases, while the state of program variables is manually monitored, to analyze the programmer's logic and assumptions.
Coding: The generation of source code.
Compatibility Testing: Testing whether software is compatible with other elements of a system with which it should operate, e.g. browsers, Operating Systems, or hardware.
Component: A minimal software item for which a separate specification is available.
Component Testing: See Unit Testing.
Concurrency Testing: Multi-user testing geared towards determining the effects of accessing the same application code, module or database records. Identifies and measures the level of locking, deadlocking and use of single-threaded code and locking semaphores.
Conformance Testing: The process of testing that an implementation conforms to the specification on which it is based. Usually applied to testing conformance to a formal standard.
Context Driven Testing: The context-driven school of software testing is flavor of Agile Testing that advocates continuous and creative evaluation of testing opportunities in light of the potential information revealed and the value of that information to the organization right now.
Conversion Testing: Testing of programs or procedures used to convert data from existing systems for use in replacement systems.
Cyclomatic Complexity: A measure of the logical complexity of an algorithm, used in white-box testing.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - B (part 1)
B
Backus-Naur Form: A metalanguage used to formally describe the syntax of a language.
Basic Block: A sequence of one or more consecutive, executable statements containing no branches.
Basis Path Testing: A white box test case design technique that uses the algorithmic flow of the program to design tests.
Basis Set: The set of tests derived using basis path testing.
Baseline: The point at which some deliverable produced during the software engineering process is put under formal change control.
Benchmark Testing: Tests that use representative sets of programs and data designed to evaluate the performance of computer hardware and software in a given configuration.
Beta Testing: Testing of a rerelease of a software product conducted by customers.
Binary Portability Testing: Testing an executable application for portability across system platforms and environments, usually for conformation to an ABI specification.
Black Box Testing: Testing based on an analysis of the specification of a piece of software without reference to its internal workings. The goal is to test how well the component conforms to the published requirements for the component.
Bottom Up Testing: An approach to integration testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.
Boundary Testing: Test which focus on the boundary or limit conditions of the software being tested. (Some of these tests are stress tests).
Bug: A fault in a program which causes the program to perform in an unintended or unanticipated manner.
Boundary Value Analysis: BVA is similar to Equivalence Partitioning but focuses on "corner cases" or values that are usually out of range as defined by the specification. his means that if a function expects all values in range of negative 100 to positive 1000, test inputs would include negative 101 and positive 1001.
Branch Testing: Testing in which all branches in the program source code are tested at least once.
Breadth Testing: A test suite that exercises the full functionality of a product but does not test features in detail.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Backus-Naur Form: A metalanguage used to formally describe the syntax of a language.
Basic Block: A sequence of one or more consecutive, executable statements containing no branches.
Basis Path Testing: A white box test case design technique that uses the algorithmic flow of the program to design tests.
Basis Set: The set of tests derived using basis path testing.
Baseline: The point at which some deliverable produced during the software engineering process is put under formal change control.
Benchmark Testing: Tests that use representative sets of programs and data designed to evaluate the performance of computer hardware and software in a given configuration.
Beta Testing: Testing of a rerelease of a software product conducted by customers.
Binary Portability Testing: Testing an executable application for portability across system platforms and environments, usually for conformation to an ABI specification.
Black Box Testing: Testing based on an analysis of the specification of a piece of software without reference to its internal workings. The goal is to test how well the component conforms to the published requirements for the component.
Bottom Up Testing: An approach to integration testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.
Boundary Testing: Test which focus on the boundary or limit conditions of the software being tested. (Some of these tests are stress tests).
Bug: A fault in a program which causes the program to perform in an unintended or unanticipated manner.
Boundary Value Analysis: BVA is similar to Equivalence Partitioning but focuses on "corner cases" or values that are usually out of range as defined by the specification. his means that if a function expects all values in range of negative 100 to positive 1000, test inputs would include negative 101 and positive 1001.
Branch Testing: Testing in which all branches in the program source code are tested at least once.
Breadth Testing: A test suite that exercises the full functionality of a product but does not test features in detail.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Glossary - B (part 1)
B
Backus-Naur Form: A metalanguage used to formally describe the syntax of a language.
Basic Block: A sequence of one or more consecutive, executable statements containing no branches.
Basis Path Testing: A white box test case design technique that uses the algorithmic flow of the program to design tests.
Basis Set: The set of tests derived using basis path testing.
Baseline: The point at which some deliverable produced during the software engineering process is put under formal change control.
Benchmark Testing: Tests that use representative sets of programs and data designed to evaluate the performance of computer hardware and software in a given configuration.
Beta Testing: Testing of a rerelease of a software product conducted by customers.
Binary Portability Testing: Testing an executable application for portability across system platforms and environments, usually for conformation to an ABI specification.
Black Box Testing: Testing based on an analysis of the specification of a piece of software without reference to its internal workings. The goal is to test how well the component conforms to the published requirements for the component.
Bottom Up Testing: An approach to integration testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.
Boundary Testing: Test which focus on the boundary or limit conditions of the software being tested. (Some of these tests are stress tests).
Bug: A fault in a program which causes the program to perform in an unintended or unanticipated manner.
Boundary Value Analysis: BVA is similar to Equivalence Partitioning but focuses on "corner cases" or values that are usually out of range as defined by the specification. his means that if a function expects all values in range of negative 100 to positive 1000, test inputs would include negative 101 and positive 1001.
Branch Testing: Testing in which all branches in the program source code are tested at least once.
Breadth Testing: A test suite that exercises the full functionality of a product but does not test features in detail.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Backus-Naur Form: A metalanguage used to formally describe the syntax of a language.
Basic Block: A sequence of one or more consecutive, executable statements containing no branches.
Basis Path Testing: A white box test case design technique that uses the algorithmic flow of the program to design tests.
Basis Set: The set of tests derived using basis path testing.
Baseline: The point at which some deliverable produced during the software engineering process is put under formal change control.
Benchmark Testing: Tests that use representative sets of programs and data designed to evaluate the performance of computer hardware and software in a given configuration.
Beta Testing: Testing of a rerelease of a software product conducted by customers.
Binary Portability Testing: Testing an executable application for portability across system platforms and environments, usually for conformation to an ABI specification.
Black Box Testing: Testing based on an analysis of the specification of a piece of software without reference to its internal workings. The goal is to test how well the component conforms to the published requirements for the component.
Bottom Up Testing: An approach to integration testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.
Boundary Testing: Test which focus on the boundary or limit conditions of the software being tested. (Some of these tests are stress tests).
Bug: A fault in a program which causes the program to perform in an unintended or unanticipated manner.
Boundary Value Analysis: BVA is similar to Equivalence Partitioning but focuses on "corner cases" or values that are usually out of range as defined by the specification. his means that if a function expects all values in range of negative 100 to positive 1000, test inputs would include negative 101 and positive 1001.
Branch Testing: Testing in which all branches in the program source code are tested at least once.
Breadth Testing: A test suite that exercises the full functionality of a product but does not test features in detail.
Software Testing Training
Our Software Testing Partner
Software testing institute
For More Visit Site
http://www.qacampus.com
For discussion FORUM
http://www.qacampus.com/forum/index.php
Subscribe to:
Posts (Atom)