Open test automation frameworks are constantly evolving, and at least one new test framework emerges every year and becomes the favorite one among developers. That puts more challenges on the development and testing/QA teams to make long-term planning, since investing in test automation yields results over a longer period of time and test assets cannot be ported to new frameworks frequently without losing a significant amount of the investments.
A tremendous number of things in mobile app development and testing are metric-driven. And especially when it comes to mobile app testing, metrics are highly valuable indicators of how well does the app perform, what is the general bug rate, and how many things have been exposed from the code so far. Metrics also reveal how well test automation and infrastructure used around it can expose issues in the code and how quickly and easily developers can fix those.
In this blog, I’ll describe one great example, a real-life story, of how one of our customer uses a great number of identical mobile devices, with the very same OS version, with the same OEM customization setup, to hammer their builds of their mobile app hundreds of times per day, and how each build are getting tested on those devices every time.
We’ve been discussing about various aspects of mobile game development and testing, different required architectures and infrastructure to build more robust mobile games. Again, the feedback we’ve got is awesome and we encourage you get in touch with us as we’re highly dedicated to continue sharing our insights, best practices, tips & tricks and lots of other relevant things when it comes to making better mobile games. Today, let’s look at how testing adds value to mobile game development process itself – and what are the most important metrics you should be thinking about.
Quality assurance (QA) is a critical part of the process when creating and maintaining successful mobile apps for hundreds of millions of app consumers. One of the metrics in this app creation process is naturally QA’s productivity – the success to efficiently find and filter out the problems in apps before they land on hands of users. This type of productivity of quality assurance can be measured by various metrics, for example:
Software companies create value to their customers by implementing new applications, new features and new code. And they capture the value from their customer by various business models ranging from licensing to projects.
How could they increase the value-add, and revenues, of their value-generation machine: product development, maintenance of products and customer support.
I was inspired to blog by Predicts 2010: Agile and Cloud Impact Application Development Directions by Gartner. It SOOOO close to what we are hearing from our customers, and exactly what we are doing to help our customers to do more, faster and better quality.
Gartner’s analysts say: “As organizations seek to improve productivity and reduce application operating and maintenance costs, we will continue to see an evolution of software development tools, platforms and practices. To take advantage of this, organizations must shift structures and practices while embracing new technologies — a challenging proposition.” They go on to predict that by 2012 “agile development methods will be utilized in 80% of all software development projects”. Why will agile become so popular? Agile will deliver much higher productivity compared to other development processes.
Use of agile requires discipline: key agile practices must be used and organizations should invest in supportive tools’ infrastructures. If an organization tries to cut corners by shifting to ‘pseudoagile’ process, potential results are a short-term productivity bump, as well as long-term declines in quality and productivity.
Gartner also gives recommendations how to make most of the agile process, one of them being: Find tools that enable collaboration and help automate repeatable, consistent practices.
Continuous integration is essential part of agile process and it’s purpose is to give automated, repeatable results. And continuous integration does not mean nightly builds, but true continuous integration of the software so that everyone in the development community (be it in-house, outsourced, off-shored or any other globally distributed team) can develop on stable version. No more pseudoagile practices like nightly builds.
With cloud based services, like continuous integration in cloud, companies can make use of essential agile tools without any investments in the infrastructure. A solution delivering higher productivity without investments and a solution growing with the company without any investments is truly a high value proposition!