July 8, 2013

Macro Scheduler’s Resume

Filed under: Announcements, General — Marcus Tettmar @ 9:05 am

If Macro Scheduler was applying for a job?:

RESUME
Macro Scheduler

Tel UK: +44 (0)208 099 3431
Tel USA: +1 360 519 5383
Web: http://www.mjtnet.com/

Goals:

I seek work in any organisation doing almost anything you can do on a computer. I work really fast and you wouldn’t even know I was there. I can do anything a human can do and you don’t even need to pay me (apart from the small, initial license fee). I’ll even work 24 hours a day. My ambition is to make everyone’s lives easier by carrying out your mundane computer tasks and performing jobs at night when everyone else would rather be in bed. I can save your company a huge amount of money and free up your valuable time. My goal is to streamline your computing and improve your productivity.

Skill Sets:

Task automation, job scheduling, macro recording, automated software testing, web application automation, automated data entry, software installation streamlining, data retrieval and data consolidation, application integration, file transfers, simplification of complicated tasks, automation of data extraction and report generation, batch processing.

Education and Qualifications:

I learnt everything I know from my makers at MJT Net Ltd who are experts in software automation. They programmed me and gave me my powerful, easy to understand, scripting language and built the functionality that makes it easy to employ me for task automation. I am an expert in user interface scripting, Microsoft VBScript, OLE/ActiveX automation, GUI building, user simulation and computer control.

Summary of Work Experience:

I’ve worked in thousands of different companies world-wide. I can be cloned easily so I have actually worked at lots of different places at the same time. I’ve done Load Testing for JD Edwards and Motorola, Order Processing at Eastman Kodak, Software Installation for the US Environment Protection Agency, performance benchmarking for Pacejet and all sorts of amazing things for hundreds of other people. I’ve been employed by NASA, but I’m not allowed to tell you what I did there. I’ve been utilised by most of the Fortune 500, simplified front desk procedures in high street banks, automated sound file uploads for the BBC, automated play lists for Sirius Satellite Radio, helped with research projects in universities, and generally improved productivity for companies large and small around the world.

Examples of my Work:
Read Success Stories and Usage Scenarios here.

References:
You’ll find testimonials and references here.

July 3, 2013

From the Archives: How to Start Writing an Automation Script

Filed under: Automation — Marcus Tettmar @ 8:57 am

I’ve decided to go through the blog archives and find posts which are still useful today but might be a bit hidden away.

So to get started here’s a post from 2006 which offers some tips on getting started with writing your first automation script:

http://www.mjtnet.com/blog/2006/01/17/how-to-start-writing-an-automation-script/

June 20, 2013

Macro Scheduler 14.0.11 Available

Filed under: Announcements — Marcus Tettmar @ 10:39 am

Macro Scheduler 14.0.11 maintenance release is now available for download.

This is a recommended update. It fixes an important issue with the new image recognition engine which could cause a memory leak on some versions of Windows. It also includes some improvements for the Native IE (WebRecorder) functions.

History | Trial Downloads | Registered Downloads [Subscribers: Please use personal link emailed to you]

June 10, 2013

Script of the Month Winner – May 2013

Filed under: Announcements — Marcus Tettmar @ 9:14 am

Congratulations to CyberCitizen for winning Script of the Month for May 2013. The winning script was his rather ingenious case changer.

It was a tough choice, as we had to choose from some quite innovative scripts. But the deciding factor for us this month was how accessible this script is for all – beginners and experts alike!

We’ve been getting lots of interesting scripts posted to the forums.  Really fascinating to see all the great contributions. Please keep them coming and who knows, next month, it could be your name on a mug! Contest details here.

May 25, 2013

Test Plan Automation 101 – Macro Scheduler Style

Filed under: Automation, General, Testing — Antonius @ 10:18 am

This is a guest post by Antonius Momac and Jana Krawiec, QA Automation Analysts at Triple Point Technology.

“If you don’t know where you’re going, any road will take you there”

– George Harrison

The main questions to ask when considering automated software testing are: “Where do I start?”  and “Where is it that I want to go?”  If you spend too much time on the wrong path, you’re either going to fail or overspend on time and resources.  Therefore it’s a good idea to get a clear picture of how information systems (applications under test) work.  I don’t mean at the low-level of zeros and ones that are crunched by the CPU, but rather where human meets machine.

The fundamental to any software process is that there are three main parts:

the Input (start), the process (main action), and the output (end) .  From the input, some data is taken and changed by the process which generates the output; i.e. modified data.

As an automation engineer, the choice of what part of the process to automate is yours. Automate as much or as little as you see fit.  Think about your particular situation and what makes sense.  Do you automate the setup?  Or is it better to automate the steps of the test plan (the driver/autopilot) and/or the verification?  Better yet, all three, or just one of them?

We started with a manual test plan and fully automated it.  Simply because the Macro Scheduler scripting language is flexible enough to support automation from all approaches. Automating the setup, the input, the process (say clicking on a button, or some mouse actions), as well as the verification of the output and reporting went smoothly.  We created small scripts that were managed from a master script.  A full and complex four hour test plan was built.  Everything worked great until we put it to the action testing a new build. We discovered that our GUI is in constant flux, which caused major changes to wreak havoc on our automated scripts.  Real time maintenance of scripts was required, thereby slowing down the entire testing process.  Ironically, this is the exact opposite of what test automation is all about.

In the end, full automation didn’t work for us. Less technical minded testers were not interested nor capable of learning how to debug a failing script.  Moreover, with the introduction of new features and constant GUI changes, our major focus during testing went to maintenance of our automation routines instead of finding bugs in the new release. Knowing that we picked the best possible software for automation allowed us to start looking for alternative approaches.  We decided to bypass the GUI interaction and focus on the verification process, since we never experienced issues with it.  Before long, we were getting through the testplan faster by manual GUI interaction combined with the verification process. It allowed us to test the application quickly, accurately and in depth.  Once we got the best of both worlds, we decided to develop a tool that would handle the verification with minimal setup.  With this tool anybody could set it up and get right into regression testing and finding bugs faster.  It allows us to integrate automation into new test plans very quickly.

Let’s analyze a test plan of 156 US-Letter size pages in length to get a better understanding.  The Majority of the test plan, 125 pages (82.6%), are dedicated to verification or what we call a checkpoint.  Further breakdown of those 125 pages revealed that there is 1 verification process is being repeated 50+ times consuming 108 pages. Manual verification is tedious and time consuming. Automating this one repetitive process eliminates 70%(108 pages) of the entire test plan in one shot.

Best of all removing, adding or updating automated routines proves to be an efficient process. No need to reconstruct or redesigning existing scripts and routines, saving us plenty of valuable time with minimal maintenance. Clearly, this is the road anybody wants to be on when it comes to automating your test plan.

So when you’re thinking about automating your test plan, consider these three rules of thumb:

  • What needs to be automated – Any fixed and repetitive processes where automation will save time, and ensure accuracy.  Big wins equal huge time saving with little code.

  • What can be automated – depends on the tool you’re using, since Macro Scheduler can be used to automate any process, be careful.  Automate, but automate wisely…  Your milage may vary.

  • What should never be automated – pieces that require excessive time and resources allocated disproportionately to the amount of time saved (mostly from maintenance point of view).  Maybe your test plan needs to be reworked.

Remember Bill Gates quote: “…automation applied to an efficient operation will magnify the efficiency. …automation applied to an inefficient operation will magnify the inefficiency.”

Contact the authors:

Antonius Momac Twitter handle: @MoMacAttack and remember “If you’re not creating TROUBLE, you’re not creating much!
Automation Diva Jana Krawiec Twitter handle: @krawiecjp

May 16, 2013

May 9, 2013

Test Plan Automation Through SQL Verification

Filed under: General, Testing — Marcus Tettmar @ 1:05 pm

Our good friend Antonius Momac just emailed me to tell me about this video he has put together on automating test plans with SQL verification:

Macro Scheduler users will probably recognise that Antonius is using Macro Scheduler to drive these tests [ keep an eye out for the Macro Scheduler icons and custom dialogs 🙂 ]

May 7, 2013

April 17, 2013

Paste Into Object Without Using Keystrokes

Filed under: Automation, Scripting — Marcus Tettmar @ 11:03 am

Someone asked today how it might be possible to paste what is in the clipboard into an object using Macro Scheduler without having to use keystrokes.

It can be done by sending the WM_PASTE message using the SendMessage API function.

Here’s an example:

//Sending WM_PASTE to an object causes a clipboard paste, like sending CTRL-V

//constants - here we define the WM_PASTE constant
Let>WM_PASTE=770

//we need the handle of the object we want to send WM_PASTE to - 
// - as an example let's find the handle of Notepad's edit window
// - for this example make sure Notepad is running with empty document
// - so that the window title us "Untitled - Notepad".  Modify if needed

GetWindowHandle>Untitled - Notepad,hWndParent
FindObject>hWndParent,Edit,,1,hWnd,X1,Y1,X2,Y2,result

//now send WM_PASTE to it using SendMessage API
LibFunc>User32,SendMessageA,result,hWnd,WM_PASTE,0,0

The only benefit I can see with this is that it doesn’t require keyboard focus. In theory neither should ObjectSendKeys and a CTRL-V require keyboard focus. The latter is simpler so I’d tend towards using that. And there may be some applications that work at a higher level and actually expect to see CTRL-V or similar.

Never-the-less it’s a nice example of sending a Windows message and it may be useful for some. So here it is.