Opinions and views from expert CIOZone members.
Tag >> mobile
You may have seen my previous post
on why understanding the need for mobile testing is a critical element of staying on top of the evolving mobile landscape. As a refresher, I explained the differences between mobile and traditional testing – the major one being to accommodate the near-constantly changing platforms and architectures. It’s a tough world out there in the application development universe, as companies strive to create products that work across as many as 1,800 different platforms and the latest operating systems. In this follow-up post, I’ll explain the benefits of using reliable testing platforms to maintain your applications and ensure reliability and speed.
In our instant gratification society, our devices must work – and work fast. Websites should load quickly, even
on the go. The performance testers’ maxim – ‘seven seconds can cost you $7 million dollars’ – illustrates perfectly how a delay in performance can impact the bottom line.
A major challenge within all testing organizations is the reuse and maintenance of testing scripts. Testers are all about efficiency, so repeatedly recreating test scripts negates most productivity gains. In traditional software testing, the challenge for test automation tools was to ensure that scripts were portable, easily editable, shared, versioned, and could be rolled back either natively or via a file/source control system – a challenge met by the evolution of most software testing tools. When it comes to mobile, the immaturity of the tools in the market means many scripts aren’t reusable across multiple platforms, devices, and application types.
This is why organizations looking for a mobile test automation platform should factor in the overall maintenance of the scripts and tests being created. The mobile test automation tool should be able to reuse many scripts to test across multiple units – an important consideration bearing in mind the proliferation of devices. This script will be responsible for recording, replaying, modifying, and creating error controls on all test commands. The testing tool is the conduit between the connected devices and the extension inside a chosen IDE, such as Visual Studio. Done properly with the right tool and architecture, one test script will execute against multiple devices. Performance is everything.
As mobile networks spread, so
does the need for robust application performance – as the risk of high-profile failures increases exponentially. The demand for accurate mobile application distribution across multiple devices and platforms raises the stakes for mobile development teams until performance testing becomes just as critical (if not more critical) as functional testing in an application’s release.
While many organizations’ current infrastructure and performance
testing tools are sufficient, some fail to prepare for multi-channel/multi-speed swarms to the network during heavy load times. Infrastructures can withstand hyper-fast networks but unknowns quickly become apparent when traffic from slower networks hits the primary route. Issues such as open sockets resulting from a cell tower switchover and database pooling sharing load between users on fiber, to name a few, all require a fix.
One way to simplify mobile testing is to use an infrastructure that allows for developers to write unit tests using open source frameworks such as JUnit. Working with tooling that takes care of the ‘heavy lifting’ across different devices will shrink testing cycles. In this ecosystem, a business analyst can design the tests with visual tooling, export them as self-contained scripts that self-describe the given states, and then have them automatically generate JUnit code, which lets developers work as developers and testers to work as testers.
Does it Load Better?
Another often overlooked item within mobile testing is time and quality of application response under heavy loads. Is the user seeing the right screen? Is the application showing the correct ads under the load? What about HTML5 template based applications -- is the right style sheet showing up for the
right device? Because there have
been at least eight different versions
of the Android operating system
(OS) since 2009, performance and functional testing of different Android OS versions on multiple mobile devices is difficult.
Add in iOS, bada, BlackBerry, Windows Mobile, and HTML5 and testing complexity reaches another level.
Testers must use tooling that has mobile performance simulation capabilities on top of having robust object recognition technology for functional testing. Mobile testers should also prepare for the future by practicing ‘edge testing’. Start with the popular, most common devices, typically the ones promoted by the major mobile phone providers (i.e. iPhone, iPad, Google Nexus, Galaxy Tab etc.) to narrow the gap when developing a strategic plan of attack for mobile test automation. Then, test the smallest and largest screen sizes to ensure ample coverage. Edge testing with robust tools that allow for performance and functional testing is a strategy that still holds water, regardless of how often devices change.
Do You Work Better?
Clearly, with developers under pressure to deliver more robust code that can meet all these challenges, developers are going to have to work better and find more productive working practices
to create an improved product. Agile testing certainly ticks a lot of these boxes. Instead of a labor-intensive process where developers work in isolated teams and test software until destruction to find the bugs, Agile testing is helping teams work together to ensure the bugs don’t get in there in the first place. In other words, testers are writing automated tests to show that the software works, rather than obsessing about its vulnerability.
Of course, Agile testers will still find bugs, and pre-Agile testers must write tests to show what works. But, Agile has prompted a more fluid and interactive way of thinking. Using tools that enable teams to collaborate out of the box is imperative to working better.
The future of mobile testing isn’t – and cannot be – about silos of developers working on niche projects that seek to find problems. It’s going to be teams of developers and testers working closer together and drawing on their creativity and expertise to create robust code that meets the challenges of mobile. Once you have this component, along with an understanding of the testing process, you’ll be developing (and testing) awe-inspiring applications in no time!
- Archie Roboostoff, Director, Borland Portfolio at Micro Focus
There are many challenges facing developers and testers in today’s mobile world. Their products must work smoothly across as many as 1,800 different device and platform combinations, as well as predict what device manufacturers will come up with next – quite a challenge for any organization.
As mobile demand continues to accelerate, developers and testers struggle to keep pace when it comes to mobile quality, performance, and development. Last year year, 708 million people used smartphones, and the number continues to grow. Maybe you’re even reading this article on one of the 118.9 million consumer tables that were sold last year. There will soon be more mobile connected devices on Earth than there are people to use them and Bring Your Own Device (BYOD) continues to raise the stakes higher still.
Smartphones don’t simply carry the news – they make it. So interchangeable are these devices – at least on the surface – that the technology experts now focus on what each new device doesn’t have and cannot do, rather than wowing us with what it can do.
The competition between device vendors means more people than ever have inexpensive access
to powerful mobile computing platforms. For consumers, this means choice. For organizations building mobile applications, this means added complexity. In a series of three posts, I will offer advice to ensure that you come out on top in the evolving mobile landscape.
Get With The Program
First up: you have to understand why the demand for application testing exists. Companies must increasingly engage with their customers through mobile apps. When executed properly, a mobile app will work on many levels. In fact, worldwide app revenue hit more than $15bn at the end of last year. With nearly half of smartphone users downloading at least one new app every week, that’s a lot to add to the bottom line.
The key phrase here is ‘executed properly.’ Currently, developers must write, develop, test and release apps that work for 130 different Android devices running
on seven different platforms and
two firmware sets that need thorough testing to ensure business functionality. Some device functions vary on different carrier networks – and even the movement of the device itself can affect the application’s behavior. Get it wrong and you’ll fall into the ‘worst business apps’ category. When end users have the power to determine the fate of an application with ratings and reviews, there aren’t any second chances to make a good impression.
Mobile vs Traditional Automation
Now that you understand the “why,” it’s time to move on to the “how.” Because of the maturity of the platforms and the historical build-up of the quality teams and infrastructures, traditional test automation typically leverages more ‘black box’ testing. Mobile test automation, while conceptually the same, requires different methods to accommodate the near-constant change to platforms and architectures. Mobile testers
need more access and insight into the application architecture, structure, and how it works, also known as ‘white box’ testing. To get truly flexible white box testing, a strong object recognition process must be in place. In other words, the devices need to provide more information about the platform than traditional applications on desktops ever had to and it all starts with object recognition.
Object recognition provides insight into items like buttons, controls, images, containers, and menu items. Because of the differences in platforms and devices, not all objects are created equal. It’s imperative that mobile testing technologies have a variety of ways to recognize objects under test. If a tester doesn’t know or doesn’t have access to objects within the app, it makes testing that app a long and drawn out process, which would defeat the purpose of test automation.
Native object recognition is the most robust method for understanding
the parameters of objects within the apps, but isn’t always available to all platforms. Testers need to make sure that mobile test automation tools use a combination of object recognition technologies such as native, image-based recognition, and test-based recognition. This combination will ensure that tests can be conducted on the widest variety of platforms with the least amount of maintenance across testing scripts.
On top of multimodal recognition technologies, an instrumentation strategy, a way to enhance native object recognition is beneficial. While frowned on in traditional testing, instrumentation is recognized as the norm within mobile testing and is driving future thinking. So the future of mobile testing is
to embrace white box testing – and to be less prescriptive about object recognition to maximize the benefits.
So there you have it: the why and how of application testing. Watch out for my next post in which I’ll explain how to maintain your testing script without breaking the bank.
- Archie Roboostoff, Director, Borland Portfolio at Micro Focus
Innovi Mobile Releases 2013 Enterprise Mobility Dictionary.
New York, NY (April 5th):
Innovi Mobile : "Clients frequently ask us about certain buzzwords in the mobile industry. We decided to compile our list of the most common terms used in mobile with a little of our own flair"
In recent weeks, the issue of the fiscal cliff, has stirred intense debate across the U.S. and has been closely monitored overseas in relation to its potential impact upon the broader global economy. The term refers to the planned tax increases and spending cuts, originally beginning in January 2013, in order to reduce the U.S. budget deficit.
As expected, with potential tax increases in sight, businesses are collectively sitting on their hands and being very cautious in regard to new spending on jobs and equipment. As reported by CNBC, a recent survey by the National Federation of Independent Businesses found that, among small business owners, just 5% plan on adding new jobs and 19% on investing in new equipment in the next three to six months.
With the specter of an economic recession looming, the question is how large and small business can minimize the impact of external forces, such as the fiscal cliff, upon their own organizations’ fortunes and profitability.
I believe part of the answer lies in U.S. innovation, which can have a powerful impact at both the individual organizational level, whether private or public, and at the national level. According to KPMG, one of the solutions to counteract increased taxation and reduced spending is to increase revenues and overall economic productivity. It is here that U.S. innovation can play a key role in both increasing revenues and creating breakthroughs in organizational efficiencies necessary to increase productivity.
While innovation within an organization is often thought of as something that’s championed in good economic times when internal funding flows freely, my belief is that it is something that can be applied regardless of economic condition to both help grow revenues and reduce costs and improve productivity. Certainly it’s easier to gain access to investment dollars in times of economic prosperity, but a corollary to the adage “you have to spend money to make money”, is that in some cases “you have to spend money to save money” as well.
Today, businesses are looking for flexibility in how they allocate their investments on jobs and the internal products and services they need to conduct business. This is perhaps evidenced by the rise in the number of part-time workers as a percentage of full-time employees. In retail in particular, according to the New York Times, the sector has cut a million full-time jobs and added more than half-a-million part-time jobs since 2006.
Organizations can take a similar approach for flexibility in how they finance and utilize the internal products and services they need for operating their business. If we focus on the IT part of this equation, the nexus of forces of cloud, mobile, social and big data technologies clearly have a powerful role to play.
Let’s take a look at the economic potential of these technology forces and how they might collectively contribute to U.S. innovation and productivity:
Cloud computing enables organizations to “pay per use” and scale up or down computing resources on demand based on their specific usage requirements. It also enables companies to reduce their internal data center footprints and move to a more virtualized data center concept. Financially, it enables them to shift many of their IT costs from upfront capital expense to ongoing operating expense across the entire IT stack from infrastructure as a service, to platform as a service, and software as a service. Community clouds have the potential for multiple organizations, and even sectors within an industry, to share their computing infrastructure costs and pool their investments. Some of the quantifiable economic benefits in the literature, such as a KPMG report commissioned by the Australia Information Industry Association, include an estimated increase in U.S. GDP by 8.64% to 10.37% over the next ten years, or 0.83% to 0.99% per year, and a cost savings in IT related expenditure of between 25 and 50%.
Just like the other disruptive trends, mobile computing provides multiple benefits ranging from new revenue sources from mobile-enabled, customer-facing products and services, to cost savings and productivity enhancements from mobile-enabled, employee-facing applications. One of the most interesting areas is the opportunity for businesses to re-invent and re-design their existing business processes, and even some of their existing business models, for the new mobile context. According to the Aberdeen Group, productivity improvements for field-service employees are typically cited in the 20% range with 40% being “best-in-class” in certain industries and scenarios.
In the social computing arena, a report this year by McKinsey estimates that by fully implementing social technologies within their organizations, companies have the potential to improve the productivity of interaction workers by 20 to 25%. This estimate factors in tasks such as reading and answering e-mail, searching and gathering information, communicating and collaborating internally, and role-specific tasks. The same report also highlights a $900 billion to $1.3 trillion of annual value that could be unlocked by social technologies in four sectors of consumer packaged goods, financial services, professional services, and advanced manufacturing. In addition, “social shopping” could influence an additional $940 billion in annual consumption.
The economic potential of big data has also been well published over the last several years. In U.S. Healthcare alone, McKinsey estimates that big data could yield over $200 billion in value per year in the form of reducing healthcare expenditures primarily related to R&D, clinical operations, and accounting and pricing processes. Big data is a key component of the so-called “Internet of Things” where intelligent sensors are ubiquitously deployed to provide real-time data that can yield actionable insights across numerous industry verticals such as transportation, manufacturing and healthcare. According to some estimates, as discussed in my post, 10 CIO considerations for disruptive trends in 2013, the “Internet of Things” has the potential to contribute $10-15 trillion to global GDP by 2030, that’s the size of the current U.S. economy.
If we look across all these forces and start to add up the economic potential, we see trillions of dollars of benefit particularly in regard to productivity improvements and cost reductions, but also in regard to opportunities for new revenue growth (figure 1). Of course, as with all these cited quantitative improvements, the level of benefit is highly dependent upon the specific use cases involved so these numbers are more for illustrative purposes in terms of their relative order of magnitude.
While recent issues such as the fiscal cliff are clearly complex societal matters with multiple dimensions, one of the best ways to minimize its impact is to explore ways to harness and accelerate U.S. innovation, and therefore growth, cost savings and productivity improvements, at both the organizational and national levels. Information technology and new, disruptive forces such as cloud, mobile, and social computing, together with big data and intelligent analytics are just some of the tools at the disposal of corporate executives and government leaders to effect such a change.
In applying this thinking to government, the “cloud first” policy of the U.S. Federal government has been highly successful with demonstrable cost savings. Perhaps now is the time to evaluate a broader policy towards U.S. innovation with a technology component that takes a similar “first” approach across all these disruptive technologies which can add significant financial value back into the economy.
The advent of the savvy end-user and the trend towards BYOD has changed the way in which services must be provided by IT. As smartphone capabilities further develop, so does the level of expectations for added functionality.
Businesses will find it impossible to ignore mobile if they wish to remain competitive in the next few years and must consider the most effective way to develop and adapt business applications to the needs of the mobile user.
It comes as no surprise that a new study from Forrester Research
predicts that mobile technology will have “dramatic effect” on back-office IT systems. Modern users expect 24/7 mobile access to all the applications and online services that they would use on their desktop or laptop computer – visiting e-commerce sites, accessing their bank online, and more recently, loading their work applications. Yet, according to Forrester, “hidden costs and disruptions” are set to plague organizations that do not make appropriate pre-emptive action.
The report further suggests that mobile projects hide a variety of potential pitfalls as a result of infrastructure that is ill prepared for exploding activity volumes. However, organizations need not think that embracing mobile will require a costly and complete overhaul of existing IT infrastructure to resolve these issues.
Businesses should consider re-using as much of their existing business applications and processes as possible in order to guarantee integrity, continuity and security of service for the future. Potential threats to the infrastructure of exploding activity volumes can be mitigated by making smart choices about application provision and workload management, to relieve pressure and offer a more cost- effective and viable solution to adopt mobile.
So what should businesses be doing to embrace mobile in a cost- efficient fashion? There are several steps that businesses can take to ensure that their IT infrastructures are prepared for the mobile explosion:
Re-use and adapt: All too often businesses approach mobile by developing new applications when in fact they could simply re-use and adapt existing, core back-end applications. The benefit of this approach is that costs are reduced and the existing infrastructure is not compromised.
While many may not consider COBOL for adapting business applications to support mobile use, its simplicity and therefore adaptability, makes this programming language, which accounts for approximately 70% of all critical business processes, the perfect candidate to take IT into the mobile era. With COBOL, developers are able to modernize applications to support new mobile applications across a wide number of technical platforms. COBOL can be used in each instance to efficiently deliver business services and their supporting data from the back-end to the user. The benefits of re-using COBOL systems rather than re-writing them are numerous and include a faster delivery of IT service, at lower cost and risk, while retaining intellectual property and competitive advantage.
Thoroughly test your mobile apps: When undertaking a considerable project such as adapting to mobile, testing is one area that cannot afford to be compromised. However, traditional testing practices can mean that projects can overrun on time as well as budget. By moving application testing for mobile, web and related back-end systems to a more cost- effective environment that is easy to use, testing phases are able to be completed much faster and more thoroughly without eating into mainframe power. These environments also lend themselves better to supporting test automation and performance testing needs.
Review your workload deployment strategy: In order to cope with potential spikes in activity that mobile may bring, many businesses may look to add extra back-office capacity. However, this can be a costly solution. For example mainframe system capacity may be in the region of approximately $4,000 per MIPS. Instead, IT can look to optimize workload deployment and seize advantage of server choice to free up precious capacity to support mobile application needs.
Adapting your IT processes to mobile, if approached in a strategic and efficient fashion does not have to be the costly and disruptive burden that Forrester suggests. Much can be done with existing IT infrastructures and core assets to improve efficiency without requiring complete overhauls or re-builds that ensure that the IT infrastructure is able to take businesses in to the future as cost-efficiently as possible.
I was talking with my mom the other day about some of the differences between what I experience in the workplace now and what my dad experienced while I was growing up. It struck me that one of the biggest changes has been in the boundary between "work-time" and "off-time." When my dad, who was a manager at a large communications technology company, was away from his desk, he was truly away from his desk - and all of his normal work-related activities waited for his return. This was true when he was home for the evening, on weekends, on vacation, on business trips, or even sitting in meetings. If he wasn't physically in his office, he was truly disconnected from his regular everyday activities.
In today's connected world, this is no longer the case. I can't remember the last time I was home in the evening or over the weekend, or even on vacation, when I wasn't regularly checking email and responding to the ongoing demands of my job. And hardly a meeting goes by when I don't see a handful of people responding to some time-critical request via their phone or tablet.
Mobile devices allow us to stay connected to the goings-on of our job regardless of our location - we're no longer tethered to our desk phone or desktop computer, nor do we need to be in order to remain productive and involved. And this business trend isn't just a flash-in-the-pan trend, either. According to Strategy Analytics, iOS and Android smartphone device manufacturers shipped a total of 21.3M units in the US in the 2nd quarter of 2012 alone. And smartphones aren't the only mobile game in town any more. During that same quarter, Apple sold 17M iPads across the globe - and other tablet devices are appearing with increased frequency.
<< Start < Previous 1 2 3 Next > End >>