Posted by Albert Gareev on May 04, 2017
It certainly does help testers to understand code and be able to code on their own. So I welcome “coding kata” movement. In fact, I can recommend some good ones, like Coding Games. Not only to testers and wanna be programmers, also to teenagers and their parents. Exercises in a context, presented in a spectacular […] ...
Posted by Albert Gareev on Sep 23, 2010
To be master of any branch of knowledge, you must master those which lie next to it; and thus to know anything you must know all. Oliver Wendell Holmes, Jr. I have not failed. I’ve just found 10,000 ways that won’t work. Thomas Edison Training and coaching is often a part of my job in automation. […] ...
Posted by Albert Gareev on Jul 05, 2010
“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 […] ...
Posted by Albert Gareev on Jun 24, 2010
“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 […] ...
Posted by Albert Gareev on Jun 15, 2010
“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 […] ...
Posted by Albert Gareev on Jun 08, 2010
“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 […] ...
Posted by Albert Gareev on Apr 06, 2010
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 […] ...
Posted by Albert Gareev on Mar 30, 2010
Studying programming through record/playback sometimes results in a really weird code. What is wrong with Matryoshka Programming? ...
Posted by Albert Gareev on Nov 16, 2008
Continuing previous post, I explore Object-Oriented Programming with VBScript. Now I want to take a closer look at inheritance and practice its workaround, called delegation. Delegator Class example As you can see, ScreenPoint class has Point2D property. When initialized, it refers to Point2D object. Note, that ScreenPoint class does not have X or Y properties, […] ...
Posted by Albert Gareev on Nov 15, 2008
As I recently wrote, VBScript supports Object-Oriented Programming. However, we have to get used to certain limitations. Let’s start with an example of a corner stone principle – encapsulation. Class declaration example As you can see, Point2D class I defined, has two private properties. To access the properties outside of the class, I defined a pair […] ...
Posted by Albert Gareev on Jul 12, 2007
Variables and Namespace I’ve recently had a noticeable conversation explaining a junior colleague of mine about local variables in hierarchy of calls, namespace and scope, and how this concept aligns with Object-Oriented Programming, dynamically created / released object instances, in particular. Below is the scheme I ended with. Lifespan of objects If lifespan of a variable is defined by […] ...
Posted by Albert Gareev on Jan 22, 2007
…On hard-coding of test data, continued Parameterization is a structured programming approach Starting with example. Such a function is useless when you need to sum numbers different than 2 and 3. Now let’s apply mapping. It is a little bit better, but we still have to change the source code and restart the script, if […] ...
Posted by Albert Gareev on Jan 20, 2007
Hard-coding – storing data within the code A printed document is called “hard copy”, while its electronic version is “soft”. We can easily apply a change on a soft copy. And yet the code, compiled and assembled into an application, while stored electronically, is a “hard” copy too. Applying changes to it is almost an […] ...