In March 2015, Indian taxi aggregator Ola acknowledged troubles with their mobile app that allowed people with basic programming knowledge have free cab rides. One bug allowed to have cab rides at the expense of Ola, and the other one allowed paying for rides with other Ola users' wallets.
The first bug went public after Ola ignored the developer who found it and alerted the company. And it took months after the first user complaints to fix the second issue.
This is a perfect example of a lack of independent testing (and attention to users testing it) that caused financial and reputational losses for the company. Well, we don't have exact numbers on losses, but Ola reported they've been rewriting programming interfaces to make them publicly available for various reasons including testing.
In EGO Creative Innovations, the app development and software tester company, we leverage independent testing in every project.
What's Independent Testing?
Let's say you have a software product and you need to ensure its quality.
It makes sense to ask the developers who are writing the code to check it, since they know it best and can perform necessary testing activities. However, according to human psychology, they might have a confirmation bias that makes it difficult for them to accept that their code might be incorrect and allows them to overlook possible errors.
Okay, you can ask developers to check only each other's code. This is where independent testing territory begins. But the problem is developers and testers think differently. Developers design and build a product, while testers verify and validate it. Only by bringing these mindsets together, you can achieve better product quality.
So apart from developers, there are three more degrees (or categories) of independent testing according to International Software Testing Qualifications Board:
- Independent testers within the project team
- Independent testers from the organization or community
- Independent testers external to the organization
So as an umbrella term independent testing covers all kinds of testing when it's not performed by the developers of the product that needs to be tested.
Independent Testing in EGO Creative Innovations
As mentioned above, as a software QA company EGO leverages independent testing on every project by getting quality assurance experts from the company on every development team.
This is a widespread approach yet for the clients, such QA engineers are perceived as external specialists who are involved in the product building process and bring value throughout the software development life cycle.
By being a part of the team and engaging in regular communication QA engineers are able to avoid confirmation biases about the product and be more effective in their output. They perform testing activities on every stage of product development, from planning to completion, and then are involved in the maintenance and support of the product.
However, the way testing is done differs from stage to stage. When the product is ready, it can be tested only as a whole mechanism, while in the earlier development stages you can approach it in a granular way and perform more specific tasks. That doesn't mean you can run only sanity check with ready products; we just need to remember that component integration testing will most probably be more effortful and complicated in such cases.
To be able to evaluate and plan the quality assurance works, our quality assurance/software testing company team has an estimation template containing a list of general tasks. For every project, it is adapted to the vast number of product characteristics and the client's needs.
Knowing our strengths in manual and semi-automation testing, we can provide objective information about software products and help clients make informed decisions about current and desired product quality.
Our typical objects for testing are mobile applications, websites, IoT devices, and the way they interact with third-party services. Our quality assurance experts usually don't have access to the product's code so white-box testing techniques are not available here.
EGO's Tools for Independent Testing
Since independent testing doesn't technically differ from general testing, we use the same tools here. Here's the table.
These tools are commonly used in software development so clients are often familiar with them. That saves time on onboarding and learning activities. However, if you're running a big team, some of the tools – like Atlassian's JIRA, Confluence, and BitBucket – might appear to be too expensive considering the need to provide every engineer with a licensed (i.e. paid) copy of it. Smaller teams usually start with less convenient but free tools like Google Docs.
Current Trends in Independent Testing
Just like any other software testing services company, we don't test all kinds of software, so we might not be aware of all the trends in testing. For instance, we are only to start applying neural networks or machine learning in our work yet. So here are the five trends of 2021 that have already affected our approach to QA.
1. Combining Manual and Automation Testing
You can find many articles and discussions about what's better, automated testing or manual, but the most effective strategies today require both approaches. That's the only way to achieve enhanced quality while staying productive since only manual testing is applicable when you need to check design, usability, or user experience.
In addition to that, the earlier the QA team finds an error, the cheaper it is to fix it. That's why both automated and manual testing techniques should be considered and used from the very start of the project, and this is the practice that has already been adopted at EGO.
2. API and Service Test Automation
More and more products and services are offered through multiple platforms. Users want to have their favorite apps and services be available at least on the web and mobile. And then there are apps for desktop operating systems, gaming consoles, and IoT devices. Gartner reports that in 2021 more than 30% of organizations building software will offer multi-platform products.
The commonly agreed way to make such apps is through the microservice architecture and APIs, application programming interfaces. Every instance of the app communicates with the main server through API to get and show necessary data, receive timely updates, and exchange information.
Faultless communication between apps and APIs is crucial if you want to reach peak performance and seamless user experience of the solution. So we've been deepening our expertise in writing automated tests and API quality assurance for some time now.
3. Testing Centers for Quality
During 15+ years of experience, the EGO quality assurance & testing company learned the hard way QA requires formalization, procedures, and standards. That's why we have an agreed set of tools and documents we refer to when we take on any new project.
This becomes even more crucial when your organization grows, its demands for your app quality grow and appear to be as sophisticated as never before. Different target audiences, geographies, limited resources, and infrastructure set specific requirements for quality assurance teams. The only way to cope with these tasks is to come up with standardized test procedures requiring optimal efforts.
This is where testing centers for quality appear to be the best solution. Having expertise that is necessary to provide independent testing services required by enterprises, they also allow flexibility regarding the QA team composition and thus speed of work. With such centers, you can achieve the necessary levels of the product's functionality, usability, and performance within the set timeline.
We have been providing QA services on almost every project we have been involved in, but this year's demand for the above-mentioned testing centers suggests we should market our deep QA expertise as a separate service.
4. Performance Testing
Due to the current practices of short development cycles and regular updates, assuring necessary levels of performance at all times becomes crucial for the product's usability, business value, and, eventually, market success.
Currently, a new approach is being adopted in this area called performance engineering. Instead of checking the performance of the app at the end of the software development cycle, QA experts become involved in the app creation from the very beginning to help predict and decide on app responsiveness, memory usage, and other non-functional performance metrics.
This helps avoid glitches and performance bottlenecks instead of looking for them and addressing them. Of course, we are all humans, and performance engineering can't be 100% effective, but it definitely appears to be more resource- and time-effective.
As reported earlier, EGO's performance testing company experts are involved in every stage of software development so that the whole team could be sure there’s always someone who pays additional attention to the performance of the app.
5. Accessibility Testing
In December 2020, World Health Organization reported that over one billion people on the planet have at least one form of disability. That means that as much as 15% of your target audience might have special accessibility requirements to your app. And with fierce competition, 15% appears to be an audience big enough to fight for. Hence the trend for accessibility testing.
However, the approach itself exists for quite some time. Web Content Accessibility Guidelines have first been compiled in 1995; at the moment, we have version 2.2 that has a section dedicated to mobile accessibility as well.
Accessibility testing activities cover:
- Regression tests for accessibility testing automation
- Creating a well-defined approach to making your app accessible
- Using dedicated tools such as GATF and Apple’s Accessibility API
Accessibility testing helps to ensure your app can be used by people with cognitive, physical, literacy, hearing and\or vision disabilities.
For companies working with external development partners, independent testing might seem to be equal to outsourced quality assurance. However, the first term underlines the different mindset that lays in the approach taken by our QA company experts.
This mindset helps test engineers better understand their role on the team, provide more objective feedback and constantly improve their expertise by learning new technologies and following actual trends to stay relevant and proactive in their involvement in app development.
One of the proactive things we’ve been doing lately is offering Quality Assurance Plans for our current and potential clients. Plans are time- and budget-limited service packs that help you see us at work and get valuable output for your project that you can use to make decisions on further progress. Check them out via these links: