Making the Right Choice

Size: px
Start display at page:

Download "Making the Right Choice"

Transcription

1 Tools & Automation Making the Right Choice The features you need in a GUI test automation tool by Elisabeth Hendrickson QUICK LOOK Factors to consider in choosing a GUI testing tool Treating GUI test automation as a programming project A list of essential features B uying a GUI (graphical user interface) test automation tool is a daunting task. If you re evaluating tools for the first time, it s hard to know what to look for in a tool. Even if you ve evaluated GUI testing tools before, the tools available may have changed significantly since the last time you looked around. Which do you choose? Do you really need all the features touted in each vendor s marketing literature? You know that you don t want to succumb to the slickest sales pitch. You aren t sure what features you ll need six months from now. So you re torn between buying a high-end tool that might be overkill for your purposes and buying a low-end tool just to get started with something. Your first step is to establish the decision criteria you will use in evaluating tools. Some criteria may be obvious: you want to buy from a reputable vendor, the tool you choose needs to support the operating system(s) on which you test, and ease of use either is or is not important to your organization. This article isn t intended to tell you about the features that you already know you need. Instead, we ll talk about the GUI test automation tool features that Automated Tests you ll discover you need a few months after your first purchase. Consider it a heads up of things to come. To start, consider a high-level diagram of an automated test system. If you look at test development as a simple matter of creating tests that exercise a GUIbased software application, then your model of test automation looks something like Figure 1. Your tests will resemble this diagram when you use record and playback exclusively. But this model has limitations. Since the tests work directly with the user interface (UI), almost any change in the UI means a change in every test that uses that part of the UI. In addition, if there are common actions that most of the tests must perform (logging in, for example), then every test must include those steps. Finally, since all the test data is embedded in the tests, you have to edit the test code to change even little things like the name to use on a login form. DRIVE GENERATE FIGURE 1 Limited GUI test automation model Application Under Test Results CHARTS BY ANNIE BISSETT 21

2 Automated Tests CONTROLS Test Data USE DRIVE Reusable Functions Abstract Layer GENERATE MAPS Results FIGURE 2 An expanded GUI test automation model As a result, routine maintenance is difficult and major changes for localization or UI overhauls are a nightmare. It is not uncommon for test systems that look like this to fall apart completely within a single release. In other words, the tests might work for 1.0, but you ll need to recreate them for 2.0. To address each of these shortcomings, let s add a few more elements. Each will be explained in more detail later. First, add an abstract layer between the software under test and the test scripts. The abstract layer maps UI elements to logical names that the tests will use. Next, add a reusable library of functions to encapsulate common actions. Finally, add test data files to hold data that would otherwise be hard-coded into the scripts. Now the model looks like the one above. Even if you don t plan to use all the elements in this diagram, you ll want to find a tool that can support them all. You ll need these features sooner than you think. Why? While you may create some tests that are quick and dirty and designed to be disposable, your automated test effort is unlikely to pay off unless the majority of your tests are: Maintainable Usable from release to release with a minimum amount of updating to take new features or new UI into account Reliable Provide accurate results that make it straightforward to identify issues in the software under test Robust Capable of handling unexpected error conditions, enabling the tests to run unattended without human intervention You will only achieve that goal if you treat test automation as seriously as software development. Test automation really is programming. So a good GUI test automation tool will have many of the same features as a good development environment. Oh, sure, you might be thinking. I ll start programming my tests in my copious free time. You probably barely have enough time to finish your current tasks. Application Under Test Automation is supposed to make your life easier, not add a whole new programming task. Unfortunately, if you don t treat test automation as a programming task, you ll end up redoing it and redoing it and redoing it. Worse, if a last-minute change breaks the tests at the end of the project, then the automated tests won t run just when you need them the most. Even if you don t think you ll have time to follow good development practices on most tests, buy a tool that supports them. Consider it an insurance policy. So how can you be sure that you ve identified a tool that will enable you to architect a system and implement it using good programming practices? Let s look at twelve features that are important in any good tool. Features Checklist Scripting language A prerequisite to all the other features described in this article is that the tool must have a scripting language of some kind that contains the usual programmatic constructs. At the very least, it should: Enable you to edit recorded scripts Support variables and data types Support arrays, lists, structures, or other compound data types Support conditional logic (IF and CASE statements) Support loops (FOR, WHILE) Enable you to create and call functions You get an added advantage if the tool uses a common language like Visual Basic or C: it s easier to find books and training courses on the language, and many people in your organization may already know it. The more powerful the language, the more control you potentially have. Sophisticated scripting languages enable you to create more sophisticated scripts. Of course, having a sophisticated language also makes it possible to create automated tests that are more complex than the software being tested. So look for a language that gives you the power and flexibility that you need, and design your tests to use the sophisticated features judiciously. UI element identifiers In order to write test scripts that actually test something, you ll want to make sure that the test tool can identify the elements on your UI as objects rather than trying to point 22 Software Testing & Quality Engineering May/June 1999

3 to them by coordinate. If you re testing a Windows application and your developers are using MFC (Microsoft Foundation Class library) controls, this isn t a problem for most of the test tools available. However, if your application is written using Java Swing Controls (a.k.a. JFC, or Java Foundation Class library), some tools will work better than others. During your evaluation, make sure that the tool can identify the UI elements in a variety of representative windows. It is true that some UI elements aren t really controls at all, just bitmaps that do something when you click on them. Software that uses UI elements that are bitmaps rather than real controls won t behave well with any automated testing tool. If that s the case for your software, involve your developers in the tool evaluation process so they can see first hand why it s important to use standard controls to improve the testability of the software. Reusable libraries Imagine that you re testing an application that allows you to search for records in the database. Many of the product s features work only when there is a set of search results available, so most of the tests include the sequence of steps necessary to perform a search. Now imagine that the sequence of steps changes slightly: you need to update every script. The alternative is to create a function or subroutine that performs the search. That function becomes part of a reusable library. Each script calls the function rather than redefining the steps. You ll make all your scripts more maintainable if you define a sequence of events in one place the function library rather than in every script that needs to perform those actions. There are two important things to look for in a tool that supports reusable libraries. First, make sure that any script you create with the tool can easily call the functions you put in the library. It isn t sufficient if the tool only allows you to call subroutines created within the current script. Second, make sure that the functions can take parameters. For example, if you create a login function, you ll want to specify the user name and password at the time that you call the function (rather than embedding that information in the function itself). The more powerful the language, the more control you potentially have. Sophisticated scripting languages enable you to create more sophisticated scripts. So look for a language that gives you the power and flexibility that you need, and design your tests to use the sophisticated features judiciously. Outside libraries In addition to creating your own libraries, you ll often find it useful to access outside libraries. In Windows, this means that you want to be able to call into.dll files. As an example, consider a client/server system built to work with a relational database. The software under test uses the database s proprietary API (Application Program Interface). If the automated tests can use the same API, they can be more powerful. They can make checks the user interface doesn t allow. For example, they can check that a changed value was actually written to the database, not just changed on the screen. They can check whether a transaction was correctly and completely logged, even if the UI gives no access to the log. In general, these tests can determine pass or fail more accurately than by checking the value through the user interface. If you re testing on a Windows system, you ll also want access to the Windows API. The Windows API enables you to get system information that would be difficult or impossible to obtain in any other way. For example, it s very useful to be able to get or set the value of a registry key from within your automated scripts. Abstract layers An Abstract Layer enables you to define logical names for physical user interface elements. Some tools call this a test map or GUI map while others call it a test frame. Regardless of the name, the purpose of the abstract layer is to make it easier to maintain your tests. As an example, imagine a login dialog box with fields for name and password. Within the program, the programmer named those fields Name and Password. You create an abstract layer that also identifies the fields as Name and Password and proceed to use those identifiers in all 500 of your scripts. But with the next version of the software under test, the underlying identifiers of the name and password fields become username and pword. Instead of changing all 500 of your scripts, you change the UI identifiers in one place the abstract layer. Several test tools offer features, such as window recorders, specifically designed to support the creation of an abstract layer. These features are very useful, but not absolutely necessary if you re willing to program the abstract layer manually. Distributed tests If you are testing multi-user software, you need to be able to create tests that involve multiple simulated users. For example, you might want to create a test in which one user on one machine locks a file while another user on another machine tries to open the same file. How do you automate this sort of test? It s very difficult if the test tool you choose doesn t have distributed test capability. In a distributed test, the automated testing tool enables you to specify the machine on which to execute a given command. This is a little different from the ability to launch a test on a remote machine (also a good feature). In launching a test on a remote machine, the remote machine exe- 23

4 cutes that test from beginning to end. But if you need to coordinate the activity on two different machines, then you want to do more than launch a test and let it run. You need to be able to create a test that waits for an action (such as locking a file) to be complete on the first machine before beginning an action (such as attempting to open the file) on the second machine. File I/O File I/O (input/output) means that the tool provides functions that enable you to open a file on the hard disk (usually an ASCII file) programmatically, read from it, write to it, and close it. File I/O functions are central to data-driven test automation. In a data-driven automated test, the script uses test data from a file to drive the test activity (note the role of Test Data in the test automation architecture of Figure 2). Data-driven testing makes it possible to automate a large number of tests with a minimal amount of test automation code. If you are testing on a Windows system, it s particularly useful if the tool provides functions for handling Windows.ini files. For example, if the software under test needs to know which server to use, then it s a good idea to specify the server name in an.ini file. Then you can change the test server without having to change the automated scripts. Error handling Last night, before you left for the evening, you started a long automated test run of 250 tests. This morning when you came in, you discovered that the tests ran for exactly five minutes before dying horribly on the second test because an unexpected dialog appeared. This scenario is frustrating and not at all uncommon. Tools that have a good error-handling system make it possible for other scripts to execute even after one script fails. The tool can stop the failed script, then reset the software to its initial state before starting the next script. It s particularly useful if the error-handling capability of the tool is customizable. For example, perhaps your product has known error conditions that require a certain amount of cleanup to fix. Your automated tests will be even more robust if you can extend the error handling system so that it recognizes these errors and performs the required cleanup. The debugger There is nothing more frustrating than the feeling that It should work, darn it! You finished your test and ran it on your machine successfully. Now you try to run the test on Tools that have a good error-handling system make it possible for other scripts to execute even after one script fails. The tool can stop the failed script, then reset the software to its initial state before starting the next script. someone else s machine, and it doesn t work. Having a decent debugger enables you to find the problem much more quickly than a trial-and-error approach. The debugger is built into the test script development environment. Debuggers generally enable you to step through your script line by line, set break points (a place where the debugger will stop executing the script and wait for further instructions), and inspect the currently defined variables and their values. It s preferable if the debugger enables you to put a break point on any executable line, whether it s in the script under test or in the supporting code (in the reusable libraries, for example). Source control Source control is a fundamental tool for any kind of software development, and test automation is no different. In general, source control systems allow you to check files into and out of a master repository, roll back to previous versions, find differences between versions, and track several projects simultaneously. These features make it possible for multiple people to work on multiple versions of source code files. Rather than looking for a test tool that includes source control features, it s actually best if you use the same source control system that the software developers use. The practical advantage to using the same source control system is that you can take advantage of the fact that there is already an established way of working. There s also a psychological advantage to using the same system: others in your organization see that test automation is real programming. Even if you are currently the only person automating tests in your group, you ll still want to make sure that all the parts of the test system you build from test data files and test scripts to the abstract layer can go in source control. Fortunately, integration with source control is straightforward: if the test automation files are saved in ASCII, you will be able to use all the features of your source control system. Test tools that store any part of the automated tests in a binary format interfere with your ability to use source control with your tests. You can still put the binary files into source control, but you won t be able to compare one version of the file to another to determine what changed. (If you aren t sure, you can tell if the files are in ASCII by opening them in a text processor such as Notepad in Windows. If you see just text characters and you can make some sense out of them, the file is ASCII. If instead you see smiley faces, hearts, blocks, or other strange characters, the file is probably binary.) In addition, if the test tool requires that you place all the files in a central location and dictates the file structure, you 24 Software Testing & Quality Engineering May/June 1999

5 will need to experiment (preferably during the evaluation period) to determine the best way to use source control with the centralized file location. Command line script execution The ability to run scripts from the command line makes it easier to set up tests that reboot the machine and restart the tests automatically after the machine comes back up. It also makes it possible to automatically kick off automated tests after each build. The user community The final feature to look for can t be found in the software box: look for a tool that has an established user community. Discussion groups, users web sites, and local user groups are all great places to learn about the ins and outs of your new tool. Members of the user community often share libraries of common functions or other useful bits of source code this can be a huge help in developing your own internal reusable libraries. Buy a Little Before You Buy a Lot For most organizations, the cost of switching tools is prohibitively expensive. It isn t just a matter of buying new software. There is also the question of whether to recreate existing tests in a new tool or continue to pay the software maintenance fees for the existing tool. Buying one or two licenses for a limited pilot can be a good way to try out a tool without a lot of risk. If the pilot works well, then buy more licenses and jump in with both feet. If the pilot doesn t work well, at least you don t have dozens of licenses and potentially hundreds of thousands of dollars going to waste. This also means that if you currently have a tool that is working perfectly well but doesn t have all the features in this article, don t run right out and buy a new tool. Switching tools may be more expensive than you think. test suite for the latest release and discover that you have a fully functional test suite more quickly than you ever thought possible. STQE Editor s note: This article gives some useful general-purpose requirements. Hendrickson s article Evaluating Tools (Volume 1, Issue 1, page 38) provides information on how to approach the tool purchasing process, with an emphasis on product requirements and tool evaluation. Eileen Strider s article Packaged-Software Indigestion (Volume 1, Issue 2, page 48) focuses on evaluating the vendor rather than (just) the product. Together, these three articles provide a good broad picture to help you through this process. Elisabeth Hendrickson is the Quality Engineering Manager at Aveo, Inc. As an independent consultant prior to joining Aveo, she helped a number of organizations evaluate testing tools. You can reach Elisabeth at ehendrickson@aveo.com, or through her Web site at Conclusion Automated testing tools are especially difficult to evaluate because most of the test tool vendors stress ease-of-use features rather than programming features when they re trying to make the sale. You don t discover that the tool doesn t work with your source control system or that the scripts are difficult to maintain until six months down the road. Finding the tool that has the right balance of the features you need now, features you ll need in the future, and the bottom-line cost that meets your budget is certainly a challenge. One of the challenges lies in separating the reality from the marketing collateral. In your evaluation, make sure to spend time investigating the more advanced features of the tool hands-on. In other words, don t rely on bulleted-feature-list comparison shopping to determine the best tool for your needs. Get your hands on the product and use it to automate real tests. The important thing to remember when buying new tools is that no matter how easy the vendors like to make test automation look, it really is programming. Choose your tools accordingly. You ll know it was worth it when you update your 25

Deciding whether to purchase a tool or develop it in-house. by Elisabeth Hendrickson

Deciding whether to purchase a tool or develop it in-house. by Elisabeth Hendrickson Tools & Automation QUICK LOOK BuildIt Dispelling the myths surrounding both approaches Weighing your options or? BuyIt Deciding whether to purchase a tool or develop it in-house 32 You ve discovered that

More information

Test What You ve Built

Test What You ve Built Test What You ve Built About Your Presenter IBM i Professional for 16 Years. Primary Focus is IBM i Engineering / Programming Well Versed in 2E. Well Versed in RPG (All Flavors) Well Versed in CM Products

More information

THE WINDOWS AZURE PROGRAMMING MODEL

THE WINDOWS AZURE PROGRAMMING MODEL THE WINDOWS AZURE PROGRAMMING MODEL DAVID CHAPPELL OCTOBER 2010 SPONSORED BY MICROSOFT CORPORATION CONTENTS Why Create a New Programming Model?... 3 The Three Rules of the Windows Azure Programming Model...

More information

In the same spirit, our QuickBooks 2008 Software Installation Guide has been completely revised as well.

In the same spirit, our QuickBooks 2008 Software Installation Guide has been completely revised as well. QuickBooks 2008 Software Installation Guide Welcome 3/25/09; Ver. IMD-2.1 This guide is designed to support users installing QuickBooks: Pro or Premier 2008 financial accounting software, especially in

More information

Creating and Managing Shared Folders

Creating and Managing Shared Folders Creating and Managing Shared Folders Microsoft threw all sorts of new services, features, and functions into Windows 2000 Server, but at the heart of it all was still the requirement to be a good file

More information

Exploratory Testing in an Agile Context

Exploratory Testing in an Agile Context Exploratory Testing in an Agile Context A guide to using Exploratory Testing on Agile software development teams. Elisabeth Hendrickson 2 Exploratory Testing. So you bang on the keyboard randomly, right?

More information

STRUCTURE AND FLOWS. By Hagan Rivers, Two Rivers Consulting FREE CHAPTER

STRUCTURE AND FLOWS. By Hagan Rivers, Two Rivers Consulting FREE CHAPTER UIE REPORTS FUNDAMENTALS SERIES T H E D E S I G N E R S G U I D E T O WEB APPLICATIONS PART I: STRUCTURE AND FLOWS By Hagan Rivers, Two Rivers Consulting FREE CHAPTER User Interface Engineering User Interface

More information

Getting started with API testing

Getting started with API testing Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...

More information

WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE. Contents

WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE. Contents WORKING IN TEAMS WITH CASECOMPLETE AND MICROSOFT VISUAL SOURCE SAFE Contents Working in Teams with CaseComplete... 2 Need an introduction to how version control works?... 2 Exclusive Checkout... 3 Multiple

More information

The Importance of User Workspace Virtualization in Desktop Virtualization

The Importance of User Workspace Virtualization in Desktop Virtualization res Software // Whitepaper The Importance of User Workspace Virtualization in Desktop Virtualization Whitepaper Transforming Desktops into Workspaces 2 Table of content: Abstract... 3 What is desktop virtualization?...4

More information

GUI Test Automation How-To Tips

GUI Test Automation How-To Tips www. routinebot.com AKS-Labs - Page 2 - It s often said that First Impression is the last impression and software applications are no exception to that rule. There is little doubt that the user interface

More information

What Is Specific in Load Testing?

What Is Specific in Load Testing? What Is Specific in Load Testing? Testing of multi-user applications under realistic and stress loads is really the only way to ensure appropriate performance and reliability in production. Load testing

More information

INTRODUCING BLUE PRISM

INTRODUCING BLUE PRISM INTRODUCING BLUE PRISM AUTOMATING BUSINESS PROCESSES WITH PRESENTATION INTEGRATION DAVID CHAPPELL MARCH 2010 SPONSORED BY BLUE PRISM CONTENTS Business Process Automation with Blue Prism... 3 The Role of

More information

ROC SOFTWARE WHITEPAPER: 10 Reasons to Worry if You re Using CRON

ROC SOFTWARE WHITEPAPER: 10 Reasons to Worry if You re Using CRON ROC SOFTWARE WHITEPAPER: 10 Reasons to Worry if You re Using CRON TABLE OF CONTENTS Introduction 3 What happens when a job fails? 3 How do you easily control all systems, across all platforms? 4 How do

More information

STRESS TESTING LOAD ON A SERVER

STRESS TESTING LOAD ON A SERVER Presentation Paper Bio Return to Main Menu P R E S E N T A T I O N T8 Thursday, October 26, 2000 11:30AM STRESS TESTING LOAD ON A SERVER Elisabeth Hendrickson Aveo Inc. International Conference On Software

More information

Chapter. Managing Group Policy MICROSOFT EXAM OBJECTIVES COVERED IN THIS CHAPTER:

Chapter. Managing Group Policy MICROSOFT EXAM OBJECTIVES COVERED IN THIS CHAPTER: Chapter 10 Managing Group Policy MICROSOFT EXAM OBJECTIVES COVERED IN THIS CHAPTER: Implement and troubleshoot Group Policy. Create a Group Policy object (GPO). Link an existing GPO. Delegate administrative

More information

WINDOWS AZURE AND WINDOWS HPC SERVER

WINDOWS AZURE AND WINDOWS HPC SERVER David Chappell March 2012 WINDOWS AZURE AND WINDOWS HPC SERVER HIGH-PERFORMANCE COMPUTING IN THE CLOUD Sponsored by Microsoft Corporation Copyright 2012 Chappell & Associates Contents High-Performance

More information

Enterprise Job Scheduling: How Your Organization Can Benefit from Automation

Enterprise Job Scheduling: How Your Organization Can Benefit from Automation WHITE PAPER Enterprise Job Scheduling: How Your Organization Can Benefit from Automation By Pat Cameron Introduction Today's companies need automation solutions to attain the high levels of availability,

More information

QuickBooks 2010 Installation Guide

QuickBooks 2010 Installation Guide QuickBooks 2010 Installation Guide This article provides instructions for installing QuickBooks 2010 on a single computer and in a network environment. QuickBooks Elements Several elements are involved

More information

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system. Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce

More information

Real World Considerations for Implementing Desktop Virtualization

Real World Considerations for Implementing Desktop Virtualization Real World Considerations for Implementing Desktop Virtualization The Essentials Series sponsored by En suring Desktop Virtualization Success... 1 Siz ing Your Desktop Virtualization Environment... 2 Ap

More information

The Real Challenges of Configuration Management

The Real Challenges of Configuration Management The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development

More information

Making Data Available on the Web

Making Data Available on the Web Making Data Available on the Web By Simba Technologies Inc. SimbaEngine ODBC SDK Introduction Many companies use web-based services to automate business processes like sales, track items like packages,

More information

Group Policy Objects: What are They and How Can They Help Your Firm?

Group Policy Objects: What are They and How Can They Help Your Firm? Group Policy Objects: What are They and How Can They Help Your Firm? By Sharon Nelson and John Simek 2011 Sensei Enterprises, Inc. The obvious first question: What is a Group Policy Object? Basically,

More information

Team Foundation Server 2013 Installation Guide

Team Foundation Server 2013 Installation Guide Team Foundation Server 2013 Installation Guide Page 1 of 164 Team Foundation Server 2013 Installation Guide Benjamin Day benday@benday.com v1.1.0 May 28, 2014 Team Foundation Server 2013 Installation Guide

More information

Introducing SQL Server Express

Introducing SQL Server Express 4402book.fm Page 1 Monday, May 8, 2006 10:52 AM Part 1 Introducing SQL Server Express Chapter 1: Introduction to SQL Server Express Chapter 2: Overview of Database Concepts Chapter 3: Overview of SQL Server

More information

Subversion Integration for Visual Studio

Subversion Integration for Visual Studio Subversion Integration for Visual Studio VisualSVN Team VisualSVN: Subversion Integration for Visual Studio VisualSVN Team Copyright 2005-2008 VisualSVN Team Windows is a registered trademark of Microsoft

More information

The Association of System Performance Professionals

The Association of System Performance Professionals The Association of System Performance Professionals The Computer Measurement Group, commonly called CMG, is a not for profit, worldwide organization of data processing professionals committed to the measurement

More information

WHAT IS AN APPLICATION PLATFORM?

WHAT IS AN APPLICATION PLATFORM? David Chappell December 2011 WHAT IS AN APPLICATION PLATFORM? Sponsored by Microsoft Corporation Copyright 2011 Chappell & Associates Just about every application today relies on other software: operating

More information

Microsoft Access is an outstanding environment for both database users and professional. Introduction to Microsoft Access and Programming SESSION

Microsoft Access is an outstanding environment for both database users and professional. Introduction to Microsoft Access and Programming SESSION 539752 ch01.qxd 9/9/03 11:38 PM Page 5 SESSION 1 Introduction to Microsoft Access and Programming Session Checklist Understanding what programming is Using the Visual Basic language Programming for the

More information

A How-to Guide By: Riaan Van Der Merwe, General Manager, Dynamics, Neudesic

A How-to Guide By: Riaan Van Der Merwe, General Manager, Dynamics, Neudesic Managing Dynamics CRM 2013 Applications from Cradle to Grave A How-to Guide By: Riaan Van Der Merwe, General Manager, Dynamics, Neudesic Table of Contents Introduction...3 Creating the Right Fit...3 Solutions

More information

Testing, What is it Good For? Absolutely Everything!

Testing, What is it Good For? Absolutely Everything! Testing, What is it Good For? Absolutely Everything! An overview of software testing and why it s an essential step in building a good product Beth Schechner Elementool The content of this ebook is provided

More information

Introduction to UNIX and SFTP

Introduction to UNIX and SFTP Introduction to UNIX and SFTP Introduction to UNIX 1. What is it? 2. Philosophy and issues 3. Using UNIX 4. Files & folder structure 1. What is UNIX? UNIX is an Operating System (OS) All computers require

More information

F Cross-system event-driven scheduling. F Central console for managing your enterprise. F Automation for UNIX, Linux, and Windows servers

F Cross-system event-driven scheduling. F Central console for managing your enterprise. F Automation for UNIX, Linux, and Windows servers F Cross-system event-driven scheduling F Central console for managing your enterprise F Automation for UNIX, Linux, and Windows servers F Built-in notification for Service Level Agreements A Clean Slate

More information

Embarcadero Performance Center 2.7 Installation Guide

Embarcadero Performance Center 2.7 Installation Guide Embarcadero Performance Center 2.7 Installation Guide Copyright 1994-2009 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A.

More information

White Paper: The SaaSy Approach to Delivering Electronic Health Records

White Paper: The SaaSy Approach to Delivering Electronic Health Records This white paper explains how Amazing Charts in Cloud can transform your practice without forcing you to sacrifice productivity or take on the costs of hosting your own EHR. White Paper: The SaaSy Approach

More information

Programming in Access VBA

Programming in Access VBA PART I Programming in Access VBA In this part, you will learn all about how Visual Basic for Applications (VBA) works for Access 2010. A number of new VBA features have been incorporated into the 2010

More information

WHITE PAPER Achieving Continuous Data Protection with a Recycle Bin for File Servers. by Dan Sullivan. Think Faster. Visit us at Condusiv.

WHITE PAPER Achieving Continuous Data Protection with a Recycle Bin for File Servers. by Dan Sullivan. Think Faster. Visit us at Condusiv. WHITE PAPER Achieving Continuous Data Protection with a Recycle Bin for File Servers by Dan Sullivan 01_20131025 Think Faster. Visit us at Condusiv.com WITH A RECYCLE BIN FOR FILE SERVERS 2 Article 1:

More information

Scheduling. Getting Started. Scheduling 79

Scheduling. Getting Started. Scheduling 79 Scheduling 9 Scheduling An event planner has to juggle many workers completing different tasks, some of which must be completed before others can begin. For example, the banquet tables would need to be

More information

Comparing Virtualization Technologies

Comparing Virtualization Technologies CHAPTER 2 Comparing Virtualization Technologies With this chapter, we begin our exploration of several popular virtualization strategies and explain how each works. The aim is to bring you the operational

More information

MODULE 7: TECHNOLOGY OVERVIEW. Module Overview. Objectives

MODULE 7: TECHNOLOGY OVERVIEW. Module Overview. Objectives MODULE 7: TECHNOLOGY OVERVIEW Module Overview The Microsoft Dynamics NAV 2013 architecture is made up of three core components also known as a three-tier architecture - and offers many programming features

More information

WINDOWS AZURE EXECUTION MODELS

WINDOWS AZURE EXECUTION MODELS WINDOWS AZURE EXECUTION MODELS Windows Azure provides three different execution models for running applications: Virtual Machines, Web Sites, and Cloud Services. Each one provides a different set of services,

More information

WHY SOFTWARE IS SO HARD TO USE: HOW CUSTOMIZED SOLUTIONS CAN HELP

WHY SOFTWARE IS SO HARD TO USE: HOW CUSTOMIZED SOLUTIONS CAN HELP loading... WHY SOFTWARE IS SO HARD TO USE: HOW CUSTOMIZED SOLUTIONS CAN HELP COPYRIGHT 2014 WHY SOFTWARE IS SO HARD TO USE: HOW CUSTOMIZED SOLUTIONS CAN HELP There are few things more frustrating than

More information

Optimize with Shark: Big Payoff, Small Effort

Optimize with Shark: Big Payoff, Small Effort Search Advanced Search Log In Not a Member? Contact ADC ADC Home > Tools > Many developers don t realize how little time it may take to achieve significant performance improvements in a Mac OS X application.

More information

2 SQL in iseries Navigator

2 SQL in iseries Navigator 2 SQL in iseries Navigator In V4R4, IBM added an SQL scripting tool to the standard features included within iseries Navigator and has continued enhancing it in subsequent releases. Because standard features

More information

Staying Organized with the Outlook Journal

Staying Organized with the Outlook Journal CHAPTER Staying Organized with the Outlook Journal In this chapter Using Outlook s Journal 362 Working with the Journal Folder 364 Setting Up Automatic Email Journaling 367 Using Journal s Other Tracking

More information

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Introduction I ve always been interested and intrigued by the processes DBAs use to monitor

More information

1 of 2 4/24/2005 9:28 PM

1 of 2 4/24/2005 9:28 PM http://www.appdeploy.com/reviews/sw_installaware_studio_2005.asp 1 of 2 4/24/2005 9:28 PM Message Boards s Tools Tech Homepages Reviews Downloads Articles Events FAQs Tips & Tricks Services Books News

More information

Scriptless Test Automation. Next generation technique for improvement in software testing. Version 1.0 February, 2011 WHITE PAPER

Scriptless Test Automation. Next generation technique for improvement in software testing. Version 1.0 February, 2011 WHITE PAPER Scriptless Test Automation Next generation technique for productivity improvement in software testing Version 1.0 February, 2011 WHITE PAPER Copyright Notice Geometric Limited. All rights reserved. No

More information

Page 18. Using Software To Make More Money With Surveys. Visit us on the web at: www.takesurveysforcash.com

Page 18. Using Software To Make More Money With Surveys. Visit us on the web at: www.takesurveysforcash.com Page 18 Page 1 Using Software To Make More Money With Surveys by Jason White Page 2 Introduction So you re off and running with making money by taking surveys online, good for you! The problem, as you

More information

TAMS Analyzer 3 and Multi-User Projects. By Matthew Weinstein

TAMS Analyzer 3 and Multi-User Projects. By Matthew Weinstein TAMS Analyzer 3 and Multi-User Projects By Matthew Weinstein 1 I. Introduction TAMS has always had multiple users in mind, ever since TA1 supported signed tags, i.e., tags that had the coder s initials

More information

Putting Critical Applications in the Public Cloud. The Very Latest Best Practices & Methodologies

Putting Critical Applications in the Public Cloud. The Very Latest Best Practices & Methodologies Putting Critical Applications in the Public Cloud The Very Latest Best Practices & Methodologies Business White Paper December 2011 Introduction Many organizations are beginning to realize that there are

More information

VMware vsphere 5 Quick Start Guide

VMware vsphere 5 Quick Start Guide VMware vsphere 5 Quick Start Guide This document is created to provide some basic information about VMware, and allow you, the customer, to determine when and how to engage us for support or other needs

More information

Hospitality Cloud+Plus. How Technology Can Benefit Your Hotel LIMOTTA IT. LIMOTTAIT.com/hospitality 888 884 6278

Hospitality Cloud+Plus. How Technology Can Benefit Your Hotel LIMOTTA IT. LIMOTTAIT.com/hospitality 888 884 6278 Hospitality Cloud+Plus How Technology Can Benefit Your Hotel LIMOTTA IT LIMOTTAIT.com/hospitality 888 884 6278 Content + + About Us PCI Compliance + Virtualization + + + Unified Technology Single Sign

More information

PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone

PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone Standalone PRESENTS... Reasons to Switch from SourceSafe: How to Make Your Life Easier with SourceAnywhere Standalone Most developers are familiar with Visual SourceSafe. It's a popular version control

More information

Building Applications Using Micro Focus COBOL

Building Applications Using Micro Focus COBOL Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.

More information

MAS 90 MAS 200 Tips, Tricks and Frequently Asked Questions (FAQ s) Prepared by: The Fitzgerald Group August 11, 2004

MAS 90 MAS 200 Tips, Tricks and Frequently Asked Questions (FAQ s) Prepared by: The Fitzgerald Group August 11, 2004 MAS 90 MAS 200 Tips, Tricks and Frequently Asked Questions (FAQ s) Prepared by: The Fitzgerald Group August 11, 2004 This is a compilation of ideas from The Fitzgerald Group staff, from clients and from

More information

INTEGRATION SOFTWARE: BUILD OR BUY?

INTEGRATION SOFTWARE: BUILD OR BUY? INTEGRATION SOFTWARE: BUILD OR BUY? DAVID CHAPPELL MARCH 2010 SPONSORED BY MICROSOFT CORPORATION No modern organization uses only one application. A single software solution just isn t enough to address

More information

7 Deadly Sins of the DIY Cloud

7 Deadly Sins of the DIY Cloud 7 Deadly Sins of the DIY Cloud Uncovering the Hidden Impact of Custom App Development in the Cloud The Do-It-Yourself Cloud Revolution Cloud computing has brought a revolution to application development.

More information

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN: 2349-6495

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN: 2349-6495 International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] Survey on Automation Testing Tools for Mobile Applications Dr.S.Gunasekaran 1, V. Bargavi 2 1 Department

More information

The Hitchhiker's Guide to Mobile Apps Test Automation Galaxy

The Hitchhiker's Guide to Mobile Apps Test Automation Galaxy The Hitchhiker's Guide to Mobile Apps Test Automation Galaxy TenKod EZ TestApp Technology Sales office TenKod Ltd. Table of Contents Abstract... 3 Test Automation for Mobile Apps Challenges and PAINS...

More information

HP ProCurve Manager Plus

HP ProCurve Manager Plus HP ProCurve Manager Plus Getting Started Guide The all-in-one solution for managing HP ProCurve networks HP ProCurve Manager Plus Getting Started Guide Copyright 2003 Hewlett-Packard Development Company,

More information

THE BENEFITS AND RISKS OF CLOUD PLATFORMS

THE BENEFITS AND RISKS OF CLOUD PLATFORMS THE BENEFITS AND RISKS OF CLOUD PLATFORMS A GUIDE FOR BUSINESS LEADERS DAVID CHAPPELL JANUARY 2011 SPONSORED BY MICROSOFT CORPORATION Cloud platforms are a fundamental part of the move to cloud computing.

More information

Basic ESXi Networking

Basic ESXi Networking Basic ESXi Networking About vmnics, vswitches, management and virtual machine networks In the vsphere client you can see the network diagram for your ESXi host by clicking Networking on the Configuration

More information

Packaging Software: Making Software Install Silently

Packaging Software: Making Software Install Silently Packaging Software: Making Software Install Silently By Greg Shields 1. 8 0 0. 8 1 3. 6 4 1 5 w w w. s c r i p t l o g i c. c o m / s m b I T 2011 ScriptLogic Corporation ALL RIGHTS RESERVED. ScriptLogic,

More information

IMPROVE YOUR SUPPORT EXPERIENCE WITH DELL PREMIUM SUPPORT WITH SUPPORTASSIST TECHNOLOGY

IMPROVE YOUR SUPPORT EXPERIENCE WITH DELL PREMIUM SUPPORT WITH SUPPORTASSIST TECHNOLOGY IMPROVE YOUR SUPPORT EXPERIENCE WITH DELL PREMIUM SUPPORT WITH SUPPORTASSIST TECHNOLOGY For anyone who hates spending time on the phone with tech support when you have a problem with your laptop, tablet,

More information

Remote Network Accelerator

Remote Network Accelerator Remote Network Accelerator Evaluation Guide LapLink Software 10210 NE Points Drive Kirkland, WA 98033 Tel: (425) 952-6000 www.laplink.com LapLink Remote Network Accelerator Evaluation Guide Page 1 of 19

More information

Handling Hyper-V. In this series of articles, learn how to manage Hyper-V, from ensuring high availability to upgrading to Windows Server 2012 R2

Handling Hyper-V. In this series of articles, learn how to manage Hyper-V, from ensuring high availability to upgrading to Windows Server 2012 R2 White Paper Handling Hyper-V In this series of articles, learn how to manage Hyper-V, from ensuring high availability to upgrading to Windows Server 2012 R2 White Paper How to Make Hyper-V Virtual Machines

More information

10 steps to better secure your Mac laptop from physical data theft

10 steps to better secure your Mac laptop from physical data theft 10 steps to better secure your Mac laptop from physical data theft Executive summary: This paper describes changes Mac users can make to improve the physical security of their laptops, discussing the context

More information

Creating While Loops with Microsoft SharePoint Designer Workflows Using Stateful Workflows

Creating While Loops with Microsoft SharePoint Designer Workflows Using Stateful Workflows Creating While Loops with Microsoft SharePoint Designer Workflows Using Stateful Workflows Published by Nick Grattan Consultancy Limited 2009. All rights reserved. Version 1.00. Nick Grattan Consultancy

More information

Visual Studio.NET Database Projects

Visual Studio.NET Database Projects Visual Studio.NET Database Projects CHAPTER 8 IN THIS CHAPTER Creating a Database Project 294 Database References 296 Scripts 297 Queries 312 293 294 Visual Studio.NET Database Projects The database project

More information

CREATE TAX ADVANTAGED RETIREMENT INCOME YOU CAN T OUTLIVE. create tax advantaged retirement income you can t outlive

CREATE TAX ADVANTAGED RETIREMENT INCOME YOU CAN T OUTLIVE. create tax advantaged retirement income you can t outlive create tax advantaged retirement income you can t outlive 1 Table Of Contents Insurance Companies Don t Just Sell Insurance... 4 Life Insurance Investing... 5 Guarantees... 7 Tax Strategy How to Get Tax-Free

More information

CLAIMS-BASED IDENTITY FOR WINDOWS

CLAIMS-BASED IDENTITY FOR WINDOWS CLAIMS-BASED IDENTITY FOR WINDOWS TECHNOLOGIES AND SCENARIOS DAVID CHAPPELL FEBRUARY 2011 SPONSORED BY MICROSOFT CORPORATION CONTENTS Understanding Claims-Based Identity... 3 The Problem: Working with

More information

Client/server is a network architecture that divides functions into client and server

Client/server is a network architecture that divides functions into client and server Page 1 A. Title Client/Server Technology B. Introduction Client/server is a network architecture that divides functions into client and server subsystems, with standard communication methods to facilitate

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove (amislove@ccs.neu.edu) Operating System Services Operating systems provide an environment for

More information

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë 14.1 bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë bî~äì~íáåö=oéñäéåíáçå=ñçê=emi=rkfui=~åç=lééåsjp=eçëíë This guide walks you quickly through key Reflection features. It covers: Getting Connected

More information

Redpaper Axel Buecker Kenny Chow Jenny Wong

Redpaper Axel Buecker Kenny Chow Jenny Wong Redpaper Axel Buecker Kenny Chow Jenny Wong A Guide to Authentication Services in IBM Security Access Manager for Enterprise Single Sign-On Introduction IBM Security Access Manager for Enterprise Single

More information

Agile.NET Development Test-driven Development using NUnit

Agile.NET Development Test-driven Development using NUnit Agile.NET Development Test-driven Development using NUnit Jason Gorman Test-driven Development Drive the design and construction of your code on unit test at a time Write a test that the system currently

More information

FileMaker 11. ODBC and JDBC Guide

FileMaker 11. ODBC and JDBC Guide FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered

More information

Getting Started with Dynamic Web Sites

Getting Started with Dynamic Web Sites PHP Tutorial 1 Getting Started with Dynamic Web Sites Setting Up Your Computer To follow this tutorial, you ll need to have PHP, MySQL and a Web server up and running on your computer. This will be your

More information

Web Hosting Tips & Tricks For Affiliates

Web Hosting Tips & Tricks For Affiliates Web Hosting Tips & Tricks For Affiliates References http://hagency.com/top-web-hosts.php http://minisitemanager.com http://hagency.com/enom Introduction Hosting a website can be a very confusing experience

More information

Arbs2U Is it right for me? 17 October 2014

Arbs2U Is it right for me? 17 October 2014 17 October 2014 Contents Section 1 Preface... 3 Document Feedback... 3 Section 2 Introducing Arbitrage... 4 A brief discussion on Betting... 4 What is Arbitrage?... 5 What are the risks involved?... 7

More information

White Paper. Java Security. What You Need to Know, and How to Protect Yourself. 800.266.7798 www.inductiveautomation.com

White Paper. Java Security. What You Need to Know, and How to Protect Yourself. 800.266.7798 www.inductiveautomation.com White Paper Java Security What You Need to Know, and How to Protect Yourself Java Security: What You Need to Know, and How to Protect Yourself Ignition HMI, SCADA and MES software by Inductive Automation

More information

Five Reasons Your Business Needs Network Monitoring

Five Reasons Your Business Needs Network Monitoring Five Reasons Your Business Needs Network Monitoring cognoscape.com Five Reasons Your Business Needs Network Monitoring Your business depends on the health of your network for office productivity. Most

More information

Your Complete Social Intranet Buyer s Guide & Handbook

Your Complete Social Intranet Buyer s Guide & Handbook Your Complete Social Intranet Buyer s Guide & Handbook A growing business needs a good social intranet software platform. It helps you communicate and collaborate in one place. Read this ebook to get practical

More information

SCHEDULE A DEMO BACKUP AND RECOVERY. deliver true Business Continuity in one, powerful, integrated system.

SCHEDULE A DEMO BACKUP AND RECOVERY. deliver true Business Continuity in one, powerful, integrated system. deliver true Business Continuity in one, powerful, integrated system. Protect Your Business: instantly restore entire systems, email boxes, databases in minutes Backups Verified: each backup is verified

More information

Parcelhub - Linnworks Custom Courier Integration Script

Parcelhub - Linnworks Custom Courier Integration Script Parcelhub - Linnworks Custom Courier Integration Script What is it? When an order is processed using Linnworks, Linnworks has the ability to book a shipment and print shipping labels for that order. Linnworks

More information

Configuring the Server(s)

Configuring the Server(s) Introduction Configuring the Server(s) IN THIS CHAPTER. Introduction. Overview of Machine Configuration Options. Installing and Configuring FileMaker Server. Testing Your Installation. Hosting Your File.

More information

FileMaker Server 15. Getting Started Guide

FileMaker Server 15. Getting Started Guide FileMaker Server 15 Getting Started Guide 2007 2016 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks

More information

Microsoft Outlook Quick Reference Sheet

Microsoft Outlook Quick Reference Sheet Microsoft Outlook is an incredibly powerful e-mail and personal information management application. Its features and capabilities are extensive. Refer to this handout whenever you require quick reminders

More information

Operating System Structures

Operating System Structures COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating

More information

Share this ebook! Top 7 Benefits IT Process Automation Provides MSP s 1

Share this ebook! Top 7 Benefits IT Process Automation Provides MSP s 1 Top 7 Benefits IT Process Automation Provides MSP s 1 Introduction.. 3 1. Enables Scalability Without Increasing Head Count.. 9 2. An End To Firefighting... 12 3. Complicated Scripting No Longer Necessary..

More information

Practice Management and EHR Software. Shopping Kit

Practice Management and EHR Software. Shopping Kit Practice Management and EHR Software Shopping Kit How to Use this Shopping Kit Evaluating the various practice management and EHR software options can be a lot of work. It s not a decision that any practice

More information

The. Essential. Guide. to an NDS-to- Active Directory Migration. By David Chernicoff. sponsored by. March 2010 1

The. Essential. Guide. to an NDS-to- Active Directory Migration. By David Chernicoff. sponsored by. March 2010 1 Essential The Guide to an NDS-to- Active Directory Migration By David Chernicoff sponsored by March 2010 1 W ith the release of Windows Server 2008 and the latest iteration of Active Directory, many enterprise

More information

Hyper-V: Microsoft s

Hyper-V: Microsoft s TechTarget Windows Media SearchWinIT.com SearchExchange.com SearchSQLServer.com SearchEnterpriseDesktop.com SearchWindowsServer.com SearchDomino.com LabMice.net Hyper-V: Microsoft s Approach to Server

More information

How Traditional Physical Backup Imaging Technology Fits Into a Virtual Backup Solution

How Traditional Physical Backup Imaging Technology Fits Into a Virtual Backup Solution Virtualization Backup and Recovery Solutions for the SMB Market The Essentials Series How Traditional Physical Backup Imaging Technology Fits Into a Virtual Backup Solution sponsored by Introduction to

More information

Paragon Remote Management

Paragon Remote Management PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragonsoftware.com

More information

Lab 0 (Setting up your Development Environment) Week 1

Lab 0 (Setting up your Development Environment) Week 1 ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself

More information

Using New Relic to Monitor Your Servers

Using New Relic to Monitor Your Servers TUTORIAL Using New Relic to Monitor Your Servers by Alan Skorkin Contents Introduction 3 Why Do I Need a Service to Monitor Boxes at All? 4 It Works in Real Life 4 Installing the New Relic Server Monitoring

More information

Universal Controller Solution Brief

Universal Controller Solution Brief Modern, Innovative, Enterprise Workload Automation That Delivers Business-Initiated Processing Capabilities www.stonebranch.com Imagine a modern, efficient automation solution to drive immediate business

More information