preload

1-N Comparison: isValueInSet

Posted by Albert Gareev on Jul 29, 2010
0
Reference Page: Comparison Rules Automatic Comparison Rules Relationship: One-to-Many / Rule: Is Value In Set Definitions Supported data types: String, Number, Date Supported data structures: Scalar, Vector Comparison of values of different data types always returns False. Comparison of values of unsupported data types always returns False. Scalar data structure is presented by any single […] ...

1-N Comparison: isValueInRange

Posted by Albert Gareev on Jul 27, 2010
1
Reference Page: Comparison Rules Automatic Comparison Rules Relationship: One-to-Many / Rule: Is Value In Range Definitions Supported data types: String, Number, Date Supported data structures: Scalar, Vector Comparison of values of different data types always returns False. Comparison of values of unsupported data types always returns False. Scalar data structure is presented by any single value.  […] ...

1-1 Comparison: MatchIn / MatchFor

Posted by Albert Gareev on Jul 23, 2010
0
Reference Page: Comparison Rules Automatic Comparison Rules Relationship: One-to-One / Match In String / Match For String Definitions Supported data types: String, Regular Expression  1. Match in String First argument – base string; second argument – substring / regular expression. 2. Match for String First argument – substring / regular expression; second argument – base […] ...

1-1 Comparison: isValueEqualOrGreater

Posted by Albert Gareev on Jul 21, 2010
0
 Reference Page: Comparison Rules Automatic Comparison Rules Relationship: One-to-One / Rule: Is Value Equal Or Greater Definitions Supported data types: String, Number, Date Comparison of values of different data types always returns False. Comparison of values of unsupported data types always returns False. Data type: String Strings are compared based on total length and encoding […] ...

1-1 Comparison: isValueGreater

Posted by Albert Gareev on Jul 19, 2010
2
Reference Page: Comparison Rules Automatic Comparison Rules Relationship: One-to-One / Rule: Is Value Greater Definitions Supported data types: String, Number, Date Comparison of values of different data types always returns False. Comparison of values of unsupported data types always returns False. Data type: String Strings are compared based on total length and encoding of each […] ...

1-1 Comparison: isValueEqualOrLess

Posted by Albert Gareev on Jul 16, 2010
0
Reference Page: Comparison Rules Automatic Comparison Rules Relationship: One-to-One / Rule: Is Value Equal Or Less Definitions Supported data types: String, Number, Date Comparison of values of different data types always returns False. Comparison of values of unsupported data types always returns False. Data type: String Strings are compared based on total length and encoding […] ...

1-1 Comparison: isValueLess

Posted by Albert Gareev on Jul 14, 2010
0
Reference Page: Comparison Rules Automatic Comparison Rules Relationship: One-to-One / Rule: Is Value Less Definitions Supported data types: String, Number, Date Comparison of values of different data types always returns False. Comparison of values of unsupported data types always returns False. Data type: String Strings are compared based on total length and encoding of each […] ...

1-1 Comparison: isValueEqual

Posted by Albert Gareev on Jul 12, 2010
0
Reference Page: Comparison Rules Automatic Comparison Rules Relationship: One-to-One / Rule: Is Value Equal Definitions Supported data types: String, Number, Date Values of different data types are considered unequal. Values of unsupported data types are considered unequal. Data type: String Strings are compared based on total length and encoding of each character. Two strings are […] ...

My refactoring heuristics (4)

Posted by Albert Gareev on Jul 05, 2010
0
“Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less […] ...

My refactoring heuristics (3)

Posted by Albert Gareev on Jun 24, 2010
0
“Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less […] ...

My refactoring heuristics (2)

Posted by Albert Gareev on Jun 15, 2010
0
“Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less […] ...

My refactoring heuristics (1)

Posted by Albert Gareev on Jun 08, 2010
0
“Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. Its heart is a series of small behavior preserving transformations. Each transformation (called a ‘refactoring’) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less likely […] ...

Peeling an Onion Code

Posted by Albert Gareev on Apr 06, 2010
1
Peeling an Onion Code In my previous post I presented code structure looking like layers of an onion. In this post I’m exploring ways to transform it to structures that have much less drawback while performing same (or richer) functionalities. Let’s begin from the very first issue: readability of an Onion Code. Generally speaking, test steps are […] ...

Should we call it Matryoshka Programming or Onion Code?

Posted by Albert Gareev on Mar 30, 2010
1
Studying programming through record/playback sometimes results in a really weird code. What is wrong with Matryoshka Programming? ...

Not a Load Test Plan template

Posted by Albert Gareev on Mar 23, 2010
1
Do you know enough about your test environment when designing a Load Test plan? What can you do and what would you do to provide stakeholders with the most valuable information in the context and at the moment? How do you use their feedback in your testing work? ...

GUI object synchronization – custom function ...

Posted by Albert Gareev on Aug 20, 2009
0
Custom function implementing a more advanced synchronization point. The function will wait for the object to become existing and enabled, or to disappear (not existing). The maximum time to wait could be defined or taken by default. Used resources: Anti sleep function (QTP, VBScript, MercuryTimer, DeviceReplay) Service Functions – String (QTP, VBScript) ...

Anti sleep function (QTP, VBScript, MercuryTimer, ...

Posted by Albert Gareev on Aug 18, 2009
6
Sometimes a PC goes to sleep, launches screensaver or locks the desktop during a long synchronization periods or other GUI inactivity periods. Adding the function below makes the script periodically moving mouse to avoid breaking of the execution. Place the call to the function within your time-consuming loops and custom synchronization functions. To improve performance […] ...

QA Automation – GUI Function Wrapping

Posted by Albert Gareev on Jun 05, 2009
0
QA Automation – GUI Function Wrapping Some of the statements below will be covered in detail in my subsequent posts. Now I use them to get straight to Test Step requirements. Please read details below the picture. Quality Assurance Functional/Regression Automated Testing and Test Automation Requirements: Usability, Maintainability, Scalability, and Robustness. Let’s break them down […] ...

Managing Recovery Scenarios (QTP, VBScript)

Posted by Albert Gareev on Dec 16, 2008
0
As promised, I’m writing more detailed post on QTP Recovery Scenario management. Overview Exception / Event Handlers in QTP are declared as “Recovery Scenarios” through wizard dialogs and editable with Recovery Scenario Manager. All exception handlers must be added to test script to use them. Programmatically exception handlers are accessible through Recovery object. During run-time, exception handlers can […] ...

IDEF0 for Test Automation Design

Posted by Albert Gareev on Aug 10, 2008
0
What is it? IDEF0 is abbreviation for Integration Definitions for Functional Modeling [of Systems]. Zero means type of modeling. (IDEF0 – function modeling, IDEF1 – information modeling, IDEF2 – dynamics modeling). How it looks? Image courtesy: Wikipedia How it works?   Image courtesy: Berry College ...

Test Script Robustness

Posted by Albert Gareev on Dec 10, 2007
0
Robustness is the quality of being able to withstand stresses, pressures, or changes in procedure or circumstance. A system, organism or design may be said to be “robust” if it is capable of coping well with variations (sometimes unpredictable variations) in its operating environment with minimal damage, alteration or loss of functionality. wikipedia.org Test Script […] ...

Test Log Functions (WinRunner, TSL)

Posted by Albert Gareev on Nov 17, 2007
0
Reporting with WinRunner  built-in functions ...

Test Log Messages

Posted by Albert Gareev on Nov 15, 2007
0
Generic GUI object Desktop / Web Window Desktop / Web Table Desktop / Web Button Web GUI hyperlink Check box / Radio button Desktop / Web Edit Box (Input Box) Desktop / Web List Box / Combo Box Desktop Dropdown Menu ...

Synchronization in Test Automation

Posted by Albert Gareev on Oct 10, 2007
0
Synchronization in Test Automation What’s it about? As in regular, human-to-human conversation, it is important not to interrupt each other, and wait till a talker finishes a message, in human-to-program, and in program-to-program interaction, giving time is important. In conversation, we usually recognize end of a message by a pause in speech. In interaction with […] ...

Telling testing story

Posted by Albert Gareev on Sep 17, 2007
0
What to tell? In the previous post I gave an example of interesting fishing trip story. What makes it interesting? Details! And same about software testing: details is the most important thing. Automated testing script must report every little single thing to tester to provide as detailed picture as possible When to tell? While telling a […] ...

On importance of test log

Posted by Albert Gareev on Sep 15, 2007
0
Test Log or Test Results? Well, I’ve got to start from definitions. Traditionally, Test Results is a table, enlisting Test Cases along with PASS/FAIL status. While one might think that PASS/FAIL status is the only important information, for Testers is more important to know what have been covered. Unfortunately, Test Case has no such granularity […] ...

Close unused GUI maps

Posted by Albert Gareev on Jul 05, 2007
0
Maintaining an old messed up suite of WinRunner scripts? See how they call / use each other. Note if GUI map files are opened and never closed. Know that it’s a serious performance issue. Notice name duplication issue. Solve the problem by closing GUI maps and cleaning memory. ...

2-tier Test Automation Architecture – Advanced ...

Posted by Albert Gareev on Jun 23, 2007
0
2-tier Data-Driven Test Automation Architecture (WinRunner) – Advanced Reporting ...

2-tier Automation Architecture Functional Diagram

Posted by Albert Gareev on Jun 20, 2007
0
2-tier Data-Driven Test Automation Architecture (WinRunner) – Functional Diagram ...

Test Automation Architecture (WinRunner)

Posted by Albert Gareev on Jun 15, 2007
0
2-tier Data-Driven Test Automation Architecture (WinRunner) Business Components Business Components – Functions that implement a certain business-case testing specific functionality which is used by Test Scripts. Typically Business Components are contained within compiled modules; that allows re-using the implemented logic in a similar Test Scripts. Business Components may incorporate standard WinRunner TSL functions and Service […] ...
Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
This work by Albert Gareev is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported.