Tuesday, May 19, 2009

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

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

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

Wednesday, April 1, 2009

XML Testing

This course is designed to provide software testing and quality assurance professionals with the knowledge necessary to plan, design and execute tests for applications that involve XML technologies. It covers the basics of XML, its implementation to support application programming interfaces and specifically web services, ways to validate the format and the contents of XML messages and methods to test XML-based applications.

Prerequisites:
• The principal vocabulary of XML technologies
• Fundamentals of XML files, Document Type model and XML schema
• Definition and applications of Web Services
• Basics of the Web Services Description Language (WSDL)
• XML validation: the meaning of Well-formed and Valid XML
• Common tools for XML validation
• Methods of testing XML-based applications
• Where to look for additional resources
What the course is about :
o Scope: what do we cover in depth, what do we glance over, what we do not cover
o Goals: what will we learn
o Administrative items
• XML Basics
o Markup languages
o XML vs HTML
o XML elements and attributes
o Document Type model
o XML schema
• Web Services
o Web services as a ubiquitous form of the application programming Interface
o Offering and consuming web services
o Web Services Definition language (WSDL)
• Testing XML
o Validating XML
? Well-formed XML
? Valid XML
? XML validators
o Testing XML-based applications
? Accessing applications through XML web services
? Analyzing results
? Where the defects lurk, or where XML break

Software Testing Training

Our Software Testing Partner
Software testing institute

Outsource Testing Services in Australiya

For More Visit Site
http://www.qacampus.com

For discussion FORUM
http://www.qacampus.com/forum/index.php

Test Management

This Three-day course focuses on Training on Test management Concepts, Testing Specialization, testing phases and plans, test Bed Automation, test metrices like Web, Security and Database Testing , Automation Management, process and Framework Design.
Intended Audience:

This training is being designed to meet the requirements of Team leads, Test Managers, Project Managers and all other senior management staff who are all in the designation of Project Managers and above. Also, the experienced software testers, test/QA engineers, test/QA managers and project managers who will be planning, managing, and executing the testing of Software Applications.
Course outline :
• Introduction to Testing
• Test Strategies
• Requirements Management and Test
• UML and Testing
• Testing Types/Phases
• Creating & Maintaining a Test Bed
• Code Testing
• Testing in Distributed Environments
• Web Testing
• Test Automation
• Test Metrics
• The Master Test Plan
• Test Completion
• Review
• Testing and Lifecycles
• Introducing a Test Culture
• Further Information
• References
• Information on where to research on Testing

Software Testing Training

Our Software Testing Partner
Software testing institute

Outsource Testing Services in Australiya

For More Visit Site
http://www.qacampus.com

For discussion FORUM
http://www.qacampus.com/forum/index.php

Security Testing Services

Introduction:

Over recent times there have been a number of highly public attacks on well-known corporations via their web applications. While many companies focus intensely on security of their networks, through facilities such as firewalls and encryption technology, they often leave their deployed web application quite vulnerable to attack through their choice of architecture, design and implementation. Frequently web applications are prone to simple exploits which could be easily prevented through better input validation
Course Prerequisites:
This course assumes an understanding of Web applications vulnerabilities. SANS SEC519/SEC419 course (Web Application Security Workshop) or equivalent is highly recommended.
Intended Audience:

This course is appropriate for testing, QA, and software development practitioners who are responsible for developing and executing test strategies and plans for functional and non-functional security requirements. This course requires an ability to understand security risk patterns used by attackers. Participants should be comfortable reviewing code as part of their testing activities.
Course Objectives :
After taking course u should be able to :
This course provides an overview of testing concerns relating to security of web applications. The course covers a number of facets of web security, including :
• Planning security testing
• Risk avoidance and containment
• Network and system security
• Server-side application vulnerabilities and test techniques
• Client-side application vulnerabilities and test techniques
Course outline :
• Introduction
o What is computer Security?
o Test types and their effect on application security
• Computer Security Concepts
• Test strategy and planning
• Test design for application security testing
• A survey of testing tools (IBM Watch-fire and HP Web Inspect) and resources

Software Testing Training

Our Software Testing Partner
Software testing institute

Outsource Testing Services in Australiya

For More Visit Site
http://www.qacampus.com

For discussion FORUM
http://www.qacampus.com/forum/index.php

Performance Concepts

Course outline:
1. Overview of Performance Testing
2. Performance Testing Life Cycle
3. Types of Performance Testing
4. Performance Goals
5. Effort Estimation for Performance Testing
6. Simulating Realistic scenarios for Load Testing Web Sites
7. Client Side emulations while conducting load tests
8. Administering Load Tests
9. Performance Monitoring and Tuning
10. Locating Performance Bottlenecks
11. Performance Testing Tools
12. Sample Performance Test Plan
13. Sample Performance Report

Software Testing Training

Our Software Testing Partner
Software testing institute

Outsource Testing Services in Australiya

For More Visit Site
http://www.qacampus.com

For discussion FORUM
http://www.qacampus.com/forum/index.php