Friday, March 15, 2013

Meet ZUMA (ZAP Universal Mobile Access)!


Recently, ZAP has released its new technology (ZUMA) to its customers. This technology is unique because it gives mobile testers a new way of working with applications in the Cloud. One of the challenges of today’s mobile testing industry is the installation of AUT’s on devices. Platforms such iOS make this even more difficult, as it has closed off systems that rarely allow open access to its code. The methods to face these challenges have been to either jailbreak/root the device or to instrument it.
Jailbreaking/rooting is a risky process involving third party “hacking” of the device that provides a bridge into the platform in order to upload third party applications to bypass official approval. This method is not always available from vendors due to the modification of third party systems and reluctance of enterprises to use this method for official testing of their applications.
Alternatively, instrumentation is a risk-free process, but it has its own pitfalls. Originally, in order to instrument a device, the source code of the application needed to be recompiled. This puts elements in play that causes strain in communication between development teams and is viewed by some organizations as a large threat to application security and performance.
To combat all of the shortcomings of these two primary methods, ZAP Technologies has introduced ZUMA (ZAP Universal Mobile Access) to its customer base. This revolutionary solution solves the main challenge of uploading applications to devices in the Cloud and completely eliminates any need for instrumentation and jailbreaking/rooting with a unique Drag-And-Drop AirUpload method of installing apps. ZUMA is currently available as part of ZAP Technologies’ product zapFARM or as a standalone licensed package.
For more information about this, visit our website at www.zapFARM.com and register for an evaluation to see if this market-leading tool is right for you.

Friday, February 15, 2013

Partnerships Drive Synergy for Global Success

No matter how advanced our technology has become, the size of the world has not changed. People and businesses still stretch across continents, some separated by thousands of miles.  The Cloud and the internet helps build bridges across these distances, but not even the most sophisticated of mobile applications can completely fill in the gaps left by differences in locations. To make matters even more complicated, each business has its own niche that it occupies. As everyone knows, there are hundreds of competitors for each runway, and each business races to stay on top. During this struggle, a business “runner” aims for the quickest and most efficient way of getting things done, but this approach can sometimes cause them to miss out on benefits they would have if they slowed down; or just had a helping hand.

Partnerships can do wonders for your business. Not only can a partnership help you make that decisive leap across the chasm of international affairs, but partners can also assist your business in a large variety of ways. Where some partnerships are based purely on the sharing of sales and profits, others are based on boosting each partner’s strengths and eliminating their weaknesses. In this case, the saying of “two heads are better than one” applies literally. One company only has so many hands. Despite the fact that reaching out in hundreds of directions is the best way to make sure that one stays ahead of the game, that reach is limited unless one has friends, colleagues, and business partners as their side.

So, what is a Partnership?

Partnerships are formed when two or more companies with the same goals come together to form a mutual beneficial relationship. Perhaps they have a common set of ideas or a specific set of needs that they feel could be addressed better with cooperation. Forming this type of relationship is often the most logical and efficient way of problem-solving on a higher scale. Two partners working jointly can create a better, combined environment that benefits their mutual customers and bottom lines. Not only does creating a partnership build firm trust between companies all across the globe, doing so also helps create synergy – a key factor in continuous growth and improvement of a business.

Here with ZAP Technologies, we’ve recognized this need and have joined with many partners in recent years to help make our solutions and services well-rounded, solid, and dependable. Some of our partners help their customers implement our tools to their customer base. Others use their extensive knowledge of business development to help make more users aware of our products and how they can help drive their own company needs. Still others work more closely with us at a technical level. Every day, we collaborate to address the complex system of technological needs of the growing software testing market ecology. All of us recognize that, with the help of our partners, we can accomplish much more.

Having 100 friends is often better than having $100!

Friday, February 8, 2013

Multitasking in a World Ruled by Mobile Applications!


In a few short years, mobile application downloads have skyrocketed from a relative 30 billion to an estimated 200 billion in 2016. As we’ve noted in previous blogs, the mobile industry has transformed not just our lives but the living market and business ecosystem we work in every day. Multitasking is no longer a bonus; it’s a must. Just like consumers need to browse the internet, make a phone call, and possibly pay their credit card bill at the same time, we – as testers – have to be able to cater to multiple venues of our profession. But, the “mobile explosion” hasn’t just affected developers and testers. The strain of a fast-paced environment has greatly altered the way other departments within development companies think and act. Marketing and sales teams, in an attempt to hurriedly release the “new product”, want everything done yesterday and this often leads them to bypass critical steps from testing phases in order to meet their deadlines. They cut corners with budgets for testing tools and sometimes leave developers at a large disadvantage. 

The most important concept that these marketing and sales teams have to adopt is that developing a revolutionary or popular app isn’t enough. Testing said app for errors and glitches is a living, breathing, and essential part of the entire lifecycle. Without it, no matter how great the product is, projects will have trouble staying afloat. No consumer wants to use an app that crashes frequently or loses their data. The key to success is functional and performance testing of web-based and native mobile applications.
Functional testing can identify trouble within devices themselves that may cause an app to fail. Making sure the app works on all devices is necessary to ensure that the product reaches the maximum number of consumers. This brings about the necessity for services that allow developers to use their devices for mass testing both physically and in the Cloud. This may seem like a tremendously difficult task, but it doesn’t have to be when developers invest in the correct instruments to help them multitask in a world that accepts nothing less.  

Even more crucial is test automation to save time and resources. Taking a drastic shortcut here is a mistake that many non-developers (such as sales and marketing teams) make. Enough time must be allotted to testing of an application to catch any and all bugs before their have a negative effect on customer experience. Using the right tools at the right stage in development will set any project on the right track and keep it there, including setting an efficient pace that even non-developers can accept.

The most popular product for application testing currently on the market is the HP ALM Suite. This product is a well-rounded, advanced, tool for developers to use that helps identify errors and malfunctions early on in the test phase. However, as advanced as HP ALM is, it still lacks a few features that can be supplemented with solutions like ZAP-fiX. ZPX plugs seamlessly into the HP ALM Suite and works side by side with developers and testers from start to finish. 

Friday, January 18, 2013

Visual Test Automation Leads the Future of the Software Testing Industry


Today’s test automation technology in general relies primarily on the test object recognition aspect.  This means that any testing tool is required to identify test objects of the application under test (AUT) and successfully recognize it during creation of the script and its playback. Conventional test automation technologies developed are based on API object recognition, where each singular client API’s is correlated with the testing tool technology’s test object class. In the modern testing world, this approach is insufficient due to the existence of a variety of different clients for one application under test – ie browsers, client-server applications, etc. With most tools, you can only recognize one set of objects per script per AUT. Therefore, if you are automating different clients of the same applications (which may be different browser flavors or different version of client or native mobile apps) you will, in most cases, need to recreate the script. This approach tremendously increases maintenance requirements of test automation framework and makes it very costly and many times more impractical. This inevitably forces many organizations to roll back to manual testing rather than supporting test automation.
The solution for this challenge is visual based object recognition technologies. Visual based object recognition is the future for test object recognition in the modern software application development and testing world. It contains algorithms built on OCR (object character recognition) and ICR (image character recognition). This type of algorithm is what the ZAP-fiX solution is based upon. Technology based on visual based object recognition allows testers to execute scripts cross-client and cross-platform. When talking about visual based object recognition technologies, it’s very important to understand the level of object recognition. The majority of them are driven through the tool’s built-in functionality rather than sets of API’s that can be prescribed in a singular line of code. Visual-based object recognition is more reliable in many cases depending on the complexity of its algorithms. When speaking about API vs. visual object recognition, test engineers should change their approach to automation and think of less complex techniques unlike programmatic description and custom object recognition functions. Using the built in functionality of tools reduces the complexity of scripts and lines of code per scripts which, at the end of the day, reduces their required maintenance and time spent on managing such test automation framework. Instead of depleting the company’s budget and causing the failure of testing projects, selection of the proper testing tool that allows cross-client and cross-platform automation with less scripting increases return investment from software test automation.
In conclusion, in order for us to successfully cover the modern requirements for software testing, we need to start building test automation technologies that support the newest features. Today, software has changed from a standard, single, Windows-based platform to multiple platforms, and we – as test automation professionals – need to start adapting to the world using the latest technology that offers the ability to switch between all of them. Visual object recognition is the future of test automation!

Thursday, January 10, 2013

zapFARM Paves the Way for Cost-Efficient Mobile Device Testing!


Currently, the process of mobile test automation requires hosting of mobile devices under test. Modern solutions on the market offer hourly rental of devices – a costly option that has many downfalls. With the continuing rise of technology,  the majority of companies are starting to perform test automation for mobile testing. Most of the time, they don’t have a precise device strategy that may justify a return of investment from such services.  It is very difficult for a company to invest hundreds of thousand dollars solely for devices under test. ZAP Technologies offers a way out of this cycle but providing a solution to solve this problem in the form of zapFARM hosted services. zapFARM offers customers the ability to rent cost-efficient use of mobile devices under test dedicated to them. These devices are available any time anywhere the customer may need them.
zapFARM with ZAP-fiX offers the flexibility of the industry’s only Full Lifecycle Mobile Testing platform – on-site, customer managed, secure (ZAP-fiX) or Pay-As-You-Go, subscription, and low administration costs (zapFARM). ZAP has expanded our industry’s only Full Lifecycle Mobile Testing solutions and services to provide hosted device support on zapFARM. ZAP has already established itself as the most functionally expert, financially flexible portfolio of mobile testing products  and solutions that have become a key strategic platform for global commercial brands rapidly accelerating transformation and migration of key business applications to smartphones, tablets and other intelligent devices. ZAP’s family of emulators, viewers and real device testing tools extend and increase the investment value of HP’s market leading QuickTest Professional ALM suite by delivering transparency and compliance with existing installation, test scripts, administration and management reporting procedures – no new skills, no new education, no retraining of expensive personnel resources. Now zapFARM can completely eliminate the time, complexity and logistics of acquiring, maintaining, updating and adding to your mobile device inventory as your application platforms change or expand.  Where you have more flexibility, and less concern regarding local process management and security, zapFARM provides a hosted service subscription program that provides managed access to mobile devices located at our Atlanta-based hosting facility. ZAP provides the hardware and telecommunications facilities, manages logistics and inventory, and administers all aspects of your custom testing environment. You pay for the service when you require it, for as long as you need it, at a cost that makes sense to you.
Visit www.ZAP-TEST.com for more information about this solution!

Monday, November 19, 2012

Architectural Foundations of Testing

Today’s modern application testing matrix is full of rising complexities. In order to save time and money and to assure the success of a developed application, test automation teams have to start with the basics. A strong tower requires strong foundations. In this case, one of the most important parts of that foundation is the development of test framework. In order to ascertain that your product can bear the weight of all of today’s demands – those of both users and technology – all framework has to be flexible and robust. We develop test architectures in a modular, data-driven, and event-driven fashion that includes rich-logic. The  main goal of test architecture is to achieve full testing with less test artifacts, meaning that we will have less maintenance of said architecture down the line. As Test Architects, our main goal is to preferably design one test case per one functional area, which can be achieved through framework modularity.

When designing modular test architecture, one can define two classes of test cases: Test Components and Business Processes. Test Components are usually smaller, reusable test cases that represent a particular functional area, while Business Processes are more procedural test cases oriented to test application business processes.  Let’s take a look at a basic example of a common application to illustrate the above methods – a travel portal. The main purpose of this app is to help a user create their own itinerary for a trip. First, we will set the functional areas as “login”, “book hotel”, and “book rental car”. In order to develop test coverage based on these principles, we will develop test components separately for each of these areas.

Data-driven testing is carried out with a simplified principle of input and output parameters, meaning that our test cases should not have any static input and output values (when this is possible and logical). The advantage of data-driven testing is the ease of driving test scenarios though input and output data within a single test artifact. Later, we will incorporate all of these into a single “book itinerary” business case. Once we develop the business component, we can address the principles of data driving. Our goal is to create an artifact that will take any input and output values into testing procedures. Therefore, we will parameterize every input and output value such as the “user name” text field, etc.

Another important characteristic of a modern test framework is event-driven testing. Event-driven architecture is an script pattern promoting the production, detection, consumption of, and reaction to events in the script. Every test case should end with a triggered event and present validation criteria in the scenario. Building applications and systems around an event-driven architecture promotes validation of test case expected results that each test step has to have by definition. For example, when designing a Login Test Component we will create two test steps: Invoke AUT and Login (typing user name, password and clicking Login button), at the end of each step this test case will be triggering event in AUT presetting validation, i.e. Login dialog invoked, or Welcome page appears (including output data from the previous input step).

Last but not least on our list of foundations is rich-logic. This element allows testing teams to incorporate all business requirements. This includes applying conditional statement into the expected results area. For example, when there are multiple user groups in the application under test, we can create a conditional statement to validate which user of the group is logged in and outline subsequent steps for the user to proceed test in a certain way. Such framework can be executed either manually or in an automated fashion across any platform. With this method in place, we can take our business case of booking an itinerary and use it anywhere (Windows, Mac, Unix,Mobile etc.) without any further modification.


This approach allows better collaboration for team members, like application SME and Automation Specialists or new colleagues. It improves change management and reduces maintenance of test artifacts, therefore increasing testing ROI.

In conclusion, designing your framework in the most efficient way from the very beginning is the ultimate test strategy. In order to achieve a rapid pace of modern software development and offer proper test coverage, the foundations for an application’s script must be strong. Once the foundations are built with care and focus, the tower will stand tall and unwavering even in the strongest of winds.

Friday, November 9, 2012

Test Automation – Choosing the Right Tools to Drive Success

In our most recent installments, we’ve talked about the efficiency of test automation, agile testing, and some best practices for test teams. We’ve covered the difficulties of catering to multiple platforms and browsers, and have mentioned that the modern market is ever-changing and filled with obstacles that must be surpassed to stay afloat among the competition. There are many testing tools available out there today, and one of the most critical steps towards successful application testing is choosing the right one to get the job done.

Here, we can continue our car analogy. Just like building a custom car requires focusing on each separate part and how it will benefit the whole, test automation teams must also work together to determine what aspects of a testing tool will help them reach their goals in the most efficient way possible. Some companies may struggle with this, as there is a false rumor going around: that test automation is a low-maintenance cure-all for any development process.

The reality? Test automation is possibly the most difficult and rigorous form of application testing. Because everything is automated, teams must be doubly focused in assuring that all scripts run as planned. The goal of this method is to save time and prevent error, but the scripts that run the tests must first themselves be error-free in order to take advantage of the benefits test automation offers. The quality of the tools used throughout testing can make or break a project.

When driving a car, the main goal is to go from point A to point B. However, when a critical situation presents itself – such as hydroplaning or a potential accident – the quality of the vehicle and its safety features can tip the scales in your favor and save your life. The same can be applied to testing scenarios. When you need to quickly overcome certain problems with object recognition or architectural aspects of a project, you must rely on the particular feature set of your tools to help you make the climb. Even the most experienced tester can’t foresee all possible hazards on the road to launching a project, and – on the surface – freeware may look to have the same functionalities as paid software. However, each tool is different. You get what you pay for, after all.

For example, some very important factors to consider in modern test automation are: the ability to recognize objects on a higher-end scale, support of rich logic scenarios, modularity support, and configuration aspects of device under test such as jailbreaking/rooting or instrumentation. Finding a tool that can perform with the most versatility with these tasks and cover all platforms and browsers is crucial, since it’s impossible to predict whether the requirements for the usage of the application will take a sudden turn. End-users may initially need the application to run on iPhone, but may unexpectedly change their requirements to running the app on Windows Safari (yes, there is such a thing!).

The chart below shows StatCounter statistics about some of the mobile browsers of today and their popularity. Can your tools help you develop your scripts on all of these and more?


The knowledge and experience of test engineers along with operating budget are also important things to consider. Certain tools may have a steeper learning curve than others. If a tool has a large feature set, it will take more time to train teams to use it. What is the budget for the project? Can it support the investment of a more advanced tool along with additional time to train the team in its usage? ZAP Specialists highly recommend investing in a high-end tool, but teams must always plan ahead to make sure that they will have a return on this investment. In the long-run, putting aside a portion of the budget to acquire a better tool may save you days when you least expect, helping the budget remain in the positive.

In conclusion, test automation is a difficult and complicated path that must be navigated with the correct tools at hand. Taking the time to make an informed decision regarding your test automation tools can save you time and money in the end.