360050_UT 12wk30 SAW IT 562127_Mojo_468x60_Browse100s
Showing posts with label Automation. Show all posts
Showing posts with label Automation. Show all posts

Thursday, October 11, 2012

How To Create Your Own IFTTT Recipes For Automating Your Favorite Sites & Feeds

There are a few web services that can be considered “priceless” and IFTTT is one of them. The service, which stands for “if this then that” has the power to automate common tasks and help you discover better uses for services you already use. If you’re sick of manually doing things, IFTTT is a breath of fresh air.

The service uses two main elements called triggers and actions which are organised by channels. Channels are the common web services you use on a daily basis, and there are more than 50 that play nicely with IFTTT either as a trigger or an action. When a trigger is paired with an action it becomes a recipe, and if you’ve yet to create an interesting recipe then you’ve been missing out.

So let’s take a closer look at triggers, actions, recipes and sharing your creations from within IFTTT.

Triggers + Actions = Recipes

A recipe is the name given to the pairing of a trigger and an action. Recipes are pre-prepared formulas, of which there are tens of thousands (just shy of 40,000 by my estimation at the time of writing) available for your perusal. If you’ve yet to use IFTTT then browsing popular recipes will give you a good idea what the service can be used for, and just how useful some of the results can be.

Of course, there are some pretty useless recipes too that are either built for fun or for specific individuals, and that’s another big bonus – the ability to create your own recipes.


By connecting various different services that you use, IFTTT allows you to use them as either triggers or actions with varying input options for each. Some channels have only a few actions, and others are infinitely customisable using search strings or custom URLs.

If you’re worried about your personal recipes being there for the world to see, bear in mind that a recipe has to be published before it is public meaning any new recipes you create will be private until you explicitly share your creation with the world.

Before adding a new service you will have to authorize the channel you wish to use, which is the IFTTT equivalent of authorizing a web app to use your Twitter or Facebook accounts. Until this time, available but unused channels will be greyed out. IFTTT needs access to your services in order to act on information received or to write to a private location, like your Google Drive for instance. If you’d like to revoke IFTTT access, do so within the app rather than IFTTT.

Creating & Sharing A Recipe

Creating a recipe is easy and the hardest part of using IFTTT is working out what you can do with each channel. Luckily, for every channel there is a list of potential triggers and actions on that particular app’s page. Take a look at the IFFFT channels list and if you see a service you’re fond of click it to see some popular recipes and beneath this a list of things you can do.

There are some very useful and broad triggers, like Date & Time which allows you to set up timed reminders, and some very specialised triggers for niche services like ffffound and even hardware devices like Belkin’s WeMo motion.

For the sake of creating something a little more interesting simple RSS feed actions or a backup of all your Tweets, I’m going to assume you’re a musician who collects guitars and use the Craigslist channel to sniff out some bargains.

First of all register and login to IFTTT using an email address that you value (don’t use your spam account, because you’ll never see any email alerts you set up) click Create at the top of the page and choose a service. Once you’ve selected your channel you may be asked to activate, which may require you login and authorize IFTTT. For Craigslist this is as simple as clicking a button, as the information is publicly available.

For our trigger we only have one choice here, and that’s to detect new posts by search. Luckily that’s pretty much all Craigslist is good for, and the ability to use the native search on the site means you can set up your own, local filter. In my case I will be using melbourne.craigslist.com.au, and this guarantees me relevant results. I’ve chosen to query for “guitar” with a minimum price of “100”, which means I won’t get alerts for guitar tuners and sheet music, but only guitars and equipment over AU$100. Conversely, this technique is useful if you’ve had something stolen and would like to monitor the service in case the goods turn up for sale.

After pasting the URL into the box it’s time to associate an action with my bargain hunt. There are a lot of useful actions here, and depending on what you’re using the service for then you can set up anSMS notification, push a notification to your mobile device using Pushover or add the alert to a service like Instapaper. Here, I’m going for good old email which guarantees I’ll see the message regardless of whether I’m out and about with my iPhone or sat at my desk working.

Once you’ve chosen email then you’ll notice there’s only one action and that’s to email you – hardly surprising. The email field is definitely one of the most customisable, with a number of “ingredients”. You can add ingredients using the drop-down box on the right, with elements like search URL, post URL and post content available. The default message will usually suffice, but personalising your alert is a nice added bonus, and I’ve added some extras to mine as you can see in the screenshot below.

Finally create and then activate your recipe, adding a small description to remind yourself what you new creation does.

Sharing this recipe is as easy as finding it in your dashboard and clicking the share button (it looks like a box with an arrow sticking out of it). Here you can give your recipe a proper title, so for mine I specifically pointed out that this recipe is for Melbourne, Australia to avoid confusion.

Conclusion

And that’s basically all there is to IFTTT and personalised recipe creation. It really couldn’t be that much simpler, other than the many pre-prepared recipes that are ready to be clicked and activated on your own accounts. Have fun and don’t forget to post your favourites and any you have personally created in the comments, below.

Tuesday, October 9, 2012

Evaluating Marketing Automation Software for Lead Generation and Management

Today’s technology has made B2B online lead generation and management efficient, scalable and effective. Most online marketing automation software provides a “one-stop-shop” solution for Marketing Departments. So, rather than jumping back and forth between multiple systems and websites, everything is accessible through one interface. This saves time and makes reporting much easier.

However, not all marketing automation software is created equal. There are many solutions, including ones for the SMB to the Enterprise. Some of the solution providers include Marketo, Eloqua, HubSpot, Aprimo, Act-On, Pardot, LeadFormix and Spectate.

Most marketing automation systems provide some or all of the capabilities outlined below:

Glengarry Glen Ross

  • Demand Generation
  • Competitor Tracking and Analysis
  • A/B Testing
  • SEO Tools
  • Social Media Management/Listening
  • Lead Management
  • Lead Scoring
  • Lead Nurturing
  • Lead Generation
  • Campaign Analysis
  • Lead Qualification
  • Sales Effectiveness

The Slingshot SEO Marketing Department recently evaluated several of the providers listed above and discovered some stark differences between them. The marketing automation software evaluated fell into one of two categories: those with strong demand generation (inbound marketing) capability, and those with little to none.

Some of the more mature solutions seemed pricey and lacked strong robust demand generation functionality. They seemed just as comfortable with recommending uploading a purchased list as opposed to organically earning conversions. This might have been acceptable five years ago when many of these solutions were helping to build this fledgling industry—but today, that’s called spam.

A few of the Enterprise solutions, while lacking strong inbound capability, did offer very robust, multi-channel lead nurturing and many unique and desirable bells and whistles. But in the end, Slingshot SEO chose to deploy the Enterprise level of HubSpot 3, the newest iteration of HubSpot’s technology.

Hubspot

The other solutions did not adequately address Slingshot SEO’s need for demand generation. HubSpot, on the other hand, offers a suite of SEO, blogging, social media, testing and competitive analysis tools required to produce adequate demand in today’s ultra-competitive Internet marketing landscape.

Without the proper flow of organically converted leads, marketing automation solutions provide little to no value. Traffic and conversions must be at acceptable levels to justify marketing automation solutions with gracile demand generation capability. Understanding this is critical to choosing the right solution for improving lead generation, lead management and customer acquisition.

Monday, March 19, 2012

Test Automation Framework - Challenges

Test automation has matured over a period of time; from the crude form of automated tests that were set up just to run specific or stop gap runs, we today have much refined and well defined automation tests. According to a study, in the year 2004 the number of automated tests that were conducted globally as against manual tests were a mere 5 percent. However, by 2006 this increased to 20 percent. Going by this rate, we may be around 50 percent today. 

According to a study conducted by the US NIST, software producers lose 21.2 billion dollars annually because of inadequate testing. Based on market estimates, software companies worldwide invested 931 million dollars in automated software testing tools in 1999, with an estimate of at least 2.6 billion dollars in 2004. This certainly tells us one thing: Customers are seeing the real benefits of test automation. The last 5-6 years has seen a considerable run in commercial testing tools and we now are seeing the trend of customers requesting for open-source tools, thanks to changing economic situations.

One of the key factors in choosing a test automation tool is the technology that is used to build the application. Not all tools support all technologies and that throws up the challenge of maximizing test automation returns with limited capabilities of tools. For example, an application developed in .NET or Java may require test automation tools to support such technology. Some of the tools come with specific plugins to address such challenges. So, choosing the right tool goes a long way in getting the expected RoI.

Technology, a Show-Stopper?

One would certainly run out of business if technology becomes a show-stopper. While that could be a very generic statement specific to test automation, technology has been one of the biggest challenges. With every new patch or release of an OS, browser, languages, or for that matter even test automation tools, the challenges to maintain automation scripts are undeniably compounded. By the time you start a test automation project and complete it, you may find changes in the environment it is set to work. The script that you have developed, while the customer agreed for a specific version, will not be of any use to him if the customer is going to upgrade their systems to the new version of the browser, for instance. Here is when a robust framework and good coding practice facilitate a smooth transition.

Develop framework that is independent of test automation tools. Since every tool has some limitation, it is best to use a combination of tools to take the maximum returns out of test automation investment. A combination of commercial and open-source tools is a good mix. Having a framework that best supports such a mix will give the best advantage over other frameworks.

Never Ending CRs

CRs or change requests have become the norm of the day. Today, CRs not necessarily include change in functionality and features due to changing business requirements but also the impact the application goes through because of the technological changes. Let us consider a situation like this: an application that is stable has about 1,250 automated test scripts that are run every other day and being used by 100s of customers worldwide. Due to business reasons the company decides to change the technology or architecture of the application. Now this is going to have an impact on the automation scripts as well. Either the scripts will have to be discarded completely, which is money into the drain, or evaluate the possibility to modify the scripts to suit the new architecture or technology. In case the latter being a possibility, an evaluation of time and effort required for such modification and associated costs need to be considered. Since users are realizing the benefits of automation, this aspect should not be missed when someone is considering changes to the application. Thus, it is important to integrate test automation in the purview of CRs, i.e., whenever a CR is raised, it is important to evaluate its impact on the automation scripts. A robust test automation framework will make such impacts minimal.

Build Framework that Works

Test automation framework is a set of rules, procedures, and tools that drive automated testing. One of the main advantages of using a framework is the low cost of maintenance. For any changes to the application, only the concerned test case(s) need to be updated while the rest of the script remains the same.

Some of the most common frameworks are data driven, keyword driven, modular, and hybrid. There are again custom built frameworks that fit to specific needs of the application. Spending enough time on choosing the right framework and designing it is the key to test automation success. 

A good and robust framework should consider as many assumptions as possible. This will eventually make the framework quite flexible. While it will be difficult to prove due to lack of data but the general belief is that most of the test automation projects fail in the long run as the framework is not flexible enough to adapt to the changes that the application or the environment has undergone.

Let us take an example to explain the above situation. Consider a Web application that is developed in .NET technology compatible to WinXP, Vista, and Win7 and browsers such as IE and Firefox. A version 5.0 of a test automation tool is used to automate a set of sanity test cases. 

A test automation framework is developed to ensure that as the application undergoes changes, there are re-usable functions that are developed so that with less effort you can address those changes. Most of the frameworks today address this basic need. However, consider a situation where a new version of OS, browser, and the test automation tool need to be addressed in the framework itself. It is not an easy situation or assumption to imagine or incorporate within a framework.

The next generation frameworks should address the best of the following:

* Coverage
* Business Process
* Extended Environment
* Multi OS
* Multi Test Automation Tools
* Best of Reporting and Analysis
* Defect Analysis
* Metric
* Compliance such as HIPPA or SOX
* Recovery Scenario
* Addressing Technology Challenges

Conclusion

Building a test automation framework needs skills such as designing, analytical, and a lot of foresight. While testers bring in a lot of value and insight into developing the framework, it is the designers and developers who eventually build it. Considering the development of framework as a typical development project goes a long way in getting the required RoI. Build the best software engineering practices while developing a framework. Some of the critical aspects, as the fig 1.0 depicts, make the framework dependable and robust in the long run.

via Test Automation Framework - Challenges in the Ever Changing Technology Scenario - QA Expert Columns.

Automating in Agile Environment

One of the major barriers to test automation is the volatility of the application to be tested. Even benign changes such as moving a button to a different part of the screen or changing a label from Next to Continue can cause test scripts to fail. This problem is especially acute when testing an applications functionally at the GUI level because this tends to be the area in which changes are most frequent.

For this reason, test teams have historically tended to avoid functional test automation until an application has become stable. However, this approach does not work when building SaaS products or developing products in an Agile environment where change is a constant. In this situation, a more sophisticated test approach is required to avoid incurring technical debt (i.e., quality issues or tasks that are deferred to be addressed later or not at all)

Develop a Reusable Subroutine Library

The first level of sophistication in test automation is to develop a library of reusable subroutines that will encapsulate and hide an applications implementation details from the test scripts themselves. For example, you might implement a test subroutine called login_to_my_app() that accepts two parameters: UserName and Password. 

At runtime, this test subroutine will first find the appropriate text fields in the application GUI and then execute the keystrokes and mouse movements required to fill in the given user name and password, thus completing the login operation. If the applications login GUI changes (e.g., if the on-screen label for User Name is changed to Login Name), then the login_to_my_app() test function might also need to be updated. However, the scripts that called this subroutine would not need to change.

The reason this type of abstraction is a win for some projects is that, in this scenario, a change to the application now only requires you to maintain a single subroutine rather than potentially hundreds or thousands of test scripts. Since complex applications frequently have thousands of test scripts, the savings in effort and time is clear. The trade-off is that the level of skill required to maintain a subroutine library is generally higher and of a different type than that needed to maintain test scripts. Obviously this requirement will change your staffing profile and cost structure.

However, the benefit of this approach is that you can accommodate change much more readily. More importantly, it will allow you to safely write test cases before the application has been fully implemented. Test script writers only need to know (a) the softwares functionality and requirements and (b) the stubs of the test subroutines that will be implemented. You can significantly compress your implementation schedule by enabling your development and test automation processes to function in parallel.

Conclusion

Without a doubt, developing a library of reusable subroutines to test your system requires an up-front investment. 

However, in situations where you:
1. Need to build or customize a SaaS product
2. Wish to truly gain the benefits of an Agile, test-driven development methodology
3. Need to compress your test and development schedule as much as possible while still ensuring high quality; or
4. Must cope with constant change during pre or post-deployment, taking a more sophisticated approach to test automation can be a lifesaver for your project.

via Making Automated Functional Testing Work in SaaS and Agile Environments


Thursday, March 8, 2012

Learn Selenium For Starters

If you are a starter and are looking into dwell into Selenium World. Then first of all, I would like to welcome you to this excellent tool.

Check out the PDF document from the Selenium Site:

http://seleniumhq.org/docs/book/Selenium_Documentation.pdf

It explains very clearly the basic concepts about Selenium and will surely let you get started immediately.

570425_Up To 60% Off w/ Free Shipping 525x133
Twitter Delicious Facebook Digg Stumbleupon More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews