In the past years, the trending of mobile technology, applications and the cloud has grown exponentially. It continues to grow today. Therefore, the demand for testers is growing as well. Security, performance, and usability testing are on top of their list to have a successful product.
The popularity of mobile technology and apps are insane. Along with it, the demand for mobile testing continue to trend exponentially every year. Based on the study published by Capgemini, Sogeti and HP in 2013 -2014 around global testing trends, there is an average of a 70% increase in mobile testing practices across industries.
The mobile testing need is getting so big that there’s a demand for experienced testers, better automation testing tools, and a higher capacity to test (See chart below). Companies see these as a challenge that needs to be addressed. Here’s an example issue. If you own a smart phone, you’ll likely have an application installed by default. Mobile applications like Facebook, Yelp, LinkedIn, Bank of America or any other app would need updating from time to time. Of course, as a user, you want the latest updates because they fix issues, bugs, and implement security patches. If you haven’t noticed yet, those updates are happening more frequently because app developers and owners want a patch for new issues as soon as possible. Instead of testing applications thoroughly before release, the app developers and owners rely on feedback from the users to find the issues. This is not a good practice. Consumers would be more reluctant to install and use your app because of bad experiences. Application and software updates should be more about UI and functional changes for a better user experience. Security patches should be up there in priority list as well; followed by bug fixes, and any other issues to round out the priority list.
Another trend in software testing is agile testing. Let’s face it, agile methodology is here to stay. Testers need to adopt to it. However, most companies have yet to create proper processes and approaches to test the agile projects (See chart below). Companies today are focused on getting into the delivery phase as soon as possible. During each development life cycle, quality should be driven right from the beginning. Unfortunately, the balance between quality and the fast process to production are the biggest challenges in an agile environment. Therefore, continuous testing and a balanced capacity for development, testing, and bug fixing per iteration are necessary. A quality testing process should include functionality, security, regression, performance, automation, and exploratory testing. Here at Exsilio, we find that by having multiple identical environments for agile testing helps us speed up the testing process without losing quality. We have a development, staging, user acceptance testing (UAT), and production environments. Having an identical environments makes testing faster because we don’t have to use every testing process for each environment. Since the environments are the same, we can be flexible with what type of testing that needs to be done for that particular environment. By the end of the testing cycle, we have used all the testing process types as if it was one environment. Here’s an example of an agile testing scenario with multiple identical environments. In the development environment, the focus here is on functionality, security, bug fixes, and updating manual and automated test cases. Then we move on to staging. Here we’ll perform security, performance and exploratory testing; as well as run the updated automated tests. By the time we move on to UAT, all the necessary fixes and functionality should have been completed. In UAT we’ll perform regression, smoke, security, and exploratory testing but we should only find edge cases here. Finally, in production environment we can initiate all the testing process just to make sure.
It is fascinating to see where the software testing trend is going. At the same time we have to foresee the challenges that comes with it and tackle them head on before it’s too late. With the maturity of the cloud computing technologies and infrastructure, there are trending concerns in data security and performance. Based on 1398 respondents, a study published by Capgemini, Sogeti and HP in 2013 -2014, 52% of organizations prioritize data security when testing application migration to the cloud. With the recent security breach of the famous iCloud in September (2014), I’m sure that percent had gone up. The iCloud was hacked and the hackers leaked private photos of popular actors like Jennifer Lawrence, Kate Upton, Selena Gomez, and others.
The trends are here and software testers needs to evolve and adapt. Start by streamlining or creating a stable process. Then create a concrete solutions for security and performance. Next choose a test automation tool like Microsoft Visual Studios Test Tools and add test professionals that can enhance overall experience of the automation on multiple platforms and devices. Finally, test often and continuously in all test environments and platforms.
Please post questions and feedbacks. So don’t be shy.