Technology is Becoming the Core to Every Business

By Goran Kimovski, SVP Global Customer Solutions (Onica)

For many decades, technology businesses were considered a separate industry sector. These were typically companies whose revenue was dependant on developing technology-based products and selling those products to other businesses. The majority of other businesses were relegated to the role of technology consumers. Wanting to reduce their technology budgets, these technology consumers focused on minimizing their technology costs by standardizing their business processes and tools. This approach worked for a while, since everyone in their industry and market were in the same race. However, with the advent of ubiquitous technology – in the form of cloud services, mobile and edge devices – a new wave of companies emerged. These new companies shifted technology from the periphery to the core of their business model.149 Technology is Becoming the Core to Every Business

Technology Became the Differentiator

New businesses in sectors ranging from healthcare to transportation to financial services were able to compete and steal market share from existing businesses. We started using terms like fintech, healthtech, and transportation as a service to differentiate these businesses from the respective industry sector they were competing within. They almost always looked more like technology companies based on their R&D budget and technology innovation. This new wave of hybrid startups has attracted tons of investments across the globe.

Many traditional businesses have changed their direction to keep up with the competition. They had to take advantage of the same trends in cloud, mobile, and edge, to start catching up to (or in some cases outperform) their new competitors. These traditional businesses have recognized that these new businesses are using technology to differentiate themselves and grabbing market share from them. Some have been able to successfully change their direction and take their competition. Many found new solutions for their customers by partnering with these new vendors. Some have decided to acquire these businesses and bring them into the core of their operations. This effectively started a transformation towards becoming more and more technology oriented.

What Drives This Process?

Several technology innovations:

  1. Open and fast internet access
  2. Adoption of mobile in every aspect of our business and professional lives
  3. Extensive processing and sensor technology being built in every device
  4. Low cost and easy access to large computing power in the form of cloud

Screen-Shot-2019-05-14-at-11.14.03-AM Technology is Becoming the Core to Every Business

These innovations have converged and democratized access to technology. This enabled new business models like “everything as a service” to thrive. As businesses adopt more technology, they create a greater wealth of data and many new integration possibilities.

In turn, this drives innovation to:

  1. Make sense of all the data
  2. Help businesses drive better decisions and optimize the user experience
  3. Offer new ways for users to obtain services from their business
  4. Create additional revenue generating opportunities uniquely enabled by technology

What Does this Mean for Your Business?

If you’re not already on the path of transforming towards a technology-centric future, now is the best time to start.

This is how you can begin:

  1. Starting the Discussion
    Initiating discussions with your leadership (or, if you’re an executive, by leading such discussions) about making an initial investment.
  2. Create a Team
    Empower a small team to start experimenting with technology and exploring how to solve current business challenges in a different way using cloud-based or related technologies. It is critical that you truly empower the team to try different technologies. Give them a budget and authority for creating a sandbox with enough guardrails and support from your IT and security teams to enable them to safely run experiments fast. It is equally critical to hold them accountable for their learning and sharing the results of their experiments. Therefore, you can build a roadmap for transforming your business through the use of technology and get wider support from the organization to continue further investments.

If you’ve started the transformation and feel overwhelmed, you’re not alone. The technology driving the trends discussed here is largely developed for builders. These are companies that employ engineers and others that have the skill and know-how to build solutions from various technology components. However, many of the businesses outside the technology sector employ people that are good at customizing and managing solutions who don’t have the capacity to maintain their existing technology stacks.

Learning the New Model

Customization, integration, and maintenance is commonly outsourced to professional services or managed services firms. In addition, most of those firms are too invested in their existing technology platforms and unable to move as fast as their customers who feel the pressure of the market. They need to adopt new technologies faster than their vendors can. This leaves room for a new kind of service firms (Optimus Information and Onica included) that have been born in the new technology-centric world. These new service firms are not constrained by old business models or large numbers of customers with support agreements that keep their staff working with outdated technologies. These companies are more than happy to share the best practices they have developed over the years working with early adopters of technologies like cloud, IoT, serverless, Big Data, Machine Learning, etc. Larger enterprises are also great examples of this new model. Many have already started their journeys and have been relying on those new technology-centric services organizations to help.

Technology Transformation Trend

It is somewhat useful to think of all of these trends as enabling a transformation towards technology-enabled businesses. However, in my 6+ years offering cloud consulting and managed services in Canada and the US, I have often seen this trend of technology becoming central to the business. These businesses are on the path to becoming or have already become technology-centric; and many aspects of their organizations have been transforming to support that. I expect this trend to continue over the next 10 years. I predict that we will find ourselves in a world where almost every business will become technology-centric.

Automated Testing on Azure DevOps

If you are looking for automated testing for any of your applications and would like to integrate it with your Azure DevOps infrastructure, Optimus Information has a “ready to deploy” Test Automation solution for you.

Our Azure DevOps based test automation solution uses the latest Azure CI/CD features and offers the following functionalities:

1. Configure automated test cycles using Azure DevOps

2. Schedule and execute Web UI and REST API test scripts on cloud using Azure VMs

    • Self-serviced virtual machines and PaaS resources for testing using Azure DevTest labs
    • Supports automated test scripts developed in Java or C# using Selenium WebDriver, REST Assured and RestSharp

    3. Distribution of apps to beta testers and your collaborators with Azure App Center

      • Selection from a large variety of test devices using the App Center Test Cloud
      • Supports popular frameworks like Xamarin.UITest, Appium, XCUI Test etc.

      4. Test result reporting and logging with screen shots and 6 month data retention with App Center

        • Support for notification over mail or other communication tools like Slack

        5. Data persistence support using AzureSQL service

        6. Integration with PowerBI Embedded for reporting and analytics

        7. Built in test script source code management using Azure DevOps

          • Supports integration with third party Git providers like Github if required

          8. Built in test case management for test plans using Azure Test Plans

            • Custom integration possible with other tools like TestLink where supported

            9. Concurrent execution

            10. Ability to start automated testing in short time frame with expense control

            Cloud is important to our customers. The Optimus test automation framework on Azure makes it possible for our customers to seamlessly integrate test automation into their cloud-based development as well as their test and production environments. Contact us to get a more in-depth look to to get a demonstration.

            Automated-Testing-Solution-on-Azure-2-e1554082144564 Automated Testing on Azure DevOps
            All product and company names are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

            Types of Performance Testing and the Best Tools for the Job

            In the abstract, it’s easy to think of testing a piece of software as a single set of actions. Within the industry, however, it has become common practice to look upon performance testing as a multifaceted task. The process includes:

            • Load testing
            • Stress testing
            • Endurance testing
            • Scalability testing
            • Volume testing
            • Spike testing

            Each phase has its distinct requirements and goals, and it’s important to be aware of them before moving ahead with a project. Likewise, it’s prudent to know which tools and processes are most suited to the job.

            Load Testing

            Load testing is intended to look at performance under two sets of conditions, normal and peak loads. An organization needs to model what it feels is likely to be normal usage of software. For example, a cloud-based photo storage system might expect to handle a certain load during particular parts of the year. Conversely, specific annual increases, such as during the holidays, would also need to be anticipated.

            The aim of load testing is not to overload the system. This can be done by using software to create virtual users and have them interact with the software. The goal is to see what performance looks like when an expected load is regularly hitting the system. Bottlenecks have to be identified, and notes need to be passed along to developers to see what can be done.

            Stress Testing

            Taking things to the next logical step, we arrive at stress testing. This is a deliberately intense process that’s intended to find out where the breaking points of operational capacity are. It should only be conducted once reasonable load testing efforts have been made and remedies have been implemented during that stage.

            The objective is to identify safe usage limits, and it’s particularly important to spot vulnerabilities that may be triggered when the system is operating under stress. If a database implementation suffers a buffer overrun during excessive loads, it’s good to know that in advance.

            Endurance Testing

            It may seem a fine distinction to make, but the question of how a piece of software will hold up over a long period of load is important. Anyone who has ever watched a desktop program’s memory usage balloon over the course of several hours of normal use can appreciate the difference. Just as issues often occur when a system is overwhelmed during a peak test, similar problems may begin appear only after a prolonged run of normal usage.

            Scalability Testing

            Maintaining any project over the course of years will present issues as the user base grows. This calls for a degree of guess work, as you’ll find yourself often trying to determine how 1,000 users today might grow out over five years. This can lead to unanticipated failures, if not addressed early on in a non-functional environment. No one wants to see a production database run out of space for entries because the index was built using INT11 and the system ran out of assignable unique IDs.

            Volume Testing

            The throughput of any user base is likely to grow as the popularity of a product increases. To get ahead of these problems, it’s also wise to perform volume testing. The goal in this case is to identify where problems might exist based on the volume of usage. For example, read-write issues with critical interface files, such as settings stored in XML, may create volume limits that can be adjusted by minor tweaks.

            Spike Testing

            Sudden increases and drops in usage can lead to issues that are difficult to predict. If an entire block of internet addresses loses connectivity, a high-volume site might experience a dropoff that’s both massive and instantaneous. These interruptions may even occur mid-operation. Spike testing allows you to identify specific potential issues and see the system fails elegantly.

            Moving to Performance Testing

            Devising a way to engage in testing while developers are still working on a specific generation of software takes a lot of planning. A lot of companies are turning to Agile methodologies in order to handle their testing needs. The goal with Agile processes is to see that orderly efforts are made to advance products into testing, make notes of issues, implement changes and confirm completion of work.

            Software performance testing work tends to call for a large degree of automation, and it’s wise to keep this in mind when choosing what to use. Many software development environments, such as the Enterprise editions of Microsoft Visual Studio, come with their own performance testing components. Those looking for an open source solution designed for web applications might wish to check out Apache JMeter. IBM Rational Performance Tester and HP LoadRunner are also popular choices for Licensed solutions.

            There are several questions to look at. For example, JMeter, by virtue of being open source, doesn’t offer the same sort of scalability that the Visual Studio tools do, especially in terms of being able to buy more virtual users instances in order to keep loading up. If you’re looking for a system that offers cloud-based solutions and simple Agile integration, IBM Rational Performance Tester is a solid option.


            If you have questions about getting started with Performance Testing or want to push the toolset further, give us a call. We’re always happy to answer any questions.

            VanQ Meetup: The Telus Story of Transition to Agile

            images-3 VanQ Meetup: The Telus Story of Transition to Agile

            VanQ recently came together to hear Telus’ Hugo Sampaio talk about the transformation the company went through while transitioning from the classic waterfall to the agile method of testing and development.

            Some Key Takeaways

            Agile means different things to different people, and because of this lack of structured definition, it is difficult to implement. Often companies adopt a few agile characteristics to their basic waterfall model and convince themselves that they have gone agile. When large organizations decide to adopt agile as their development philosophy, the first thing they need to do is choose a metric that will define their agile development. The metric Telus chose, and recommends, is velocity. For a large organization, especially, velocity ends up being an important metric since it has to battle a lot of inflexibility and inertia from within the organization. The other important metric is quality, because you cannot have fast development that isn’t up to par with industry standards. You have to consider business interactions and portfolio management as markers for progress.

            Top Impediments Against Agile

            There can be a lot of inertia in a large organization revolving around the transition to agile. Typically, one of the main roadblocks is pre-existing company culture. A large organization is reluctant towards change, and when the change is as massive as completely restructuring the development philosophy, there is bound to be a bit of friction. The other impediments include lack of tools and funding, technical debt, and lack of competition in the marketplace. Adding to this is the trouble of training or hiring new resources and personnel. All these factors contribute to a reluctance towards transition to agile.

            Where to employ agile

            Telus made a clear distinction between areas, breaking them down by different degrees of agile methodology to be applied. The standalone areas are the ones where the transition is not only beneficial, but a natural consequence of adopting agile. These are completely new areas of development within the organization. The ‘integrated but new’ areas are those that you’ll commonly notice a little more of that opposition to agile, but are still top contenders for transition. The ‘old, integrated but recent technology’ takes a bit more effort for agile transition. For a large organization, a reachable goal would be approximately 80% transition to agile in two years. Hugo advises not to even touch the so-called ‘legacy’ areas of an organization.

            Things to consider


            The most important thing to consider is that there is no perfect tool. An ideal deployment involves multiple tools that the organization feels comfortable with using simultaneously. Make sure a development manager tool is used to oversee the procedures.


            In the case of Telus, agile deployment was delegated to one test architect who worked as an overall project manager and liaison between various teams. They kept a 15-85 ratio between onshore and offshore personnel, with a near shore team stationed in mexico.


            Again, the ultimate metric for progress was velocity. Adopting agile for functional testing is a comparatively trivial matter that involves defining test cases and automation. As opposed to that, agile development strategy, performance and structural testing requires a more creative approach towards service virtualization.

            The Process

            The approach towards agile at Telus involved scrum teams working on unit testing which was then consolidated to systems testing where the user stories were considered. The next step was system integration testing where the feature/application was involved and finally during performance/integration testing, end to end business transitions were completed. The marker for the next step was 80% code completion.


            Hugo gave us some valuable pieces of advice for companies looking to transition to agile:

            • Be selective about applications

            • Set strong standards for tools and processes

            • Automate as much as you can.

            • You will still have to integrate waterfall somewhere.

            • Focus on performance testing rather than functional testing.

            • No process is perfect. Learn, try continuously.

            Get in touch with OptimusQA to know more about transition to agile. For large industries, agile transition can be a cumbersome process if done inefficiently. With OptimusQA you can get the right help to make your transition a success.

            What is Context Driven Testing?

            The software testing community loves a good fight and nothing illustrates that better than all of the words spilled over context-driven testing.

            What is context driven testing?

            Context driven testing advocates contend that “the value of any practice depends on its context.” Stated so simply, it seems impossible to disagree with.

            Of course the value of your testing practices depend on the context.

            You don’t load test a mobile app that runs  on the device completely independent of any web services because you can’t by definition have more than a load of one. Running separate load tests in this example is a pointless waste of time.

            The context-driven testing school is best represented in the book Lessons Learned in Software Testing which served as the impetus for creating the context-driven school.

            Why then is context driven testing controversial?

            The key word is practice. When you start messing with practices, you start messing with best practices. That means you are messing with people’s ability to go about work without actually thinking about what they are doing and, even more heinous, is taking away a crutch from vendors who can point to best practices when saying how awesome their product is.

            5 Open Source Tools for Software Testing

            Software testing using open source tools can be a valuable option if used smartly. One can harness the power of the open source while relying on the security of a vendor based tool by prudently assigning tasks.

            Open source can be viewed as perfect online socialism – everyone working for the greater good of the web. One of the greatest myths about open source is that it offers no support. The fact is that every open source tool is organic – it keeps growing all the time, unlike the proprietary tools which are reviewed and renewed once a year. A bug in the code, once detected, is easily fixed and the fix propagated through the internet. In fact, mature open source tools are very less likely to be problematic since they have been debugged so many times.

            Software testing is a tedious and complicated process. Among the plethora of options for software testing tools available in the market today, here we focus on a few open source testing tools that can be trusted. Let Us Look at a Few Open Source Tools for Software Testing:

            • Selenium

            Selenium is an open source portable software testing framework for web applications. Selenium provides a record/playback tool for authoring tests without the need to learn a test scripting language. With deploy capabilities on most modern browsers running on the most popular platforms including Windows, Linux and Mac OS, Selenium is a top open source choice when it comes to software testing. This open source software runs on the Apache 2.0 license and can be downloaded and used without any charge. It also boasts a writing capability on a wide range of programming languages including C#, Java, Ruby, Perl, PHP and Python.

            • Canoo WebTest

            Canoo WebTest is another open source tool for automated testing of web applications in an effective manner. It is simple, fast, efficient and has excellent reporting capabilities that enable you to quickly analyse failure cause. Like with most open source technology, this tool is easy to understand under the hood, and the makers promote tinkering and extension of the source code to run it better. Canoo WebTest runs in the background, gives quick results and is based on plain Java, which means it will run everywhere as long as you have JDK for your operating system.

            • Watir

            Watir is Web Application Testing in Ruby. Watir is an open source family of Ruby libraries for automating web browsers. It drives Internet Explorer, Chrome, Firefox, Opera and Safari and is available as a RubyGems gem. Watir makes use of Ruby’s Object Linking and Embedding capabilities, to completely automate a web browser and operate it just the way we do. It can click links, open pages, fill forms and more importantly check results. It allows you to write simple and flexible tests that are easy to maintain.

            • WatiN

            WatiN is a Web Application Testing in .Net, a cousin of Watir. Indeed, Watir’s success as a software testing and web automation tool sprouted relatives such as WatiN, Watij (Java), Vapir (A Watir fork with bug fixes) and Win32::Watir (Perl). Inspired by Watir, WatiN development began in December 2005 with an aim to create a similar automation and testing tool for the .Net languages. Since then, WatiN has grown to be an easy to use, feature rich and stable framework.

            • iMacros

            iMacros is similar to Watir, except it has visual recording, web scraping support and a COM object for use with any programming language. It can be combined and controlled via JavaScript and is one of the most popular open source tools for software testing and web automation in the market.


            One has to be very careful while using an open source tool. The licensing, user reports and previous bug fixes should be thoroughly checked before deciding to use it. Open source is a great community but one essentially pays the extra bucks to the vendor for security and guarantee against failure. So, you can even choose the deployment of a particular tool depending upon the sensitivity of the task.

            Contact OptimusQA for your quality assurance and software testing doubts. Get in touch with your doubts about the trustworthiness and implementation of open source testing tools and other queries. We are always happy to help!

            5 Reasons Why Software Maintenance is a Must

            software-maintenance 5 Reasons Why Software Maintenance is a Must

            Vendors often try to push for maintenance contracts along with software development, and you might be unsure whether to go ahead and sign up for them. Here is where we tell you why software maintenance is important.

            In fact, as Robert Glass writes in his ‘Facts and Fallacies of Software Engineering’, about 60% of a software’s cost is maintenance, and about 60% of the maintenance cost is improvement. The technological growth rate in the software field is significantly higher compared to most other fields. This means that one has to always remain proactive to keep their product relevant and up-to-date. This is just one of many functions of software maintenance.

            Computer Science students learn about the first law of software engineering – “No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle.” Maintenance is just an effort to keep up with this change, and maybe, try to go a step ahead of the change itself. Why Go for Software Maintenance?

            Corrective Reasons

            Maintenance has to be performed to repair the existing faults in the software. This might include bug fixes due to a bad code, or a major system repair if the problem is advanced. Bugs may also appear in case of change in the hardware, OS or other accompanying parts in the system. Maintenance involves testing to detect a problem and injecting a fix without disturbing the rest of the system.

            Adaptive Reasons

            As we mentioned above, a software ecosystem is continuously changing, and regular maintenance is required to help it adapt to the new changes. Work patterns, software platforms, compilers, hardware upgrades, etc. all affect the working of software. In essence, adaptive maintenance is required to keep your software fresh in changing circumstances and increasing the lifespan of the software.

            Perfective Reasons

            One can also undergo the software maintenance process to fine tune the performance ability, functionality and usability of the software. It can simply range from changing the GUI of the software to make it more attractive and user friendly to making drastic changes in the core code to improve the runtime and performance. One can keep building up on the initial work done to make the software perfectly adaptive in the changing circumstances. Perfective maintenance accounts for around 60% of the maintenance cost, in accordance to the aforementioned 60/60 rule by Robert Glass.

            Preventive Reasons

            Preventive maintenance is essentially a pre-emptive strike against problems. By carefully observing the conditions in the ecosystem, an expert can take decisions to re-engineer the software through data and code restructuring. This type of maintenance does not really contribute to the functionality of the software, but rather acts like a vaccine to prevent problems and the additional repair costs that come with them.

            Legal and Business Reasons

            It is not just the technological parameters that change with time, but also the legal and business side of things. Adaptiveness is required not only to stay on par with your competition, but to be on par with the latest legal norms and requirements related to privacy and security of the users. Business patterns and government rules are also subject to constant change and improvement.

            Does My Software Need Maintenance?

            This is a key question that hassles most firms, especially due to the mammoth costs that the maintenance comes with. The decision to go for maintenance and the amount of committal to the task should be taken after assessing the expected lifespan and usability of the software. The other important aspect one has to keep an eye on is the time frame on releasing updates – whether the maintenance agreement calls for dot releases, ie, version 2.2 to 2.3, or full releases, ie, version 2 to 3. Make sure to check the release cycle to see if it is agreeable with your strategic business plans and the changing market structures.

            Get in touch with OptimusInfo to know more about software maintenance. Some call software maintenance a necessary evil, but with the right amount of expertise and professional help, you can make it into what it really is – a good investment.

            How Much Would it Cost to Build a Mobile App?

            6088012-9086956 How Much Would it Cost to Build a Mobile App?

            The age-old ‘how much would it cost?’ question rears its ugly head again – this time, for mobile apps. Like most investments, you would wish the answer to this question was simpler, but that’s seldom the case. Nonetheless, we offer some fruitful markers that can help you make a good estimate of how much it would cost to build your mobile app.

            There is no doubt that apps have become an essential part of our lives. Having an app for your business can make life easier for you and your customers. But after a quick web search of app building cost estimates, one realizes that an app might take a big bite out of your budget allocation. Looking at a range of about $20,000 to more than $200,000, one can get a bit overwhelmed about app building. The most important thing you can do to narrow down your cost estimate to something that you can apply a return-on-investment analysis to, is make a careful visualization of everything you require for your app and work on individual estimates. Here’s a little

            Factors Influencing the Cost of Building Your App

            Choosing a Platform

            Your intended platform matters a lot when it comes to calculating an estimate of not only the cost, but also the profits through the intended app. Depending upon whether you want an iOS, Android or a Windows system, the cost will slightly vary. Developing iOS apps means ensuring that they work properly for a small range of iPhones and iPads, while Android has more than 12,000 different devices with different processors, screens sizes, etc. At the same time, Android has a larger community of developers and is open source, which tends to bring down the cost. This changes the development strategy and the complexity that can reflect on the cost. Still, a ballpark of $6000-8000 might be adequate for most stock apps on different platforms.

            Custom or Stock?

            Is it a custom or a stock app? Custom apps take more thought, architecture and original development than a stock app with say a couple of new features. Thus the cost of a custom app might go to more than double of a stock app of similar complexity.

            Functionality and Features

            This is where the larger enterprise apps separate themselves from the small scale ones. Following is a list of some of the major features that you should decide upon to checkmark for inclusion.

            • Email/Social Login

            • Activity Feed and Dashboard

            • GPS Tracker and Maps

            • Camera Feed

            • Payment Interface

            • Cloud Syncing

            • Social Sharing

            • Third Party API

              This does not even include the more specific, niche features like chatting, QR code reader, calendar integration and custom user profiles . The more features you add to your app, the more it will cost.


            Design is critical for mobile applications because of a lot of reasons – it offers the face value for your app, it drastically affects the usability and since the screen size is usually small, it is the only eye catcher in the initial stage. Hence, design will figure prominently on your app budget. App designers will work with developers to essentially create jackets that will be worn by the code. Since most designers work by the hour with average wages being about $100/hour, having a clear idea of how you want your project to look like makes a lot of difference in the design cost.

            Admin Features

            If you want to monitor your app usage, you can create an admin interface. This can come with features such as moderation, payment approval, content management systems and user administration. The development cost of these features ranges from $10,000 and higher, depending upon the complexity.

            The cost of an app is directly proportional to its complexity. Every new feature you add, the cost notches up by that much. Therefore it is very essential to clearly demarcate only the essential features that you wish to include for the app to be functional. If you are undecided on a certain feature, a good practice is accounting for 50% of its cost in your ROI estimate to be on the safer side.

            Get in touch with OptimusMobility for your app solutions. Write to us, describing your needs and we will help you get a good estimate for your mobile app

            Can Testing as a Service be a Solution for Your Company QA?

            Testing as a Service is a way to outsource your software testing projects to specialists as and when required rather than allocate a detailed work plan and budget to handle the complexities of on-premise testing. TaaS is essentially a way to delegate responsibility intelligently.

            Quality assurance and software testing usually are dreaded topics in a software development system. A 2012 survey conducted by OptimusInfo, of more than 50 executives of various companies situated around British Columbia, Canada showed that a whopping 85% of them needed a helping hand when it came to quality assurance.

            We can divide the testing industry into three parts – the complete suite players, who give you the full extent of service, from software development, testing to periodic maintenance, the body shops that focus on testing but still offer the other services and the specialists who offer nothing but testing and quality assurance as a service. The industry has transitioned from the first kind, the third kind being the latest species in the evolution. Why Should You Go for Testing as a Service?

            Specialization and Expertise

            As opposed to traditional one stop shop services, an exclusive QA company comes with specialized experience and hands-on expertise in terms of dealing with the unique scenarios that one comes across while testing. Testing as a Service incorporates excellence in service, latest technology and a rapid creation, maintenance and execution of test cases in a secure environment by professionals.

            Cost Benefits

            With an on demand pricing model, an organization can ask for result based invoices rather than effort based invoices. According to studies done by Carnegie Mellon University on software development life cycles, if software defects are discovered beyond the development phase, the repair costs increase exponentially – going from 5 the normal costs in functional testing stage to 50-200 times in the production stage. TaaS greatly helps reduce and pre-empt these costs through quick defect discovery in the development phase and minimization of double testing and rework.


            Flexibility can mean strategic flexibility that one achieves through major task allocation and result based performance evaluation. It can also mean the financial flexibility through test outsourcing and automation choices. The third aspect to this is timeline flexibility through pre-emptive discovery and better time management. Essentially, Testing as a Service makes a software development project management job drastically easier in a lot of paradigms.

            Documentation and Licensing

            Your test analysis, documentation and licensing become much easier, cleaner and more accessible to you. With the testing service worrying about the quality certification and licensing of your software, you can be sure about the administrative and legal aspects of quality assurance that come after a successful test. You also have access to detailed and comprehensive information, debugging details and performance and functionality analyses at your fingertips for future reference, so that you are sure you don’t commit the same mistake twice.

            Move Towards Automation

            One can move towards automation through on demand testing quite easily. The choice of which tests to automate becomes crucial while taking this decision. Automation is usually preferred for robust, tedious, repetitive and error prone processes such as data loading and system configuration. An independent quality assurance company is in a unique position to design and automate tests tailor-made for a particular software, while opting for manual testing for the more complex and unique tests.

            Get in touch with OptimusQA for help regarding your software testing requirements. You can have a chat about the pros and cons of having an on demand software vendor and put your ideas across to us. With years of industry experience and expertise in the field of quality assurance, we are happy to help you with every part of your decision making process.

            5 Common iPhone App Development Challenges

            iOS is one of the two most popular mobile platforms in the world with a fierce and loyal fan following. The presence of your app on the iPhone app store puts you in a unique position to harness this popularity for your benefit. But the path is wrought with a few challenges. Let us look at what they are and how to deal with them.

            The demand for quality iPhone apps has always been on the rise since its introduction. Especially with the other extremely popular products that the company is churning out, like the iPad and the iPod Touch, good apps are always in demand. Every app that wishes to be a part of the App Store has to comply with a stringent set of guidelines and quality assurance policies. Even after one becomes a part of the App Store, the product’s popularity is completely dependent upon its design and functional superiority. Here we list out a few problems that you may encounter while building a successful and popular app, and a few things you can do to deal with them.


            Challenges in iPhone App Development


            Cross-Device Compatibility

            With many different devices with different attributes clubbed under the App Store masthead, it is important that your app is compatible with all of them. This means dealing with design issues like different screen sizes and resolutions and development issues like different versions of the iOS. Device compatibility is all the more crucial if you are planning to use cloud connection through various devices, including computers using a software. There are various TaaS solutions in the market that help you through this challenge, but a good design and development team that understands the vitality of cross device compatibility is a must.

            OS Upgrades

            When the iOS 7 was launched in September last year, most app developers scrambled to learn the nuances of this new system which introduced a few drastic changes. A major change was the shift from the previous skeuomorphic design which was a widely used design philosophy favoured by Steve Jobs, to a simpler, minimalistic, flat design interface. This meant that developers had their work cut out for them – upgrading the already existing app functionality and design to meld flawlessly with the new changes, and learn their way around the new upgrade to build new apps. While a certain inertia is expected with an OS introduction, app makers have to stay on their toes to deal with drastic system changes.

            Network Testing and Offline Modes

            Sometimes app builders are lost in the ideal lab situations where the development takes place to not realize the amount of stress that can be applied on the app in a real world situation. A normal user will generally use about five apps simultaneously active on their devices, with many more background processes. The network situation in the real world is also way different than in a development environment. Developers have to take these factors into account while testing the app in different conditions, to check its robustness and lightness. There must also be a good offline platform to run the app so that it can be used by the maximum amount of customers.


            No one can understate the importance of design in mobile applications. Especially so with a company like Apple, which prides itself in developing the most beautiful and impeccable products – both hardware and software. No one wants to see an ugly app on a beautiful device. It is beneficial to work with designers who understand Apple’s design-functionality relationship philosophy to create apps that are truly visually compatible with the device. One has to go that extra mile to build a successful iOS app.

            Testing and Adaptability

            Testing has always been a crucial step for app developers. Apple’s apps are not always very good in the beta testing stage by themselves, nor are they coherent. Also, some APIs are not documented and are difficult to get. Of course, things become easier as the OS gets older, but it still is a lesson for the future. Many developers feel that new apps or upgrades should only be made iOS 7 compatible, especially after looking at the drastic design changes the update introduced, but this is still a matter of preference and should be carefully deliberated over. Its true that there’s no looking back from these changes in the new updates, but at the same time, not making the app adaptable means losing a viable customer base.

            In the end, we feel that while making iOS apps, it is advisable to use a similar philosophy as Apple. Focus on smart design and its application to functionality will make your app compatible with the device. Who wouldn’t want to be the Apple of the mobile application business?

            Get in touch with OptimusMobility for help with your iOS apps. With years of experience in building and maintaining apps for iOS, we understand your requirements. And we’re always happy to help!